Skip to Content
Suffering builds character
아카이브13.프로세스,스레드특징프로세스와 스레드5. 2개 이상의 프로그램을 동시에 실행할 때 고려할 점

5. 2개 이상의 프로그램을 동시에 실행할 때 고려할 점

그렇다면 이러한 시분할 방식을 활용하여 멀티 태스킹을 수행한다고 할 때, 고려해야할 점은?

→ 실행 중인 각 프로그램들을 일시 중단하고 빠르게 다시 시작하도록 하기 위해서는 무엇을 고려해야 할까?

CPU 스케줄러가 각 프로그램들을 관리하는 상황 예시

유튜브 뮤직 0.1초 실행 엑셀 0.1초 실행 유튜브 뮤직 0.1초 실행 ...

유튜브 뮤직을 통해 흘러나오는 음악이 연속적으로 들리기 위해서는 다음과 같이 동작해야 함

Step1

유튜브 뮤직을 통해 듣던 음악이 ~1:27 까지 들리다가, 엑셀을 실행하기 위해 잠시 멈춤

Step2

엑셀에서 사용자의 타이핑(INPUT)을 처리하기 위해 중단된 엑셀 프로그램을 빠르게 다시 시작

Step3

다시 유튜브 뮤직으로 복귀해서 1:28부터 이어서 음악 멜로디를 출력

엑셀에서 사용자가 어디까지 입력하였는지, 어떤 셀을 입력 중이었는지,
유튜브 뮤직에서는 사용자가 어느 구간까지 음악을 듣고 있었는지와 같은 각 프로그램별 상황, 상태 등에 대한 정보(Context)를 어딘가에 저장해두어야 함

→ 운영체제는 현재 실행 중이던 각 프로그램들의 상황, 상태 정보가 필요

따라서 실행 중인 모든 프로그램은 현재 프로그램 실행에 필요한 일련의 정보들이 기록된 객체 형태의 정보(Context)를 가지고 있음

Context 의사 코드

{ "프로세스 ID": "1", "마지막 실행 라인": "22번 라인", ... }
Last updated on