728x90

분류 전체보기 209

Page Table

Page Table페이지 테이블은 가상 주소를 물리 주소로 변환하기 위해 운영체제가 유지하는 자료 구조입니다.목적가상 주소 공간을 물리 주소 공간으로 매핑하기 위해 존재합니다.페이지 단위로 메모리를 관리하기 위한 핵심 메커니즘입니다.프로세스마다 개별적으로 존재합니다. (주소 공간 격리)동작 방식가상 주소는 다음과 같은 구조를 가집니다.+----------------+-------------+| Virtual Page # | Offset || (상위 비트) | (하위 비트) |+----------------+-------------+Virtual Page Number (VPN): 어떤 페이지인지를 식별합니다.offset: 해당 페이지 내에서의 위치를 의미합니다.운영체제는 VPN → ..

VM (가상메모리)

가상메모리가상 메모리는 프로세스가 자신만의 연속적인 메모리 공간을 가지는 것처럼 보이도록 만들어주는 추상화입니다. 실제 물리 메모리는 제한적이고, 여러 프로세스가 동시에 실행될 수 있도록 하기 위해 운영체제는 이 가상 메모리를 물리 메모리에 “매핑”하는 작업을 수행합니다.핵심 개념Virtual Address (VA): 사용자 프로그램이 사용하는 주소. illusion (환상)Physical Address (PA): 실제 RAM의 주소Address Translation: VA를 PA로 변환하는 과정Page: 고정 크기(예: 4KB)의 메모리 블록 단위Page Table: VA → PA로 변환하는 매핑 정보를 담는 자료구조TLB (Translation Lookaside Buffer): 자주 쓰는 주소 변환 ..

WEEK 12 PintOS TIL(6월1일 일요일)

[목표]정글에서 제공하는 키워드를 보고 정리합니다. (진행중)22:30 ~ 03:30오늘은 집에 갔다와서 어제의 내용을 정리하고 있다.정리 완료되는대로 vm 관련 내용을 공부할 것이다. 상단의 PintOS Project3: Virtual Memory 페이지에 키워드 개념을 정리해 두었다.3시30분까지 아직 다 하진 못했고, 10개념 중 3개념만 남았습니다.정리가 완료되는대로 포스팅하겠습니다.딱히 올릴게 없어 집에 갔다 오는 동안 먹은 것들을 올려보겠습니다.

WEEK 12 PintOS TIL(5월31일 토요일)

[목표]pintos 카이스트 강의를 듣습니다.깃북을 보고 개념을 이해합니다.파일에 있는 주석들을 번역합니다.09:55 ~ 12:00카이스트 강의를 듣고 있다.파일에 있는 주석이 그렇게 많지 않은 것 같아서 번역을 진행했다.12:00 ~ 13:00식사를 하고 휴식을 가졌다.13:00 ~ 15:00카이스트 강의를 듣고, 아까 다 못한 주석 번역을 했다.15:00 ~ 16:00깃허브 make check 문제가 있어서 다시 만들고 있다.내가 재준이형 코드를 잘못가져와서 문제가 생긴 것이었다… 다시 만들어서 새 리포지트리에 업로드 하여 배포했다.16:00 ~ 18:00주석 번역을 진행중입니다. 완료했습니다.18:00 ~ 19:00식사를 하고 왔습니다. 오늘은 냉면이 나왔습니다. 오자마자 주석 번역을 마무리 짓고 ..

WEEK 12 PintOS TIL(5월30일 금요일)

[목표]프로젝트3를 시작합니다.개념들을 살펴보고 정리해봅니다.형상 관리 및 프로젝트 흐름도 구성09:55 ~ 12:00어제의 내용을 정리해서 벨로그와 티스토리에 올렸습니다. 어제 fork 디버그 내용을 다시 살펴보았습니다.깃북에 있는 프로젝트 3의 내용을 살펴보았습니다. (소개 부분)12:00 ~ 13:30식사 후 휴식13:30 ~ 14:30빨래를 하고 왔습니다. 어느정도의 방정리도 했습니다.14:30 ~ 15:00프로젝트 3 시작 준비를 합니다.먼저, 우리팀은 한개의 리포지트리에서 시작해서, 깃허브에 조직으로 만들어보고 있다. 시도해보고 안되면 개인 리포지트리로 만들겠다.15:00 ~ 18:00컴퓨터 조립 도움을 드렸습니다.또한 팀원과 함께 쓸 리포지트리를 조직으로 생성완료 했습니다. 이후 팀원에게 u..

WEEK 12 PintOS TIL(5월29일 목요일)

