본문 바로가기

CS/운영체제

운영체제(3) - 프로세스

반응형

프로그램의 실행

커널 주소 공간의 내용

함수(function)

  • 사용자 정의 함수 : 자신의 프로그램에서 정의한 함수
  • 라이브러리 함수 : 자신의 프로그램에서 정의하지 않고 갖다 쓴 함수, 자신의 프로그램의 실행 파일에 포함되어 있다
  • 커널 함수 : 운영체제 프로그램의 함수, 커널 함수의 호출 = 시스템 콜

Process is a program in execution

프로세스는 실행중인 프로그램

 

 

프로세스 문맥이란?

  • 프로세스가 현재 어떤 상태에서 수행되고 있는지 정확히 규명하기 위해 필요한 정보
  1. CPU 수행상태를 나타내는 하드웨어 문맥
    • Program counter
    • 각종 register
  2. 프로세스의 주소 공간
    • code
    • stack
    • data
  3. 프로세스 관련 커널 자료 구조
    • PCB (Process Control Block)
    • Kernel stack

프로세스의 상태

프로세스는 상태가 변경되며 수행된다

  • Running
    • Cpu를 잡고 instruction을 수행중인 상태
  • Ready
    • Cpu를 기다리는 상태(메모리 등 다른 조건을 모두 만족하고)
  • Blocked(wait,sleep)
    • Cpu를 주어도 당장 instruction을 수행할 수 없는 상태
    • Process를 자신이 요청한 event (예 : I/O)가 즉시 만족되지 않아 이를 기다리는 상태
  • New : 프로세스가 생성중인 상태
  • Terminated : 수행이 끝난 상태

PCB (Process Control Block)

운영체제가 각 프로세스를 관리하기 위해 프로세스당 유지하는 정보

  1. OS가 관리상 사용하는 정보
    • Process State, Process ID
    • scheduling information, priority
  2. CPU 수행 관련 하드웨어 값
    • Program counter, registers
  3. 메모리 관련
    • code, data, stack의 위치 정보
  4. 파일 관련
    • Open file descriptors

문맥 교환

CPU를 한 프로세스에서 다른 프로세스로 넘겨주는 과정

운영체제는....

  • CPU를 내어주는 프로세스의 상태를 그 프로세스의 PCB에 저장
  • CPU를 새롭게 얻는 프로세스의 상태를 PCB에서 읽어옴

Job queue  : 현재 시스템에 있는 모든 프로세스의 집합

Ready queue : 현재 메모리 내에 있으면서 CPU를 잡아서 실행되기를 기다리는 프로세스의 집합

Devide  : I/O device의 처리를 기다리는 프로세스의 집합

 

프로세스들은 각 큐들을 오가며 수행된다

 

이 포스팅은 이화여대에서 무료로제공하는 반효경님의 운영체제강의를 수강하며 정리한 내용입니다.

필자가 잘 이해하지 못해서 잘못된 내용이 있을 수 있으므로 주의바라며, 발견되면 알려주시면 감사하겠습니다.

http://www.kocw.net/home/search/kemView.do?kemId=1046323 

 

운영체제

운영체제는 컴퓨터 하드웨어 바로 위에 설치되는 소프트웨어 계층으로서 모든 컴퓨터 시스템의 필수적인 부분이다. 본 강좌에서는 이와 같은 운영체제의 개념과 역할, 운영체제를 구성하는 각

www.kocw.net

 

 

 

 

반응형