[OS] 단일/다중 프로그래밍과 시분할

박시은·2023년 10월 4일
0

OS

목록 보기
13/27
post-thumbnail
post-custom-banner

▶ 단일/다중 처리기 vs 단일/다중 프로그래밍

이전에 포스팅한 단일/다중 처리기 시스템과 단일/다중 프로그래밍은 다른 개념이다!

  • 단일/다중 처리기 시스템은 CPU, 코어 개수에 따른 컴퓨터 시스템의 구성을 나타내는 것이라면,
  • 단일/다중 프로그래밍은 프로세스가 CPU를 효과적으로 활용하기 위해 OS의 프로세스 스케줄링과 자원 관리 전략을 나타낸다.

➡️ 다중 프로그래밍은 다중 처리기 시스템에서 활용될 수 있다




▶ 단일 프로그래밍 (Single Programming)

개념

한번에 하나의 프로그램만 사용 가능하다.




▶ 다중 프로그래밍 (Multiprogramming)

개념

  • CPU가 항상 하나 이상의 작업을 실행하게 구성하는 것을 말한다.

동작 방식

  • OS는 시스템에 있는 모든 프로세스(실행 중인 프로그램)를 메모리에 올려놓는다.
  • 작업 스케줄러가 한 개의 작업을 선택하여 CPU에 할당한다.
    - 해당 프로세스가 대기하는 경우(ex. 입출력), 운영체제는 다른 프로세스로 전환하여 CPU에 할당한다.



▶ 시분할(=multitasking, =multitasking)

개념

  • 다중 프로그래밍의 논리적 확장이다.
  • 프로그램들을 동시에 사용할 수 있게 하는 기술을 말한다.
  • CPU는 마치 여러개의 프로그램을 동시에 돌리는 것처럼 보이게 하기 위해 빠른 속도로 여러 프로세스를 전환한다.
  • 여러 프로세스가 동시에 실행할 준비가 되면 시스템은 다음에 실행할 프로세스를 CPU 스케줄링을 통해 선택해야한다.



📎참조

  • 성결대학교 강영명 교수님 운영체제 (2023)
profile
블로그 이전했습니다!
post-custom-banner

0개의 댓글