Brain
Science
root
/
학습 노트
/
Study Note
/
2: 운영체제 (Operating System)
/
8. Storage And Io Systems
8. Storage And Io Systems
441. I/O 장치의 분류 - 블록 장치 (Block Device) vs 문자 장치 (Character Device)
2026-03-23
442. 블록 장치 - 하드 디스크, SSD (블록 단위 읽기/쓰기, 랜덤 액세스 가능)
2026-03-23
443. 문자 장치 - 키보드, 마우스, 직렬 포트 (스트림 단위, 순차 접근)
2026-03-23
444. 네트워크 장치 (소켓 인터페이스)
2026-03-23
445. I/O 하드웨어 인터페이스 요소 - 데이터 레지스터, 상태 레지스터, 제어 레지스터
2026-03-23
446. 포트 (Port) / 버스 (Bus) - PCIe, USB, SATA, NVMe
2026-03-23
447. 메모리 맵 I/O (Memory-mapped I/O) vs 분리된 I/O (Isolated I/O / Port I/O)
2026-03-23
448. 폴링 (Polling / Programmed I/O) - 상태 비트를 지속적으로 호스트가 읽음 (바쁜 대기)
2026-03-23
449. 인터럽트 구동 I/O (Interrupt-driven I/O) - 완료 시 장치가 CPU에 인터럽트 발생
2026-03-23
450. 직접 메모리 접근 (DMA, Direct Memory Access) - CPU 개입 없이 장치와 메모리 간 직접 데이터 전송
2026-03-23
451. 사이클 스틸링 (Cycle Stealing) - DMA 컨트롤러가 CPU의 버스 사용을 일시 중지시키고 전송
2026-03-23
452. DMA 산란-수집 (Scatter-Gather) - 불연속적 물리 메모리 블록을 한 번의 DMA로 전송
2026-03-23
453. I/O 서브시스템의 커널 서비스 - I/O 스케줄링, 버퍼링, 캐싱, 스풀링, 오류 처리
2026-03-23
454. 버퍼링 (Buffering) - 송수신자 간 데이터 전송 속도 차이, 전송 단위 차이 극복
2026-03-23
455. 이중 버퍼링 (Double Buffering)
2026-03-23
456. 캐싱 (Caching) - 자주 사용하는 데이터 복사본 유지 (속도 빠른 메모리 활용)
2026-03-23
457. 스풀링 (Spooling, Simultaneous Peripheral Operation On-Line) - 디스크를 대형 버퍼로 사용 (프린터 큐)
2026-03-23
458. 예약 및 단독 장치 접근 제어
2026-03-23
459. 블로킹 I/O (Blocking I/O) - I/O 완료 시까지 프로세스 대기
2026-03-23
460. 논블로킹 I/O (Non-blocking I/O) - 데이터가 없어도 즉시 반환 (오류/0 바이트 반환)
2026-03-23
461. 비동기 I/O (Asynchronous I/O, AIO) - I/O 요청 후 즉시 작업 진행, 완료 시 시그널/콜백 알림
2026-03-23
462. I/O 완료 포트 (IOCP, I/O Completion Port) - Windows 비동기 I/O 스케일링
2026-03-23
463. epoll / kqueue - 리눅스/BSD 다중 I/O 이벤트 통지 (고성능 소켓 서버)
2026-03-23
464. io_uring - 최신 리눅스 커널 비동기 I/O 프레임워크 (링 버퍼 기반, 제로 시스템콜 목표)
2026-03-23
465. 하드 디스크 드라이브 (HDD) 구조 - 플래터, 트랙, 실린더, 섹터, 헤드
2026-03-23
466. 논리적 블록 주소 (LBA, Logical Block Address) - 1차원 배열로 매핑
2026-03-23
467. 디스크 접근 시간 = 탐색 시간(Seek Time) + 회전 지연(Rotational Latency) + 전송 시간(Transfer Time)
2026-03-23
468. 디스크 스케줄링 (Disk Scheduling) 목적 - 탐색 시간 최소화, 처리량 극대화
2026-03-23
469. FCFS (First-Come, First-Served) 스케줄링
2026-03-23
470. SSTF (Shortest Seek Time First) - 현재 헤드 위치에서 가장 가까운 요청 처리 (기아 발생 가능)
2026-03-23
471. SCAN 스케줄링 (엘리베이터 알고리즘) - 한 방향으로 이동하며 끝까지 처리 후 역방향
2026-03-23
472. C-SCAN (Circular SCAN) - 한 방향으로만 처리하고 끝에 도달하면 시작점으로 빠르게 복귀 (대기 시간 균등화)
2026-03-23
473. LOOK 및 C-LOOK - 양 끝까지 가지 않고 마지막 요청까지만 이동 후 턴 (SCAN/C-SCAN 최적화)
2026-03-23
474. 리눅스 I/O 스케줄러 - NOOP, CFQ(Completely Fair Queuing), Deadline, BFQ
2026-03-23
475. 솔리드 스테이트 드라이브 (SSD, Solid State Drive) 구조 - NAND 플래시, 페이지(Page), 블록(Block)
2026-03-23
476. 플래시 메모리 한계 - 덮어쓰기 불가(Erase-before-write), 쓰기 횟수 제한(Wear-out)
2026-03-23
477. 가비지 컬렉션 (Garbage Collection in SSD) - 유효 페이지 복사 후 블록 전체 지우기
2026-03-23
478. FTL (Flash Translation Layer) - LBA를 플래시의 물리 주소(PBA)로 매핑하는 펌웨어
2026-03-23
479. 마모 평준화 (Wear Leveling) - 수명 연장을 위해 쓰기 작업을 전체 블록에 고르게 분산
2026-03-23
480. 쓰기 증폭 (Write Amplification) 현상
2026-03-23
481. TRIM 명령어 - OS가 삭제된 파일의 LBA를 SSD에 알려주어 GC 효율 향상
2026-03-24
482. NVMe (Non-Volatile Memory Express) - PCIe 버스 기반 고속 플래시 프로토콜 (다중/깊은 큐 지원)
2026-03-24
483. RAID (Redundant Array of Independent Disks) - 성능 향상 및 신뢰성(중복성) 확보
2026-03-24
484. RAID 0 (스트라이핑, Striping) - 블록 분산 저장, 성능 최고, 신뢰성 없음
2026-03-24
485. RAID 1 (미러링, Mirroring) - 데이터 중복 복사, 신뢰성 최고, 용량 효율 50%
2026-03-24
486. RAID 4 (블록 단위 스트라이핑 + 단일 패리티 디스크) - 병목 발생
2026-03-25
487. RAID 5 (블록 단위 스트라이핑 + 분산 패리티) - 성능/신뢰성 절충, 가장 대중적, 디스크 1개 고장 허용
2026-03-25
488. RAID 6 (분산 이중 패리티) - 디스크 2개 고장 허용
2026-03-25
489. RAID 10 (1+0) / RAID 01 (0+1) 혼합형 구조
2026-03-25
490. 소프트웨어 RAID vs 하드웨어 RAID (컨트롤러 캐시/BBU 장착)
2026-03-25
491. 핫 스페어 (Hot Spare) 디스크 자동 재구성
2026-03-25
492. NAS (Network Attached Storage) - 파일 단위 접근 (NFS, SMB/CIFS)
2026-03-25
493. SAN (Storage Area Network) - 블록 단위 전용 네트워크 접근 (Fibre Channel, iSCSI)
2026-03-25
494. 오브젝트 스토리지 (Object Storage) - 플랫 네임스페이스, REST API 기반 클라우드 (Amazon S3)
2026-03-25
495. 장치 드라이버 (Device Driver) 커널 인터페이스 구현
2026-03-25
496. 인터럽트 공유 (Interrupt Sharing) 및 MSI/MSI-X (Message Signaled Interrupts)
2026-03-25
497. SR-IOV (Single Root I/O Virtualization) - 가상 머신에 물리적 PCIe 장치 직접 매핑
2026-03-25
498. 컴퓨테이셔널 스토리지 (Computational Storage / Smart SSD) - I/O 노드 연산 오프로딩
2026-03-25
499. NVMe over Fabrics (NVMe-oF) - RDMA 기반 네트워크 SSD 고속 연결 프로토콜
2026-03-25
500. 이중 경로 (Multipath) I/O 페일오버 및 로드밸런싱 구조
2026-03-25