04. 프로세스 스케쥴링

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

  • 배치처리시스템 (batch processing System)

    • 자동으로 다음 응용프로그램이 이어서 실행 될 수 있도록 하는 시스템

    • 자료구조: queue 와 유사

    • 여러 프로그램을 순차적으로 실행시킬 수 있도록 하는 시스템

    • 단점

      • 어떤 프로그램은 실행 시간이 너무 많이 걸려서,

        다른 프로그램이 실행하는데 시간을 많이 기다려야 한다.

      • 응용프로그램1, 응용프로그램2를 동시에 실행시킬 수 없다.

        (동시에 여러 응용프로그램 실행X)

      • 여러 사용자가 동시에 하나의 컴퓨터를 쓸 수 없다.(다중 사용자 지원X)

        시분할 시스템/ 멀티프로그래밍이 나왔다.

  • 시분할 시스템 (Time Sharing System)

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

    • 응용프로그램이 CPU를 점유하는 시간을 잘게 쪼게어 실행할 수 있도록 하는 시스템

  • 멀티 태스킹 (Multi Taskiing)

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

    • 실제 멀티태스킹(테스트)

      • 10~20 ms 단위로도 실행 응용 프로그램이 바뀌더라.

      • 사용자에게는 동시에 실행되는 것 처럼 보이게 됨.

  • 멀티프로세싱

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

  • 멀티프로그래밍

    • 최대한 CPU를 (일정 시간 당) 많이 활용하도록 하는 시스템

      • 시간 대비 CPU활용도를 높이자.

      • 응용프로그램을 짧은 시간 안에 실행 완료 시킬 수 있음.

    • 응용프로그램은 온전히 CPU를 쓰기보다, 다른 작업을 중간에 필요로 하는 경우가 많다.

      • 응용프로그램이 실행되다가, 프린팅을 한다.

      • 용용프로그램이 실행되다가, 파일을 읽는다.

        • file 읽어오는 C코드 생각해보기

        • open()은 저장 매체에서 파일을 읽어 와야함.

        • CPU입장에서 저장 매체에 다녀오는 시간은 오래 걸림

        • 그 시간을 다른 응용프로그램을 실행하는 시간으로 사용하는 것!

    • 여러 프로그램이 메모리에 올라가 있음을 강조

  • 정리

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

  • 핵심

    • 여러 응용프로그램 실행을 가능토록 함.

    • 응용프로그램이 동시에 실행되는 것처럼 보이도록 함.

    • CPU를 쉬지 않고 응용프로그램을 실행토록 해서, 짧은 시간 안에 응용 프로그램이 실행 완료 될 수 있도록 함.

    • 컴퓨터 응답 시간도 짧게 해서, 다중 사용자 지원

Last updated