본문 바로가기

CS/Operating System10

[Operating System Concepts] Chapter10 Virtual Memory Virtual Memory Demand Paging Copy-on-Write Page Replacement FIFO Page Replacement Optimal Page Replacement LRU Page Replacement Thrashing Virtual Memory 실제의 물리적인 메모리보다 더 메모리를 크게 사용할 수 있도록 하는 것을 의미한다. 메모리 구조를 무한의 가상 메모리라고 생각하고, 물리적인 메모리 에다가 필요할 때마다 매핑시킨다. 이러한 메모리에 로드 되어있는 가상 메모리는 HDD / SDD 등의 'backing store' 으로 간다. Contiguous Memory 에 가상 메모리를 작성한다고 하면 관리가 더 편리해질 것이다. 'shared memory' 처럼 공유되는 메모리가 .. 2023. 11. 12.
[Operating System Concepts] Chapter9 Main Memory Background Contiguous Memory Allocation Paging Structure of the Page Table Hierarchical Page Hashed Page Inverted Page Table Swapping Background CPU가 접근할 수 있는 저장장치는 메인 메모리(RAM)와 레지스터에만 접근 가능하다. 메인메모리 이외의 다른 저장장치에 대해서는 직접적으로 CPU가 접근 할 수 없다. CPU 가 레지스터에 접근하는 시간은 RAM에 접근하는 시간보다 빠르다. (그러나 캐시를 통해 빠르게 접근할 수 있도록 도와준다.) 메모리는 바이트의 배열로 구성 되어있고, 각각의 영역에 대한 주소를 가지고 있다. 명령어들은 메모리로부터 load, store 된다. 따라서, 하드웨어.. 2023. 11. 10.
[Operating System Concepts] Chapter8 Deadlocks Deadlock? Deadlock Conditions Deadlock Prevention Deadlok Avoidance Deadlok Detection / Recovery Deadlock? 자기상태를 바꾸지 못하고, (프로세스/스레드 간) 대기만 하게되는 경우를 의미한다. 시스템에 유한개의 자원이 있다고 가정했을 때, 경쟁하는 스레드 끼리 자원이 잘 분배될 수 있도록 나누어야 한다. 자원의 종류(CPU cycle, files, I/O device)에 따른 동등한 자원들 끼리의 경쟁이 일어난다. 리소스타입이 중요하지, 리소스 개수가 몇개인지는 중요하지 않다. Request - Use - Release 의 과정으로 자원이 사용되는데 'Use' 상태일 때 임계영역에 들어간것으로 이해할 수 있다. Deadlo.. 2023. 11. 8.
[Operating System Concepts] Chapter6 Synchronization Tools (Part.2) Why mutex, semaphore, monitor? Mutex Lock Semaphore Monitor - Example Situations Liveness Why mutex, semaphore, monitor? 상호배제 알고리즘과 세마포어 그리고 모니터를 통해 Race Condition를 쉽게 방지할 수 있다. Higher level software tools for Critical Section Problem (Mutex Locks) : 동기화 조건을 만족시키는데 있어서 가장 쉬운 방법중 하나이다. (락킹하고 열쇠를 받고 사용한다음 반납하기) Mutex Locks Limitation: 동기화 이슈 (2개의 프로세스 밖에 제어못한다.) Semaphore : 제일 보편적인 락킹 (N개를 제어할 수 있.. 2023. 11. 6.
[Operating System Concepts] Chapter6 Synchronization Tools (Part.1) Concurrent Process Race Condition The Critical Section Problem Requirements for the solution single core environment solution Peterson's Algorithm (bakery algorithm) Hardware-based Solutions Concurrent Process 프로세스가 동시에 작동할 때 순서대로 실행이 되는것을 사용자가 보장해주어야 한다. (data consistency) 데이터를 공유하게 된다면 integrity of data 가 저해된다. (병렬처리의 경우에도) → 소프트웨어 보안의 3요소 (C.I.A) 를 고려해야 한다. Confidentiality: 데이터 자체의 보안, 암호화된 데.. 2023. 11. 4.
[Operating System Concepts] Chapter5 CPU Scheduling CPU Scheduling Preemptive vs. Non-Preemptive Dispatcher Scheduling Criteria (Turnaround time, Waiting time...) Scheduling algorithm FCFS (First Come First Serve) SJF (Shortest Job First) SRTF(Shortest Remaining Time First ,Preemptive SJF) RR (Round Robin) Extra Scheduling algorithm (Priority-base Scheduling, MLQ, MLFQ) CPU Scheduling 여러개의 프로세스가 동시에 메모리에 로드된 프로그램(멀티 프로그래밍)에 있어서 여러개의 프로세스가 로드되어 있고.. 2023. 11. 2.
반응형