CPU 스케줄링 알고리즘 CPU 스케줄링 알고리즘은 다양하고 운영체제마다 다른 알고리즘을 사용하고 있다. 아래는 7가지 알고리즘에 대한 설명이다. 선입 선처리 스케줄링 선입 선처리 스케줄링은 FCFS 스케줄링이라고 불린다. 이는 준비 큐에 삽입된 순서대로 프로세스를 처리하는 비선점형 스케줄링 방식이다. 공정해 보이지만, 프로세스들이 기다리는 시간이 길어질 수 있다. A 프로세스가 15ms 실행 동안 B 프로세스는 15ms를 대기하고, B 프로세스가 5ms 실행 동안 C 프로세스는 1ms를 실행하기 위해 15ms+5ms를 대기하게 된다. 위 스케줄링의 평균 대기 시간은 (20+15+0) / 3 대략 12초 정도 걸린다. 최단 작업 우선 스케줄링 앞서 FCFS 스케줄링의 단점을 방지할려면 CPU 사용 시간이..
프로세스란? 프로세스는 실행 중인 프로그램이다. 프로그램은 실행되기 전에는 보조기억장치에 저장된 데이터이지만, 이 프로그램을 메모리에 올라가고 실행되는 순간 프로그램은 프로세스가 된다. 스레드란? 스레드는 실행의 단위이며, 프로세스를 구성하는 실행의 흐름 단위이다. 하나의 프로세스에는 여러 개의 스레드를 가질 수 있으며, 프로세스 내의 여러 개의 스레드가 동시에 실행될 수 있다. 멀티프로세스란? 여러 프로세스를 동시에 실행하는 것이다. 멀티스레드란? 여러 스레드를 프로세스 내에 동시에 살행하는 것이다. 멀티프로세스와 멀티스레드의 차이? 만약 Hello를 출력하는 프로그램이 있다고 가정하고 출력을 2개 이상 하고 싶다면 2개 이상의 프로세스를 실행하면 되고(멀티프로세스는), 하나의 프로세스에서 여러 개의 ..
