본문 바로가기
개발일지

프로세스란 무엇일까? 프로그램이란?

by 코드의신 2023. 1. 10.
반응형

1.프로세스란?

프로세스는 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램을 말한다. 종종 스케줄링인 작업이라는 용어와 비슷하게 쓰인다.

 

추가적으로 알아야 할 내용인 멀티 프로세싱과 멀티태스킹도 존재한다.

멀티 프로세싱은 여러 개의 프로세서를 사용하는 것을 의미하며 멀티태스킹은 여러 개의 프로그램을 띄우는 시분할 방식을 의미한다. 

 

2. 프로그램과 프로세스의 차이점은 무엇일까?

먼저 프로그램은 보통 하드 디스크 등에 저장되어 있는 실행코드를 의미하며, 프로세스는 프로그램을 구동하여 프로그램 자체와 프로그램의 상태가 메모리 상에서 실행되는 작업 단위를 의미한다.

 

 

3. 프로세스의 상태란?

프로세스의 상태를 관리하는 것은 커널이며 커널에는 준비 큐, 대기 큐, 실행 큐 등의 자료 구조가 존재한다.

 

4. 프로세스의 메모리 구조란?

프로세스 메모리 구조
프로세스 메모리 구조

프로세스 하나당 하나씩 존재하며, 영역이 각각 나뉘어진다.

●Code 영역은 프로그램을 실행시키는 실행 파일 내의 명령어가 올라오게 됩니다. (즉 소스 코드가 올라옴)

● Data 영역은 전역변수와 static 변수의 할당.

●Heap 영역은 동적할당을 위한 메모리 영역이다.

●Stack영역은 함수 호출 시 전달되는 인자를 위한 메모리 영역, 지역변수 영역입니다.

 

반응형

댓글