[Computer Science]/[운영체제(OS)]

[운영체제(OS)] 1-2) 부팅 매커니즘과 인터럽트(interrupt)

극꼼 2023. 1. 3. 18:33
반응형


<컴퓨터 시스템 작동 매커니즘>

- 부트스트램(bootstrap, 부팅) : pc의 전원 버튼을 누른 직후부터 운영체제가 메모리에서 동작하기 시작할 때 까지의 과정

1) 메인보드에 전력 공급

2) ROM or EEPROM에 저장된 BIOS 루틴(펌웨어. Basic Input Output System) 시작

3) BIOS는 셀프테스트로 주변 하드웨어 체크

4) MBR(Master Boot Record)에 존재하는 부팅정보를 읽어오는 부트스트랩 실행

5) RAM에 Bootloader를 적재. 디스크에 있는 OS(커널) 코드를 복사하여 메모리에 적재. 초기화.

- 입출력장치와 CPU는 동시 실행 가능.

- 각 장치 컨트롤러는 특정 디바이스 유형을 담당. 로컬 버퍼 존재.

- CPU는 메인 메모리 ~ 로컬 버퍼간 데이터 이동시켜줌.

- 입출력은 장치에서 컨트롤러의 로컬 버퍼로 전달.

- 장치 컨트롤러는 인터럽트를 발생시켜 CPU에 작업 완료를 알림.


<인터럽트>

: CPU가 프로그램을 구동 중일 때, 입출력이나 예외 상황이 발생하여 처리가 필요한 경우 CPU에 신호를 보내는 것.

 

* 다양한 인터럽트 구분 명칭이 존재하는데(내부, 외부 인터럽트 등), 크게 하드웨어와 소프트웨어로 나누어 알아봄

- 하드웨어 인터럽트 : 하드웨어가 발생시키는 인터럽트로, CPU 외의 하드웨어가 CPU에게 신호를 보내야 할 경우 발생.

- 소프트웨어 인터럽트 : 소프트웨어가 발생시키는 인터럽트. 사용자 프로그램이 인터럽트하는 경우(예외상황이나 supervisor call) 발생. 

 

- 인터럽트 발생~종료 Flow

1) I/O 발생(I/O request)

2) I/O 컨트롤러가 시그널(인터럽트)을 생성해냄(transfer done).

3) CPU에서 수행중인 작업을 중지하고 지정된 위치로 실행 위치를 변경. (중단된 명령어 주소를 반드시 저장해둠)

4) CPU는 컨트롤을 인터럽트 Handler에게 넘김.

5) 인터럽트 서비스 루틴 실행 : 인터럽트 Handler가 할 일을 하고 결과값을 리턴

6) CPU는 저장된 복귀 주소를 프로그램 카운터에 적재하고, 중단되었던 컴퓨팅 재개.

 

반응형