Computer Structure/Operating System 4

[운영체제/OS] Page Replacement Algorithms

FIFO (First-In-First-Out) AlgorithmWhen a page must be replaced, the oldest page is chosen사용한 지 가장 오래된 page부터 replace 해주는 방법 Problem- frame 개수가 늘어나면, page fault는 줄어야 하는데, page fault가 늘어나는 현상이 발생- 자주 사용하는 page가 old page일 수도 있다 Belady's anomaly: page fault는 할당된 frame이 increase함에 따라 increase 할 수도 있다.  Optimal Algorithm가장 낮은 page fault를 발생시키는 알고리즘앞으로 사용하지 않을 page를 replace 시키는 알고리즘으로, 가장 최적화된 방식이다. P..

[운영체제/OS] Virtual-Memory Management

Virtual -Memory Management에 대해서 알아보기 전, 배경 지식부터 알아보자.Swapping: process size가 physical memory 보다 클 때, whole process를 백업 저장소에 일시적으로 swap 한 후, 계속 실행하기 위해 다시 memory로 swap한다.swap device - usually HDD, SDD, or Flash하지만, Swapping은 context switching time이 굉장히 크다. 따라서, 현대 OS들은 swapping을 피하려고 한다.이와 같은 문제를  해결하기 위해 Demand Paging을 사용한다.  이제 본격적으로 Demand Paging에 대해서 알아보자.Demand Paging: 사용하는 페이지, 즉 필요한 페이지만 m..

[운영체제/OS] Memory

MemoryBasics : Storage (write) and Retrieval (read) of information in Memory DRAM  : Dynamic Random Access MemoryPrograms are usually stored in the hard disk -> progams are executed (= process), it is loaded on the main memory - faster than disk= 프로그램은 주로 hard disk에 저장되고, 이 프로그램이 실행된다면 (프로세스가 된다면), 좀 더 빠른 main memory에 올라간다. ex) file을 열면, main memory에 올라간다. hard disk에 main memory가 byte code 형태로 저..

[운영체제/OS]08. Deadlock

Dedlock에 대해 알아보기 전, 예시부터 알아보자. Example 1 )만약 다리만 일차선이라면,다리에서 교통체증이 발생할 것이다. 이때 다리를 자원(resource)이라고 생각하면,이때 차들이 모두 다리를 건너기 위해 기다리고 있기 때문에deadlock이 발생한다고 할 수 있다. Example 2 ) Dining-Philosophers Problem 다섯명의 철학자가 다 같이 배가 고프고,책상 위에는 젓가락이 한 짝이 아닌 한 개 씩, 총 5개가 있다고 가정해보자.각각의 철학자는 왼쪽에 있는 젓가락을 잡았다.  이때 모든 젓가락의 세마포어 (semaphore)는 0이 된다. 이후, 이들이 오른쪽에 있는 젓가락을 잡으려고 한다면,이들은 누군가가 젓가락을 놓을 때까지 기다려야 한다. 다 같이 기다리는 ..