프로세스 스케줄링(멀티 프로그래밍)

패스트캠퍼스 올인원 패키지 - 컴퓨터 공학을 보고 정리하는 용도의 포스팅입니다.


단번에 이해하긴 어렵기 때문에 다양한 측면에서 접근하여 이해도를 높이자


멀티 프로그래밍

최대한 CPU를 많이 활용하도록 하는 시스템

  • 시간 대비 CPU 활용도를 높이자
  • 응용 프로그램을 짧은 시간 안에 실행 완료를 시킬 수 있음

온전히 CPU를 쓰기보다, 다른 작업을 중간에 필요로 하는 경우가 만핟.

  • 응용 프로그램이 실행되다가 파일을 읽는다던지
  • 응용 프로그램이 실행되다가 프린팅을 한다던지 등..

정리

멀티 프로그래밍의 핵심

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

프로세스 스케쥴링의 전반적인 사항

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

Reference

패스트캠퍼스 - 올인원 패키지: 컴퓨터 공학 14강

Comments