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