안녕하세요 오늘은 운영체제과목에서 나오는 프로세스에 대해 알아보겠습니다
프로세스(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언어기반 구현
'기타지식들 > 운영체제' 카테고리의 다른 글
아스키코드,EUC-KR,유니코드,UTF-8알아보기 (0) | 2023.06.04 |
---|---|
비선점스케줄링 시간구하기 (0) | 2017.02.19 |
산술Shift연산 (0) | 2017.02.16 |