프로세스

728x90
반응형

* 쉽게 배우는 운영체제를 공부하면서 정리했습니다 

 

프로세스 개요

프로세스는 작업의 단위이다.

여기서 작업은 뒤에서 나오지만 크기에 따라서 여러가지로 나뉘는데, job > task (프로세스) > operation (스레드) 순이다.

 

 

프로그램 vs 프로세스

  • 프로그램은 하드디스크 같은 저장장치에 있다가 마우스로 더블클릭하면 실행된다.
  • 폰노이만 구조에서 프로그램이 실행된다 = 해당 코드가 메모리에 올라와서 실행된다
  •  프로그램은 작성해 놓은 작업 절차(정적인 상태)이고 프로세스는 그것을 메모리에 올려 실제로 실행한 것이다.(동적인 상태) 

 

일괄 작업 시스템

  • 한 번에 하나의 작업을 처리한다
  • 하나의 작업이 끝나야 다른 작업을 할 수 있다
  • 들어오는 순서대로 처리하고 나머지 작업은 큐에서 대기한다 

 

시분할 방식

  • cpu가 1개인 컴퓨터에서 여러 개의 프로세스를 동시에 실행하는 원리이다.
  • cpu의 시간을 쪼개서(time slicing, qauntum) 여러 프로세스에 배분하여 실행하므로 동시에 실행하는 것처럼 느껴진다.
  • 현대의 운영체제는 시분할 방식을 기본으로 사용한다.

 

프로그램에서 프로세스로 전환하기

위에서 말했듯이 프로세스의 작업 단위는 task이다.

운영체제는 프로그램을 메모리로 가져와서 pcb(프로세스 제어 블록)을 할당한다.

 

 

PCB가 가진 정보

  1.  프로세스 구분자: 각 프로세스를 구분하는 구분자 (PID)
  2.  메모리 정보: cpu가 실행하려는 프로세스가 메모리의 어디에 저장되어있는 지에 대한 정보
  3.  중간값: 프로세스가 사용했던 중간값이 저장되어 있다. 시분할 시스템 기반에서는 여러 프로세스가 번갈아가며 실행되기 때문에 다른 프로세스를 넘어가고 다시 실행될 때에 어느 부분부터 실행되는 지에 대한 정보가 있어야한다.  따라서 다음에 작업할 코드의 위치가 담긴 pc(프로그램 카운터)가 저장되며 한계, 경계 레지스터 등이 같이 저장된다.

 

결론

프로세스를 실행하려면 pid, 메모리 정보, 중간값을 알아야하며 이를 보관하는 데이터 구조가 PCB이다. 따라서 프로그램이 프로세스가 되려면 메모리에 올라옴과 동시에 프로세스 제어 블록이 생성되어야 한다. 프로세스가 종료되면 메모리에서 삭제되고 PCB도 폐기된다.

 

 

출처: 쉽게 배우는 운영체제 p.138 그림 프로그램을 메모리에 올리면서 pcb 할당받으면서 프로세스가 된다.

 

* 사담: 운영체제를 여러 번 공부했지만 잘 이해가 안되었는데 이 책이 가장 이해가 잘된다. 추천 별 다섯개 

728x90
반응형
TAGS.

Comments