EverGiver

Process Concept 본문

전공/운영체제

Process Concept

친절한개발초보자 2022. 3. 21. 12:36
728x90
Concept of process

 

  • 1960년대 multics 운영체제에서 처음 사용
  • Program : 저장장치에 저장되어 있는 정적인 상태
  • Process : Program in execution on memory
  • 프로그램이 메모리로 적재되면 프로세스가 된다.

  • 프로세스 구조

프로세스의 일반적인 메모리 구조(사용자 관점의 프로세스)

  • Stack 영역
    - 함수 호출 시 사용되는 parameter와 local variable 저장
    - 함수 완료시 사라진다.
    - Last-in, First-out 방식으로 동작
    - 메모리 관리가 필요 없다.
    - 높은 주소에서 낮은 주소로 메모리에 할당된다.

함수 호출과 스택

  • Heap 영역
    - 프로그램이 실행되는 동안 동적으로 할당되는 변수 영역
    - Dynamic variable 저장
    - user가 관리해야 한다.
    - 낮은 주소에서 높은 주소로 할당된다.

malloc() 함수 코드의 예

  • PCB(Process Control Block) / TCP(Task Control Block)
    - 운영체제가 프로세스 제어 시 필요한 프로세스 상태 정보 저장
    - 특정 프로세스 정보를 저장하는 데이터 블록이나 레코드
    - 프로세스가 생성되면 메모리에 PCB 생성
    - 프로세스가 종료되면 해당 PCB도 삭제

  • 프로세스의 종류
구분 종류 설명
역할 시스템(커널) 프로세스 모든 시스템 메모리와 프로세서의 명령에 엑세스할 수 있는 프로세서이다. 
프로세서 실행 순서를 제어하거나 다른 사용자 및 커널(운영체제) 영역을 침범하지 못하게 감시하고, 사용자 프로세스를 생성하는 기능을 한다.
사용자 프로세스 사용자 코드를 수행하는 프로세스이다.
병행 수행 방법 독립 프로세스 다른 프로세스에 영향을 주지 않거나 다른 프로세스의 영향을 받지 않으면서 수행하는 병행 프로세스이다.
협력 프로세스 다른 프로세스에 영향을 주거나 다른 프로세스에서 영향을 받는 병행 프로세스이다.

 

프로세스의 상태 변화와 상태 정보

 

  • 프로세스의 상태 변화
    - 프로세스는 생성에 종료까지 여러 상태를 거친다.
    - 프로세스의 상태 변화는 운영체제가 프로세스 스케줄러를 이용하여 관리한다.
    - 프로세스 스케줄러는 선정한 작업의 상태를 변화시키며 프로세스의 생성에서 종료까지의 과정을 수행한다.

프로세스의 상태
프로세스의 상태 변화

  • Process context switching
    - 실행 중인 프로세스의 제어를 다른 프로세스에 넘겨 실행 상태가 되도록 하는 것
    - PCB 저장과 복구가 발생한다.

728x90

'전공 > 운영체제' 카테고리의 다른 글

Linux Outline  (0) 2022.03.26
Process States  (0) 2022.03.21
컴퓨터 동작  (0) 2022.03.13
컴퓨터 시스템 소개  (0) 2022.03.12
운영체제의 유형  (0) 2022.03.12
Comments