티스토리 뷰
페스트 캠퍼스 강의를 듣고 정리합니다.
프로그램 처리 방법들
배치처리 시스템
-
일괄 처리, 배치 처리, batch processing이라고 부른다.
-
컴퓨터 프로그램 실행 요청 순서에 따라 순차적으로 프로그램을 실행하는 방식이다.
-
한번에 등록된 여러 프로그램을 순차적으로 실행이 가능하다.
배치처리 시스템의 문제
-
어떤 프로그램은 실행시간이 너무 길어서, 다른 프로그램이 실행되는데 너무 많이 기달려야한다.
-
음악을 들으면서, 문서도 작성하고 싶다.(동시에 여러 응용프로그램 실행)
-
여러 사용자가 동시에 하나의 컴퓨터를 사용하려면 어떻게 해야하나?(다중 사용자 지원)
시분할 시스템
-
다중 사용자를 지원하기 위해 컴퓨터 응답시간을 최소화하는 시스템이다.
-
컴퓨터 자원을 시간적으로 분할하여 사용할 수 있게 해준다.
-
CPU 스케쥴링과 멀티 태스킹을 활용하여 지원한다.
멀티 태스킹
-
단일 CPU에서, 여러 응용 프로그램이 동시에 실행되는 것처럼 보이도록 하는 시스템이다.
-
1000 ms = 1초
-
10~20ms 단위로 실행 응용 프로그램을 바꾸어 실행한다.
-
사용자에게는 동시에 실행되는 것처럼 보인다.
멀티 태스킹 VS 멀티 프로세싱
- 멀티 태스킹
단일 CPU에서 10~20ms 단위로 실행 응용프로그램을 바꾸어 실행하는 것이다.
- 멀티 프로세싱
여러개의 프로세서가 작업을 병렬 처리하는 것이다.
멀티 프로그래밍
-
최대한 CPU를 활용하도록 하는 시스템이다.
-
응용 프로그램은 온전히 CPU를 사용하기보다 다른 작업을 중간에 필요로 하는 경우가 많다.
-
저장 매체를 이용하는 경우도 있고, 네트워크를 이용해 요청하는 경우도 있다.
-
결국, CPU가 아무런 동작을 하지 않고 쉬게 되는 시간이 생긴다.
-
그래서 CPU 유휴시간을 활용하여 다른 응용 프로그램을 처리하도록 했다.
실제로는 시분할 시스템, 멀티프로그래밍, 멀티 태스킹이 유사한 의미로 통용된다.
정리
-
여러 응용 프로그램 실행을 가능하게 한다.
-
응용 프로그램이 동시에 실행되는 것처럼 보이도록 한다.
-
CPU를 쉬지 않고 응용 프로그램을 실행토록 해서, 짧은 시간 안에 응용 프로그램이 실행 완료될 수 있도록 한다.
-
컴퓨터 응답 시간도 짧게 해서, 다중 사용자도 지원한다.
-
시분할 시스템: 다중 사용자 지원, 컴퓨터 응답시간을 최소화하는 시스템
-
멀티 태스킹: 단일 CPU에서 여러 응용 프로그램을 동시에 실행하는 것처럼 보이게 하는 시스템
-
멀티 프로세싱: 여러 CPU에서 하나의 응용 프로그램을 병렬로 실행하게 해서, 실행속도를 높이는 기법
-
멀티 프로그래밍: 최대한 CPU를 일정 시간당 많이 활용하는 시스템
(참고)메모리 계층 - 컴퓨터 구조
https://computationstructures.org/lectures/caches/caches.html
'개발 > 상식' 카테고리의 다른 글
[운영체제] 7. 프로세스간 커뮤니케이션 (0) | 2019.12.19 |
---|---|
[운영체제] 6. 프로세스 구조 (0) | 2019.12.19 |
[운영체제] 5. 인터럽트 (0) | 2019.12.19 |
[운영체제] 4. 프로세스 상태와 스케쥴링 (0) | 2019.12.19 |
[운영체제] 3. 프로세스 스케쥴링 알고리즘 (0) | 2019.12.19 |
[운영체제] 1. 운영체제의 큰 그림 (0) | 2019.12.19 |