운영 체제-프로세스

방법

프로세스는 기본적으로 실행중인 프로그램입니다. 프로세스 실행은 순차적으로 진행되어야합니다.

프로세스는 시스템에서 구현할 기본 작업 단위를 나타내는 엔티티로 정의됩니다.

간단히 말해서 컴퓨터 프로그램을 텍스트 파일로 작성하고이 프로그램을 실행하면 프로그램에서 언급 한 모든 작업을 수행하는 프로세스가됩니다.

프로그램이 메모리에로드되고 프로세스가되면 스택, 힙, 텍스트 및 데이터의 4 개 섹션으로 나눌 수 있습니다. 다음 이미지는 메인 메모리 내부 프로세스의 단순화 된 레이아웃을 보여줍니다.

SN 구성 요소 및 설명
1

Stack

프로세스 스택에는 메서드 / 함수 매개 변수, 반환 주소 및 로컬 변수와 같은 임시 데이터가 포함됩니다.

2

Heap

이것은 런타임 동안 프로세스에 동적으로 할당 된 메모리입니다.

Text

여기에는 Program Counter 값으로 표시되는 현재 활동과 프로세서 레지스터의 내용이 포함됩니다.

4

Data

이 섹션에는 전역 및 정적 변수가 포함되어 있습니다.

프로그램

프로그램은 한 줄 또는 수백만 줄이 될 수있는 코드 조각입니다. 컴퓨터 프로그램은 일반적으로 컴퓨터 프로그래머가 프로그래밍 언어로 작성합니다. 예를 들어, 다음은 C 프로그래밍 언어로 작성된 간단한 프로그램입니다.

#include <stdio.h>

int main() {
   printf("Hello, World! \n");
   return 0;
}

컴퓨터 프로그램은 컴퓨터에서 실행할 때 특정 작업을 수행하는 명령 모음입니다. 프로그램을 프로세스와 비교할 때 프로세스가 컴퓨터 프로그램의 동적 인스턴스라는 결론을 내릴 수 있습니다.

잘 정의 된 작업을 수행하는 컴퓨터 프로그램의 일부를 algorithm. 컴퓨터 프로그램, 라이브러리 및 관련 데이터의 모음을software.

프로세스 라이프 사이클

프로세스가 실행되면 다른 상태를 통과합니다. 이러한 단계는 운영 체제마다 다를 수 있으며 이러한 상태의 이름도 표준화되지 않았습니다.

일반적으로 프로세스는 한 번에 다음 5 개 상태 중 하나를 가질 수 있습니다.

SN 상태 및 설명
1

Start

프로세스가 처음 시작 / 생성 될 때의 초기 상태입니다.

2

Ready

프로세스가 프로세서에 할당되기를 기다리고 있습니다. 준비된 프로세스는 실행될 수 있도록 운영 체제에서 프로세서를 할당하기를 기다리고 있습니다. 프로세스가이 상태가 될 수 있습니다.Start 다른 프로세스에 CPU를 할당하기 위해 스케줄러에 의해 중단되었지만 실행 중입니다.

Running

OS 스케줄러에 의해 프로세스가 프로세서에 할당되면 프로세스 상태가 실행 중으로 설정되고 프로세서가 명령을 실행합니다.

4

Waiting

사용자 입력을 기다리거나 파일을 사용할 수있을 때까지 기다리는 것과 같이 리소스를 기다려야하는 경우 프로세스가 대기 상태로 전환됩니다.

5

Terminated or Exit

프로세스가 실행을 완료하거나 운영 체제에 의해 종료되면 종료 상태로 이동하여 주 메모리에서 제거되기를 기다립니다.

공정 제어 블록 (PCB)

프로세스 제어 블록은 모든 프로세스에 대해 운영 체제에서 유지 관리하는 데이터 구조입니다. PCB는 정수 프로세스 ID (PID)로 식별됩니다. PCB는 아래 표에 나열된 프로세스를 추적하는 데 필요한 모든 정보를 유지합니다.

SN 정보 및 설명
1

Process State

프로세스의 현재 상태, 즉 준비, 실행 중, 대기 중인지 여부.

2

Process privileges

시스템 리소스에 대한 액세스를 허용 / 금지하는 데 필요합니다.

Process ID

운영 체제의 각 프로세스에 대한 고유 식별.

4

Pointer

부모 프로세스에 대한 포인터.

5

Program Counter

프로그램 카운터는이 프로세스를 위해 실행될 다음 명령어의 주소에 대한 포인터입니다.

6

CPU registers

실행 상태에 대한 실행을 위해 프로세스를 저장해야하는 다양한 CPU 레지스터.

7

CPU Scheduling Information

프로세스를 예약하는 데 필요한 프로세스 우선 순위 및 기타 예약 정보.

8

Memory management information

여기에는 운영 체제에서 사용하는 메모리에 따른 페이지 테이블, 메모리 제한, 세그먼트 테이블 정보가 포함됩니다.

9

Accounting information

여기에는 프로세스 실행에 사용 된 CPU 양, 시간 제한, 실행 ID 등이 포함됩니다.

10

IO status information

여기에는 프로세스에 할당 된 I / O 장치 목록이 포함됩니다.

PCB의 아키텍처는 운영 체제에 완전히 의존하며 운영 체제마다 다른 정보를 포함 할 수 있습니다. 다음은 PCB의 단순화 된 다이어그램입니다.

PCB는 전체 수명 동안 프로세스에 대해 유지되며 프로세스가 종료되면 삭제됩니다.