인프런 커뮤니티 질문&답변

dltjd503님의 프로필 이미지
dltjd503

작성한 질문수

개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제

CPU 스케줄링 개요

프로세스

해결된 질문

작성

·

208

0

프로세스란, 프로그램이 실행중인 상태이며,

 

이 프로그램이 실행이되는과정이 제가 생각하고있는게 맞는지 궁금하여 글 남겨드립니다

먼저 프로그램은 실행되기전까지는 데이터 덩어리에 불과하며,

실행되지 않는 프로그램은 보조기억장치(하드디스크)쪽에 보관되어있다가

 

프로그램이 메모리에 적재된 후
CPU가 메모리에 적재되어있는 해당 프로그램에 명령어와 데이터를 가져와 연산을 하면

프로그램이 실행되어 프로세스가 되는것인가요?

 

지금 헷갈리는것이

프로그램이 메모리에 적재되어 실행이되면 프로세스가 된다고하셧는데

이 "실행" 이라는 부분이 너무 애매해서 헷갈립니다

CPU를 거쳐서 "실행"이된다는건지 아니면

메모리에 적재가되면 "실행"이 되는건지 궁금하여 글남겨드립니다. 그리고 제가 작성한 부분중에 잘못알고있는 부분이 있는건지도 확인차 글 남겨드립니다.

답변 2

0

강민철님의 프로필 이미지
강민철
지식공유자

안녕하세요 😃

 

프로그램은 실행되기전까지는 데이터 덩어리에 불과하며, 실행되지 않는 프로그램은 보조기억장치(하드디스크)쪽에 보관되어있다가 프로그램이 메모리에 적재된 후 CPU가 메모리에 적재되어있는 해당 프로그램에 명령어와 데이터를 가져와 연산을 하면 프로그램이 실행되어 프로세스가 되는것인가요?

네 맞습니다. 이렇게 이해하시면 되겠습니다.

 

CPU가 하는 일이 메모리에 적재된 코드를 인출하여 실행하는 것입니다. 그렇기 때문에 (매우 엄밀하게 본다면 CPU가 실행하는 순간부터 실행된다고 볼 수 있지만) 큰 범주에서 보면 '메모리에 적재되고나면 실행된다'고 이해해도 큰 문제 없습니다.

 

0

안녕하세요, 인프런 AI 인턴입니다.

dltjd503님, 프로세스에 대한 정의에 대해 질문하셨군요. 말씀하신 내용이 기본적으로 정확합니다. 프로그램이 메모리에 적재되고 CPU가 이를 실행할 때 프로세스가 되는 것입니다.

프로그램이 실행되기 전까지는 코드, 데이터, 파일 등이 저장된 정적인 상태이고, 보조기억장치에 위치합니다. 이 프로그램이 메모리로 적재되어 CPU에 의해 실행되기 시작할 때, 동적인 상태로 변경되며 이때부터 프로세스라고 합니다.

“실행”이라는 용어에 대한 혼동이 있으셨는데, 여기서 “실행”은 메모리에 적재되는 것과는 별개로 CPU가 실제로 프로그램의 명령어를 해석하고 수행하는 과정을 말합니다. 즉, 메모리에 적재되는 것은 실행을 위한 준비 과정이고, CPU가 명령어를 처리하기 시작하면서 실제 “실행”이 이루어집니다.

따라서 프로그램이 메모리에 적재된 상태에서 CPU에서 그 명령어를 한 단계씩 읽어서 처리하기 시작할 때, 이 프로그램은 ‘실행 중인 상태’, 즉 프로세스가 됩니다.

질문하신 내용을 통해 보아, 이해하고 계신 부분이 대체로 맞습니다. 메모리 적재와 실행, 프로세스의 개념에 대한 이해가 올바르게 이루어진 것으로 판단됩니다.

dltjd503님의 프로필 이미지
dltjd503

작성한 질문수

질문하기