CS
-
[Pintos] Priority Scheduler개발 공부의 시작/pintos 2022. 11. 18. 02:03
문제 상황: Pintos의 스케쥴러는 리스트에 삽입되는 순서대로 스레드를 스케쥴링한다. 우선순위에 따라 스레드를 정렬해서 우선순위가 높은 스레드를 먼저 스케쥴링 할 수 있도록 한다. 개선 사항 1 - Priority Scheduling : 🔖 스케쥴링되는 스레드는 ready_list에서 가장 우선순위가 높은 스레드여야 한다. 이를 위해 리스트 안에 스레드를 삽입할 때마다 스레드를 우선순위에 따라 정렬되도록 만들었다. 이렇게 되면 리스트의 가장 앞에 우선순위가 가장 높은 스레드가 위치하게 된다. 그리고 스케쥴링은 리스트의 맨 앞의 스레드를 대상으로 하게 된다 🔖 리스트 안에 스레드가 삽입되는 경우는 총 3가지이다. 스레드가 생성될 때 CPU를 점유하고 있던 스레드가 대기상태로 돌아갈 때 block 상태의 ..
-
[Pintos] 개요개발 공부의 시작/pintos 2022. 11. 18. 01:22
👉🏻 카이스트 핀토스 프로젝트 → Stanford PintOS에서 수정된 버전을 사용한다. 👉🏻 수정된 버전을 사용하므로, 메뉴얼을 꼭 따라야 한다. 따로 진행중이던 pintos 프로젝트가 있다면, 최신 메뉴얼에 따라서 몇가지 필수 사항들을 다시 구현해야 한다. 👉🏻 pintos-kaist는 x86-64 아키텍쳐에서 동작하는 간단한 os 프레임워크다. 스탠포드 대학교의 pintos 프로젝트의 변형이다. Pintos (이제 pintos-kaist) 는 kernel threads , loading and running user programs , a file system 의 모든 구현을 매우 간단한 방법으로 지원한다. 👉🏻Pintos 프로젝트에서 위 3가지 기능을 강화시킨다. kernel threads lo..