컴퓨터언어/운영체제

프로세스의 정의

bbanpro 2020. 7. 6. 00:10
728x90
반응형

 

👍 프로세스란?

 

프로세스의 가장 일반적인 정의는 다음과 같다.

워드프로세서, 게임 등 디스크에 저장되어 있는 프로그램 중, 주기억장치에 적재되어 CPU에 의해 실제 실행되는 것.

다시 말해 실행되고 있지 않고 그냥 보조기억장치에 저장되어 있는 프로그램은 프로세스라고 하지 않는다.

 

이외에도 프로세스의 정의를 다음과 같이 이야기할 수 있다.

  • PCB(Process Control Block, 현재 실행중인 프로그램의 정보를 기록함)에 등록되는 것
  • 프로세서(CPU)가 할당되는 개체로서 디스패치(준비상태에서 있던 프로세스가 실행상태로 넘어가는 과정)가 가능한 단위
  • 지정된 결과를 얻기 위한 일련의 계통적 동작
  • 목적 또는 결과에 따라 발생되는 사건들의 과정
  • 비동기적(비순차) 행위를 일으키는 주체(현대 다중프로그래밍에서는 시분할처리로 마치 동시인 것처럼 처리하기 때문)
  • 프로시저가 활동중인 것
  • 실행중인 프로시저의 제어 궤적(지금 실행ing인 프로세스 말고도 실행 직전(준비)/직후(대기)까지도 프로세스의 범위로 인정)
  • CPU가 처리하는(할당되는) 실체

*프로시저 : 이제는 프로그램이 무거워져 단 하나의 파일로 구성하기에 무리가 있기 때문에, 여러 부분으로 쪼개어 관리하게 된다. 이때 프로그램의 각 조각을 프로시저, 서브프로그램, 함수, 루틴이라고 부른다.

 

다음은 프로세스가 아니다.

  • 디스크에 존재하는 프로그램 파일 -> 주기억장치로 적재되어야 함.
  • 주변장치 -> 프로세스는 소프트웨어이지만, 주변장치는 하드웨어다.

 

이때 프로세스를 하나만 적재 가능한 운영체제를 단일프로그래밍 방식, 여러 프로세스를 동시 적재 가능한 운영체제를 다중프로그래밍 방식이라고 한다.

 

728x90
반응형