Operating System
H/W에 직접적, 주도적으로 접근, 관리하는 시스템 S/W
컴퓨터 시스템의 개요
CPU
- 연산 작업 처리
- 현대 컴퓨터들은 단일 CPU가 아닌, 멀티 코어 기반의 프로세서를 탑재한다.
Memory
- 주기억 장치
- CPU 이외에 컴퓨터에서 발생하는 요청 작업처리를 위한 작업공간인 shared Memory가 있다.
=> 단일 프로세스만이 아니라 여러 프로세스가 공유해 사용한다.
다수의 device controller
- I/O device에서 발생한 요청 작업 처리하는 관리자
Bus
- 컴퓨터와 공유 메모리 사이의 접근을 제공한다.
- 통로 공간의 크기에 따라 성능에 영향을 미친다.
Interrupt
CPU가 어떤 프로그램을 수행하고 있을 때, 예외상황이 발생하게 되어 처리가 필요한 경우에
수행하던 동작을 멈추고 발생한 일을 우선 처리하는 것.
Interrupt 기반 장치 관리
- 해당 Interrupt Service Routine(Interrupt handler)으로 jump 후,
CPU의 현재 상태 레지스터들을 stack 레지스터에 대피시킨 후에 해당 루틴을 수행하도록 한다. - interrupt 수행이 끝나면 대피시킨 데이터들을 복구하고, 멈췄던 일들을 이어서 수행
Interrupt Service Routine(ISR)을 위한 전송 제어
- Interrupt 발생마다 generic routine 호출해 정보 조사하고,
맞는 handler, ISR을 찾는 것은 컴퓨터 성능에 비효율적 결과를 도출 (Slow) - ISR위치를 제공해주는 주소배열인 interrupt 배열 사용 (Fast)
Interrupted된 computation의 Resumption
- 중단된 계산을 위해 상태 정보를 저장하고, Interrupt를 처리한 후 복원한다.
- 저장된 반환 주소는 interrupt 서비스 후 프로그램 카운터(PC)에 load된다.
Storage Structure
EEPROM
- 전기신호 주면 메모리 안의 데이터 지워진다.
- 비휘발성 메모리
- Bootstrap program등을 위해 사용
- 한 번에 1byte씩, 쓰고 지우는 속도 느림, 횟수제한
Processor register
- 가장 빠른 메모리
- 메인 메모리에 프로세스 올라가면 계산해 결과 나온 것을 별도의 operand(임시 저장장소)에 저장
Main memory
- 중간에 전원 꺼지면 데이터 날아간다
- 일반적으로 DRAM의 형태
- Random access
Secondary storage (보조기억장치)
- 대용량 data등을 저장하기에 main memory는 빠르지만 비싸고, 휘발성이라 적합하지 않기 때문에 사용
- ex) HDD, SSD, Flash memory
Storage Hierarchy (계층 구조)
Caching
더 빠른 저장 시스템에 정보를 복사한다.
ex) CDN
- 네트워크 거리상 가장 가까운 서버에 접근해 데이터 받을 수 있게 해주는 네트워크
=> 데이터에 빠르게 접근 가능
Cache
CPU에서 연산작업을 위해 main memory에 올라온 프로세스의 Instruction을 가져와 레지스터에 적재 후 계산한다.
하지만 레지스터는 비싸고 용량크기가 작다.
연산에 필요한 데이터 저장위해 메인 메모리에 여러번 접근해 data 읽고 쓰는데 레지스터는 비효율적
따라서 중간에 별도의 메모리를 두고 자주 쓰는 데이터를 넣어놓고 사용하면 처리성능 좋아짐
I/O Structure (입출력 구조)
Direct Memory Access (DMA)
- 메모리 속도에 가까운 정보를 전송
- CPU의 간섭 없이 local buffer에서 메인 메모리로 직접 데이터 블록을 전송
- byte 당 하나의 인터럽트가 아닌 블록당 하나의 인터럽트가 생성된다.
- DMA를 통해 데이터를 읽고 쓰는 방법은 인터럽트를 발생시키지 않아 성능이 좋다.
'학교 > 운영체제' 카테고리의 다른 글
[운영체제] 2. 운영체제 구조 (0) | 2023.01.09 |
---|---|
[운영체제] 1. 서론 (0) | 2023.01.07 |
[OS] 3. Operating System Structures (0) | 2022.05.24 |
[OS] 2-1. 운영체제의 종류 (0) | 2022.05.24 |
[OS] 1. 운영체제 개요 (0) | 2021.09.01 |