![[운영체제] 프로세스의 상태 변화, 프로세스 제어 블록 (PCB)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzNZ16%2FbtsH3ArCgN9%2FzzsHM22BKzuDTv0Ncowdm1%2Fimg.jpg)
[운영체제] 프로세스의 상태 변화, 프로세스 제어 블록 (PCB)CSE/운영체제 (operating system)2024. 6. 19. 02:00
Table of Contents
프로세스의 상태 변화와 상태 정보
- 운영체제는 프로세스의 실행을 제어하고 프로세스는 실행 중에 상태가 변함
- 따라서 운영체제는 프로세스 제어에 필요한 상태를 점검하고 관리해야 함
- 프로세스의 상태 정보를 저장하는 프로세스 제어 블록$_{PCB}$에 대해 소개
프로세스의 상태 변화
- 프로세스 상태 구분
- 실행 상태
- 비실행 상태
- 프로세스 생성과 초기화
- 운영체제가 프로세스를 생성하면 비실행 상태로 초기화되어 실행을 기다림
- 실행 중인 프로세스를 종료하거나 인터럽트 발생 시, 비실행 상태 프로세스 중 하나를 선택하여 실행 상태로 전환 (디스패치)
- 상태 세분화
- 준비 상태
- 실행 상태
- 대기(보류) 상태
- 상태 변화 관리
- 작업 스케줄러와 프로세스 스케줄러를 이용하여 관리
- 작업 스케줄러: 스풀러에 저장된 작업 중 실행할 작업을 선정하여 준비 리스트에 삽입
- 프로세스 스케줄러: 선정된 작업의 상태를 변화시켜 프로세스의 생성부터 종료까지 과정 수행
- 상태 변화 과정
- 준비 → 실행: 디스패치$_{dispatch}$
- 실행 → 준비: 타임아웃$_{timeout}$ 발생
- 실행 → 대기: 입출력 명령 또는 새로운 자원 요청 시
- 대기 → 준비: 대기 원인 제거 시, 웨이크업$_{wakeup}$ 발생
프로세스 제어 블록
- 정의
- 운영체제가 프로세스를 제어할 때 필요한 상태 정보를 저장하는 데이터 블록 또는 레코드
- 특정 프로세스와 관련된 여러 정보를 포함하고 있음
- 생성과 삭제
- 프로세스 생성 시, 메모리에 프로세스 제어 블록 생성
- 프로세스 실행 종료 시, 해당 프로세스 제어 블록 삭제
- 포함 정보
- 프로세스 상태$_{process \space state}$
- new, ready, running, waiting, terminated
- 프로그램 카운터$_{program \space counter}$
- 해당 프로세스가 실행할 다음 명령어의 주소를 나타냄
- CPU 레지스터$_{registers}$
- 레지스터의 수와 종류는 컴퓨터 아키텍처에 따라 다르며 누산기, 인덱스 레지스터, 스택 포인터, 범용 레지스터 및 조건 코드 정보를 포함함
- 인터럽트 발생 시 저장되어야 하고 프로세스가 재실행될 때 올바르게 이어서 실행될 수 있도록 함
- CPU 스케줄링 정보
- 프로세스 우선순위, 스케줄링 큐에 대한 포인터 및 기타 스케줄링 매개변수가 포함됨
- 계정 정보
- 사용된 CPU 시간 및 실제 시간, 시간 제한, 계정 번호, 작업 또는 프로세스 번호 등이 포함됨
- 입출력 상태 정보
- 프로세스에 할당된 입출력 장치 목록, 열린 파일 목록 등이 포함됨
- 프로세스 상태$_{process \space state}$
프로세스의 문맥 교환
- 정의
- 인터럽트나 시스템 호출 등으로 실행 중인 프로세스의 제어를 다른 프로세스로 넘겨 실행 상태가 되도록 하는 것
- 과정
- 프로세스 문맥 교환이 일어나면 프로세서의 레지스터에 있던 내용을 나중에 사용할 수 있도록 저장
- 프로그램 카운터와 레지스터 내용을 저장하여 재실행 시 원래 상태로 복귀 가능하게 함
- 프로세스 $P_0$과 $P_1$ 간의 프로세스 문맥 교환
References
운영체제 | 구현회 - 교보문고
운영체제 | 『운영체제』는 운영체제 입문에 꼭 필요한 기본 개념과 원리를 그림을 중심으로 자세히 설명하고 있다. 모든 장에 걸쳐 기존 내용을 세밀하게 검토하여 부분적으로 최신 경향을 반
product.kyobobook.co.kr
운영체제 | Abraham Silberschatz - 교보문고
운영체제 | ▶ 이 책은 운영체제론을 다룬 이론서입니다. 운영체제론의 기초적이고 전반적인 내용을 학습할 수 있습니다.
product.kyobobook.co.kr
728x90
반응형
'CSE > 운영체제 (operating system)' 카테고리의 다른 글
[운영체제] 프로세스의 개념 (0) | 2024.06.19 |
---|---|
그림으로 배우는 구조와 원리 운영체제 - 연습문제 3장 풀이 (0) | 2023.12.25 |
그림으로 배우는 구조와 원리 운영체제 - 연습문제 2장 풀이 (0) | 2023.12.23 |
그림으로 배우는 구조와 원리 운영체제 - 연습문제 1장 풀이 (0) | 2023.07.03 |
@junyeokk :: 나무보다 숲을
컴퓨터 전공 관련, 프론트엔드 개발 지식들을 공유합니다. React, Javascript를 다룰 줄 알며 요즘에는 Typescript에도 관심이 생겨 공부하고 있습니다. 서로 소통하면서 프로젝트 하는 것을 즐기며 많은 대외활동으로 개발 능력과 소프트 스킬을 다듬어나가고 있습니다.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!