반응형

목차

01. 운영체제의 개요
02. 컴퓨터의 구조와 성능 향상
03. 프로세스와 스레드
04. CPU 스케줄링
05. 프로세스 동기화
06. 교착 상태
07. 물리 메모리 관리
08. 가상 메모리의 기초
09. 가상 메모리 관리
10. 입출력 시스템과 저장장치
11. 파일 시스템
12. 네트워크와 분산 시스템


프로세스의 개요

 

프로그램 vs 프로세스

프로그램은 저장장치에 저장되어있는 정적인 상태,
프로세스는 실행을 위해 메모리에 올라온 동적인 상태(폰노이만)

프로그램에서 프로세스로의 전환

프로그램을 프로세스로 전환하기 위해서 운영체제는 메모리의 적당한 위치로 가져온다.
그와 동시에 작업 지시서를 만드는데, 이를 프로세스 제어 블록(PCB)라고 한다.

프로그램이 프로스세가 되었다는 것은, 운영체제로부터 PCB를 받았다는 의미이다.
PCB에는 다양한 정보가 있다.
1. 프로세스 구분자가 있다. 프로세스를 구분하는 구분자는 PID이다.
2. 메모리 관련 정보가 있다. 프로세스의 메모리 위치정보가 담겨있따.
3. 각종 중간값이 있다. 시분할 시스템에서 여러 프로세스가 번갈아 가며 실행되기 떄문에 각 프로세스가 현재 진행도를 저장하는 것이다.
ex) A프로세스가 103번 행까지 작업한 후 CPU가 다른 프로세스를 진행하다가 다시 A프로세스 차례가 되었을 때 필요한 것이 중간값이다.

프로세스와 프로그램의 관계

프로세스 = 프로그램 + 프로세스 제어 블록(PCB)
프로그램 = 프로세스 - 프로세스 제어블록(PCB)

 

프로세스 상태

프로세스 활성상태

프로세스 상태는 생성, 준비, 실행, 완료 가 있다.
생성 - PCB가 생성되는 과정
준비 - 프로세스가 CPU를 얻을 때 까지 기다리는 상태
실행 - 준비 상태에 있는 프로세스 중 하나가 CPU를 얻어 실제 작업을 실행하는 상태이다.
완료 - 작업이 완료되어 PCB가 제거된 상태이다.

준비상태에 있는 프로세스 중 다음 실행할 프로세스를 선정하는 일은 CPU 스케쥴러가 담당한다.
준비 상태에 프로세스 중 하나를 실행상태로 바꾸는 CPU 스케줄러의 작업을 디스패치라고 한다.
프로세스는 CPU를 얻었는데 하나의 타임 슬라이스 동안 작업을 끝내지 못해 다시 준비상태로 돌아가는 것을 타임아웃 이라고 한다.

작업의 효율성을 높이기 위해서 대기 상태가 만들어졌다.
대기 상태는 입출력을 요청한 프로세스를 실행 상태에 두지 않고 대기 상태로 옮기는 것이다.

휴식 상태와 보류 상태

휴식 상태는 작업을 일시적으로 쉬는 상태이다.
종료된 것처럼 보이지만 잠시 실행을 멈춘 것 뿐이다.

보류 상태는 프로세스가 메모리에서 잠시 쫒겨난 상태이다.
메모리가 꽉 차거나 악의적인 프로세스라고 판단될 때 오류 있을 때 등 이런  경우에 보류 상태가 된다.
보류 상태에는 보류 준비 상태와 보류 대기 상태가 있다.

보류 상태에 들어간 프로세스는 스왑 영역에 보관된다.

 

반응형

'Operating System' 카테고리의 다른 글

프로세스의 연산  (0) 2022.04.05
프로세스 제어 블록과 문맥 교환  (0) 2022.04.04
무어의 법칙과 암달의 법칙 (@황의 법칙)  (0) 2022.04.01
병렬 처리  (0) 2022.03.31
컴퓨터 성능 향상 기술  (0) 2022.03.30