프로세스

Aiden·2022년 4월 13일
0
post-custom-banner

======================

1. 프로세스의 개념

1.1. 프로세스란?

[Process]
파일로 작성 된 프로그램은 로더(Loader)에 희해 주기억 장치에 상주되어 CPU에 의해서 처리된다. 이때 주기억 장치에 상주된 프로그램이 CPU에 의해서 처리되는 상태를 프로세스라고 한다.

1. CPU에 의해서 현재 실행되고 있는 프로그램
2. PCB(Process Control Block, 프로세스 제어 블록)의 존재로서 명시되는 것
3. 프로세서가 할당되는 개체로서 디스패치(Dispatch)가 가능한 단위
4. 비동기적 행위를 일으키는 주체
5. CPU가 할당되는 실체
6. 운영체제가 관리하는 최고 단위의 작업(프로그램)
7. task란 용어와 함께 사용되며, 다양한 정의를 가짐
8. 프로그램과 달리 메모리에 주소 공간을 갖는 능동적인 객체

1.2. 프로세스의 상태

1.2.1. 프로세스의 3가지 상태

하나의 프로세스는 다음과 같이 3가지 주요 상태로 존재하게 된다. 실행(CPU사용)을 위해 준비(Ready)하고 있는 상태에 있다가 실행(Run)되며, 실행중에 있다가도 필요에 따라서
대기(Block) 하고있는 상태로 있게 된다.

  • 준비(Ready)상태

    • 프로세스가 처리기(CPU)를 사용하고 있지는 않지만 언제든 사용할 수 있는 상태
    • 프로세스가 처리기(CPU)의 배정을 기다리고 있는 상태
    • 다른 프로세스 실행을 위해서 일시적으로 정지해 있는 상태
    • CPU에 의해 처리되기 위해 주기억 장치에 존재하는 상태
  • 실행(Run)상태

    • 프로세스가 CPU를 차지하고 있는 상태
    • 프로세스의 명령이 실행되고 있는 상태
  • 대기(Block, Wait, 보류) 상태

    • 프로세스가 어떤 사건이 일어나기를 기다리고 있는 상태
    • 처리속도가 느린 I/O(입출력) 작업 중인 상태
    • 외부적인 사건이 생길 때까지 실행 할 수 없는 상태

1.3. 프로세스 생성과정

1. PCB(Printed Circuit Board)가 생성되면 OS가 실행한 프로그램의 코드를 읽어들여 프로세스에 할당된 메모리의 Text segment에 저장한다
2. 초기화된 전역 변수 및 static 변수를 data segment에 할당
3. HEAP과 Stack은 초기 메모리 주소만 초기화됨
4. PCB에 여러 정보가 기록되면 Ready Queue에서 CPU를 할당받기까지 대기한다.

post-custom-banner

0개의 댓글