1/15 16 기 장영일 Ext File System. 2/15 처음에 Minix 가 사용되었다 ( 제약사항 ) 최대로 저장할 수 있는 파일의 크기 – 64M : 16bit 정수로 블록 주소 지정 -> 1024( 블록 기본 사이즈 ) * 65536 (2^16) = 64M.

Slides:



Advertisements
Similar presentations
1 SQL 정보보호학과 양 계 탁. 2 SQL 개요 SQL 개요 3 Database u 연관된 데이터들의 집합 u 데이터를 쉽게 관리하는 프로그램 종 류종 류 관계형 데이터베이스 객체지향형 데이터베이스 계층형 데이터베이스 네트워크 데이터베이스 데이터를 2 차원적인 테.
Advertisements

KB 스타 경제 · 금융교실 나는 용돈관리왕. KB 스타 경제 · 금융교실 나는 용돈관리왕 선생님은 ? KB 2  이름 : 김국민  별명 : 스타 왕자  소속 : KB 국민은행 소비자 보호담 당 ( 간단한 자기 소개 : 교육 대상이 흥미 를 가질 수 있는 이미지와.
Neriff 8 주차 세미나 강원대학교 컴퓨터과학과 최봉철. FAT( File Allocation Table ) FAT ▫ 빌게이츠가 자사 제품인 BASIC 에서 플로피 디스크 를 관리하는데 이용하기 위해 구현 ▫QDOS 라는 운영체제에서 처음으로 PC 환경에 사용 ▫FAT12,
Managing Filesystems, Swap Space, and Devices
9장. 파일시스템 A 김연주.
Linux Seminar Cahpter 10. Linux File System
MB노믹스의 실패와 미래 22조 배주환 외 5명.
2012년 12월 정기 제직회 기 도 : 김영민 집사 출 석 : 서 기 개회 선언 : 제직회장 (이태환 장로)
LAN의 구성 요소 장서진 정영환.
데이터 모델링 방법론 2003년 03월.
제 2장 컴퓨터 구조.
리눅스 커널의 이해 중에서 17장. Ext2 파일시스템 회로 및 시스템 박사과정 1학기 이창희○ 국중옥.
안드로이드 스터디 => 언어만 잘 알면 어플리케이션을 만들 수 있을 것이다!
Redhat Linux 설치 과정.
Chapter 16 백업 및 복구 Solaris 2 . ufsdump 와 ufsrestore
운 영 체 제 실 습 (리눅스 서버관리입문) 02. 리눅스 설치.
리눅스 커널의 이해 중에서 1장. 소개 이원구 네트워크 실험실.
목차 커널의 개념 및 기능 커널 포팅 램디스크.
2. Linux Installation Target Embedded System은 리눅스 환경을 사용한다. 이 장에서는 리눅스 설치부터, 각 설정의 의미들에 대해 이야기 한다.
Unix Project-Final <test character device 생성>
Linux 9.X 기초에서 활용까지 Chapter 07 프로세스 관리.
3. 데이터베이스 시스템의 구성.
Linux/UNIX Programming
+ 가상 메모리 -> 물리 메모리 Selector Offset DIR Page Segmetatation
Embedded System Porting (2)
정보(information) 데이터(data) 어떤 사물에 대한 소식이나 자료 가공된 데이터
Linux/UNIX Programming APUE (Files & Directories)
컴퓨터 시스템의 개요.
Geek-OS Project 정영진
운영체제 (Operating Systems)
4장. 컴퓨터 구조에 대한 두 번째 이야기 작성자: 윤성우.
File Management.
Chapter 10. 파일 시스템 인터페이스(File System Interface)
파일 시스템 인터페이스(File System Interface)
Computer System Architecture
헤더 파싱 ( Header Parsing ).
제10,11,12장 파일시스템 디스크 스케줄링.
문자 디바이스 드라이버 임베디드 시스템.
제10장 파일 시스템 인터페이스(File System Interface)
? SMB (Server Message Block)
“정보의 표현” 이 점 숙 컴퓨터와 인터넷 “정보의 표현” 이 점 숙
“소프트웨어의 표현” 이 점 숙 컴퓨터와 소프트웨어 “소프트웨어의 표현” 이 점 숙
망고100 보드로 놀아보자 -12 커널 디렉토리 설명
운영체제 (Operating Systems) (Memory Management Strategies)
신저작권법에 의해 한국 내에서 보호를 받는 저작물이므로 무단전제와 무단복제를 금합니다.
7장 메모리 관리 메모리 관리를 위한 메모리 할당 기법과 경영에 대해 알아본다. 단편화 현상의 원인과 해결 방법을 알아본다.
Swap 추가, fsck.
분산 파일 시스템의 구조 GFS 와 CEPH SW공학센터 융합SW공학팀 장원석 책임 연구원
Linux 9.X 기초에서 활용까지 Chapter 03 리눅스 설치.
JFS operation HP Korea / Operations JFS operation.
12장. 파일 시스템 구현.
For Linux 1.0.
알쏭달쏭 요한복음 성경퀴즈.
KB스타 경제·금융교실 은행에 가요.
CHAPTER 04 파일 설계(FiLE Design).
Chapter 12 파일 시스템 이해 Solaris1 . 파일 타입
3단원 디지털 세상 속으로 1. 0과 1의 비밀.
8. 리눅스의 내부 군자삼락 [君子三樂] 청출어람이청어람 [ 靑出於藍而靑於藍 ] Why Linux ?
제 8 장 가상 기억장치 구성 이나현.
시스템 인터페이스 Lab#6 C 쉘 프로그래밍 실습.
화 일 구 조 Chapter 3 화일의 입출력 제어.
성전기공식(안) 식 순 1. 기공미사 2. 기 공 식 3. 축 하 연 천주교 수원교구 퇴촌성당.
성공적인 입사지원서 작성법 제이비커리어 교육수석 소 은 선.
▶서류관리 프로그램 1. 로그인….2 2. 서류등록 … 서류도착 서류스티커발행
유예 X-FILE *조사자* 1301권희원 1315이예지 1317장아정 1322홍자현.
문제 한번 풀어보세요.
5.1 개요 고정 헤드 디스크 유동 헤드 디스크 드럼 플로피디스크
KB스타 경제·금융교실 화폐가 태어났어요.
가상 기억장치 (Virtual Memory)
Presentation transcript:

1/15 16 기 장영일 Ext File System

2/15 처음에 Minix 가 사용되었다 ( 제약사항 ) 최대로 저장할 수 있는 파일의 크기 – 64M : 16bit 정수로 블록 주소 지정 -> 1024( 블록 기본 사이즈 ) * (2^16) = 64M Ext ( Extended FileSystem ) Minix 의 문제점 개선 ( 여전히 문제는 있음 ) Inode 수정 불가 비어있는 블록이나 Inode 를 다루는 자료구조로 연결 리스트를 사용하여 낮은 성능을 초래 -> 정렬 불가, 노드가 흩어지는 결과 초래 Linux 의 파일 시스템

3/15 Ext 의 문제점 보완 XIA 긴 파일명 사용 가능 2GB 의 File System 이 사용 가능 Ext2 Ext 에 기반, 상당 부분 재구성 여러 가지 기능 추가 결국 Ext2 가 매우 안정적인 File System 으로 알려짐

4/15 UFS & Ext Ext 는 UFS( Unix FileSystem ) 에서 기본 개념을 가져왔다 단순한 USF 의 클론이 아니라 UFS 에서 사용 되지 않는 부분이나 구조적으로 명료하다고 생각 되지 않는 부분들은 모두 제외

5/15 Ext2 FileSystm 구조

6/15 Ext2 FileSystem Layout Block – Ext2 filesystem 에서 기본적으로 데이터를 저장 하는 단위를 나타내며, 저장장치에서 한 번의 I/O 과정에 읽어 들이는 단위 가장 마지막 블록 그룹을 제외한 모든 블록 그룹들은 같은 블록 개수를 가진다. 파일명, meta data, file data 등이 기록된다.

7/15 Block group layout OS kernel 에서는 가능하면 같은 파일에 속하는 데이터 블록은 같은 블록에 저장하려 하므로 블록 그룹은 결국 파일의 단편화를 줄일 수 있다. 블록 그룹의 개수와 크기는 디스크의 해당 파티션과 블록의 크기에 따라서 달라진다.

8/15 Block group layout 블록 그룹의 개수와 크기는 디스크의 해당 파티션과 블록의 크기에 따라서 달라진다. - block bitmap 이 표시할 수 있는 최대 블록의 개수 : 4KB 일 경우 : 8 bit * 4096 = 32, Block 이 4KB 인 경우 하나의 블록 그룹이 가질 수 있는 최대 블록 개수 : 32KB * 4KB = 128MB 개 - 예로 10GB 의 파티션에 생성되는 블록 그룹의 개수 : 10240MB / 128MB = 80 개

9/15 Super Block 주요 설정 정보들이 기록되는 영역 반드시 블록 그룹의 시작부터 1024Byte 내에 기록되어야 하면, 1024Byte 의 크기여야 한다. ( 블록 크기가 4KB 이면 3KB 는 비는 걸로 한다. 슈퍼 블록의 물리적 위치가 변경된다면 여러 가지로 신경 써야 할 부분이 늘어나므로 블록의 시작부터 1024Byte 내에 기록되어야 한다. ) 슈퍼 블록의 사본은 모든 블록 그룹들의 첫 번째 블록에 저장된다.

10/15 Super Block 슈퍼 블록에 저장되는 주요 데이터 : 1. block 의 크기 ( 1KB, 2KB, 4KB ) 2. 총 블록의 개수 3. 블록 그룹의 개수 4. Inode 의 개수 5. 그룹 내의 블록 / Inode 의 개수 Boot code 와 Super Block 사이에 1024Byte 의 예약된 영역이 있다. ( boot sector 를 위해 예약 ) 따라서 MBR 내의 파티션 테이블에서 파티션의 시작 위치를 가져온 뒤 1024Byte 의 offset 을 두어야 한다. Magic Number – 56(0x38) 번지가 0xEF53 이면 이는 슈퍼블록이다.

11/15 Group Discriptor Table 모든 블록 그룹에 대한 Descriptor 를 가짐 모든 블록 그룹들이 GDT 의 사본을 가짐 32 Byte 로 구성 주요 데이터 1. Block Bitmap 의 블록 번호 2. Inode Bitmap 의 블록 번호 3. 첫 번째 Inode Table Block 의 블록 번호 4. 그룹 안에 있는 빈 블록 수 5. 그룹 안에 있는 Inode 수 6. 그룹 안에 있는 빈 디렉토리 수

12/15 Inode 파일 객체가 저장되는 곳은 Inode 데이터 구조 Inode Table 의 위치는 GDT 에 기록되어 있다. Block Group = ( Inode – 1 ) / INODES_PER_GROUP Count of Inode Table = INODES_PER_GROUP / INODES_PER_BLOCK N 번째 Inode 가 담겨 있는 Block Group = ( n – 1 ) / INODES_PER_GROUP * INODES_PER_GROUP : super block 에 정의되어 있음 * N – 1 : 인덱스가 1 로 시작

13/15 Inode 파일시스템의 모든 파일이나 Directory 는 각기 하나의 Inode 가 할당되어 있다. Inode 의 할당 여부를 Inode Bitmap, Inode Table 로 확인한다. Inode 크기는 Super Block 의 inode structure size 항목 에 기록된 값으로 파악한다. Inode 구조체의 크기 : 128 Byte Super Block 의 inode per group 항목의 개수만큼 연속 적으로 기록되어 있으므로 Inode Table 의 전체적인 크 기를 계산해 블록 데이터 영역을 찾아간다. 파일 크기, 시간 정보, 권한 등의 내용 저장

14/15 Inode block pointers ( i_block 변수 ) 데이터 블록을 가리키는 포인터 배열 ( int 형 15 개 ) 0 ~ 11 : 직접 블록을 가리킴 ( Direct ) 12 ~ 15 : 위치 블록을 가리킴 ( Indirect ) 이중 간접 포인터인 i_block[13] 의 경우 256 * 256 만큼의 파일을 저장할 수 있다. 삼중 간접인 경우 64MB * 256 이므로 16,384(16G) 를 저장할 수 있다. 결국 12KB + 256KB + 64M + 16GB 가 블록의 크기가 1KB 일 때 Inode 에서 저장할 수 있는 파일의 크기

15/15 Data 영역 Directory 와 File 은 동일하다. 단지 Inode 의 파일 모드 플래그가 다르다. Group Descriptor 에서부터 디렉토리 엔트리를 찾아가 는 경로