목록학교에서 들은거 정리/운영체제 (17)
mojo's Blog
이전에 배웠던거 잠깐 복습하기... 저번에 Memory virtualization 에 대해서 두가지 방법에 대해서 배웠다. 첫 번째 : Time Sharing of Memory 먼저 Context switch 할 때 CPU를 점유하는 건 한 개의 프로세스만 점유했었다. 시분할 한 것처럼 메모리 또한 시분할을 해보자라는게 바로 Time Sharing 이다. 그러나 Disk 로 내렸다가 다시 올리는 과정 즉, overhead가 큰 문제점이 있다. 그래서 이러한 overhead를 해결하기 위해서 물리적으로 남아있는것처럼 다른 주소를 쓸 수 있도록 하면 되지 않을까? 라는 방법이 Static Relocation 이다. 두 번째 : Static Relocation 메모리에 로딩을 하는 과정에서 프로그램을 rewr..
What is memory virtualization? - OS virtualizes its physical memory. - OS provides an illusion memory space per each process. - It seems to be seen like each process uses the whole memory. 각 프로세스들마다 전체 메모리를 가지고 있는 것처럼 환각을 제공한다. Address space 는 process마다 갖고 있는 것이다. Disk 에서 목적 파일 a.out이 들어가고 실행하면 text로 이동한다. 여기서 0x00000000 ~ 0xFFFFFFFF 한 process가 전체 process address space 를 정의하는 방법이 아니라 virtual mem..
이전에 배웠던거에 이어서... The Priority Boost Rule 5 : After some time period S, move all the jobs in the system to the topmost queue. Example ) A long-running job(A) with two short-running interactive job(B, C) 여기서 interactive job이란? => CPU를 짧게 사용하고 I/O를 하는 process를 의미함 왼쪽 예제를 보면 long job A를 실행하고 time slice를 초과하면서 Q0까지 이동하다가 short job B, C가 RR Scheduling 을 계속해서 하는 모습이다. (언제 끝날지 모름) 그렇다면 RR을 계속하는 과정에서 job..
Multi-Level Feedback Queue(MLFQ) A Scheduler that learns from the past to predict the future. 목표는 2가지이다. 1. Optimize turnaround time -> Run shorter jobs first 2. Minimize response time without a priority knowledge of job length. MLFQ has a number of distinct queues. - Each queues is assigned a different priority level. A job that is ready to run is on a single queue. - A job on a higher queue is..
Scheduling Metrics 시작에 앞서 4가지 가정이 있다고 하자. 1. Each job runs for the same amount of time. ex) process p1, p2, p3, p4 가 동일하게 10초씩 돈다고 가정 2. All jobs arrive at the same time. ex ) CPU 입장에서 동시에 실행해서 도착한 상황이라고 가정 3. All jobs only use the CPU (they perform no I/O) 4. The run-time of each job is known. Performance metric : Turnaround time => The time at which the job completes minus the time at which th..