본문 바로가기

CPU Scheduler3

06. Process Synchronization 데이터 접근(intro) 컴퓨터 시스템 안에서 어떻게 데이터가 접근하는가? Race Condition(경쟁 상태) 과연 컴퓨터에 경쟁상태가 많이 생길까? CPU라는 것은 자기의 주소공간만 본다아! 그래서 문제가 안생길거처럼 보이는데, CPU가 여러개 있는 멀티 CPU 프로세서 상태에서는 아닐 것! 특히 프로세스들이 본인 직접실행할 수 없을 경우 커널의 코드가 실행될 경우. OS에서 race condtion은 언제 발생하는가? Kernel 수행 중 인터럽트 발생시 Process가 System call을 하여 kernel mode로 수행 중인데 context switch가 일어나는 경우 Multiprocessor에서 shared memory 내의 kernel data Process Synchronizatio.. 2019. 7. 28.
05. CPU Scheduling-01 CPU Scheduling 스케줄링 알고리즘을 크게 2개로 나누면 (=강제로 빼앗지 않는 방법) 비선점형 Nonpreemptive (=강제로 빼앗는 방법) 선점형 preemptive CPU의 성능척도는? CPU utilization(이용률) - keep the CPU as busy as possible - CPU가 놀지 않고 일을 하는 시간 Throughput(처리량) - # of processes that complete their execution per time unit - 주어진 시간동안 몃개의 작업을 처리 했는가? Turnaround time(소요시간, 반환시간) - amount of time to execute a particular process - CPU를 쓰러 들어와서 다쓰고 I/O하러 .. 2019. 7. 28.
04. Process Management 프로세스 관리 프로세스 생성(Process Creation) Copy-On-Write(COW) 기법 부모프로세서의 코드데이터스택을 그대로 복사하기보다는 write가 발생할 때 Copy 하겠다. 그 이전까지는 부모프로세스의 코드데이터스택을 공유한다. 가능하면 공유하고 원칙적으로는 독립적이다. 부모 프로세스가 자식 프로세스를 복제해서 생성됨 프로세스의 트리(계층 구조)형성 프로세스는 자원을 필요로 함 운영체제로부터 받는다. 부모와 공유한다. 자원의 공유 부모와 자식이 모든 자원을 공유하는 모델 일부를 공유하는 모델 전혀 공유하지 않는 모델 수행(Execution) 부모와 자식은 공존하며 수행되는 모델 자식이 종료(terminate)될 때까지 부모가 기다리는(wait)모델 주소 공간(Address space).. 2019. 7. 28.