process(프로세스)

ai_lim·2022년 2월 23일
0
post-thumbnail

프로그램과 프로세스 차이가 무엇인가?

프로그램은 명령어와 정적 데이터의 묶음이다. 프로그램의 명령어와 정적 데이터가 메모리에 적재되면 프로세스가 되는 것이다. 하나의 프로그램을 한번 구동하면 하나의 프로세스가 메모리상에서 실행되고 여러번 구동하면 여러개의 프로세스가 실행된다.

하나의 CPU는 하나의 프로세스를 실행할 수 있는데 여러개의 프로세스를 어떻게 실행하는걸까?

운영체제가 엄청 빠르게 CPU가 실행할 프로세스를 교체하고있기때문에 우리 눈에는 동시에 여러개의 프로세스가 실행된다고 느끼는 것이다.

프로세스의 상태

커널이 프로세스의 상태를 관리한다.

  • creat : 프로세스가 생성되는 중이다.
  • running : 프로세스가 CPU를 차지하여 명령어들이 실행되고 있다.
  • ready : 프로세스가 CPU를 사용하진않지만 언제든지 사용할 수 있는 상태이다. 우선순위가 높은 순서로 CPU를 할당받는다.
  • waiting(block): 프로세스가 입출력 완료, 시그널 수신 등 어떤 사건을 기다리는 상태를 말한다.
  • terminated : 프로세스의 실행이 종료되었다.

0개의 댓글