반응형

일반적으로 프로세스는 실행 중인 프로그램으로 정의한다. 

운영체제는 CPU를 가상화하여 이러한 환상을 만들어 낸다. 

운영체제는 실행 중인 프로그램의 개념을 지공하는데, 이를 프로세스(proccess)라 한다.

프로세스의 하드웨어 상태 중 가장 중요한 구성 요소는 메모리이다. 명령어는 메모리에 저장된다. 실행 프로그램이 읽고 쓰는 데이터 역시 메모리에 저장된다. 

 

프로그램 실행을 위하여 운영체제가 하는 첫 번째 작업은 프로그램 코드와 정적 데이터를 메모리, 프로세스의 주소 공간에 탑재(load)하는 것이다. 

운영체제는 프로그램의 힙(heap)을 위한 메모리 영역을 할당한다. C 프로그램에서 힙은 동적으로 할당된 데이터를 저장하기 위해 사용된다. 프로그램은 malloc()을 호출하여 필요한 공간을 요청하고 free()를 호출하여 사용했던 공간을 반환하여 다른 프로그램이 사용할 수 있도록 한다. 

 

프로세스 상태 

• 실행 (Running): 실행 상태에서 프로세스는 프로세서에서 실행 중이다. 즉, 프로세 스는 명령어를 실행하고 있다.

• 준비 (Ready): 준비 상태에서 프로세스는 실행할 준비가 되어 있지만 운영체제가 다른 프로세스를 실행하고 있는 등의 이유로 대기 중이다.

• 대기 (Blocked): 프로세스가 다른 사건을 기다리는 동안 프로세스의 수행을 중단시 키는 연산이다. 흔한 예 : 프로세스가 디스크에 대한 입출력 요청을 하였을 때 프로세스는 입출력이 완료될 때까지 대기 상태가 되고, 다른 프로세스가 실행 상태로 될 수 있다.

'IT > 운영체제' 카테고리의 다른 글

CPU 스케줄링 FIFO, SJF, STCF, RR  (0) 2024.11.19
운영체제 개요  (0) 2024.11.17
[Linux] PV, VG, LV 명령어  (0) 2024.08.09
파일 시스템(File System)  (0) 2024.08.09
리눅스 Destination Host Unreachable 원인과 해결방법  (0) 2024.08.08

+ Recent posts