-
컴퓨터 시스템의 구성운영체제/서론 2018. 2. 3. 09:45
컴퓨터 시스템은 공유 메모리에 접근 가능한 공통 버스에 연결된 하나 이상의 CPU와 여러 개의 장치 제어기들로 구성된다.
CPU와 장치 제어기는 메모리 사이클을 얻기 위하여 경쟁하면서 병행 수행된다.
부트스트랩 프로그램
컴퓨터가 구동을 시작하기 위해 수행할 초기 프로그램
ROM 이나 EEPROM에 저장되고 펌웨어라고 불린다.
시스템의 모든 사항을 초기화 하고 (레지스터, 장치 제어기, 메모리 내용)
운영체제의 커널을 찾아 메모리에 적재 한다.
인터럽트
일부 서비스들은 커널이 아닌 시스템 프로그램에 의해 제공되며
이들은 부트시 메모리에 적재되어 커널이 수행되는 동안 계속 수행되는
시스템 프로세스나 시스템 디먼이 된다.
이들은 무슨 사건이 발생하기를 기다리고,
사건이 발생하면 하드웨어나 소프트웨어에 의해 발생된 인터럽트에 의해 신호가 보내 진다.
하드웨어는 어느 순간이든 시스템 버스를 통하여 CPU에 신호를 보내 인터럽트를 발생시킬 수 있다.
CPU에 인터럽트 신호가 들어오면 실행 중인 작업을 멈추고 인터럽트 서비스 루틴으로 이동하여 실행된다.
이동하기 전 실행 중이던 작업 주소를 저장하여 루틴이 종료할 경우 원래 하던 작업으로 복귀한다.
인터럽트 처리 중 새롭게 요청되는 인터럽트는 인터럽트 우선 순위에 따라 승인이 거부될 수 있다.
사용자 요청으로 소프트웨어가 생성한 인터럽트는 트랩, 예외처리 라고 한다.
대부분의 운영체제는 이러한 인터럽트 기반으로 구동된다.
저장 장치 구조
프로그램을 수행하려면 프로그램이 메모리에 있어야 한다.
모든 프로그램을 메모리에 영구히 존재하기를 원하지만 가격, 휘발성 때문에 불가능하다.
이러한 이유로 저장 장치는 계층으로 구성된다. (속도, 비용, 휘발성)
보조 저장 장치에 저장되어 있는 프로그램을 사용하기 위해서는
주 기억 장치에 캐싱해주는 작업이 필요하다.
캐싱
더 빠른 저장 장치로 정보를 복사 하는 것
주 기억 장치는 보조 저장 장치를 캐싱 한다.
주 기억 장치
CPU가 직접 접근 가능한 유일한 대량의 저장 장치
주로 DRAM으로 구현하고 임의 접근 방식
일반적으로 휘발성
보조 기억 장치
대용량의 비 휘발성 저장 장치로 주 메모리를 보조해준다.
입출력 구조
시스템의 신뢰성과 성능에 입출력이 미치는 중요성과 장치들의 다양한 특성 때문에
운영체제의 많은 부분들이 입 출력을 관리하는데 할애된다.
컴퓨터 시스템은 공통 버스에 의해 연결된 여러 개의 장치 제어기와 CPU들로 구성된다.
각 장치 제어기는 특정 타입의 장치를 담당한다.
장치 제어기는 로컬 버퍼와 특수 목적용 레지스터를 포함하고 있다.
자신이 제어하는 주변 장치와 로컬 버퍼 사이의 데이터 전송을 담당한다.
통상적으로 운영체제는 각 장치 제어기마다 디바이스 드라이버를 가지고 있다.
디바이스 드라이버는 장치 제어기의 동작을 이해하고
장치에 대한 일관된 인터페이스를 제공한다.
디바이스 드라이버는 인터럽트 방식으로 구현될 경우 대량의 데이터 전송 시에는
오버헤드가 발생하게 된다.
이 문제를 해결하기 위해 직접 메모리 접근이 가능한 장치가 사용된다.
댓글