728x90
Interrupt Handling
- 운영 체제는 레지스터와 프로그램 카운터를 저장하여 CPU 상태를 보존합니다.
- 발생한 인터럽트 유형을 결정합니다.
- polling
- vectored 인터럽트 시스템
- 별도의 코드 세그먼트는 각 인터럽트 유형에 대해 수행해야하는 작업을 결정합니다.
Interrupt-drive I/O Cycle
Two I/O Structures
- I/O 시작 후, I/O 완료시에만 사용자 프로그램으로 제어 복귀
- 대기 명령은 다음 인터럽트까지 CPU를 idles 상태로 만듭니다.
- Wait loop(메모리 액세스에 대한 경합)
- 한 번에 최대 하나의 I/O 요청이 처리되지 않고 동시 I/O 처리 없음
- I/O 시작 후, I/O 완료를 기다리지 않고 제어가 사용자 프로그램으로 복귀합니다.
- System call – 사용자가 I / O 완료를 기다릴 수 있도록 OS에 요청
- Device-status table에는 유형, 주소 및 상태를 나타내는 각 I/O 장치에 대한 항목이 포함됩니다.
- OS는 I/O 장치 테이블에 index를 생성하여 장치 상태를 결정하고 interrupt를 포함하도록 테이블 항목을 수정합니다.
Storage Structure
- 메인 메모리 – CPU가 직접 액세스 할 수있는 대용량 저장 매체
- 랜덤 액세스
- 일반적으로 휘발성
- 일반적으로 DRAM (Dynamic Random-Access Memory) 형태
- Secondary storage – 큰 비 휘발성 스토리지 용량을 제공하는 메인 메모리 확장
- Hard Disk Drives (HDD) – magnetic recording 물질로 덮인 단단한 금속 또는 유리 platters
- disk 표면은 논리적으로 track으로 분할되고 sectors로 세분됩니다.
- disk controller는 장치와 컴퓨터 간의 논리적 상호 작용을 결정합니다.
- Non-volatile memory (NVM) 장치 – HDD보다 빠름
- 다양한 기술
- 용량과 성능이 증가하고 가격이 하락함에 따라 인기가 높아짐
- Hard Disk Drives (HDD) – magnetic recording 물질로 덮인 단단한 금속 또는 유리 platters
Storage Definitions and Notation Review
- bit : 컴퓨터 저장의 기본 단위
- 0과 1의 두 값 중 하나를 포함 할 수 있습니다.
- byte : 8 bits, 가장 작은 편리한 stroge chunk
- 예) bit를 이동하라는 명령은 없지만 byte를 이동하라는 명령.
- Word : 주어진 컴퓨터 아키텍처의 기본 데이터 단위
- 1 byte 이상 : 64 bits 아키텍처 컴퓨터에는 64 bits (8 bytes) word가 있습니다.
- 한 번에 한 byte가 아닌 고유 한 word 크기의 많은 작업.
- 대부분의 컴퓨터 throughput과 함께 컴퓨터 stroge는 일반적으로 byte 및 bytes 모음 단위로 측정 및 조작됩니다.
- milli-3 micro-6 nano -9
- kilo 바이트 (KB) : 1,024 bytes
- mega 바이트 (MB) : 1,024^2 bytes
- giga 바이트 (GB) : 1,024^3 bytes
- tera 바이트 (TB) : 1,024^4 bytes
- peta 바이트 (PB) : 1,024^5 bytes
- 종종이 숫자를 반올림하고 mega byte는 1 million byte이고 1 giga byte는 10 billion bytes라고 말합니다.
- 네트워킹 측정은이 일반 규칙의 예외입니다. (네트워크가 한 번에 조금씩 데이터를 이동하기 때문에) bit 단위로 제공됩니다.
Storage Hierarchy
- 계층 구조로 구성된 스토리지 시스템
- 속도 speed, 비용 cost, 변동성 volatility
- Caching – 정보를 더 빠른 storage system으로 복사합니다. main memory는 secondary stroage의 cache로 볼 수 있다.
- Start up
- power-up 또는 reboot시 bootstrap program이 load 됨
- 일반적으로 ROM 또는 EPROM에 저장 (일반적으로 firmware라고 함)
- 시스템의 모든 측면을 초기화합니다.
- 운영 체제 kernel을 load하고 실행을 시작합니다.
- power-up 또는 reboot시 bootstrap program이 load 됨
- Working
Direct Memory Access Structure
- Memory 속도에 가까운 정보를 전송할 수있는 고속 I/O 장치에 사용
- 장치 controller는 CPU 개입없이 data block을 buffer storage에서 Main memory로 직접 전송합니다.
- byte 당 하나의 interrupt가 아니라 block 당 하나의 interrupt만 생성된다.
Computer-System Architecutre
- 대부분의 시스템은 단일 general-purpose의 processor를 사용합니다.
- 대부분의 시스템에는 special-purpose의 processor도 있습니다.
- Multiprocessors systems 사용 및 중요성 증가
- 병렬 시스템, 단단히 결합 된 시스템이라고도 함
- 장점은 다음과 같습니다.
- throughput 증가
- 규모의 경제
- 신뢰성 향상 – 정상적인 성능 저하 graceful degradation 또는 내결함성 fault tolerance
성능을 높이는 것은 clock을 높이는 것이다. 속도 한계 내에서 최대치를 끌어올리는 것.--> 다중 처리
- 두 가지 유형 :
- 비대칭 Asymmetric Multiprocessing – 각 processor에 특정 작업이 할당됩니다.
- 대칭 Symmetric Multiprocessing – 각 processor가 모든 작업을 수행합니다.
NUMA- 네트워크로 연결되어 있어서 속도가 다 똑같지 않다.
Clustered Systems
다중 프로세서 시스템과 유사하지만 함께 작동하는 여러 시스템
- 일반적으로 SAN (Storage Area Network)을 통해 storage 공유
- failures에서 살아남아 high-availability service 제공
- Asymmetirc clustering에는 상시 대기 모드 hot-standby mode의 시스템이 하나 있습니다.
- Symmetirc clustering에는 애플리케이션을 실행하는 여러 노드가 있으며 서로 모니터링합니다.
- 일부 clusters는 high-performance computing (HPC)용입니다.
- 병렬화를 사용하려면 응용 프로그램을 작성해야합니다.
- 일부는 작업 충돌을 피하기 위해 분산 잠금 관리자 distributed lock manger (DLM)를 사용합니다.
컴퓨터들 끼리 연결
728x90
'운영체제' 카테고리의 다른 글
운영체제 ch5. (0) | 2020.10.13 |
---|---|
1장 (0) | 2020.09.29 |
운영체제 Week 1-3 : (0) | 2020.09.28 |
운영체제 Week 1-1 : OS concept & Computer system organization (0) | 2020.09.27 |