- 프로세스 : 메모리에 올려져서 실행 중인 프로그램
- 응용 프로그램 != 프로세스
- 응용 프로그램은 여러 개의 프로세스로 이루어질 수 있음
- 하나의 응용 프로그램은 여러 개의 프로세스가 상호작용을 하면서 실행될 수도 있음
1. 배치 처리 시스템
→ Application1 이 실행 끝나면 바로 다음 Application2 가 실행 : First In First Out ( 자료구조의 큐와 비슷 )
Q 왜 배치 처리 시스템을 사용하지 않고 멀티 프로그래밍, 시분할 시스템이 사용될까?
→ 배치 처리 시스템은 여러 프로그램을 순차적으로 실행시키는데 어떤 프로그램은 너무 시간이 많이 걸려 다른 프로그램을 실행하려면 많은 시간을 기다려야 하는 문제가 있다.
예를들면, 음악을 들으면서 문서 작업을 할 수 없고(동시에 여러 응용 프로그램 실행 불가), 여러 사용자가 동시에 하나(컴퓨터 응답시간)의 컴퓨터를 쓸 수 없는 문제(다중 사용자 지원 불가)가 있다.
그래서 멀티 프로그래밍, 시분할 시스템이 사용되는 것이다.
2. 시분할 시스템
→ 다중 사용자 지원을 위해 컴퓨터 응답 시간을 최소화하는 시스템 (특정시점마다 다른 프로세스로 교체)
3. 멀티 태스킹
→ 단일 CPU에서 여러 응용프로그램이 동시에 실행되는 것처럼 보이도록 하는 시스템
→ 멀티 태스킹의 예
ex. mp3 음악(응용 프로그램)을 들으면서 문서를 작성(응용 프로그램) 한다.
→ 사람이 인지 못할 만큼 짧은 시간동안 프로그램을 실행시켜
사람이 보기에는 응용프로그램이 동시에 실행되는 것처럼 보인다.
4. 멀티 태스킹과 멀티 프로세싱
멀티 태스킹
- 단일 CPU
- 어느 시점에 실행되는 응용프로그램은 하나이지만 시간을 잘게 쪼개서 마치 동시에 실행되는 것처럼 보이는 시스템
멀티 프로세스
- 여러 CPU에 하나의 프로그램을 병렬로 실행해서 실행속도를 극대화 시키는 시스템
- 하나의 응용프로그램이 여러 CPU를 사용
- 특정 응용프로그램의 실행시간이 오래 걸릴 경우, 다른 응용프로그램은 그만큼을 기다려야 하는 단점이 있다.
정리
1. 배치 처리 시스템
2. 시분할 시스템 : 다중 사용자 지원, 응답시간 최소화
3. 멀티 태스킹 : 동시 실행하는 것처럼 보이도록
4. 멀티 프로세싱 : 여러 CPU에 하나의 프로그램을 병렬로 실행 시키는 시스템
제로베이스 컴퓨터 공학 전공자 따라잡기 강의 시청 후 정리한 내용입니다.
'CS > 운영체제' 카테고리의 다른 글
프로세스 상태와 스케쥴러 (0) | 2022.02.23 |
---|---|
스케쥴링 알고리즘 기본 (0) | 2022.02.23 |
운영체제 구조 - 사용자 모드와 커널 모드 (0) | 2022.02.22 |
운영체제 구조 - 시스템 콜 (0) | 2022.02.22 |
운영체제(Operation System, OS) Intro (0) | 2022.02.22 |