교육용 운영체제
윈도우 위에서 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 |