Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- BreadcrumbsComputer-Networking_A-Top-Down-Approach
- 네트워크
- 커널 동기화
- SQL
- 온디바이스AI
- SDK
- 트랜잭션
- 운영체제
- concurrency control
- 개발남노씨
- Extendable hashing
- 프로세스 주소 공간
- B tree 데이터삽입
- Git
- 인터럽트
- 쉬운코드
- 반효경
- 데이터베이스
- 시그널 핸들러
- 김영한
- vite
- 시스템프로그래밍
- CPU 스케줄링
- 쉬운 코드
- recoverability
- 운영체제와 정보기술의 원리
- 코딩테스트 [ ALL IN ONE ]
- 갤럭시 S24
- 백엔드
- 코딩애플
Archives
- Today
- Total
티끌모아 태산
iosystems 본문
728x90
I/O: a major bottleneck in system performance
- Demands CPU to execute device driver, kernel I/O code
- Mode switching due to interrupt
- Data copying
- Network traffic especitally stressful
Three ways to interact with hardware device
- Polling (e.g. , floppy driver)
- interrupt-driven (e.g. most device)
- DMA(Direct-memory-access)
Polling vs Interrupt
Polling은 I/O 장치의 상태를 주기적으로 확인하여 데이터를 전송하는 방식입니다. 프로세서는 I/O 장치가 데이터를 전송할 준비가 되었는지를 계속 확인하고, 준비가 되었을 때 데이터를 전송합니다. 주기적인 확인 과정은 프로세서의 시간과 자원을 낭비할 수 있으며, 효율적이지 않을 수 있습니다.
Interrupt는 I/O 장치로부터 신호(I/O devices request interrupt when need attention)를 받아 프로세서의 주의를 요청하는 방식입니다. I/O 장치는 작업이 완료되었을 때 인터럽트 신호를 발생시킵니다. 프로세서는 현재 수행 중인 작업을 중단하고, 인터럽트를 처리하기 위한 인터럽트 핸들러(Interrupt Handler)로 제어를 전달합니다. 인터럽트는 프로세서의 시간과 자원을 효율적으로 활용할 수 있으며, 빠른 응답성을 제공합니다.
DMA (Direct Memory Access)
I/O 장치와 메모리 사이에서 직접적으로 데이터를 전송하기 위해 CPU를 bypass. DMA 컨트롤러를 요구한다.
I/O Software
Application I/O interface
when the devices vary so widely, how can the OS give a convenient and uniform I/O interface to application?
- 디바이스 드라이버 (Device Drivers): 운영체제는 디바이스 드라이버를 통해 각각의 장치를 관리합니다. 디바이스 드라이버는 특정 장치와 상호작용하고, 장치의 동작을 추상화하여 운영체제와 애플리케이션 사이에서 일관된 인터페이스를 제공합니다.
728x90
'CS 지식 > 운영체제' 카테고리의 다른 글
운영체제 개요 (0) | 2023.07.21 |
---|---|
Deadlock (0) | 2023.06.21 |
Virtual Memory (0) | 2023.06.20 |