Operating System : 운영체제

본 토픽은 현재 준비중입니다. 공동공부에 참여하시면 완성 되었을 때 알려드립니다.

(ii) Multiprogramming vs Multiprocessing

@ 추가적으로 이 개념을 먼저 더 보고 넘어가도록 하겠습니다

 

@ Multiprogramming 혹시 기억하시나요?

    // 여러개의 Active한 Process(job)가 동시에 수행되는 것을 의미합니다.

        > 이는 Memory의 관점입니다.

            .. 그래서 Main Memory에 여러개의 active한 job이 로드가 되어있는 것을 의미합니다.

    // 반대는 Unitprogramming입니다.

 

@ Multiprocessing은 그럼 뭘까요?

    // 이도, 여러개의 Process가 수행되는 것을 의미합니다.

        > 다만, 이것은 CPU의 관점입니다.

            .. CPU가 여러개의 Process에 의해서 Multiplexing된다는 의미입니다.

            .. CPU는 프로세싱을 이것 저것 수행했다가 Keep했다가 또 수행하다가 하니까요.

 

@ 이 두 개념을 구분해서 생각할 수 있어야 합니다.

    // 사실 요새는 Multiprocessing을 한다는 것은 Multiprogramming을 한다는 의미와 같게 쓰이지만,

        > 과거에는 Main Memory가 작았기 때문에, 

            .. Multiprocessing을 하면서 Unitprogramming을 하는 경우가 많았습니다.

 

@ 그렇기 때문에 과거에는 Main Memory에 현재 수행되는 Process의 이미지만 올라와 있었으며,

    // 어떤 Process가 Scheduling이 되어

        > CPU를 사용하지 않는 프로세스의 데이터를 메모리에서 다른 저장 장치로 내보내고

        > CPU를 사용할 프로세스의 데이터를 메모리로 로드하는 것

            .. 이를 Swapping이라고 합니다.

댓글

댓글 본문
버전 관리
박천명
현재 버전
선택 버전
graphittie 자세히 보기