본문 바로가기
반응형

os5

[CS] 운영체제 (5) 교착 상태 교착 상태는 일어나지 않을 사건을 기다리며 진행이 멈춰버린 현상이다. 교착 생태가 일어난 자원 할당 그래프는 원의 형태를 띄고 있다. 교착 상태가 발생할 조건은 다음과 같다 상호 배제 : 한 프로세스가 사용하는 자원을 다른 프로세스가 사용할 수 없는 상태 점유와 대기 : 자원을 할당 받은 상태에서다른 자원을 할당 받기를 기다리는 상태 비선점 : 어떤 프로세스도 다른 프로세스의 자원을 강제로 빼앗지 못하는 상태 원형 대기 : 프로세스들이 원의 형태로 자원을 대기하는 상태 위 네 가지 조건 중 하나라도 만족하지 않으면 교착 상태가 발생하지 않는다. 즉 위 네 가지 조건을 모두 만족해야 교착 상태가 발생할 수 있다. 교착 상태 해결 방법 이러한 교착 상태를 해결하기 위해선 말 그대로 예방, 회피, 검출 후 회.. 2023. 7. 28.
[CS] 운영체제 (4) 동기화 프로세스와 스레드는 동시다발적으로 실행되며 서로 협력하며 영향을 주고 받는다. 이 과정에서 자원의 알관성을 보장해야 한다. 즉 프로세스들의 동기화를 고려해야 한다. 동기화의 의미 공동의 목적을 위해서 다양한 프로세스들은 동시에 수행된다. 동기화란 이 프로세스들의 수행 시기를 맞추는 것이다. 크게 두 가지가 있다. (참고로 실행의 문맥을 갖는 모든 대상은 동기화 대상이기에 스레드도 동기화 대상이다.) 실행 순서 제어 : 프로세스를 올바른 순서대로 실행하기 상호 배제 : 동시에 접근해서는 안 되는 자원에 하나의 프로세스만 접근하게 하기 실행 순서 제어를 위한 동기화(Reader Writer Problem) Writer는 파일에 값을 저장하는 프로세스이고 Reader는 파일에 저장된 값을 읽어들이는 프로세스라.. 2023. 7. 27.
[CS] 운영체제 (3) CPU 스케줄링 CPU 스케줄링은 운영체제가 프로세스들에게 공정하고 합리적으로 CPU 자원을 배분하는 것이다. 이 때 프로세스 우선순위를 봐야하는데 가장 공정한 CPU 스케줄링이라 하면 입출력 작업이 많은 프로세스(=입출력 집중 프로세스)의 우선순위는 CPU 작업이 많은 (=CPU 집중 프로세스)의 우선순위보다 높다. 입출력 집중 프로세스는 잠깐만 CPU를 쓰면 되기 때문에 먼저 우선순위를 높여서 먼저 처리하고 CPU 작업이 많은 프로세스에 CPU를 더 몰아주는게 효율이 좋다. 이 프로세스 우선 순위는 프로세스의 PCB에 저장 된다. 우선 순위를 알기 위해 모든 PCB를 다 뒤지는 건 비효울적이다. 많기도 하지만 프로세스도 계속해서 생겨나기 때문이다. 그래서 운영체제는 스케줄링 큐를 사용한다. 특정 자원을 요구하는 프로.. 2023. 7. 20.
[CS] 운영체제 (2) 프로세스 프로세스 프로세스는 실행 중인 프로그램이다. 포그라운드 프로세스와 백그라운드 프로세스로 나눌 수 있다. 포그라운드 프로세스 사용자가 볼 수 있는 공간에서 실행되는 프로세스. 일반적인 프로세스이다. 백그라운드 프로세스 사용자가 볼 수 없는 공간에서 실행되는 프로세스. 크게 사용자와 직접 상호작용이 가능한 백그라운드 프로세스와 사용자와 상호작용하지 않고 그저 정해진 일만 수행하는 프로세스가 있는데 후자를 데몬, 혹은 서비스라고 한다. 프로세스 제어 블록 모든 프로세스는 실행을 위해 CPU가 필요하다. 그렇지만 CPU 자원은 한정되어 있다. 따라서 프로세스들은 돌아가며 한정된 시간만큼만 CPU를 이용하며 타이머 인터럽트가 발생했을 때 차례를 양보한다. 이렇게 빠르게 번갈아 수행되는 프로세스들을 관리해야 하는데.. 2023. 7. 14.
반응형