[한빛아카데미] 운영체제 책으로 학습한 내용을 정리한 것입니다. * 선입선처리 스케줄링(FCFS, First Come First Served) - 선입선출 스케줄링(FIFO, First In First Out)이라고도 함 - 프로세서를 요청하는 순서대로 프로세서를 할당하며, 선입선출 큐로 구현함 - 비선점 스케줄링 장점 - 스케줄링의 이해와 구현이 단순함 - 준비 큐에 있는 모든 프로세스가 결국 실행되므로 기아 없는 공정한 정책임 - 프로세서가 지속적으로 유용한 프로세스를 수행하여 처리율이 높음 단점 - 비선점식이므로 대화식 프로세스(작업)에는 부적합함 - 장기 실행 프로세스가 뒤의 프로세스(작업)를 모두 지연시켜 평균 대기시간이 길어져 최악의 대기시간이 됨 - 긴 프로세스(작업)가 실행되는 동안 짧은 ..
[한빛아카데미] 운영체제 책으로 학습한 내용을 정리한 것입니다. * 스케줄링(Scheduling) - 여러 프로세스가 번갈아 사용하는 자원을 어떤 시점에 어떤 프로세스에 할당할지 결정하는 것 - 좋은 스케줄링은 프로세서의 효율성을 높이고, 작업(프로세스)의 응답 시간을 최소화하여 시스템의 작업 처리 능력을 향상 시킴 - 스케줄링이 필요한 프로세스 : 사용자 프로세스, 시스템 호출로 발생하는 시스템 프로세스 - 스케줄링이 필요 없는 프로세스 : 인터럽트 처리, 오류 처리, 사용자의 시스템 호출 등의 사전 처리가 대표적임 * 스케줄링의 목적 - 자원 할당의 공정성 보장 - 단위시간당 처리량 최대화 - 적절한 반환시간 보장 - 예측 가능성 보장 - 오버헤드 최소화 - 자원 사용의 균형 유지 - 반환시간과 자원..
[한빛아카데미] 운영체제 책으로 학습한 내용을 정리한 것입니다. * 교착 상태(Deadlock) - 시스템 자원에 요구가 뒤엉킨 상태로, 두 프로세스가 사용하는 자원(비공유)을 서로 기다리고 있을 때 발생함 - 다른 하나를 완료하지 않으면 프로세스를 더 이상 진행할 수 없고, 진행하지 않으면 프로세스를 완료할 수 없음 -> 따라서 둘 이상의 작업이 중단되고 프로세스들은 서로 사용할 자원을 기다리고만 있게 됨 * 프로세스 자원 사용 순서 - 자원 요청 : 프로세스가 필요한 자원을 요청하는데, 해당 자원을 사용할 수 있으면 요청을 즉시 수락하지만 해당 자원을 다른 프로세스가 사용 중이면 요청을 수락할 때까지 기다려야 함 - 자원 사용 : 프로세스가 요청한 자원을 획득하여 사용함. 예를 들어, 요청한 자원이 ..
[한빛아카데미] 운영체제 책으로 학습한 내용을 정리한 것입니다. * 병행 프로세스 - 운영체제가 프로세서를 빠르게 전환하여 프로세서 시간을 나눠서 마치 프로세스 여러 개를 동시에 실행하는 것처럼 보이게 하는 것 - 병행 프로세스는 독립 프로세스와 협력 프로세스로 구분함 - 경쟁 관계에 있는 프로세스들은 서로 정보를 교환하지 않지만, 한 프로세스의 수행이 나머지 프로세스의 수행에 영향을 미칠 수 있기 때문에 상호배제가 필요함 * 독립 프로세스 - 단일 처리 시스템에서 수행하는 병행 프로세스 - 다른 프로세스, 데이터와 상태를 공유하지 않고 동작도 재현 가능 - ex. 단일 프로그래밍, 다중 프로그래밍, 다중 처리 * 협력 프로세스 - 다른 프로세스에 영향을 주고받으며, 즉 상호작용하며 특정 기능을 수행하는..