Transcript c9d293dc.
파일시스템 소개 파일시스템의 정의 저장장치 내에서 데이터를 읽고 쓰기 위해 미리 정해진 약 속 특정 OS에서 지원하는 파일시스템은 여러 개 존재 • 예) MS-Windows : FAT32, NTFS • a.txt : 겉모습은 같으나 내부 파일저장 방식이 틀림 • NTFS를 선택하면 무엇이 달라지나? 정해진 약속 • 예) RPG 게임환경 저장 방법 캐릭터의 종류(1), 레벨(1), HP(1), MP(1), 현재위치(4), 돈(4) 부산외대 EmbeddedIT 1 • 이 파일을 읽어 오는 방법은? OS에서 파일을 쓰고 읽는 방법도 약속으로 정해져 있음 부산외대 EmbeddedIT 2 파일시스템 선택의 필요성 왜 다양한 파일시스템이 존재하는가? 호환 • USB 메모리 : 변환이 필요한 경우 효율성 저하 보안 • USB 메모리 : 변환이 필요없을 경우 보안에 취약 성능 • MP3P : 기존 파일시스템 복수 지원시 호환, 보안 성능 우수 • 성능은 전용 독자 파일시스템보다 저하 애플리케이션 레벨의 속성 • 파일 및 폴더에 대한 추가 정보 기록 여부 – 예) 소유자, 접근 권한 • 추가 정보를 많이 기록할 수록 관리복잡, 성능 저하 • 추가 정보를 많이 기록할 수록 기능 우수 부산외대 EmbeddedIT 3 파일시스템 분류 일반적인 파일시스템(FS) FAT(File Allocation Table) FS • • • • Microsoft사 초기 FS(DOS) FAT, FAT16, FAT32로 확장 간단하지만 제약사항이 많음 가장 널리 사용 HPFS(High Performance FS) • IBM OS/2 FS, NTFS가 나오게 된 동기 부여 • 대용량, 안정성, 보안 기능 지원 NTFS(New Technology FS) • MS-Windows Server용 FS, 일반 MS-Windows로 확산 • 대용량, 안정성, 보안, 기타 부가기능 지원 • Source가 완전히 공개되지 않아 완벽한 호환 어려움 부산외대 EmbeddedIT 4 UFS(Unix FS) • 시초 : Berkeley FFS(Fast FS), IBM Bell Unix V7 • HP-UX, Apple OS X, Sun Solaris, Linux Ext2로 응용됨 • 대용량, 안정성, 보안, 기타 신뢰성 높은 FS Ext2(Second Extended) FS • Linux FS • UFS에서 필요없는 기능을 제거하고 구조를 간소화 함 • Ext3로 확장 플래시 파일시스템 예전 : 고가, 소용량 • FS 사용하지 않고 직접 물리 주소로 접근 최근 : 전용 FS 사용, 까다로움 • Read : byte 단위로 자유로움 • Write/Erase : 블록 단위로 해야 함, 횟수 제한(몇만번) 부산외대 EmbeddedIT 5 CD-ROM 파일시스템 1988년 IOS(International Organization for Standardization)의 ISO 9660 표준 FS 폴더 기반 FS로 표준 I/F 제공으로 다양한 OS에서 호환 ISO 9660 Level 1 : 파일이름 Dos와 같이 8+3 구조 ISO 9660 Level 2 : 64Byte까지 ISO 9660 Level 3 : 128Byte까지 ISO 9660 MS- Joliet : 유니코드 파일이름 지원 네트워크 파일시스템(NFS) 1984년 Sun Micorsystems에서 개발 원격지 FS를 Local에 연결하여 사용가능 부산외대 EmbeddedIT 6 가상 파일시스템 하나의 OS가 여러 파일 시스템에 접근할 수 있도록 지원하 는 FS SunOS 2.0에서 UFS와 NFS 동시 지원을 위해 처음 도입됨 응용프로그램 시스템콜 가상 FS(OS) 등록된 FS시스템콜백 함수호출 FS(FAT32, NTFS, Ext2 등) 초기화 : FS 제어함수 등록 볼륨 및 파티션 물리장치(HDD 등) 부산외대 EmbeddedIT 7 파일시스템 요소들 기본 요소 클러스터(Cluster) • • • • • OS가 읽고 쓰는 최소크기 고정되어 있거나 FS 생성시(Format시) 결정함 크기에 따라 FS 성능에 큰 영향을 미침 예) 1KByte V.S. 4KByte 공간 낭비 V.S. 입출력 효율 부산외대 EmbeddedIT 8 기본 요소 파일 • (메타데이터 + 파일 데이터) 조합으로 FS에 저장됨 • 메타데이터 : 파일명, 읽기속성, 날짜, 파일데이터위치 등 • 파일데이터 : 실제 파일의 내용 – FAT : 연결 리스트 구조 사용 – NTFS : B-Tree 구조 사용 디렉토리(Directory) • 현존하는 모든 FS가 사용하는 개념 • 파일들을 Tree 구조로 그룹화 • FS에서 파일과 디렉토리는 차이가 없음 부산외대 EmbeddedIT 9 부산외대 EmbeddedIT 10 부가요소 소유권 • NTFS, UFS, Ext2 동기화 • Multi-Tasking 기능 지원 • 동시에 두 프로그램이 한 파일을 수정하는 경우 동기화 필요 일관성 체크와 저널링 • 시스템 Crash 상황 대비 지원 • 리부팅시 안전한 상태로 복구하는 기능 • 저널링 : 데이터베이스의 복구 기능을 FS에 도입한 것 보안 • 접근 권한 제어 지원 부산외대 EmbeddedIT 11 저장장치 소개 저장장치 소개 메모리 • Storage, ROM, DRAM, SRAM, Register • 속도, 용량, 가격 비교? 부산외대 EmbeddedIT 12 저장장치 분류 자기방식 • • • • 천공카드 다음으로 오래된 방식 다양한 매체의 표면에 마그네틱을 발라 전기장으로 기록 자기와 충격에 약하고 신뢰성 높지 않음 테이프, 플로피 디스크, 하드 디스크 등 전기방식 • 전기적으로 반도체 소자에 기록 • 안정적이나 고가 소용량 • PROM, EPROM, EEPROM, FLASH-ROM 부산외대 EmbeddedIT 13 저장장치 분류 광학방식 • • • • 플라스틱판에 특정 염료를 도포하여 레이저로 파서 기록 레이저로 빛을 쏘아 반사율로 읽음 저가, 대용량, 충격과 습기에 강하나 느림 전용 ISO 9660 FS 사용 하드디스크(HDD) 분석 HDD 소개 • 최근 초소형 HDD 등장으로 임베디드 분야(MP3, PMP등)에서 활 용되기 시작 HDD 주요 구성 요소 • 그림 1-13 • 트랙, 섹터, 실린더, 헤드 – 실린더 : 헤드가 한번에 읽을 수 있는 트랙 집합 부산외대 EmbeddedIT 14 부산외대 EmbeddedIT 15 하드디스크(HDD) 분석 HDD 인터페이스(I/F) • 컴퓨터와 저장장치를 연결하는 버스의 규격 • ATA(또는 IDE) : 1980년대 IDE사에서 만든 Advanced Technology Attachment I/F – ATA-1 ~ ATA-7, S-ATA로 발전 • SCSI(Small Computer System Interface) : HDD를 직렬방식으 로 연결하는 I/F • S-ATA(Serial ATA, ATA-8) : 직렬 방식의 ATA I/F • PIO(Programmed I/O) : CPU가 HDD에 직접 접근 • DMA(Dynamic Memory Access) : 전용 CPU가 HDD 담당 • 전송속도 비교 – 표 1-3 참조 부산외대 EmbeddedIT 16 하드디스크(HDD) 분석 ATA 레지스터 • 표 1-4 : 컨트롤 블록 어드레스 • 표 1-5 : 커맨트 블록 어드레스 CHS Address와 LBA Address • CHS 모드 : Cylinder(Track), Head, Sector 주소로 HDD 저장소 주소지정(Addressing) – 8GB 한계 : 1024C*256H*64S*512Byte (24bit 사용) • LBA모드 : Logical Block Area, 물리 주소를 논리적 번지로 대 응시켜 주소지정 – 128Gb 한계 : 228*512Byte – 현재 248bit LBA 지원 부산외대 EmbeddedIT 17 휴대용 저장장치 휴대용 저장장치 USB 내용을 LBA 모드로 읽어 화면에 출력 MS-Windows는 가상 FS를 통해 USB에 접근 • 일반 HDD로 인식함 부산외대 EmbeddedIT 18 부산외대 EmbeddedIT 19