티스토리 뷰

개념/운영체제

프로세스

상어악어 2022. 3. 15. 12:26
반응형

프로세스

실행중인 프로그램

메모리에 적재되어 실행되고 있는 프로그램

 

 

4가지 주소 공간가짐

코드영역(프로세서가 실행하는 명령어 저장)

데이터영역(전역 변수 저장)

힙영역(동적 메모리 할당)

스택영역(지역 변수, 함수 매개변수, 반환주소 저장)

 

 

프로세스 생명주기

running(실행) 상태

프로세서에서 명령어 실행 중

 

ready(준비) 상태

프로세서의 할당 대기 중

 

waiting(blocked) (대기) 상태

특정 event 대기

 

new(생성) 상태

프로세스 생성 중

 

terminated(종료) 상태

실행 종료

 

 

 

디스패치

준비 상태 -> 실행 상태

 

 

quantum 양자

 

 

프로세스 제어 블록(Process Control Block, PCB)

OS가 프로세스 관리를 위해 데이터를 보관하는 자료구조

pid

state

pc(program counter) 

다음번에 실행할 명령어 주소

cpu 레지스터

cpu 스케줄링 정보

부모 프로세스 포인터(ppid)

자식 프로세스 포인터

메모리 영역 정보(코드,스택,데이터,힙)

I/O 상태 정보

사용통계(account) 정보 

-과금

 

 

프로세스 관리, 메모리 관리, 파일 관리

 

이중연결리스트 next, prev

가지고 있는 이유

준비 상태 실행가능

줄을서있어야함

준비상태의 프로세스를

별도의 공간에 넣어두는것이아니라

프로세스 제어 블록에 순서대로 넣어둔 것

포인터 하나만으로 가리키고 있다

 

프로세스 테이블

프로세스 제어블록(PCB_의 포인터를 ㅗ간리하는 테이블

PID, PCB

 

 

 

 

 

 

프로세스 스케줄링

프로세서 스케줄러(processor(cpu) scheduler)

ready상태만 실행할 수 있다(우선순위 고려)

대기상태를 프로세서 스케줄러에게 준다고 해도 실행되지 않는다

 

 

운영체제는 사용자 입장에서 보면 오버헤드다(운영체제도 소프트웨어라서 자원을잡아먹기때문)

 

 

너무 프로그램이 많이들어오면 기다렸다가 작업을 따로 집어넣어주는 역할을 하는게

job queue

 

 

장기스케줄러(job scheduler)

job queue

어떤녀석을 시스템에 넣어줄건지

 

 

단기 스케줄러(cpu scheduler)

준비상태를 바로 넣어줌

 

 

 

 

q. 프로세스 스케줄링은

준비대기열을 순서대로 슨다고하는데

cpu스케줄러는 순서대로서있는걸 차례대로 하는것인가

아니면 우선순위를 할당해서 골라쓰는건가?

a: 줄은 서있지만 

 

 

 

 

프로세스 선점(preemption)

 

반응형

'개념 > 운영체제' 카테고리의 다른 글

쓰레드  (0) 2022.03.22
프로세스2  (0) 2022.03.18
운영체제의 발전과정(2)  (0) 2022.03.11
하드웨어 및 소프트웨어  (0) 2022.03.11
운영체제의 역할과 발전과정  (0) 2022.03.07
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함