기타지식들/운영체제

운영체제-프로세스란?

원원 2020. 11. 17. 23:40

안녕하세요 오늘은 운영체제과목에서 나오는 프로세스에 대해 알아보겠습니다

 

 

프로세스(Process)의 일반적인 의미: 일이처리되는 경로나 공정

 

 

 

운영체제서 프로세스란?

1. 실행중인 프로그램

- 컴퓨터 내부의 생명체

2. CPU를 할당하는 댇상

3. 시스템 내부에서의 작업 단위

4. PCB(Process Control Block)에 존재하는 개체

-프로세스 생성 시 PCB에 등록하고 종료 시 PCB에서 삭제

5. 하나의 스레드(프로그램 내의 실행 단위)로 구성된 테스크

 

 

 

프로세스의 속성

1. 프로세스의 상태

- 프로세스가 생성되고, 실행되고, 종료할 때까지 거치는 상태

 

사건요청은 입출력 사건요청의 경우가 있습니다

 

 

2. 프로세스의 영역

- 보조기억 장치에 존재하면 프로그램, 주기억장치에 존재하면 프로세스

- 프로그램은 코드영역 + 데이터영역으로 구성

- 프로세스는 코드영역 + 데이터영역 + 스택영역으로 구성

 

3. 프로세스 제어 블록(PCB)

- 프로세스 관리를 위한 정보를 가지고 있는 운영체제의 자료구조

- 프로세스 생성은 프로세스의 정보가 PCB에 등록됨을 의미함

- 프로세스 종료는 그 프로세스의 정보가 PCB에서 삭제됨을 의미함

 

4. 프로세스 문맥 교환

- 실행 상태의 프로세스 정보를 PCB에 저장함

- 실행 상태로 만들 프로세스의 정보를 PCB로 부터 복구시킴

 

5. 프로세스 생성 및 종료

-프로세스 생성과정

1) PCB 엔트리를 할당하고 PID번호를 부여함

2) 메모리 공간을 확보함

3) PCB 자료구조의 모든 정보를 초기화함

- 프로세스 종료

시스템 호출에 의해 정상적으로 종료 또는 오류에 의해 비정상적으로 종려됨

프로세스에게 할당된 모든 자원은 회수됨

 

 

프로세스 스케줄링

스케줄링이란 처리해야 할 작업이 여러 개 있을 때, 작업 중 하나를 선정하는 과정을 의미함

 

프로세스 스케줄러

- 다중 프로그래밍 환경에서 다수의 프로세스들이 제한된 자원들을 경쟁적으로 사용하므로 경쟁을 조정하는 기능이 필요함

- 프로세스 스케줄러는 '프로세스 선정 스케줄링 정책'부분과 '선정된 프로세스에게 CPU를 할당하는 디스패처'부분으로 구성됨

- 준비상태 프로세스를 관리하기 위한 '준비 큐'필요

- '준비 큐에 등록된 프로세스들'중에서 '스케줄링 정책'에 따라 하나의 프로세스를 선정하고, 선정된 프로세스에게 CPU를 할당함

 

 

스케줄링 정책

-큐에 등록된 여러 개의 프로세스들 중에서 하나의 프로세스를 선정하기 위한 알고리즘

 

스케줄링 정책 결정시 고려사항

- CPU 이용률:단위 시간 당 CPU 사용 시간

- 처리율: 단위 시간 당 처리 프로세스 수

- 반환시간 : 프로세스 생성에서 종료까지 소요 시간

- 대기시간 : 준비 큐에서 소요된 시간

- 응답시간 : 프로세스가 생성되고 처음 CPU를 배정 받은 시간

 

* CPU이용률과 처리율은 최대화하고 반환시간, 대기시간, 응답시간은 최소화가 목적입니다

* 모든 요소를 최적화 할 수 있는 스케줄링 정책은 없으므로 사용목적에 적합한 요소를 고려하여 결정합니다

 

참고) FCFS C언어기반 구현

https://wowon.tistory.com/198

 

'기타지식들 > 운영체제' 카테고리의 다른 글

아스키코드,EUC-KR,유니코드,UTF-8알아보기  (0) 2023.06.04
비선점스케줄링 시간구하기  (0) 2017.02.19
산술Shift연산  (0) 2017.02.16