ggoggo
운영체제 : Ch 1.2 Overview of Computer System Structure 본문
Computer System Organization
- Computer System Operation
- 공유 메모리에 대한 액세스를 제공하는 공통 버스를 통해 하나 이상의 CPU, device controller 연결
- 메모리 사이클을 위해 경합하는 CPU 및 디바이스의 동시 실행
Computer-System Operation
- I/O 장치와 CPU를 동시에 실행할 수 있다
- 각 device controller는 특정 장치 유형을 담당
- 각 device controller에는 로컬 버퍼 존재
- 각 device controller 유형에는 이를 관리할 운영 체제 device driver가 있다
- CPU가 메인 메모리에서 로컬 버퍼로 데이터를 이동
- device controller가 CPU에 인터럽트를 유발하여 작업을 완료했음을 알린다.
Common Functions of Interrupts
- Interrupt는 일반적으로 모든 서비스 루틴의 주소를 포함하는 Interrupt 벡터를 통해 인터럽트 서비스 루틴으로 제어를 전송한다.
- 인터럽트 아키텍처는 인터럽트된 명령의 주소를 저장해야한다.
- trap 또는 exception는 오류 또는 사용자 요청에 이해 발생한 소프트웨어 생성 인터럽트이다.
- >운영체제는 인터럽트 기반이다!!
Interrupt Handling
- 운영체제는 registers와 program counter를 저장하여 CPU의 상태를 유지한다.
- 발생한 인터럽트 유형을 결정한다.
- 개별 코드 세그먼트(ISR1, ISR2,...)에 따라 각 인터럽트 유형에 대해 취해야 할 조치가 결정된다.
"
CPU의 현재 상태를 저장(registor, program counter)하여 스택에 쌓기
-> jump to ISR
-> 실행 후 작업 완료 알림
-> 다시 스택으로 돌아가 CPU 그 전 상태로 복귀
"
I/O Structure
- I/O 시작 후 I/O 완료 시에만 제어가 사용자 프로그램으로 돌아간다.
- Wait instruction은 다음 인터럽트가 발생할 때까지 CPU를 유휴 상태로 유지시킨다.
- 대기 루프(메모리 엑세스 경합)
- 한번에 최대 하나의 I/O요청이 처리되지 않고 동시에 처리되지 않음
- I/O가 시작되면 I/O 완료를 기다리지 않고 제어가 사용자 프로그램으로 돌아간다. => 더 효율적인 방식!!
- System call : 사용자가 I/O 완료를 기다릴 수 있도록 OS에 요청
- Device-Status table 에는 유형, 주소 및 상태를 나타내는 각 I/O장치의 항목이 포함된다.
'3-1 > 컴퓨터구조 및 운영체제' 카테고리의 다른 글
운영체제 : Ch 1.1 Operation System (0) | 2022.06.11 |
---|---|
운영체제 : Ch 1.3 Storage Management (0) | 2022.06.10 |
5.4 캐시 매핑 방식 (0) | 2022.05.29 |
5.3 캐시메모리 (0) | 2022.05.28 |
5.2 메모리 계층구조 (0) | 2022.05.12 |