취업 준비/운영체제

프로세스 스케쥴링 기초

openingsound 2020. 12. 24. 04:11

배치처리 시스템

  • 작동하던 프로그램이 끝나면 자동으로 다음 응용 프로그램이 이어서 실행될 수 있도록 하는 시스템
  • Queue와 비슷함(FIFO)

배치 처리 시스템과 시분할 시스템/ 멀티 프로그래밍

  • 여러 프로그램을 순차적으로 실행시킬 수 있도록 해달라(배치)

    • 어떤 프로그램은 실행이 너무 많이 걸려서, 다른 프로그램이 실행하는데 시간을 많이 기다려야 한다.
    • MP3 음악(응용프로그램1)을 들으면서, 문서 작성(응용프로그램2)을 하고 싶어요
      • 동시성
      • 불가능
    • 여러 사용자가 동시에 하나의 컴퓨터를 쓰려면?
      • 다중 사용자 지원
      • 불가능
  • 시분할 시스템/ 멀티 프로그래밍

    • 시분할 시스템

      • 다중 사용자 지원을 위해 컴퓨터 응답 시간을 최소화 하는 시스템
    • 멀티 태스킹

      • 단일 CPU에서 , 여러 응용 프로그램이 동시에 실행되는 것 처럼 보이도록 하는 시스템

      • 사람이 보기에는 여러 프로그램이 동시에 실행되는것 처럼 보이게 된다.

        • 사람이 못느끼는 속도로 변환
      • 실제 멀티 태스킹

        • 10 ~ 20 ms 단위로도 실행 응용 프로그램이 바뀐다.

멀티 태스킹과 멀티 프로세싱

  • 멀티 태스킹

    • 단일 CPU
  • 멀티 프로세싱

    • 여러 CPU에 하나의 프로그램을 병렬로 실행해서 실행속도를 극대화 시키는 시스템

멀티 프로그래밍

  • 최대한 CPU를 많이 활용하는 시스템
    • 시간 대비 CPU 활용도를 높이자
    • 응용 프로그램을 짧은 시간 안에 실행 완료를 시킬 수 있음
  • 응용 프로그램은 온전히 CPU를 쓰기보다, 다른 작업을 중간에 필요로 하는 경우가 많다.
    • 응용 프로그램이 파일을 읽을 경우
      • 저장매체에서 파일을 읽는 행동은 매우 느린 행동이여서 읽고 응답이 오기 전 까지 CPU가 놀게 됨 (몇 만배 이상의 cycle차이)
    • 프린팅을 할경우 다 될때까지 많은 시간이 걸림 그동안 CPU가 놀게됨
    • CPU 활용도가 너무 낮음

정리

  • 시분할 시스템 : 다중 사용자 지원, 컴퓨터 응답 시간을 최소화 하는 시스템

  • 멀티 태스킹 : 단일 CPU에서 여러 응용프로그램을 동시에 실행하는 것 처럼 보이게하는 시스템

  • 멀티 프로세싱 : 여러 CPU에서 하나의 응용 프로그램을 병렬로 실행하게 해서, 실행속도를 높이는 기법

  • 멀티 프로그래밍 : 최대한 CPU를 일정 시간당 많이 활용 하는 시스템

  • 실제로는 시분할 시스템, 멀티 프로그래밍, 멀티 태스킹이 유사한 의미로 통용된다.

    • 여러 응용프로그램 실행을 가능 토록 함
    • 응용 프로그램이 동시에 실행되는 것처럼 보임
    • CPU를 쉬지 않고 응용 프로그램을 실행시켜 짧은 시간안에 응용 프로그램이 실행완료 될 수 있도록 함
    • 컴퓨터 응답 시간도 짧게 해서, 다중 사용자 지원

 

 

'취업 준비 > 운영체제' 카테고리의 다른 글

인터럽트  (0) 2020.12.30
프로세스 상태와 스케쥴링  (0) 2020.12.30
스케쥴링 알고리즘  (2) 2020.12.30
운영체제의 구조  (0) 2020.12.23
운영체제와 응용 프로그램  (1) 2020.12.23