운영체제 - 3강 핵심

컴공거북이·2024년 5월 17일

운영체제

목록 보기
3/9

1.PCB와 각 구성요소들을 설명하시요

PCB란?

프로세스 제어 블록(Process Control Block, 줄여서 PCB)은 특정한 프로세스를 정보를 포함하는 커널의 자료 구조(메모리에 저장)

PCB 구성요소?

1) 프로세스 상태 ex)프로세스가 실행중인지 대기중인지
2) 프로그램 카운터
3) CPU 레지스터 ex)프로세스와 관련된 모든 레지스터
4) CPU스케줄링 정보 ex)우선순위, 스케줄링 큐 포인터등
5) 메모리 관리 정보 ex) 프로세스에 할당된 메모리 영역 정보
6) accounting 정보 ex)cpu 사용시간 , 시간 제한 등
7) I/O 상태정보 ex)할당된 I/O장치, 열린 파일
8) PID

2.프로세스 상태(process state)를 설명하시오

프로세스의 5가지 상태:

생성상태: 프로세스 생성
준비단계(ready) : 프로세스가 cpu에 할당되기를 기다리는 상태
실행단계 : 명령어 실행 단계
대기단계(blocked) :프로세스가 어떤 이벤트를 기다리고 있는 상태
종료단계 : 프로세스 실행을 마친 상태

3.CPU scheduler, Job scheduler, Medium-term scheduler를 각각 설명하시오

scheduler란?

어떤 프로세스를 실행시킬 것인지 결정하는 소프트웨어

CPU Scheduler(Short-term scheduler):

메모리에 있는 프로세스 중 다음에 실행할 프로세스를 정하고 CPU를 할당
자주 호출되기 떄문에 빠르게 실행되어야 함

  • CPU 스케줄러는 다음과 같은 여러 스케줄링 큐를 유지
    1)job 큐 - 메인 메모리에 들어가기 위해 기다리고 있는 프로세스 큐
    2) ready 큐 - 메모메모리에서 CPU할당을 기다리고 있는 프로세스 큐
    3)device 큐 - I/0 장치를 기다리는 프로세스 큐

Medium-term scheduler:

멀티 프로그래밍의 정도를 줄어주는 역할
메모리에서 프로세스를 제거하고 디스크에 저장시키고 일부를 디스크에서 다시 불러오기 실행이 끝나면 또 다시 디스크에 저장시키고 디스크에서 일부 불러오기 반복 : swapping

Long-term Scheduler(Job scheduler):

디스크에 있는 프로세스 중 메모리 안에 들어올 프로세스 정하기
드물게 호출되고 상대적으로 느림
멀티프로그래밍의 정도를 제어
(I/0-bound 프로세스 - 연산보다 입출력 작업에 더 많은 시간 소비,짧은 CPU사용시간)
(CPU-bound 프로세스 - 입출력 작업보다 연산에 더 많은 시간 소비, 긴 cPU 사용시간)

4.context switch를 설명하시오

context switch란 무엇인가?

CPU가 현재 작업 중인 프로세스에서 다른 프로세스로 넘어갈 때 이때까지의 프로세스의 상태를 PCB에 저장하고, 새 프로세스의 저장된 상태(PCB)를 다시 적재하는 Context Switch(문맥교환)이라고 한다.

profile
잘못된 정보가 있을 경우 언제든 댓글로 남겨주세요 :) 감사합니다!!

0개의 댓글