15.교착상태 필요조건, 교착상태의 해결법
교착상태발생이유 : 프로세스들이 자원을 많이 필요로 한다. 하지만 누가 사용하고 있으면 기다려야한다.이러한 형태가 원을 이루면 교착상태가 발생한다. 교창상태 필요조건.Mutual exclusion (상호배타) : 자원을 서로 공유하지 못함Hold and wait (보유 및 대기) : 하나를 잡고있으면서 다른것을 원함No Preemption (비선점) : 다
교착상태발생이유 : 프로세스들이 자원을 많이 필요로 한다. 하지만 누가 사용하고 있으면 기다려야한다.이러한 형태가 원을 이루면 교착상태가 발생한다. 교창상태 필요조건.Mutual exclusion (상호배타) : 자원을 서로 공유하지 못함Hold and wait (보유 및 대기) : 하나를 잡고있으면서 다른것을 원함No Preemption (비선점) : 다
읽기-쓰기 문제, 식사하는 철학자 문제 Reader & WriterDB 읽기만 하는 프로세스 DB를 바꾸는 프로세스 A가 DB를 읽고 있을 때 B가 읽을 수 있다.즉 한 프로세스가 DB를 읽을 때 다른 프로세스도 읽을 수 있게 허용해줘야 한다. The first R/W problem (readers-preference)리더가 있으면 라이터가
OS에서 가장중요한게 프로세스 관리이중 CPU 스케줄링, 프로세스 동기화가 중요하다.이때 임계구역 처리를 잘해야한다. 전통적 동기화 예제1.Producer and Consumer Problem(생산자-소비자 문제, 유한버퍼 문제 (Bounded Buffer Problem))2.Readers-Writers Problem(공유 데이터베이스 접근)3.Dining
프로세스 관리에서 중요한것들CPU 스케줄링 : 이전포스팅 참고 프로세스(쓰레드) 동기화필요이유 : 보통컴퓨터 안에있는 프로세스들은 독립적이지 않고 협조적이므로 즉 공통된 자원에 접근함동기화가 되지 않으면? : 누군가는 계속 입금하고 누군가는 출금하는 로직이 있을 때 다 더한값이 0이 아닐 수 있다.임계구역 : 공통적으로 사용되는 부분 임계구역 문제 해결
임계구역 문제(critical-section problem)여러개의 쓰레드로 이뤄진 시스템에서 각각의 쓰레드는 코드영역을 갖고있는데 이를 크리티컬 섹션이라한다. 또한 쓰레드로 부터 공통으로 사용되고 변경될 수 있는 부분을 의미한다. 어떤 복수개의 쓰레드들이 공통적으로 사용하는 부분. 임계영역 해결이를 해결하기 위해 다음 세가지가 만족되어야 한다. Mutua
1. 쓰레드란?프로그램 내부의 흐름, 맥 맥이 하나만 있는 프로그램 : 싱글쓰레드여러개있는것: 멀티(다중)쓰레드 쓰레드가 여러개가 빠르게 동시에(왔다갔다하면서) 실행됨. 우리는 CPU하나임을 가정하고 공부하기 때문에 1.1 쓰레드 구조프로세스의 메모리 공간 공유 : (code, data)프로세스의 자원 공유 : (file, i/o, …)비공유: 개
다중 큐 스케쥴링, 프로세스 생성과 소멸, 쓰레드다양한 CPU 스케줄링 알고리즘First-Come, First-Served (FCFS)Shortest-Job-First (SJF)PriorityRound-Robin (RR)Multilevel QueueMultilevel Feedback Queue 1. Multilevel Queue Scheduling1.1 P
CPU 스케줄링 알고리즘CPU 스케줄링은 레디큐에서 프로세스들이 CPU의 작업을 기다리고있을 때 누가 먼저 들어갈것인가에 대한것. FCFS는 이전포스트 참고 AWT를 평균대기시간이라 함.ATT를 Average turnaround time 반환시간이라함. SJF가장 짧은것을 먼저하는것.P1 6P2 8P3 7P4 3의 프로세스가있을 때 대기시간. p4, p1,
CPU 스케쥴링프로그램은 하드디스크안에 들어있고 아무런 동작도 하지안흔다. 메인메모리에 올라가서 실행이 되면 활동한다. 활동중에 있는 프로그램을 프로세스라함. 프로세스에 대한 것들을 PCB안에 넣어놓는다. 컴퓨터 안에는 여러가지 큐가 있는데 job queue, ready queue, device queue가 있다. 메인메모리에 여러 프로그램이 올라와있는게
프로세스 관리CPU를 프로세스한테 어떻게 잘 나눠주는가에 대한것. Process실행중인 프로그램. 프로그램은 무덤속에 있는것. 프로세스는 살아있는것.program in execution: text + data + stack, pc, sp, registers, … 프로세스의 상태new - 메인 메모리로 올라온 상태.ready - 실행할 준비가 모두 다 된상태