TIL/Computer Science
(운영체제) 멀티 프로그래밍
parksisi
2022. 6. 5. 14:21
멀티 프로그래밍
- 목적: 최대한 CPU를 많이 활용하도록 하는 시스템
- 시간대비 CPU 활용도를 높이자
- 응용 프로그램을 짧은 시간안에 실행 완료 시킬수있음
- 시간대비 CPU 활용도? 응용프로그램은 온전히 CPU를 쓰기 보다 다른 작업을 중간에 필요로 하는 경우가 많다. 이 경우 CPU를 그냥 놀리지 말고 최대한 활용하자는게 멀티 프로그래밍
- 응용프로그램이 실행되다가 파일을 읽는다
- 응용프로그램이 실행되다가 프린팅을 한다
APP1 | APP2 | APP2 | APP1 | APP2 | APP1 |
APP1 저장매체에서 파일 읽음 |
- 위와 같이 APP1이 실행되다가 file open 함수를 만나 저장매체에서 파일을 읽어오는 시간동안 CPU는 다른 프로세스를 처리하게 한다(좀 더 나가자면, APP1은 저때 blocking 상태가 된다)
용어 정리
- 실제로는 시분할 시스템, 멀티 프로그래밍, 멀티 태스킹이 유사한 의미로 통용된다.
- 여러 응용프로그램 실행을 가능하도록 함
- 응용 프로그램이 동시에 실행되는 것처럼 보이도록 함
- CPU를 쉬지 않고 실행토록해서 CPU 활용도 높임
- 시분할 시스템 : 다중 사용자 지원, 컴퓨터 응답 시간 최소화
- 멀티 태스킹 : 단일 CPU에서 여러 응용프로그램을 동시에 실행하는 것처럼 보이게 하는 시스템
- 멀티 프로세싱 : 여러 CPU에서 하나의 응용 프로그램을 병렬로 실행하게 해서 실행속도를 높이는 기법
- 멀티 프로그래밍 : 최대한 CPU를 일정 시간 당 많이 활용하는 시스템
패스트캠퍼스의 '컴퓨터공학 올인원 패키지' 강의를 듣고 작성한 글입니다