운영체제-프로세스

eunsiver·2022년 4월 2일
0

운영체제

목록 보기
2/5

프로세스의 개념

  • 프로세스
    운영체제에서 프로세스는 하나의 작업단위

  • 프로그램
    저장장치에 저장되어 있는 정적인 상태

  • 프로세스
    실행을 위해 메모리에 올라온 동적인 상태(자신만의 메모리 영역이 있음을 의미)

작성한 프로그램이 샐행되면 프로세스 된다.

프로그램에서 프로세스로 전한

  • 시분할 방식에서 프로그램이 프로세스로 전환될 때, 먼저 os는 프로그램을 메모리의 적당한 위치로 가져옴
  • 그 다음 작업지시서 생성

    이 작업 지시서가 프로세스 제어블록

프로세스 제어 블록(PCB)

운영체제가 해당 프로세스를 위해 관리하는 자료 구조

  • 프로세스를 처리하는데 필요한 다양한 정보가 있음
  • PCB가 없으면 프로그램이 프로세스로 전환되지 못함
  • 프로세스가 된다는 것은 os로부터 PCB를 할당 받았다는 것

프로세스 = 프로그램 + 프로세스 제어블록
프로그램 = 프로세스 - 프로세스 제어블록

PCB에 있는 주요 정보

프로세스 구분자(Process IDentification: PID)

  • 각 프로세스를 구분하는 구분자

메모리 관련 정보

  • 프로세스의 메모리 위치 정보

CPU는 실행하려는 프로세스가 메모리 어디에 저장되어 있는지 알아야 작업을 할 수 있음

메모리 보호를 위해 경계 레지스터와 한계 레지스터도 포함됨

각종 중간값

  • 프로세스가 사용했던 중간값

다음에 작업해야 할 코드의 위치가 담긴 레지스터인 프로그램 카운터가 저장됨

  • 프로그램이 프로세스가 되려면 메모리에 올라오는 것과 동시에 PCB가 생성되어야 함
  • 프로그램이 프로세스가 된다는 것은 운영체제로부터 프로세스 제어블록(PCB)를 얻는다는 뜻
  • PCB는 OS가 해당 프로세스를 위해 관리하는 데이터 구조이기 때문에 OS영역에 포함됨
  • 프로세스가 종료되면 프로세스가 메모리에서 삭제되고 PCB도 폐기됨

프로세스 상태

  • OS에서 다양한 이유로 프로세스 상태가 변화
  • 시분할시스템의 경우 프로세스 상태는 CPU를 얻어서 실행 중인 프로세스가 중간에 다른 프로세스에 CPU를 넘겨주는 일이 자주 발생함

프로세스 4가지 상태

생성상태

  • 프로세스가 메모리에 올라와 실행 준비를 완료한 상태로 프로세스를 관리하는데 필요한 PCB가 생성됨

준비 상태

  • 생성된 프로세스가 CPU를 얻을 때까지 기다리는 상태로 CPU가 하나인 컴퓨터에서는 한 번에 하나의 프로세스만 실행할 수 있기 때문에 자기실행 순서가 될 때까지 준비 상태에서 기다려야 함

실행 상태

  • 준비 상태에 있는 프로세스 중 하나가 CPU를 얻어 실제 작업을 수행하는 상태

  • 실행 상태로 진입한 프로세스는 일정시간 동안 CPU를 사용할 권리를 갖음

  • 만약 할당 받은 시간을 모두 사용하고도 작업이 끝나지 않았다면, 프로세스는 준비상태로 되돌아가서 다음 순서를 기다림

  • 프로세스는 자신의 작업이 종료될 때까지 준비상태와 실행상태를 왔다갔다 함

완료 상태

  • 실행 상태의 프로세스가 주어진 시간 동안 작업을 마치면 진입하는 상태(프로세스제어블록이 사라진 상태)

준비상태에 있는 여러 프로세스 중 다음에 실행할 프로세스를 선정하는 일은 CPU 스케줄러가 담당함

CPU 스케줄러

준비 상태의 맨 앞에 기다리고 있는 프로세스제어블록을 CPU에 전달해 작업을 처리

디스패치

  • 준비 상태의 프로세스 중 하나를 골라 실행 상태로 바꾸는 CPU 스케줄러 작업

타임 아웃

  • 프로세스가 자신에게 주어진 하나의 타임 슬라이스 동안 작업을 끝내지 못하면 다시 준비 상태로 돌아가는 것
profile
Let's study!

0개의 댓글