2023. 2. 22. 19:00ㆍ정처기 필기/4과목 - 프로그래밍 언어 활용
프로세스 및 스케줄링
1. 프로세스의 정의
- CPU에 의해 처리되는 사용자 프로그램, 실행중인 프로그램, 작업 (Job), 테스크(Task)
- 프로세서 -> 프로세스 -> 프로시저
- 프로시저가 활동중인 것
- 비동기적 행위를 일으키는 주체 (이유 : 다수의 프로세스가 서로 규칙적이거나 연속적이지 않고 독립적으로 실행되는 것)을 말함
- 운영체제가 관리하는 실행 단위
- PCB를 가진 프로그램
- 실기억장치에 저장된 프로그램
2. PCB (프로세스 제어 블록)
저장정보 | 설명 |
프로세스 고유 식별자 | 고유 번호 |
프로세스의 현재 상태 | 준비 / 대기/ 실행 |
프로그램 카운터 | 실행될 명령어의 주소를 가지고 있는 레지스터 |
CPU 레지스터 정보 | 누산지, 인덱스, 레지스터, 범용 레지스터 등에 대한 정보 |
스케줄링 및 우선순위 | 스케줄링 정보 및 프로세스 우선순위 |
계정 정보 | cpu 사용 시간, 실제 사용 시간, 한정된 시간 |
입,출력 , 메모리장치 관리 정보 | 입출력 장치, 개방된 파일 목록 / 기준 레지스터, 페이지 테이블에 대한 정보 |
포인터 | 프로세스가 위치한 메모리 및 할당된 자원에 대한 포인터 |
3. 프로세스 상태 정의
4. 프로세스 상태 전이 관련 용어
디스패치 | 준비 상태에서 대기하고 있는 프로세스 중 하나가 프로세서를 할당받아 실행 상태로 전이되는 과정 * 준비 --> 실행 |
wake up | 프로세스가 대기상태에서 준비 상태로 전이되는 과정 |
스풀링(Spooling) | 나중에 한 꺼번에 입,출력하기 위해 디스크에 저장하는 과정 |
5. Thread (스레드)
- 프로세스 내에서의 작업 단위, 시스템의 여러 자원을 할당받아 실행하는 단위
- 프로세스의 일부 특성을 가지고 있어 경량 프로세스라고도 함.
- 동일 프로세스 환경에서 서로 독립적인 다중 수행 가능
- 하나의 프로세스가 여러 스레드를 생성해 성능 향상, 응답 시간 단축, 기억장소 낭비 감소, 통신 향상
6. 스케줄링 (Scheduling)
* 프로세스가 생성되고 실행될 때 필요한 시스템의 여러 자원을 해당 프로세스에게 할당하는 작업
종류 | 설명 |
장기 스케줄링 (작업 스케줄링) (상위 스케줄링) |
어떤 프로세스에게 시스템 자원을 할당할 것인지 결정해서 준비상태로 보내는 작업 (작업 스케줄러에 의해 수행) |
중기 스케줄링 | 어떤 프로세스들이 CPU를 할당받을 것인지 결정하는 작업 |
단기 스케줄링 (프로세서 스케줄링) (하위 스케줄링) |
프로세스가 실행되기 위해 CPU를 할당받는 시기와 특정 프로세스를 지정하는 작업 (프로세스 스케줄링 및 문맥 교환은 프로세서 스케줄러에 의해 수행) * 문맥교환 : 하나의 프로세스에서 다른 프로세스로 CPU가 할당되는 과정에서 발생하는 것 |
7. 스케줄링의 목적
- 공정성
- 처리량 증가 (단위 시간당 프로세스 처리량 증가)
- CPU 이용 효율 증가
- 우선순위 제도
- 오버헤드 최소화
- 응답시간 최소화
- 반환 시간 최소화
- 대기 시간 최소화
- 자원 균형성
- 무한 연기 회피
8. 프로세스 스케줄링의 기법
* 선점 (Preemptive) 스케줄링
: 우선순위가 높은 다른 프로세스가 실행중인 다른 프로세스의 CPU를 빼앗아 선점하는 기법
: 대화식 시분할 시스템에 사용
: 많은 오버헤드 발생
: 일정 시간 배당에 대한 인터럽트용 타이버 클록 필요
# Round Robin, SRT, MLQ, MFQ
* 비선점(Non-Preemptive) 스케줄링
: 이미 할당된 CPU는 빼앗지 못하는 기법
: 완료될때까지 대기
: 공정성
: 응답 시간 예측 용이
: 일괄 처리 방식에 적합
: 우선순위가 높은 작업이 우선순위가 낮은 작업을 기다려야 하는 문제 발생 --> 가뭄 현상
# 우선순위, 기한부, FCFS, SJF, HRN
* HRN
: SJF 기법의 가뭄 현상을 보완하기 위한 방식으로, 오래 대기하는 프로세스의 우선순위를 증가시키는 방법으로
긴 작업과 짧은 작업 간의 불평등을 해소한다
----> HRN 우선순위 계산식 : (대기시간 + 서비스시간) / 서비스시간
'정처기 필기 > 4과목 - 프로그래밍 언어 활용' 카테고리의 다른 글
TCP ,IP / 기타 (0) | 2023.02.22 |
---|---|
인터넷 및 OSI 참조 모델 / 네트워크 관련 장비 및 프로토콜 (0) | 2023.02.22 |
기억 장치 (0) | 2023.02.22 |
운영체제 (0) | 2023.02.21 |
포인터 / 스크립트 언어 / 선언형 언어 (0) | 2023.02.21 |