본문 바로가기

[운영체제] Term project: Nachos

교육용 운영체제

 

윈도우 위에서 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에 맞게끔 스케줄링함

'강의노트 > 운영체제' 카테고리의 다른 글