Upload
charissa-rivera
View
86
Download
6
Embed Size (px)
DESCRIPTION
빌게이츠가 만든 FAT 을 공부하자 !!!. 정말 빌게이츠가 만든것 맞아 ??. 그럼 FAT 이 뭐야 ?????. File Allocation Table 의 FAT 이라는것 !. 뚱뚱한 파일 시스템 ???. 아니라는것 !!!. 그럼 FAT 은 어떻게 생겨먹었는데 !??. 링크드 리스트 형태로 데이터를 관리하는 파일 시스템 초간단 파일 시스템 !!!!!!!!!!!!!!! 이라는것 !!!. 빌 ~~~ 당신은 천재 !!~~ 너무 간단해 !!!. - PowerPoint PPT Presentation
Citation preview
2 3 t h K o r e a O p e r a t i n g S y s t e m S e m e n a r
빌게이츠가 만든
FAT 을 공부하자 !!!
2 3 t h K o r e a O p e r a t i n g S y s t e m S e m e n a r
정말 빌게이츠가 만든것 맞아 ??
2 3 t h K o r e a O p e r a t i n g S y s t e m S e m e n a r
그럼 FAT 이 뭐야 ?????
뚱뚱한파일 시스템 ???아니라는것 !!!
File Allocation
Table의 FAT 이라는것 !
2 3 t h K o r e a O p e r a t i n g S y s t e m S e m e n a r
그럼 FAT 은 어떻게 생겨먹었는데 !??링크드 리스트 형태로
데이터를 관리하는 파일 시스템
초간단 파일 시스템 !!!!!!!!!!!!!!!
이라는것 !!!
빌 ~~~당신은 천재 !!~~너무 간단해 !!!
2 3 t h K o r e a O p e r a t i n g S y s t e m S e m e n a r
링크드 리스트 구조 아시죠 ????꼬리에 꼬리를 무는 자료구조 !!!
2 3 t h K o r e a O p e r a t i n g S y s t e m S e m e n a r
FAT 파일 시스템의 형태를 먼저보자 !!!FAT12 TABLE 1 섹터 9 개
FAT12 TABLE 2 섹터 9 개
Root Directory Entry 섹터 14개
Data Area 클러스터 단위
이렇게 생겨먹었다 !!!
2 3 t h K o r e a O p e r a t i n g S y s t e m S e m e n a r
“FAT 테이블”은 뭐죠 ???
FAT12 TABLE 1 섹터 9 개
FAT12 TABLE 2 섹터 9 개링크드 리스트 정보가 저장된어 있는장부다 !!!
2 3 t h K o r e a O p e r a t i n g S y s t e m S e m e n a r
그럼 FAT 장부는 어떻게 생겼어 ???
FAT12 TABLE 1 섹터 9 개클러스터번호 클러스터번호클러스터번호 클러스터번호클러스터번호 클러스터번호클러스터번호 클러스터번호클러스터번호 클러스터번호클러스터번호 클러스터번호클러스터번호 클러스터번호
2 3 t h K o r e a O p e r a t i n g S y s t e m S e m e n a r
그럼“ Root 디렉토리 엔트리”는 뭐죠 ???
이안에 파일 4개에대해서 적혀있다 !!!!!그런데 처음 시작번호는여기 없다 ..디렉토리장부( 테이블 ) 에 있다 !!1
2 3 t h K o r e a O p e r a t i n g S y s t e m S e m e n a r
파일을 뽑아보자 !!!!!!
그런데 이곳엔 처음 시작 클러스터 번호는 없다 . 어디있을까 ?
2 3 t h K o r e a O p e r a t i n g S y s t e m S e m e n a r
FAT12 FAT16 FAT32 의 차이점은 ????클러스터번
호클러스터번
호
크기차이다 !!FAT12: 12 비트 , FAT16:16 비트 , FAT32 : 32 비트
클러스터번호
클러스터번호클러스터번
호클러스터번
호클러스터번호
클러스터번호클러스터번
호클러스터번
호클러스터번호
클러스터번호클러스터번
호클러스터번
호
2 3 t h K o r e a O p e r a t i n g S y s t e m S e m e n a r
FAT 테이블에 어떤값들이 저장되나 ???
FAT12 FAT16 FAT32
0x000 0x0000 0x0000000 Free Cluster
0x001 0x0001 0x0000001 Reserved Cluster
0x002 - 0xFEF
0x0002 - 0xF-FEF
0x0000002 – 0xFFFF-FEF
Used cluster;value points tonext cluster
0xFF0 - 0xFF6
0xFFF0 - 0xFFF6 0xFFFFFF0 – 0xFFFFFF6 Reserved values
0xFF7 0xFFF7 0xFFFFFF7 Bad cluster
0xFF8 - 0xFFF
0xFFF8 - 0xFFFF 0xFFFFFF8 – 0xFFFFFFF Last cluster in file
2 3 t h K o r e a O p e r a t i n g S y s t e m S e m e n a r
그럼“ Root 디렉토리 엔트리”는 뭐죠 ???
Root Directory Entry 섹터 14개 그렇다
Dir 할때보여주는“ 파일목록”이 저장된 이것도 장부다 !!!
2 3 t h K o r e a O p e r a t i n g S y s t e m S e m e n a r
그럼 루트 디렉토리가 어떻게 생겼는지 확인해보자 .!!!
파일이름 8byte확장자3byte
속성1byte
예약영역
1byte
ZERO3 BYTE
ZERO6 BYTE
TIME2
BYTE
DATE2
BYTE
FAT포인터
2 BYTE
SIZE4 BYTE
2 3 t h K o r e a O p e r a t i n g S y s t e m S e m e n a r
2 3 t h K o r e a O p e r a t i n g S y s t e m S e m e n a r
CHOBITS.BIN 을 읽어보자 !!!!!!
1.디렉토리 엔트리에 ..’CHOBITS.BIN’ 가
있는지 뒤진다 !!!!2. 있으면…시작 클러스터번호을 알아낸다 .3. 해당 클러스터을 읽어낸다 !!!!!4. 이제 이전 클러스터번호에 해당하는
FAT 테이블에 가서 값을 읽어본다 . 이값이
‘ FF8~FFF’ 가 아니며 3 번을 반복한ㄷ .
2 3 t h K o r e a O p e r a t i n g S y s t e m S e m e n a r
이제 소스를 봐보자 !!!!
1.디렉토리 엔트리에 ..’CHOBITS.BIN’ 가
있는지 뒤진다 !!!!
2 3 t h K o r e a O p e r a t i n g S y s t e m S e m e n a r
2. 있으면…시작 클러스터번호을 알아낸다 .
2 3 t h K o r e a O p e r a t i n g S y s t e m S e m e n a r
3. 해당 클러스터을 읽어낸다 !!!!!
2 3 t h K o r e a O p e r a t i n g S y s t e m S e m e n a r
3. 해당 클러스터을 읽어낸다 !!!!!
2 3 t h K o r e a O p e r a t i n g S y s t e m S e m e n a r
Int 13h 는 뭐죠 ?????
2 3 t h K o r e a O p e r a t i n g S y s t e m S e m e n a r
섹터 번호에서 트랙번호해드번호를 어떻게 알아내요 ?
2 3 t h K o r e a O p e r a t i n g S y s t e m S e m e n a r
클러스터는 뭐단말인가 ??
2 3 t h K o r e a O p e r a t i n g S y s t e m S e m e n a r
섹터 번호에서 트랙번호해드번호를 어떻게 알아내요 ?
트랙번호 = 섹터번호 / (Sectors per track*2)
해드번호 = 섹터번호 / Sectors per track
섹터번호 in Track = 섹터번호 % Sectors per track + 1
물리 섹터는 0 번부터가 아니고 1번부터이기 때문에 1 을 더해준다 .
2 3 t h K o r e a O p e r a t i n g S y s t e m S e m e n a r
DIR 을 구현해볼수 있습니까 ????
디렉토리 엔트리의 내용을 주면 되는것
아닌가 ?????? 쉽겠네 !!!
2 3 t h K o r e a O p e r a t i n g S y s t e m S e m e n a r
DIR 을 구현해볼수 있습니까 ????
2 3 t h K o r e a O p e r a t i n g S y s t e m S e m e n a r
2 3 t h K o r e a O p e r a t i n g S y s t e m S e m e n a r
2 3 t h K o r e a O p e r a t i n g S y s t e m S e m e n a r
FAT12 파일 시스템의 부트섹터를 까보자 !
Bios Param-eter Block
Boot Code
2 3 t h K o r e a O p e r a t i n g S y s t e m S e m e n a r
Bios Param-eter Block