티스토리 뷰

● 컴퓨터 부팅과정

- 컴퓨터를 ON 했을 때 일어나는 과정을 알아보자

1. 컴퓨터의 전원을 누르면 ROM에 저장된 BIOS가 실행된다.

2. BIOS는 전원, CPU, 메모리, 키보드, 마우스, 하드디스크 등의 주요 하드웨어에 이상이 없는지 체크한다.

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

3-1. 만약 주요 장치에 이상이 있다면 오류음이 나면서 부팅이 이루어지지 않는다.

3-2. 이상이 없다면 하드디스크에 있는 마스터 부트 레코드에 저장된 부트로더를 메모리로 가져가서 실행한다.

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

4. 만약 컴퓨터에 운영체제(OS)가 2개 이상 있다면(ex. window, Linux) 어떤 운영체제를 실행할지 선택하는 화면이 나온다.

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

5. 운영체제를 선택했거나 운영체제가 하나면 해당 운영체제를 메모리로 불러오고 모니터에 바탕 화면이 나오게 된다.

6. 이후에 실행되는 응용 프로그램은 모두 메모리에 올라와서 OS가 관리한다.


인터럽트

- CPU가 입출력 장치에 데이터를 읽거나 쓰려고 하는 상황을 가정해보자

- CPU는 입출력 작업이 들어오면 입출력 관리자에게 입출력 명령을 내린다.

- 이때 CPU 입장에서는 입출력 명령이 언제 완료될지 알 수 없기 때문에 이를 주기적으로 입출력 관리자에게 계속 확인해야 하는데 이러한 방식을 Polling(폴링) 방식이라고 한다.

https://ko.wikipedia.org/wiki/%ED%8F%B4%EB%A7%81_(%EC%BB%B4%ED%93%A8%ED%84%B0_%EA%B3%BC%ED%95%99)

https://etloveguitar.tistory.com/61

 

폴링(polling)이란? (comet)

폴링은 리얼타임 웹을 위한 기법으로, 일정한 주기(특정한 시간)을 가지고 서버와 응답을 주고 받는 방식을 말한다. 이렇게 서버와 응답을 주고 받는 이유는 웹이 태생 자체부터 실시간을 위해

etloveguitar.tistory.com

https://jokergt.tistory.com/65

 

폴링(Polling)이란?

실시간 웹(리얼타임)을 만들고 싶다. 하지만 그에 앞서 알아둬야 할 것이 있으니... 실시간 웹 구현의 한계성!! 웹은 태생 자체부터 실시간을 위해 필수적인 지속되는 연결(persistent connection)을 가

jokergt.tistory.com

- Polling 방식은 CPU가 주기적으로 작업 상황을 확인해야 하므로 성능이 좋지 않다는 단점이 있다.


- 인터럽트는 이러한 Polling 방식의 단점을 해결한 방식이다.

- interrupt는 사전적으로 방해를 의미하는데 컴퓨터에서는 이보다 우선순위가 더 높은 작업을 우선적으로 처리한다라는 의미에 더 가깝다.

ex)

- 키보드, 마우스를 통한 입출력은 현재 수행중인 작업보다 우선적으로 처리해야 하기 때문에 인터럽트가 필요하다.

- 이런 처리가 없다면 마우스를 클릭했는데 한참 있다가 반응하는 사태가 벌어질 수 있다.

 

- 인터럽트 작동 방식은 간단하게 아래와 같다.

1. CPU가 입출력 관리자에게 입출력 명령을 내린 후 CPU는 다른 작업을 계속 진행한다.

2. 입출력 관리자는 입출력 작업이 완료되면 CPU에게 신호를 주고 CPU는 해당 신호를 받아 인터럽트 서비스 루틴(ISR)을 실행시켜 작업을 완료한다.

https://ko.wikipedia.org/wiki/%EC%9D%B8%ED%84%B0%EB%9F%BD%ED%8A%B8_%ED%95%B8%EB%93%A4%EB%9F%AC

ISR은 특정 인터럽트가 들어오면 해당 인터럽트를 처리하는 함수이다.
- Interrupt Service Routine은 인터럽트 핸들러 라고도 한다.
- 실제 인터럽트를 처리하는 루틴으로 실행 중이던 레지스터와 PC를 저장하여 실행중이던 CPU 상태를 보존하고 인터럽트 처리가 끝나면 원래 상태로 복귀한다.
- 운영체제 코드에는 각종 인터럽트 별로 처리할 내용이 이미 프로그램 되어 있다.
- 인터럽트는 비동기적으로 동작하기 때문에 성능에 이점이있다.

https://kosaf04pyh.tistory.com/197

 

[운영체제] 인터럽트

인터럽트 대부분의 시스템에서 하나의 CPU를 두고 여러 프로세스들이 경쟁을 하면서 자신의 작업을 수행합니다. 여기서 각 프로세스는 정해진 시간만큼 CPU를 사용할 수 있으며 이 시간이 지나면

kosaf04pyh.tistory.com

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=scw0531&logNo=220650635893 

 

[인터럽트] 에 대하여

인터럽트란 하드웨어와 소프트웨어에서 상당히 중요하고 많이 사용되어지는 기법 중 하나이다. 인터럽트라...

blog.naver.com

https://velog.io/@adam2/%EC%9D%B8%ED%84%B0%EB%9F%BD%ED%8A%B8

 

[OS기초] 인터럽트 제대로 이해하기

주변장치와 입출력 장치는 CPU나 메모리와 달리 인터럽트라는 메커니즘을 통해 관리된다. 그래서 인터럽트, 왜 하는거요? 그 이유는 입출력 연산이 CPU 명령 수행속도보다 현저히 느리기 때문이

velog.io


- 인터럽트에는 하드웨어 방식과 소프트웨어 방식 2가지가 있다.

1. 하드웨어 인터럽트

- 하드웨어가 발생시키는 인터럽트로서 입출력 등과 같은 인터럽트가 있다.

 

2. 소프트웨어 인터럽트

- 사용자 프로그램에서 발생한 인터럽트로서 유효하지 않은 메모리에 접근하거나 0으로 나누는 명령어 등이 있다.

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

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