본문 바로가기

프로그램을 실행하면 무엇이 달라질까 | 정보처리의 흐름 FLOW 05 | K-BOOKS

FLOW 05 · INFORMATION PROCESSING
DIRECTION 05 · 정보를 보호하는 방향 · 운영체제 · 프로세스 · 네트워크

프로그램을 실행하면 무엇이 달라질까

운영체제 · 프로세스 · 네트워크

QUESTION · 질문에서 시작합니다

저장장치에 있던 프로그램 파일을 실행했다. 이제 그 프로그램은 실제로 CPU와 메모리를 사용하기 시작한다.

“저장된 프로그램과 실행 중인 프로그램은 무엇이 다를까?”

저장된 프로그램은 아직 움직이지 않는다. 실행되는 순간 운영체제가 필요한 자원을 준비하고, 프로그램은 실행 가능한 하나의 작업 단위가 된다.

기술 이름 실행 중인 프로그램을 프로세스(Process)라고 한다.

운영체제는 여러 프로그램을 동시에 관리한다

브라우저를 열고, 음악을 듣고, 문서를 편집하면서 예약 프로그램도 실행할 수 있다.

CPU는 한정되어 있는데 여러 프로그램이 동시에 움직이는 것처럼 보인다.

운영체제(OS) 하드웨어 자원을 관리하고 사용자와 프로그램이 컴퓨터를 사용할 수 있도록 기본 환경을 제공하는 시스템 소프트웨어다.

프로세스는 상태를 바꾸며 움직인다

모든 프로세스가 항상 CPU를 사용하는 것은 아니다.

생성 → 준비 → 실행 → 대기 → 다시 준비 → 종료

CPU를 기다릴 수도 있고, 파일 읽기나 네트워크 응답을 기다릴 수도 있다.

ILLUST A | ILL-11 | 프로세스 상태 전이 다이어그램 | 상태 전이 필수

상태 전이는 운영체제가 CPU와 입출력 자원을 효율적으로 나누기 위해 필요한 개념이다. 실행 중인 프로세스가 입출력을 기다리게 되면 CPU를 계속 잡고 있을 이유가 없으므로 대기 상태로 보내고 다른 프로세스를 실행할 수 있다.

프로세스마다 자신만의 정보가 있다

운영체제는 수많은 프로세스를 구별해야 한다.

어떤 프로세스가 실행 중인지, 다음 명령은 어디인지, 어떤 메모리를 사용하는지, 현재 상태는 무엇인지 기록해야 한다.

PCB(Process Control Block) 운영체제가 프로세스를 관리하기 위해 상태, 식별자, 레지스터, 스케줄링 정보 등을 저장하는 관리 정보다.

PCB가 필요한 이유는 프로세스가 CPU를 빼앗겼다가 다시 실행될 수 있기 때문이다. 어디까지 실행했는지, 어떤 레지스터 값을 갖고 있었는지 저장해 두어야 나중에 같은 지점에서 작업을 이어갈 수 있다.

PCB를 보면 프로세스 자체보다 운영체제가 무엇을 기억해야 하는지가 보인다. 실행 위치와 상태, 레지스터 값, 스케줄링 정보가 남아 있어야 CPU를 잠시 빼앗겼다가도 나중에 같은 실행을 이어갈 수 있다.

PCB에 저장되는 정보는 결국 ‘이 프로세스를 다시 이어서 실행하려면 무엇이 필요한가’에 대한 답이다. 프로세스의 상태를 복원할 수 있어야 운영체제가 여러 프로세스 사이에서 CPU를 번갈아 배분하면서도 각 작업의 연속성을 유지할 수 있다.

다음 비밀 프로세스가 여러 개라면 누가 먼저 CPU를 사용할지 정해야 한다.
더 찾아보고 싶다면846면 학습 아카이브에서 검색하세요.
K-BOOKS Q&A이 내용이 헷갈리나요?

공부하던 페이지를 자동으로 연결해 질문할 수 있습니다.

RELATED STUDY MATERIALS

이 개념과 이어서 볼 정보처리 자료

학습자료실 65개 →

CONTINUE · INFORMATION PROCESSING ENGINEER 2027운영체제에서 시험 학습으로 이어가기
이야기형 개념 설명은 그대로 두고, 필요한 시험 요약·문제·실습으로 연결합니다.