운영체제(8)
-
[Operating System] Scheduling
[1] Scheduling (Single-Processor의 경우) CPU Virtualization CPU virtualization이란 실제로는 여러 프로세스가 CPU와 메모리 자원을 공유하지만 각각의 프로세스에게는 마치 독점적으로 CPU와 메모리를 사용하는 듯한 착각을 주는 것을 의미한다. CPU virtualization은 context switch를 통한 time sharing, 그리고 가상 메모리를 활용한 space-sharing을 통해 이루어진다. CPU virtualization을 위해서는 dispatcher(어떻게 context switch를 할지, 어떤 context를 save-restore할지)와 scheduler(어떤 프로세스를 실행 시킬지)가 필요하다. Scheduler 성능 평가..
2020.01.16 -
[Operating System] Process
1. Process Process란? 현재 running 중인 프로그램의 인스턴스로 프로그램 instruction들의 execution stream이다. 각 프로세스는 독립적인 주소공간, 레지스터, open file table을 가진다. CPU Virtualization 마치 CPU를 독점적으로 사용하는 듯한 착시를 주는 것. by time sharing: 코어가 1개밖에 없더라도 프로세스 간에 context switch가 빠르게 이루어지면서 마치 서로 다른 프로그램들이 동시에 실행되는 듯한 착각을 준다. by space-sharing: 각 프로세스들이 메모리와 디스크 전체를 독점적으로 사용하는 듯한 착각을 준다. 싱글 코어 CPU의 time-sharing 과정 (Direct execution인 경우) ..
2020.01.16