OS(3)
-
6. 교착상태
※ 이 내용은 ‘쉽게 배우는 운영체제’ 책 내용을 바탕으로 작성되었습니다. 교착 상태 교착 상태(dead lock)은 2개 이상의 프로세스가 작업이 끝나기만 기다리며 작업을 더 이상 진행할 수 없는 상태를 말합니다. 교착 상태의 발생 컴퓨터 시스템에서 교착 상태는 다양한 상황에서 발생합니다. 시스템 자원어떤 프로세스가 임계구역으로 보호되는 프린터, 스캐너 등 동시에 사용할 수 없는 자원을 할당받은 후 양보하지 않는 경우 발생할 수 있습니다. 이러한 자원을 필요로 하는 다른 자원은 양보하기 전에는 해당 자원을 사용할 수 없어 작업을 더 이상 진행할 수 없게 됩니다. 공유 변수임계구역 문제를 해결하기 위한 잠금 공유 변수를 사용할 때 교착 상태가 발생할 수 있습니다. 응용 프로그램데이터베이스같은 응용 프로그..
2021.05.03 -
5. 프로세스 동기화
※ 이 내용은 ‘쉽게 배우는 운영체제’ 책 내용을 바탕으로 작성되었습니다. 프로세스는 시스템 내에서 독립적으로 실행되기도 하고 데이터를 주고받으며 협업하기도 합니다. 프로세스 간 통신(IPC)하는 방식도 있는데 이 경우 같은 컴퓨터 뿐만 아니라 다른 컴퓨터와 네트워크를 통해 데이터를 주고받기도 합니다. 프로세스 간 통신의 종류는 다음과 같습니다. 프로세스 내부 데이터 통신: 멀티쓰레드인 경우의 통신입니다. 전역 변수나 파일을 이용하여 데이터를 주고받습니다. 프로세스 간 데이터 통신: 같은 컴퓨터에 있는 서로 다른 프로세스간의 통신입니다. 공용 파일 또는 운영체제가 제공하는 파이프를 사용하여 통신합니다. 네트워크를 이용한 데이터 통신: 여러 컴퓨터가 네트워크로 연결되어 있을 때의 통신입니다. 소켓을 통하여..
2021.05.03 -
4. CPU 스케줄링
※ 이 내용은 ‘쉽게 배우는 운영체제’ 책 내용을 바탕으로 작성되었습니다. 스케줄링 개요 CPU 스케줄링은 어떤 작업에 CPU를 배정할지 결정하는 것을 말합니다. 그리고 이는 CPU 스케줄러가 처리합니다. 스케줄링 여러 프로세스 상황을 고려하여 CPU와 시스템 자원을 어떻게 배정할지 결정하는 일 스케줄링 단계 고수준 스케줄링(장기 스케줄링, 작업 스케줄링) 중간 수준 스케줄링 저수준 스케줄링(단기 스케줄링) 고수준 스케줄링 전체 시스템의 부하를 고려하여 작업을 시작할지 말지를 결정합니다. 일단 작업이 시작되면 시스템 자원을 사용하기 때문에 기존 작업에 영향을 미칩니다. 작업 요청이 오면 스케줄러가 시스템의 상황을 고려하여 작업을 승인할지, 거부할지 결정합니다. 고수준 스케줄링에 따라 시스템에서 동시에 실..
2021.05.03