04. 프로세스 스케쥴링
배치 처리 시스템, 시분할 시스템, 멀티태스킹
배치처리시스템 (batch processing System)
자동으로 다음 응용프로그램이 이어서 실행 될 수 있도록 하는 시스템
자료구조: queue 와 유사
여러 프로그램을 순차적으로 실행시킬 수 있도록 하는 시스템
단점
어떤 프로그램은 실행 시간이 너무 많이 걸려서,
다른 프로그램이 실행하는데 시간을 많이 기다려야 한다.
응용프로그램1, 응용프로그램2를 동시에 실행시킬 수 없다.
(동시에 여러 응용프로그램 실행X)
여러 사용자가 동시에 하나의 컴퓨터를 쓸 수 없다.(다중 사용자 지원X)
시분할 시스템/ 멀티프로그래밍이 나왔다.
시분할 시스템 (Time Sharing System)
다중 사용자 지원을 위해 컴퓨터 응답을 최소화 하는 시스템
응용프로그램이 CPU를 점유하는 시간을 잘게 쪼게어 실행할 수 있도록 하는 시스템
멀티 태스킹 (Multi Taskiing)
단일 CPU에서 여러 응용프로그램이 동시에 실행되는 것처럼 보이도록 하는 시스템
실제 멀티태스킹(테스트)
10~20 ms 단위로도 실행 응용 프로그램이 바뀌더라.
사용자에게는 동시에 실행되는 것 처럼 보이게 됨.
멀티프로세싱
여러 CPU에 하나의 프로그램을 병렬로 실행해서 실행속도를 극대화시키는 시스템(기법)
멀티프로그래밍
최대한 CPU를 (일정 시간 당) 많이 활용하도록 하는 시스템
시간 대비 CPU활용도를 높이자.
응용프로그램을 짧은 시간 안에 실행 완료 시킬 수 있음.
응용프로그램은 온전히 CPU를 쓰기보다, 다른 작업을 중간에 필요로 하는 경우가 많다.
응용프로그램이 실행되다가, 프린팅을 한다.
용용프로그램이 실행되다가, 파일을 읽는다.
file 읽어오는 C코드 생각해보기
open()은 저장 매체에서 파일을 읽어 와야함.
CPU입장에서 저장 매체에 다녀오는 시간은 오래 걸림
그 시간을 다른 응용프로그램을 실행하는 시간으로 사용하는 것!
여러 프로그램이 메모리에 올라가 있음을 강조
정리
실제로는 시분할시스템, 멀티프로그래밍, 멀티 태스킹이 유사한 의미로 통용
핵심
여러 응용프로그램 실행을 가능토록 함.
응용프로그램이 동시에 실행되는 것처럼 보이도록 함.
CPU를 쉬지 않고 응용프로그램을 실행토록 해서, 짧은 시간 안에 응용 프로그램이 실행 완료 될 수 있도록 함.
컴퓨터 응답 시간도 짧게 해서, 다중 사용자 지원
Last updated