티스토리 뷰

2023.02.17 - [운영체제] - #4 컴퓨터 부팅과정 & 인터럽트

 

#4 컴퓨터 부팅과정 & 인터럽트

● 컴퓨터 부팅과정 - 컴퓨터를 ON 했을 때 일어나는 과정을 알아보자 1. 컴퓨터의 전원을 누르면 ROM에 저장된 BIOS가 실행된다. 2. BIOS는 전원, CPU, 메모리, 키보드, 마우스, 하드디스크 등의 주요

radderveloper.tistory.com

- 위의 글을 먼저 읽어보자

 

● 도입(시분할 처리)

- 사용자가 프로그램을 실행시키면 프로그램이 메모리에 올라가면서 프로세스가 생성된다.

cf) 프로그램 : 하드디스크와 같은 저장 장치(HDD, SSD)에 저장된 명령문의 집합체

- 오늘날의 운영체제(OS)에는 동시에 수 많은 프로세스가 실행된다.

- 시분할 시스템을 사용하는 OS는 여러개의 프로세스를 돌아가면서 실행한다.

- CPU는 여러개의 프로세스를 동시에 실행하지 못 하며 한 순간에는 하나의 프로세스만 처리할 수 있다.

- 다만 처리 속도가 매우 빨라서 인간이 보기에는 여러개의 프로세스를 동시에 처리하는 것 처럼 보이는 것이다.

 

cf) 수 많은 프로세스가 실행 중이다.

출처 - 인프런, 그림으로 쉽게 배우는 운영체제


● 프로세스 상태 with 시분할 처리

 

출처 - 인프런, 그림으로 쉽게 배우는 운영체제

- 프로세스는 시분할 처리를 위한 5가지 상태를 가지고 있다.

1. 생성상태
2. 준비상태
3. 실행상태
4. 대기상태
5. 완료상태

1. 생성상태

- PCB를 생성하고 메모리에 프로그램 적재를 요청한 상태

- 메모리에 프로그램 적재를 승인받으면 준비상태로 넘어간다.(위 그림에서 승인 상태를 의미한다.)


2. 준비상태

- CPU를 사용하기 위해 기다리고 있는 상태

- 준비상태에 있는 프로세스는 CPU 스케줄러에 의해 CPU가 할당된다.(위 그림에서 스케줄러 선택을 의미한다.)

- 대부분의 프로세스는 준비상태에 있다고 보면 된다.


3. 실행상태

- 준비상태에 있는 프로세스가 CPU 스케줄러에 의해 CPU를 할당받아 실행되는 상태

- 실행상태에 있는 프로세스의 수 = CPU의 개수

ex) CPU가 1개라면 실행상태에 있는 프로세스도 최대 1개이다.

- 실행상태에 있는 프로세스라고 해서 CPU를 무한정 사용할 수 있는 것은 아니다. 부여된 시간만큼만 사용할 수 있다.

- 부여된 시간을 초과하면 CPU 스케줄러가 할당된 CPU를 강제로 뺏는다. 이때 프로세스는 다시 준비상태로 돌아간다.

(위 그림에서 인터럽트를 의미한다.)


4. 대기상태

- 프로세스가 입출력을 요청하면 입출력이 완료될 때 까지 기다리는 상태

Q. 대기상태는 어떻게 만들어졌을까?

A.

- CPU는 굉장히 빠른 작업 속도를 가지고 있지만 그에 반해 입출력 작업은 속도가 상당히 느린 작업이다.

- 따라서 특정 프로세스가 입출력 요청을 했을 때 해당 요청이 완료될때까지 CPU를 기다리게 하는 것은 매우 비효율적

- 그렇기에 입출력 요청을 한 프로세스는 대기상태로 두고 다른 프로세스에게 CPU를 할당한다.

(위 그림에서 입출력 작업을 의미한다.)

- 시간이 지난 후 입출력 작업이 완료되면 대기상태에 있던 프로세스에게 CPU 할당 기회를 준다.

(위 그림에서 입출력 작업 완료를 의미한다.)

- 대기상태가 있기 때문에 CPU가 별다른 정체 시간 없이 계속해서 프로세스들을 실행할 수 있다.


5. 완료상태

- 프로세스가 종료된 상태(위 그림에서 종료를 의미한다.)

- 프로세스가 사용했던 데이터를 메모리에서 제거하고 생성된 PCB도 제거한다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/08   »
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
글 보관함