[OS] 단일/다중 프로그래밍과 시분할
▶ 단일/다중 처리기 vs 단일/다중 프로그래밍
이전에 포스팅한 단일/다중 처리기 시스템과 단일/다중 프로그래밍은 다른 개념이다!
- 단일/다중 처리기 시스템은 CPU, 코어 개수에 따른 컴퓨터 시스템의 구성을 나타내는 것이라면,
- 단일/다중 프로그래밍은 프로세스가 CPU를 효과적으로 활용하기 위해 OS의 프로세스 스케줄링과 자원 관리 전략을 나타낸다.
➡️ 다중 프로그래밍은 다중 처리기 시스템에서 활용될 수 있다
▶ 단일 프로그래밍 (Single Programming)
개념
한번에 하나의 프로그램만 사용 가능하다.
▶ 다중 프로그래밍 (Multiprogramming)
개념
- CPU가 항상 하나 이상의 작업을 실행하게 구성하는 것을 말한다.
동작 방식
- OS는 시스템에 있는 모든 프로세스(실행 중인 프로그램)를 메모리에 올려놓는다.
- 작업 스케줄러가 한 개의 작업을 선택하여 CPU에 할당한다. - 해당 프로세스가 대기하는 경우(ex. 입출력), 운영체제는 다른 프로세스로 전환하여 CPU에 할당한다.
▶ 시분할(=multitasking, =multitasking)
개념
- 다중 프로그래밍의 논리적 확장이다.
- 프로그램들을 동시에 사용할 수 있게 하는 기술을 말한다.
- CPU는 마치 여러개의 프로그램을 동시에 돌리는 것처럼 보이게 하기 위해 빠른 속도로 여러 프로세스를 전환한다.
- 여러 프로세스가 동시에 실행할 준비가 되면 시스템은 다음에 실행할 프로세스를 CPU 스케줄링을 통해 선택해야한다.
📎참조
- 성결대학교 강영명 교수님 운영체제 (2023)
댓글남기기