[목표]대통령 선거를 합니다.11주차를 마무리합니다.퀴즈 내용과 코드를 정리합니다.09:30 ~ 12:0011주차 내용을 정리하고, 프로젝트 2 내용에 대해 코드와 함께 정리합니다.11주차 퀴즈 내용은 정리 완료했습니다.12:00 ~ 12:30식사를 완료하고 복귀했습니다.12:30 ~ 16:4511주차 내용 프로젝트 2를 정리중입니다.정리 도중에 시놀로지로 웹 서버 운영이 궁금해져서 해봤다. 결과는 성공적으로 배포 가능했다. 그러나 이게 php 등의 방식이라 그런지 부트스트랩 같은게 지원을 하지 않는다. 그래서 나중에는 도커를 통한 리눅스로 배포하는 방법을 알아봐야겠다.16:45 ~ 19:00투표 후 식사 복귀맥플러리가 뒤늦게 나왔다.에버라인에서 보는 풍경이 예쁘다.19:00 ~ 20:00휴식 및 게임2..

PintOS 프로젝트2 System Calls

참고로 일부분의 함수들은 성공적으로 작성하였고, 테스트 케이스도 통과를 하였지만 모든 시스템콜을 구현하진 못했습니다. 참고하여 읽어주시면 감사드리겠습니다.설명하기에 앞서, 통과된 테스트 케이스는 다음과 같습니다. (fork 이전까지 모두 통과)95개의 테스트 중에 38개의 테스트 케이스가 Fail 됩니다.System Calls보통의 System Calls 관련 파일은 userprog 폴더에 있습니다. 그러나 다른 폴더에 있는 파일들도 사용합니다.헤더 파일의 경우는 include 폴더에 모두 위치해 있습니다.Pintos 강의에 따르면 syscall.c에서 syscall_handler 에 number 따라 들어온 시스템 콜을 처리해주면 됩니다. 본격적인 처리함수는 밑에다가 작성하면됩니다. include → ..

11주차 퀴즈 복습

11주차 퀴즈 복습1번 문제커널 모드에서 실행될 수 있는 작업의 예를 들고, 이러한 작업들이 사용자 모드에서 실행되지 않는 이유를 설명하세요.[답안]공유 자원 관리는 운영 체제의 중요한 기능 중 하나로, 주로 커널 모드에서 실행됩니다.예를 들어, 파일 시스템, 메모리, 프린터 등과 같은 자원은 여러 프로세스에 의해 동시에 요청될 수 있으며, 이에 대한 접근과 사용을 적절히 관리하는 것이 필수적입니다. 커널 모드에서는 이러한 자원들에 대한 접근을 제어하고, 충돌이나 데이터 손상을 방지하는 역할을 합니다.사용자 모드에서는 이러한 공유 자원의 직접 관리를 수행하지 않습니다. 이는 여러 사용자 또는 프로세스가 자원에 직접 접근할 경우 데이터의 일관성과 안정성이 위협받을 수 있기 때문입니다.2번 문제운영 체제에서..

WEEK 11 PintOS TIL(5월28일 수요일)

[목표]11주차를 마무리합니다.fork, wait, exec를 최대한 구현해봅니다.09:45 ~ 10:00발표 자료를 종합했다.10:00 ~ 12:0011주차 발표를 진행했다. 굉장히 다양한 주제들을 살펴볼 수 있었다.12:00 ~ 13:00오늘은 랜덤런치날로 다른 동료분들과 식사를 했다.12주차 발제 (13:00 ~ 13:30)12주차 발제를 시작했다. Pintos VM이번주차는 VM에 대해서 알아봅니다.userprog를 하고 vm 진행할지, 지금까지 내용을 킵하고 vm을 진행할지 결정해야한다.ifdef vm; 가 있을 것이다. vm이 정의됐을때, 활성화되는 목록들인 것이다.→ 이거는 userprog하면서 알게되었음.spt라는 개념이 나올것이다.가상주소의 경로를 관리하는 것이다. pintos는 쓰레드 ..

fsync와 sync

fsync와 sync컴퓨터의 디스크 I/O 연산은 커널 안의 버퍼 캐시나 페이지 캐시를 거칩니다.따라서 프로세스가 파일에 데이터를 기록하면, 커널은 그 데이터를 커널의 버퍼들 중 하나에 복사해서 내부적인 대기열에 등록해 두고, 적당한 시점이 되면 디스크에 기록합니다.이 과정에서 데이터가 버퍼에만 있고 디스크에는 아직 기록되지 않은 상태가 될 수 있다. 그러한 경우, 다음과 같은 상황에 문제가 일어날 수 있습니다.디스크에 순서대로 기록해야되는 경우.시스템이 비정상 종료될 경우.→ 우리는 이러한 디스크 상의 파일 시스템과 버퍼 캐시의 내용의 불일치를 해결하기 위해 sync, fsync, fdatasync 함수를 사용합니다.두 함수는 모두 파일 시스템의 데이터를 디스크에 안전하게 기록하기 위한 시스템 호출입니..

728x90