1. 스케줄링 개념: 다중 프로그래밍의 목적은 항상 실행할 수 있는 프로세스가 있도록 하여 CPU 사용 효율을 극대화 하는데 있다. CPU - I/O 버스트 주기프로세스는 실행되는 동안 CPU 실행과 입출력 대기라는 두 주기를 반복한다.계산 중심 프로세스의 경우 적은 수의 매우 긴 CPU 버스트를 가지며, 입출력 중심 프로세스는 많은 수의 짧은 CPU 버스트를 가진다. CPU 스케줄러CPU가 유휴 상태가 되면 준비완료 큐에 있는 프로세스를 하나 선택해서 실행한다. 이 선택은 단기 스케줄러가 한다.CPU 스케줄링에 대한 결정은 4가지 상황에서 일어난다. 1. 한 프로세스가 실행 상태에서 대기 상태로 전환될 때(입출력 요청, 자식 프로세스들 중 하나가 종료되는것을 기다리기 위해 wait를 호출할 때)2. 프..
초기의 컴퓨터에서는 한번에 오직 하나의 프로그램만 수행되었다. 예를 들어 계산 수행에 1시간 걸리는 프로그램과, 테이프에서 데이터 읽기에 1시간 걸리는 프로그램이 있다면, 이 두 프로그램을 수행시키는데는 총 2시간이 소요되었다. 초기의 병렬처리는 이 두 프로그램이 섞여서(interleaved) 수행되도록 하는 방법이었다. 즉 한 프로그램이 입출력을 시작하여 끝나기를 기다리는 동안, 다른 계산 수행을 하는 프로그램이 실행될 수 있도록 하여 1시간 조금 더 걸리는 시간에 작업을 마치는 방법이었다. 병렬처리 다수의 프로세서들이 여러 개의 프로그램들 또는 한 프로그램의 분할된 부분들을 분담하여 동시에 처리하는 기술 문제점 분할문제: 병렬처리가 가능한 부분을 테스크로 만드는 것을 분할이라 하며, 분할된 부분을 그..