Project 0: PintOS Virtual Machine ~= Hypervisor [ 가상 머신(Virtual Machine) ] 하드웨어 자원을 소프트웨어적으로 추상화하여, 여러 개의 가상 환경(VM)을 생성하고 이들을 독립적으로 실행할 수 있는 가상화 기술.
1-1 Alarm Clock 기존 방식 global ticks에 따른 busy waiting \* 🤔 busy waiting이란? thread가 CPU를 점유하면서 대기하고 있는 상태로, 현재 시간이 목표 wake-up 시간을 초과했는지 확인한다. 조건이 만족되지
시스템 콜(System Call)이란? \* 인터럽트(interrupt): 시스템에서 발생한 다양한 종류의 이벤트 혹은 그런 이벤트를 알리는 매커니즘 전원(power)에 문제가 생겼을 때 I/O 작업이 완료되었을 때 시간이 다 됐을 때(timer 관련) 0으로 나눴을 때 잘못된 메모리 공간에 접근을 시도할 때 🤔 커널 모드는 왜 존재하는가? 시스템을 ...
오늘을 끝으로 2.5주간의 PintOS 프로젝트가 끝이 났다. 시스템 콜이 무엇인지는 이번 주차 시작에 정리를 했고, 쉬운 코드의 시스템 콜 영상을 통해 큰 틀은 이해했다. 하지만 구체적으로 어떤 코드를 통해, 어떤 함수를 통해 해당 과정이 진행되냐고 물어본다면 설명을
현재 핀토스를 만드는 중이고 Project 3에서는 보조 페이지 테이블을 구현 중이다. 이전에 malloc을 구현할 때도 가상 메모리에 대해 공부를 했지만 이번 주차를 공부하면서 가상메모리와 물리 메모리가 어떻게 매핑되는지에 대해서는 몰랐다. 이번 주차는 해당 내용에
1주차의 발표를 준비하는데 아직 첫번째 단계인 Memeory Management를 구현 중이었고, 개념마저도 확실하게 알고 있지 못한 상태였다. 그래서 주제를 SPT로 알아보는 페이지 적중과 페이지 오류의 과정으로 정했다. 처음에는 SPT가 사용된 설명 자료를 찾기 힘
이번 주차는 개인적으로 아쉬움이 많이 남는다. 이전까지는 그래도 마지막 날이 됐을 때는 내용이 머릿속에서 구조화가 되었는데, vm은 여전히 머리에서 각각의 조각들이 둥둥 떠다닌다. 우리 조는 가장 중요한 부분이 swap in/out이라 생각하여 해당 부분을 정리해보았다