투케이2K

36. (운영체제/OperatingSystem) 프로세스 (process) 개념 설명 본문

SE & OS & HW

36. (운영체제/OperatingSystem) 프로세스 (process) 개념 설명

투케이2K 2022. 12. 1. 12:12

[학습 구분]

과목 : 운영체제

 

[설 명]

1. 프로세스 란 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램 입니다 (실행중에 있는 프로그램(Program))

- 프로그램 : 어떤 문제를 해결하도록 컴퓨터에 주어지는 자료 처리 방법과 순서를 기술한 일련의 명령문의 집합체 (일반적으로 하드 디스크 등에 저장되어 있는 실행코드)

2. 프로세스 는 프로그램을 구동하여 프로그램 자체와 프로그램의 상태가 메모리 상에서 실행되는 작업 단위입니다

- 스케줄링의 대상이 되는 작업 (task) 과 같은 의미로 사용 됨

- 스케줄링 이란 CPU 할당 순서 및 방법을 결정 하는 것

3. 프로세스 는 사용자가 작성한 프로그램이 운영체제에 의해 메모리 공간을 할당받아 실행됩니다

4. 프로세스 는 프로그램에 사용되는 데이터와 메모리 등의 자원 그리고 스레드로 구성됩니다

- 프로세스 내부에는 최소 하나의 스레드 (thread) 를 가지고 있는데, 스레드 (thread) 단위로 스케줄링을 수행

5. 프로세스 메모리 구조 :

- Code 영역 : 프로그램을 실행시키는 실행 파일 내의 명령어들이 올라갑니다 (소스 코드)

- Data 영역 : 전역 변수, static 변수의 할당

- Heap 영역 : 동적 할당을 위한 메모리 영역 (C언어 : malloc & free / JAVA : new)

- Stack 영역 : 지역 변수, 함수 호출시 전달 되는 파라미터를 위한 메모리 영역

6. 프로세스 상태 :

- 생성(create) : 프로세스가 생성되는 중 입니다

- 실행(running) : 프로세스가 CPU를 차지하여 명령어들이 실행되고 있습니다

- 준비(ready) : 프로세스가 CPU를 사용하고 있지는 않지만 언제든지 사용할 수 있는 상태로, CPU가 할당되기를 기다리고 있습니다. 일반적으로 준비 상태의 프로세스 중 우선순위가 높은 프로세스가 CPU를 할당받습니다

- 대기(waiting) : 보류(block)라고 부르기도 합니다. 프로세스가 입출력 완료, 시그널 수신 등 어떤 사건을 기다리고 있는 상태를 말합니다

- 종료(terminated) : 프로세스의 실행이 종료된 것입니다

 
 
반응형
Comments