OS: Ubuntu 24.04 LTSEditor: Visual Studio Codehttps://docs.docker.com/engine/install/ubuntu/\* Installation Methods 중에 “Install using the apt rep
기존 구현은 요청한 시간을 지날때까지 실행 흐름을 계속 넘기는 busy waiting 방식으로 구현되어 있습니다. 이 방식의 단점은 계속 scheduler에게 선택되기 때문에 context switching 비용이 발생합니다. 그래서 이러한 단점을 개선하기 위해서 s
pintos 스레드(thread)에는 우선순위(priority)가 존재합니다. 우선순위가 높을수록 스케줄러에게 먼저 선택 받게 되며, lock, semaphore 같은 리소스도 먼저 획득하게 됩니다.우선순위가 H(High), M(Medium), L(Low)인 스레드가
개요 시스템 콜(system call)은 사용자 프로그램에서 운영체제가 관리 중인 자원이나 서비스를 사용하기 위해 요청하는 것을 말합니다. 이번 프로젝트에서는 프로세스와 파일 입출력에 대한 시스템 콜을 구현합니다. 구현 pintos에서 시스템 콜(system call
리눅스 터미널에서 프로그램을 실행할 때, 프로그램 이름과 함께 실행인자(argument)를 넘기는 경우가 있습니다. 이번에는 pintos에서 process를 실행할 때 실행인자를 넘기는 기능을 구현합니다.pintos에서 프로세스(process)를 실행하면, 프로그램 이
개요 페이징(Paging)은 운영체제에서 가상 메모리를 구현하는 중요한 부분으로, 메인 메모리를 페이지(Page)라고 불리는 일정한 크기의 블록으로 구성하고, 이를 필요에 따라 2차 저장 장치에 저장하고 불러오는 방식으로 메모리를 관리합니다. 이러한 방식을 통해 운영체
이전까지는 pintos에서 프로세스를 실행하면 페이지가 하나 할당되고 여기에 코드와 데이터, 스택이 할당되었습니다. 이것을 이제는 프로세스가 요청하는 메모리에 대해서만 페이지를 할당하는 방식으로 변경합니다. 이를 통해서 윤영체제에서 메모리를 효율적으로 사용할 수 있습니