IT

프로세스(process)란?

miro999 2022. 1. 30. 23:46
반응형
  • 프로세스(process)


프로세스는 사전적 의미로 과정, 절차라는 뜻이다.
컴퓨터 용어에서의 프로세스는 메모리 상에서 실행되는 작업 단위이다.
프로그램은 일반적으로 하드디스크 등에 저장되어있는 실행코드, 리소스 등이 집합되어있는 파일을 뜻하고,
프로세스는 프로그램을 구동하여 프로그램 그 자체와 상태가 메모리 상에서 실행되는 작업 단위를 지칭한다.
조금 더 쉽게 생각해보자면 로세스는 특정 목적을 수행하기 위해 나열된 작업의 목록이라고 생각하면 편하다.
하나의 프로그램을 여러 번 구동하면 여러 개의 프로세스가 메모리 상에서 실행된다.


  • 프로세스의 상태 전이


프로세스가 생성되어 소멸되기까지의 과정이다.


생성 (Created)

준비 (Ready) ← 대기 (Block), (Wait)

실행 (Run)

종료 (Terminated)


▷ 준비 -> 실행 (DisPatch) : 우선순위가 높은 프로세스를 선정하여 명령어를 실행한다.

▷ 실행 -> 준비 (Timer Runout) : 클럭이 인터럽트를 발생시켜 제어권을 빼앗는다. ( Preemption, 독점방지)

▷ 실행 -> 대기 (Block), (Wait) : 프로세스가 입출력, 자원 등을 기다리기 위해 대기상태로 전환한다.

▷ 대기 -> 준비 (Wake Up) : 입출력이 완료되거나 자원이 할당되어 다시 실행한다.


※ 지연상태는 표를 그리기 어려워 생략.


▶ 생성 (Created) : 프로세스가 생성되는 중이다.

▶ 실행 (Running) : 프로세스가 CPU를 차지하여 명령어들이 실행되고 있다.

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

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

반응형

'IT' 카테고리의 다른 글

NFT (Non-Fungible Token)란? NFT의 장점과 단점  (0) 2022.03.24
블록체인(Block Chain)이란?  (0) 2022.03.23
메타버스 (Metaverse)란 ?  (0) 2022.03.13
C++ 언어의 특징  (0) 2022.02.04
인터페이스(Interface) 란?  (0) 2022.01.30