교육용 운영체제
윈도우 위에서 Application처럼 돌아가지만 내부적으로는 Application-OS-H/W로 구성됨
MIPS Processor 상에서 돌아감
-> C 프로그램을 짜면 MIPS로 Cross complie 해줌
근데 C 프로그램 짜서 돌려보고 이런 건 안 할 거임 (시간 없음)
Java package
다 $nachos$ 패키지의 subpackage
machine: 하드웨어
vm: Virtual memory
threads: Nachos의 기본단위는 thread -> 그거랑 관련된 거
여기 많이 봐야 됨
각 프로젝트 디렉토리는 $nachos.conf$를 갖는다. 그냥 configuration 파일이라 수정할 일은 잘 없음
Scheduler 종류를 바꿀 수도 있는데 그 때는 이 파일을 건드려야 함
근데 때 되면 설명할 거니까 어지간하면 건드리지 말 것
$nachos.thread.KThread$의 인스턴스로 thread를 생성하며
thread가 기본단위 이므로 PCB가 아닌 $nachos.machine.TCB$를 사용한다.
$KThread$는 New, Ready, Running, Blokcing, Finished의 다섯가지 상태를 갖는다.
Scheduler는 $nachos.machine.Scheduler$의 subclass로 생성됨
$nachos.threads.ThreadQueue$(Ready queue)가 있고 여기서 thread를 가져와서 scheduling policy에 맞게끔 스케줄링함
'강의노트 > 운영체제' 카테고리의 다른 글
[운영체제] 5주차: 동기화 (0) | 2021.04.06 |
---|---|
[운영체제] 4주차: CPU scheduling (0) | 2021.03.29 |
[운영체제] 3주차: Thread (0) | 2021.03.23 |
[운영체제] 3주차: Review (2) (0) | 2021.03.22 |
[운영체제] 3주차: Review (1) (0) | 2021.03.22 |