210 likes | 634 Views
파일시스템 소개. 파일시스템의 정의 저장장치 내에서 데이터를 읽고 쓰기 위해 미리 정해진 약속 특정 OS 에서 지원하는 파일시스템은 여러 개 존재 예 ) MS-Windows : FAT32, NTFS a.txt : 겉모습은 같으나 내부 파일저장 방식이 틀림 NTFS 를 선택하면 무엇이 달라지나 ? 정해진 약속 예 ) RPG 게임환경 저장 방법. 캐릭터의 종류 (1), 레벨 (1), HP(1), MP(1), 현재위치 (4), 돈 (4). 이 파일을 읽어 오는 방법은 ?
E N D
파일시스템 소개 • 파일시스템의 정의 • 저장장치 내에서 데이터를 읽고 쓰기 위해 미리 정해진 약속 • 특정 OS에서 지원하는 파일시스템은 여러 개 존재 • 예) MS-Windows : FAT32, NTFS • a.txt : 겉모습은 같으나 내부 파일저장 방식이 틀림 • NTFS를 선택하면 무엇이 달라지나? • 정해진 약속 • 예) RPG 게임환경 저장 방법 • 캐릭터의종류(1), 레벨(1), HP(1), MP(1), 현재위치(4), 돈(4)
이 파일을 읽어 오는 방법은? • OS에서 파일을 쓰고 읽는 방법도 약속으로 정해져 있음
파일시스템 선택의 필요성 • 왜 다양한 파일시스템이 존재하는가? • 호환 • USB 메모리 : 변환이 필요한 경우 효율성 저하 • 보안 • USB 메모리 : 변환이 필요없을 경우 보안에 취약 • 성능 • MP3P : 기존 파일시스템 복수 지원시 호환, 보안 성능 우수 • 성능은 전용 독자 파일시스템보다 저하 • 애플리케이션 레벨의 속성 • 파일 및 폴더에 대한 추가 정보 기록 여부 • 예) 소유자, 접근 권한 • 추가 정보를 많이 기록할 수록 관리복잡, 성능 저하 • 추가 정보를 많이 기록할 수록 기능 우수
파일시스템 분류 • 일반적인 파일시스템(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가 완전히 공개되지 않아 완벽한 호환 어려움
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 • LinuxFS • UFS에서 필요없는 기능을 제거하고 구조를 간소화 함 • Ext3로 확장 • 플래시 파일시스템 • 예전 : 고가, 소용량 • FS 사용하지 않고 직접 물리 주소로 접근 • 최근 : 전용 FS 사용, 까다로움 • Read : byte 단위로 자유로움 • Write/Erase : 블록 단위로 해야 함, 횟수 제한(몇만번)
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에 연결하여 사용가능
가상 파일시스템 • 하나의 OS가 여러 파일 시스템에 접근할 수 있도록 지원하는 FS • SunOS 2.0에서 UFS와 NFS 동시 지원을 위해 처음 도입됨 응용프로그램 시스템콜 가상 FS(OS) 등록된 FS시스템콜백 함수호출 초기화 : FS 제어함수 등록 FS(FAT32, NTFS, Ext2 등) 볼륨 및 파티션 물리장치(HDD 등)
파일시스템 요소들 • 기본 요소 • 클러스터(Cluster) • OS가 읽고 쓰는 최소크기 • 고정되어 있거나 FS 생성시(Format시) 결정함 • 크기에 따라 FS 성능에 큰 영향을 미침 • 예) 1KByte V.S. 4KByte • 공간 낭비 V.S. 입출력 효율
기본 요소 • 파일 • (메타데이터 + 파일 데이터) 조합으로 FS에 저장됨 • 메타데이터 : 파일명, 읽기속성, 날짜, 파일데이터위치 등 • 파일데이터 : 실제 파일의 내용 • FAT : 연결 리스트 구조 사용 • NTFS : B-Tree 구조 사용 • 디렉토리(Directory) • 현존하는모든 FS가 사용하는 개념 • 파일들을 Tree 구조로 그룹화 • FS에서 파일과 디렉토리는 차이가 없음
부가요소 • 소유권 • NTFS, UFS, Ext2 • 동기화 • Multi-Tasking 기능 지원 • 동시에 두 프로그램이 한 파일을 수정하는 경우 동기화 필요 • 일관성 체크와 저널링 • 시스템 Crash 상황 대비 지원 • 리부팅시 안전한 상태로 복구하는 기능 • 저널링 : 데이터베이스의복구 기능을 FS에 도입한 것 • 보안 • 접근 권한 제어 지원
저장장치 소개 • 저장장치 소개 • 메모리 • Storage, ROM, DRAM, SRAM, Register • 속도, 용량, 가격 비교?
저장장치 분류 • 자기방식 • 천공카드 다음으로 오래된 방식 • 다양한 매체의 표면에 마그네틱을 발라 전기장으로 기록 • 자기와 충격에 약하고 신뢰성 높지 않음 • 테이프, 플로피 디스크, 하드 디스크 등 • 전기방식 • 전기적으로 반도체 소자에 기록 • 안정적이나 고가 소용량 • PROM, EPROM, EEPROM, FLASH-ROM
저장장치 분류 • 광학방식 • 플라스틱판에 특정 염료를 도포하여 레이저로 파서 기록 • 레이저로 빛을 쏘아 반사율로 읽음 • 저가, 대용량, 충격과 습기에 강하나 느림 • 전용 ISO 9660 FS 사용 • 하드디스크(HDD) 분석 • HDD 소개 • 최근 초소형 HDD 등장으로 임베디드 분야(MP3, PMP등)에서 활용되기 시작 • HDD 주요 구성 요소 • 그림 1-13 • 트랙, 섹터, 실린더, 헤드 • 실린더 : 헤드가 한번에 읽을 수 있는 트랙 집합
하드디스크(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 참조
하드디스크(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 지원
휴대용 저장장치 • 휴대용 저장장치 • USB 내용을 LBA 모드로 읽어 화면에 출력 • MS-Windows는 가상 FS를 통해 USB에 접근 • 일반 HDD로 인식함