스케쥴링

tycode·2021년 4월 13일
0

C.S (Computer Science)

목록 보기
3/40
post-custom-banner

프로세스 스케쥴링

  • 배치 처리 시스템
  • 시분할 시스템
  • 멀티 태스킹

1. 배치 처리 시스템 (Batch Processing)

  • 컴퓨터 프로그램 실행 요청 순서에 따라 순차적으로 프로그램을 실행하는 방식
  • 자동으로 다음 응용 프로그램이 이어서 실행될 수 있도록 한다
  • Queue처럼 FIFO (First In First Out)

단점

  • 어떤 프로그램은 실행이 시간이 많이 걸려서, 다음 프로그램을 실행하기 위해 많이 기다려야 한다.

2. 시분할 시스템

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

3. 멀티 태스킹

  • 단일 CPU에서, 여러 응용 프로그램이 동시에 실행되는 것처럼 보이도록 하는 시스템
    • 예) MP3음악을 들으며, 문서 작성

실제 멀티 태스킹

  • 1000밀리초(ms) = 1초
  • 10~20ms 단위로도 실행 응용 프로그램이 바뀜
  • 사용자에게는 동시에 실행되는 것처럼 보임

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

  • 멀티 태스킹: 단일 CPU
  • 멀티 프로세싱: 여러 CPU에 하나의 프로그램을 병렬로 실행해서 실행속도를 극대화시키는 시스템

멀리 프로그래밍

  • 최대한 CPU를 많이 활용하도록 하는 시스템
    • 시간 대비 CPU 활용도를 높이자 (놀고 있는 CPU 촘촘이 사용)
    • 응용 프로그램을 짧은 시간 안에 실행 왈료를 시킬 수 있음.
  • 응용 프로그램은 온전히 CPU를 쓰기 보단, 다른 작업을 중간에 필요로 하는 경우가 많다.

메모리 계층 - 컴퓨터 구조

System Bus - 컴퓨터 구조

  • CPU가 SSD까지 가서 데이터 가져오는게 오래 걸리니까
    DMA에게 심부름 시키고 다른 응용 프로그램 돌리러 간다.

정리

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

  • 시분할 시스템: 다중 사용자 지원, 컴퓨터 응답시간을 최소화하는 시스템
  • 멀티 태스킹: 단일 CPU에서 여러 응용 프로그램을 동시에 실행하는 것처럼 보이게 하는 시스템
  • 멀티 프로세싱: 여러 CPU에서 하나의 응용 프로그램을 병렬로 실행하게 해서, 실행속도를 높이는 기법
  • 멀티 프로그래밍: 최대한 CPU를 일정 시간당 많이 활용하는 시스템
post-custom-banner

0개의 댓글