안경잡이개발자

728x90
반응형

운영체제 강좌 4- 컴퓨터의 작동 과정

 

컴퓨터 시스템에서 CPU와 각 장치들은 서로 연결되어 메모리를 공유합니다. 각각의 장치마다 장치 제어기(Controller)가 작업을 도와주며 모든 기계들은 동기화되어 적절히 작동합니다.



컴퓨터의 부팅 과정

 

- 전원이 켜질 때 ROM에 저장된 초기 프로그램을 실행합니다.

- 초기 프로그램은 메모리, CPU 레지스터 등을 초기화시킵니다.

- 이후에 운영체제를 찾아서 메모리에 적재합니다.

- 운영체제는 첫 번째 프로세스를 즉시 실행합니다.

- 인터럽트가 발생하면서 CPU가 각종 작업을 처리합니다.

 

하드웨어와 소프트웨어는 모두 CPU에 인터럽트를 발생시킬 수 있습니다. 일반적으로 인터럽트는 입출력 연산이 종료되었을 때, 예외가 발생했을 때, 운영체제의 다양한 서비스를 요구할 때 등 다양한 이유로 발생할 수 있습니다.

 

인터럽트가 발생했을 때 CPU는 현재 하던 일을 중단하고, 그 인터럽트에 대한 처리를 먼저 하게 됩니다. 그러한 처리를 '서비스 루틴이라고 하며 일반적으로 OS가 이를 처리합니다. 서비스 루틴이 종료가 되면 다시 CPU는 인터럽트 되었던 그 연산을 재개합니다.



인터럽트가 요청되었을 때 처리할 수 있는 방법은 2가지입니다.

 

(방법 1)

 

- 운영체제가 어떠한 종류의 인터럽트인지 확인합니다.

- 인터럽트 핸들러(Handler)를 호출해서 인터럽트를 처리합니다.

 

(방법 2)

 

- 인터럽트가 요청이 되면 인터럽트 서비스 루틴의 주소를 가리키는 포인터들로 구성된 인터럽트 벡터 테이블을 참조합니다.

- 참조된 포인터가 가리키는 인터럽트 처리 루틴을 호출해서 인터럽트를 처리합니다.



최근에는 방법 2를 채택한 운영체제가 많습니다. 인터럽트가 발생하면, OS는 하던 일에 대한 정보를 저장하고 중단합니다. 인터럽트 벡터로 제어를 옮겨 요청한 인터럽트 처리 루틴의 주소를 가리키는 포인터를 참조합니다. 포인터를 따라 이동하여 인터럽트 처리 루틴을 완료한 뒤에 다시 하던 일로 돌아갑니다.

 

인터럽트가 실행이 되고 있을 때 다른 인터럽트가 또 발생하는 경우에는 다른 인터럽트들을 대기시킵니다. 대기를 시키는 이유는 데이터 소실을 막기 위함입니다. 또한 인터럽트 사이에는 우선순위가 있어서 우선순위에 따라서 인터럽트 처리 순서를 조절합니다.

728x90
반응형

Comment +0

728x90
반응형

운영체제 강좌 1- 운영체제의 개요
 
운영체제 : 컴퓨터의 사용자와 하드웨어 사이에서 중개자 역할을 해주는 프로그램


운영체제의 역사
 
   수작업 단일 프로그래밍 다중 프로그래밍 & 시분할 모바일 OS & 실시간 시스템
 
운영체제의 목적
 
   1. 사용자가 컴퓨터를 편리하게 사용하는 것
   2. 컴퓨터 하드웨어가 효율적으로 사용되는 것
 
컴퓨터 시스템의 처리 구조

 

 

 

   운영체제는 사용자와 하드웨어간의 전반적인 상호작용을 하면서 컴퓨터가 실행되는 동안 항상 수행되는 프로그램입니다.
     
  ※ 사용자 관점에서 볼 때 좋은 운영체제란 사용의 용이성에 중점을 두고 자원 이용의 극대화에 중점을 둔 운영체제라고 할 수 있습니다. 따라서 운영체제란 PC, 대형 컴퓨터 등을 가리지 않고 항상 사용자를 편리하게 해주는 하나의 프로그램이라고 할 수 있습니다.
     
  ※ 시스템의 관점에서 볼 때 좋은 운영체제란 하드웨어와 친밀하면서 자원을 효율적으로 할당해주는 자원 할당자 역할을 하는 운영체제입니다. 컴퓨터를 효율적이면서 공정하게 운영할 수 있도록 요청에 따라 적절한 자원을 할당해주며 사용자의 입/출력을 제어합니다.

728x90
반응형

Comment +0