Learning
토픽 94 / 97·비교표

파일 시스템, I/O, 시스템 구조

ext4 vs NTFS vs ZFS vs Btrfs

항목ext4NTFSZFSBtrfs
저널링있음있음CoW (저널 불필요)CoW
최대 파일16TB16TB16EB16EB
스냅샷없음없음있음있음
체크섬제한적없음전체 (자가 치유)있음
적합Linux 범용WindowsNAS/엔터프라이즈스냅샷 필요 시
권한POSIXACLACLPOSIX

FAT32 vs NTFS vs ext4

항목FAT32NTFSext4
파일 크기 제한4GB16TB16TB
파티션 크기2TB256TB1EB
저널링없음있음있음
권한/보안없음ACLPOSIX
호환성최고 (모든 OS)WindowsLinux

파일 할당: 연속 vs 연결 vs 색인

항목연속 할당연결 할당색인 할당
접근순차+직접 (빠름)순차만 (느림)순차+직접
외부 단편화있음없음없음
파일 확장어려움용이용이
사례CD-ROM (ISO 9660)FAText4/NTFS (i-node)

i-node vs MFT vs FAT

항목i-node (Unix)MFT (NTFS)FAT
메타데이터분리 (i-node 별도)통합 (MFT 엔트리)테이블 (클러스터 체인)
구조직접+간접 블록 포인터속성 기반연결 리스트
대용량삼중 간접 (4TB+)Extents제한적 (4GB)

Journaling vs Non-Journaling vs CoW

항목JournalingNon-JournalingCoW
복구저널 재생 (수 초)fsck (수 시간)원자적 (즉시)
성능이중 쓰기 (느림)단일 쓰기 (빠름)스냅샷 가능
사례ext4, XFSext2, FATBtrfs, ZFS

FUSE vs 커널 파일시스템

항목FUSE (사용자 공간)커널 파일시스템
실행 공간사용자 공간커널 공간
안전성높음 (크래시 시 커널 보호)낮음 (버그→시스템 크래시)
성능느림 (컨텍스트 스위칭)빠름
개발쉬움 (다양한 언어)어려움 (C, 커널 지식)

디스크 스케줄링 비교

알고리즘방식장점단점
FCFS도착 순서공정, 단순긴 헤드 이동
SSTF가장 가까운 요청짧은 이동기아 가능
SCAN한 방향 끝까지→반대공정, 예측 가능끝 트랙 불이익
C-SCAN한 방향만, 처음으로 점프균등한 대기빈 리턴 낭비

인터럽트 vs Trap vs Polling

항목인터럽트Trap (소프트웨어 인터럽트)Polling
유형비동기 (하드웨어)동기 (소프트웨어)동기 (CPU 반복)
발생I/O 완료, 타이머시스템 호출, 예외CPU가 상태 반복 확인
효율높음높음낮음 (CPU 낭비)

DMA vs Programmed I/O vs Interrupt-driven I/O

항목DMAProgrammed I/OInterrupt-driven I/O
CPU 개입최소 (설정/완료만)전체 (바이트마다)부분 (인터럽트 시)
속도빠름느림중간
적합대량 데이터 전송소량 데이터중간 데이터

io_uring vs epoll vs POSIX AIO

항목io_uringepollPOSIX AIO
방식링 버퍼 (최소 syscall)이벤트 기반 (syscall)비동기 (제한적)
성능최고 (SQPOLL 시 syscall 0)높음중간
지원Linux 5.1+LinuxPOSIX 표준