[OS] 2. Process

Nagyun·약 10시간 전

CPU Virtualization


A Process

Comprising of a process

  • Memory (Code , Data, Heap, Stack )
  • Registers (Program counter, Stack pointer)

Process API

  • Create : 프로그램을 실행하기 위해, 새로운 프로세스를 만든다.
  • Destroy : 통제불능의 프로세스를 중지한다.
  • Wait : 프로세스가 실행을 멈출 때까지 기다린다.
  • Miscellaneous Control : 프로세스를 일시 중지했다가 다시 재개하는 방법
  • Status : 프로세스에 대한 정보를 얻는다.

Load : From Program To Process


Process States

프로세스는 다음의 3가지 상태가 될 수 있다.

  • Running (process가 processor에서 실행중)
  • Ready (process가 준비됐지만, OS가 아직 실행시키지 않은 상태)
  • Blocked (process가 차단된 상태)



OS Data Structures

  • process list
  • Register context
  • PCB (Process Control Block) : process의 신분증

Context Switch

CPU가 다른 프로세스로 Switch할 때, 시스템은

  • save the state of the old process, and
  • load the saved state for the new process

Context Switch time

  • pure overhead
  • depend on Hardware

CPU switch from process to process


헷갈린 개념

💡Processor

  • Processor는 하드웨어(Hardware)적인 개념이다.

  • 정의: 컴퓨터 내에서 프로그램을 실제로 수행하는 물리적인 장치 또는 유닛을 말한다. (CPU)

  • 역할: Fetch , Decode, Execute

  • 쉽게 말해, 프로세서는 일을 하는 주체이다.


💡Process

  • Process는 Software적인 개념이자 운영체제의 관리 대상이다.

  • 정의 : 실행 중인 프로그램을 의미한다.

  • 단순히 디스크에 저장된 정적인 파일(프로그램)이 아니라, 메모리에 적재되어 CPU 시간을 할당받아 실제로 동작하는 동적인 상태의 개체이다.

  • 구성 요소 : 프로그램 코드, 데이터, 스택, 힙 영역 및 프로세스 제어 블록(PCB, Process Control Block) 등 실행에 필요한 자원과 상태 정보를 포함한다.

  • 특징 : process는 생성(Create), 준비(Ready), 실행(Running), 대기(Waiting), 종료(Terminated)와 같은 여러 상태를 가지며, 운영체제(OS)의 스케줄러에 의해 프로세서(CPU)를 할당받아 실행된다.

  • 쉽게 말해, Process는 Processor에 의해 처리되는 작업 또는 실행 중인 프로그램의 인스턴스이다.


profile
꾸준하게 성장하는 개발자

0개의 댓글