본문 바로가기

비선점3

교착상태(Deadlock) 발생 조건 및 해결 방법 지난 포스팅에서 프로세스 동기화와 더불어 교착상태에 대해 다뤘었다. 교착상태가 무엇인지 아직 헷갈리시는 분들은 이전 포스팅을 보고 오시길 바란다. 이번에는 교착상태의 발생 조건과 해결 방법에 대해서 알아보자. 교착상태(Deadlock) 발생 조건 교착상태는 아래의 네 가지 조건을 모두 동시에 충족할 때 발생한다. 1. 상호배제 (Mutual Exclusion)한 자원에 대한 여러 프로세스의 동시 접근 불가 2. 점유와 대기 (Hold and Wait)자원을 가지고 있는 상태에서 다른 프로세스가 사용하고 있는 자원의 반납을 기다리는 것 3. 비선점 (Non Preemptive)다른 프로세스의 자원을 강제로 가져올 수 없음 4. 환형대기(Circle wait)각 프로세스가 순환적으로 다음 프로세스가 요구하는.. 2017. 6. 9.
스케줄링 기법(Scheduling Method) 지난 포스팅에서 프로세스 스케줄링과 종류에 대해 다뤘다. 이번에는 선점, 비선점 스케줄링의 기법들에는 어떤 것들이 있는지 간단히 포스팅 하려고 한다. 비선점형 스케줄링(Non-preemptive scheduling) FIFO(First In First Out)가장 간단한 방식으로 선입선출의 방식이다. 먼저 들어오면 먼저 나가는 방식. 아무리 중요한 작업이 있다 하더라도 그 작업보다 먼저 들어온 작업이 끝나기 전까지는 절대 먼저 실핼될 수 없는 비효율적인 방식.FIFO라고도 하고 FCFS(First Come First Served)라고도 한다. SJF(Shortest Job First)평균 대기 시간을 최소화 하기 위해 CPU점유 시간이 가장 짧은 프로세스에 CPU를 먼저 할당하는 방식이다.실행 시간이 긴.. 2017. 6. 5.
프로세스 스케줄링(Process Scheduling) 프로세스 스케줄링이란? CPU를 사용하려고 하는 프로세스들 사이의 우선 순위를 관리하는 일스케줄링은 처리율과 CPU이용률을 증가시키고 오버헤드/응답시간/반환시간/대기시간을 최소화 시키기 위힌 기법이다.즉, CPU가 쉬지않고 계속 열심히 일할 수 있도록 효율적인 계획을 잡아주는 것이다.스케줄링에서는 장기, 중기, 단기 스케줄링이 있다.어떤 프로세스를 커널에 등록할 것이가를 정하는 장기 스케줄링,어떤 프로세스에게 메모리를 할당할 것인가를 정하는 중기 스케줄링,어떤 프로세스에게 CPU를 할당할 것인가를 정하는 단기 스케줄링이 있다. 결정 시점 CPU 스케줄링의 결정시점은 다음과 같은 프로세스의 상태 변화가 있을 떄이다.- 수행 -> 대기 (비선점, 선점)- 수행 -> 준비 (비선점)- 대기 -> 준비 (비선점.. 2017. 6. 5.