[컴퓨터 시스템 연산]
컴퓨터 시스템은 하나 이상의 CPU와 다수의 장치 제어기로 구성되며 공용버스로 연결되어있다.
장치제어기에 대해 모른다면 이전글을 참조하길 바란다.
2022.03.16 - [운영체제] - 장치제어기(Device controller)
CPU와 장치 제어기들은 공용 버스를 통해 메모리에 접근할 수 있다.
CPU와 장치 제어기는 메모리 사이클을 얻기 위해 경쟁하면서 병렬 실행될 수 있다 하지만 메모리를 동시에
엑세스 할 수는 없다.
컴퓨터를 시작하기 위해서는(전원이 켜지거나 재부팅 될 때) 실행시킬 초기프로그램(부트스트랩 프로그램)을 가지고
있어야 한다.
초기 프로그램은 CPU레지스터를 시작으로 장치 제어기, 메모리 내용 등을 포함한 시스템의 모든 측면을
초기화한다.
시작 프로그램은 운영체제를 적재하는 방법 및 실행을 시작하는 방법을 알아야 한다. 이러한 목적을 달성하기 위해선
초기 프로그램은 운영체제 커널을 찾아 메모리에 적재해야한다.
즉 부트스트램 프로그램은 시스템의 모든 구성요소를 초기화하고 운영체제 커널을 적재 시킨 후 커널을 실행 시킨다.
커널이 메모리에 적재되어야 시스템과 사용자에게 서비스를 제공할 수 있다.
[인터럽트]
커널이 메모리에 적재되어 실행되고 나면 시스템은 사건(이벤트)이 발생하기를 기다린다.
사건의 발생 여부는 하드웨어나 또는 소프트웨어로부터 발생한 인터럽트에 의해 전달 받는다
○ 하드웨어는 어느 때든지 시스템 버스를 통해 CPU에 신호를 보내 인터럽트를 발생시킬 수 있다.
○ 소프트웨어는 시스템호출 이라 불리는 특별한 연산을 실행하여 인터럽트를 발생시킬 수 있다.
○ 장치 제어기는 인터럽트를 발생시켜 CPU에게 연산이 끝났음을 알린다.
'운영체제' 카테고리의 다른 글
저장장치 구조 (0) | 2022.03.17 |
---|---|
인터럽트,인터럽트 핸들러 (0) | 2022.03.16 |
장치제어기(Device controller) (0) | 2022.03.16 |
운영체제와 커널 (0) | 2022.03.16 |
운영체제의 정의 (0) | 2022.03.16 |
댓글