Home
Younghwani
Cancel

[OS] 운영체제 - 병행제어 5

운영체제 - 병행제어 5 Monitor Semaphore의 문제점 코딩하기 힘들다. 정확성(correctness)의 검증이 힘들다. 자발적 협력(voluntary cooperation)이 필요하다. 한번의 실수가 모든 시스템에 치명적인 영향을 미친다. Monitor란? 동시 수행중인 프로세스 사이에서 abstract d...

[OS] 운영체제 - 병행제어 4

운영체제 - 병행제어 4 Two type of Semaphores Counting semaphore 도메인이 0 이상인 임의의 정수값 주로 resource counting에 사용한다. Binary semaphore (=mutex) 0 또는 1 값만 가질 수 있는 semaphore 주로 mutual exclusion (loc...

[OS] 운영체제 - 병행제어 3

운영체제 - 병행제어 3 Critical-Section Problem n 개의 프로세스가 공유 데이터를 동시에 사용하길 원하는 경우, 각 프로세스의 code segment에는 공유 데이터에 접근하는 코드인 Critical Section이 존재한다. 하나의 프로세스가 critical section에 들어가 있을 때, 다른 모든 프로세스는 c...

[OS] 운영체제 - 병행제어 2

운영체제 - 병행제어 2 Race Condition S-box를 공유하는 E-box가 여럿 존재하는 경우 Race Condition의 가능성이 존재한다. S-box : Memory Address Space E-box : CPU Process Multiprocessor sys...

[OS] 운영체제 - 병행제어 1

운영체제 - 병행제어 1 Multiple-Processor Scheduling CPU가 여러 개인 경우 스케줄링은 더욱 복잡해진다. Homogeneous processor인 경우 큐에 한 줄로 세워서 각 프로세서가 알아서 꺼내가게 할 수 있다. 반드시 특정 프로세서에서 수행되어야 하는 경우, 문...

[OS] 운영체제 - CPU 스케줄링 2, 3

운영체제 - CPU 스케줄링 2, 3 스케줄링 알고리즘 FCFS (First-Come First-Served) 먼저 들어온 것을 먼저 처리한다. CPU 스케줄링에서는 매우 비효율적인 방식이다. Convoy effect : 긴 시간의 프로세스 뒤에 짧은 시간의 프로세스가 위치하는 현상(매우 오래 기다려야 함) SJF (Shortes...

[OS] 운영체제 - CPU 스케줄링 1

운영체제 - CPU 스케줄링 1 CPU burst 🔛 I/O burst CPU bound job, I/O bound Job이 섞여 있기 때문에 CPU 스케줄링은 대단히 중요하다. CPU-burst Time 분포 대체로 I/O bound job이 CPU를 받는 시간(burst duration)이 더 짧다. ...