CHƢƠNG 4 QUẢN LÝ FILE

1. Các khái niệm cơ bản

Giới thiệu

3

Hệ thống tập tin

 Cung cấp cơ chế

Lưu trữ truy cập dữ liệu và chương trình trên đĩa

 Đơn vị lưu trữ: tập tin (file)

Thư mục là 1 dạng tập tin đặc biệt  Một số hệ thống tập tin hiện nay:

FAT: FAT12, FAT16, FAT32 NTFS Ext2, ext Vfat …

4

Tập tin (file)

 Đơn vị thông tin của bộ nhớ ngoài. Được HĐH

ánh xạ trên ổ đĩa vật lý

 Tập hợp dữ liệu có quan hệ với nhau phục vụ

cho một chương trình nào đó

 Được quản lý bới hệ điều hành – quản lý tài

nguyên Xác định bằng tên tập tin

 Example.c

5

Tập tin – phân loại

Loại file

Ví dụ

Ý nghĩa

Thực thi

file.exe

File chứa mã lệnh dùng để load lên bộ nhớ và thực thi

File.bak

Backup file

Backup

File chứa mã nguồn gồm các dòng code, hàm,…

Nguồn

File.c

File được tổ chức thành các khối được trình liên kết hiểu

Đối tượng

File.o

File chứa tập các lệnh

Batch

File.sh File.bat

File chứa thư viện các hàm để dùng cho các chương trình

Thư viện

File.dll File.lib

File hình ảnh được mã hóa bằng các chuẩn JPEG, RLE,…

Hình ảnh

File.jpg file.bmp

Multimedia

File âm thanh, video, ..

File.mp3 File.wma File.rm

File text

File.txt

Nén

File.zip

Tài liệu

File.pdf File.doc

…..

6

Một số loại file thông dụng

Tập tin – thuộc tính

Tên tập tin

Loại tập tin

Kích thước tập tin

Nơi lưu tập tin

Thời gian

7

Thuộc tính

Tập tin – thuộc tính

 Quyền hạn sử dụng

8

Tập tin – thuộc tính

 Một số thông tin khác

9

Tập tin – cấu trúc

(a) Chuỗi các bit, byte – file mã hóa

(b) Tập các record – file danh sách sinh viên

10

(c) Dạng cây - BTree

Tập tin – thao tác

1. Tạo – create

2. Ghi dữ liệu – write

3. Đọc dữ liệu – read

5. Mở - open

4. Xóa – delete

6. Đóng – close

7. Ghi thêm dữ liệu – append

9. Đọc thuộc tính – get attr

8. Di chuyển đến 1 khối dữ liệu bất kỳ - seek

10. Gán thuộc tính – set attr

11. Đổi tên – rename

12. Sao chép – copy

13. Tìm kiếm - search

11

14. Liệt kê – list, dir

Tập tin – phương pháp truy cập

 Giả thiết: có 1 tập tin lưu danh sách sinh viên  Đặt vấn đề: cần đọc thông tin của sinh viên thứ N

Giải quyết Phƣơng pháp

Kích thƣớc mỗi record

khác nhau Phải đọc từ đầu Truy cập tuần tự

Giống nhau

Truy cập ngẫu nhiên

1. Tính vị trí logic lưu SV thứ N là p 2. Di chuyển đến vị trí p và đọc

Truy cập index

1. Tra bảng 2. Di chuyển đến vị trí p và đọc

12

Khác nhau (Có 1 bảng lưu vị trí lưu mỗi SV)

Thư mục

 Là một tập tin đặc biệt. Trong nhiều hệ thống thư mục

được coi như là tập tin

 Giúp cho việc quản lý các tập tin dễ dàng hơn.  Gom nhóm các tập tin vào trong các thư mục theo ý

nghĩa và mục đích sử dụng của người dùng.  Giúp định vị các tập tin 1 cách nhanh chóng.  Có thể chứa thư mục con.

root

bob sue

www

fun

13

3013

Thư mục - Đường dẫn (Path)

 Dùng để xác định vị trí lưu tập tin khi hệ thống

được tổ chức thành cây thư mục: Đường dẫn tuyệt đối:

 Ví dụ: “C:\Downloads\software\baigiang.doc”

Đường dẫn tương đối:

 Ví dụ: “software\baigiang.doc” nếu thư mục hiện hành là

“C:\Downloads\”  Các thư mục đặc biệt: Thư mục hiện hành (.) Thư mục cha (..)

14

2. Tổ chức thông tin trên đĩa từ

Đĩa từ - cấu trúc

sectors

read-write head

track

16

Đĩa từ - cấu trúc

Cấu trúc vật lý của đĩa từ:

Hình tròn, gồm nhiều mặt gọi là head. Mỗi mặt có nhiều đường tròn đồng tâm gọi là

track.

Trên các đường tròn (track) được chia thành các

cung tròn gọi là sector.

Tập các track đồng tâm gọi là cylinder Mỗi mặt có 1 đầu đọc để đọc ghi dữ liệu Mỗi lần đọc/ghi ít nhất 1 cung tròn (512B).

17

Đĩa từ - cấu trúc

 Vị trí của mỗi sector trong đĩa được thể hiện bằng

3 tham số : {sector, track, head}. Head được đánh số từ trên xuống bắt đầu từ 0. Track được đánh số từ ngoài vào bắt đầu từ 0. Sector được đánh số bắt đầu từ 1 theo chiều

ngược với chiều quay của đĩa.

 Mỗi lần đọc ghi N sector

18

Đĩa từ - cấu trúc

Head 0

Head 2

19

Đĩa từ - dung lượng đĩa

 Kích thước đĩa phụ thuộc vào các yếu tố sau:

Số mặt từ, head Số track trên mỗi mặt từ Số sector trên mỗi track Kích thước (byte) trên mỗi track.

20

Đĩa từ - tổ chức đĩa

 Các thông số trên đĩa mềm 1.44MB: 2 head, 80 track/head, 18 sector/track. Dung lượng đĩa = 2 head/disk *80 track/head *18 sector/track = 2880 sector/disk = 0.5 KB/sector * 2880 sector/disk = 1440 KB/disk (~ 1.4MB) Sector logic: 0 đến 2879 và tương ứng với các

sector vật lý như sau:  Sector 0..17 tương ứng với sector vật lý (1,0,0)..(18,0,0)  Sector 18..35 tương ứng với sector vật lý (1,0,1)..(18,0,1)  …  Sector 2879 tương ứng với sector vật lý (18,79,1).

21

Đĩa từ - thuật toán đọc đĩa

 First-Come-First-Serve (FCFS)  Shortest Seek Time First (SSTF)  SCAN, C-SCAN  Look, C-Look  …

22

TRUY XUAÁT ÑÓA CÖÙNG  3 yeáu toá aûnh höôûng thôøi gian truy xuaát ñóa

Seek time: thôøi gian di chuyeån ñaàu ñoïc tôùi track Latency: thôøi gian ñeå quay ñóa sao cho sector caàn ñoïc

naèm döôùi ñaàu ñoïc

Transfer time: thôøi gian ñoïc/ ghi döõ lieäu leân sector

 Thöïc teá:

Seek time >> latency time > transfer time  Toái öu seek time  ñònh thôøi truy xuaát ñóa  Toái öu latency time:

Laøm ñóa nhoû, quay nhanh hôn, löu tröõ döõ lieäu lieân quan

gaàn nhau

Choïn kích thöôùc sector, nôi löu tröõ caùc file thöôøng duøng

hôïp lyù

23

CAÙC GIAÛI THUAÄT ÑÒNH THÔØI ÑÓA

 Baøi toaùn: Coùù n yeâu caàu ñoïc ñóa ôû caùc track khaùc nhau x1, x2, … , xN vaøo caùc thôøi ñieåm töông öùng t1, t2, …, tN  phuïc vuï caùc yeâu caàu ñoù vaøo thôøi ñieåm naøo?

 Tieâu chuaån ñaùnh giaù

 Coâng baèng  Hieäu suaát cao  Thôøi gian ñaùp öùng trung bình thaáp  Döï ñoaùn ñöôïc thôøi gian phuïc vuï

 Moät soá giaûi thuaät tieâu bieåu:

 FCFS  SSTF  SCAN, N-step-SCAN, C-SCAN  CLOOK

24

First Come First Serve - FCFS

Phục vụ theo thứ tự yêu cầu Đơn giản nhưng không đáp ứng tốt dịch vụ

Các khối cần đọc (đầu đọc hiện tại tại vị trí 11):

1

5

10

15

cylinder number 25

20

scheduling queue

12

14

2

7

21

8

e

24

25

tim

8 21 7 2 14 12 24

Shortest Seek Time First - SSTF  Chọn nhu cầu gần với vị trí hiện hành nhất.  Có nhiều yêu cầu chờ ..chờ…và chờ…

1

5

10

15

cylinder number 25

20

scheduling queue

12

14

2

7

21

8

e

24

tim

26

SCAN

 Di chuyển đầu đọc về 1 phía của đĩa đến block xa

nhất sau đó di chuyển về phía kia.

 Còn gọi là thuật toán thang máy.

Các khối cần đọc (đầu đọc hiện tại tại vị trí 11): 21

e

tim

27

12 14 24 7 2 8

SCAN vs. FCFS

Sector number

1

5

10

15

20

25

e

tim

 Trong trường hợp này, SCAN tốt hơn FCFS vì hạn chế sự di chuyển của đầu đọc đĩa

e

28

tim

C-SCAN

 Nguyên tắc:

Tương tự thuật toán SCAN. Chỉ khác khi di chuyển đến 1 đầu của đĩa thì trở về

vị trí bắt đầu của đĩa.

Các khối cần đọc (đầu đọc hiện tại tại vị trí 11):

e

tim

29

12 14 2 7 21 8 24

LOOK – C-LOOK  Nhận xét:

Hai thuật toán lập lịch SCAN và C-SCAN luôn luôn di chuyển đầu đọc của đĩa từ đầu này sang đầu kia và di chuyển đến khối cuối cùng ở mỗi hướng.

 Nguyên tắc:

Giống SCAN và C-SCAN nhưng chỉ di chuyển đầu

đọc đến khối xa nhất chứ không đến cuối.

30

LOOK – C-LOOK

Các khối cần đọc (đầu đọc hiện tại tại vị trí 11):

31

12 14 2 7 21 8 24

3. Hệ thống quản lý tập tin trên Windows

° Phaân hoaïch ñóa cöùng theo chuaån Basic Disk (Toái ña 4 Primary Partitions hoaëc 3 Primary Partitions + 1 Extended Partition, trong soá ñoù coù 1 Active Partition)

MBR Partition 1 Partition 2 Partition 3 Partition 4

Master Boot Record

...

FAT File System

BR

FAT1

FAT2 RootDir

2 3

Boot Record (Sector) Thö muïc Goác

Ñaàu muïc (Directory Entry) troû ñeán taäp tin hay thö muïc con

33

Caùc lieân cung (Cluster) döõ lieäu 1 Cluster= n Sector 1 Sector=512 Bytes

Basic type

 Tối đa 4 phân vùng (partition)  Loại partition Primary

 Mỗi phân vùng: ấn định 1 ký tự

Extended

 Có thể tạo nhiều logicial drive, ấn định 1 ký tự cho mỗi

logical drive

34

Dynamic type  Chia thành nhiều volume, Không bị giới hạn số

lượng

 Loại Volume Simple

Striped

Spanned

Mirrored (RAID-1)

Redundant Array of Independent Disks (RAID-5)

35

° OÅ ñóa NTFS trong Windows 2000/XP/2003

Simple Volume: OÅ ñôn döïa treân 1 vuøng nhôù cuûa Dynamic Disk (phaân bieät vôùi Basic Disk). Moät ñóa cöùng coù theå phaân hoaïch thaønh nhieàu oå ñôn. Spanned Volume: OÅ gheùp traûi treân nhieàu oå ñôn. Striped Volume: OÅ song song. Noäi dung moãi taäp tin raûi treân nhieàu oå ñôn. Coøn goïi laø RAID-0.

– Mirrored Volume: OÅ aùnh xaï göông. Bao goàm 1 oå ñôn ñöôïc aùnh xaï töï ñoäng sang 1 oå ñôn khaùc. Coøn goïi laø RAID-1.

– RAID-5 Volume (Redundant Array of Inexpensive Disks): Traûi treân 3 hoaëc hôn oå ñóa ñôn. Döõ lieäu ñöôïc raûi treân caùc oå ñóa thaønh phaàn cuøng vôùi thoâng tin chaün leû (parity) ñeå ñaûm baûo khaû naêng khaùng loãi (fault tolerance) maø Striped Volume khoâng laøm ñöôïc.

36

Master Boot Record

– Chöùa chöông trình Khôûi ñoäng, Ñoïc baûng moâ taû caùc Partition treân ñóa, Tìm Active Partition, Choïn HÑH, Chuyeån ñieàu khieån cho chöông trình trong Boot Record cuûa Partition vöøa choïn. – Moãi Partition ñöôïc moâ taû baèng 16 bytes sau:

37

Boot Record

38

Caáu truùc Directory Entry trong heä taäp tin

FAT12 vaø FAT16

A D V S H R

Neáu teân taäp tin baét ñaàu baèng maõ E5 h, taäp tin ñaõ bò loaïi boû

A - Archive D - Directory V -Volume Label S - System H - Hidden R - Read-Only

Soá hieäu Cluster ñaàu tieân cuûa taäp tin hay thö muïc con

39

Thôøi gian caäp nhaät gaàn nhaát: - Giôø (5 bit), Phuùt (6 bit), Giaây (5 bit) - Ngaøy (5 bit), Thaùng (4 bit), Naêm (7 bit)

Caáu truùc Directory Entry trong heä taäp tin FAT32

Bytes

Ngaøy truy caäp gaàn nhaát

Nöûa ñaàu cuûa soá hieäu Cluster ñaàu tieân

Nöûa cuoái cuûa soá hieäu Cluster ñaàu tieân

40

Caáu truùc Directory Entry duøng chöùa moät phaàn teân daøi trong Windows

Checksum

Bytes

Soá thöù töï

Toång kieåm tra

41

Caùc thuoäc tính

° Baûng FAT

0

Khoâng söû duïng cho vuøng döõ lieäu 1

2

EOF

File A.gif treân caùc Cluster: 6, 4, 2

3

A 6 gif 4 2

5

6 4

7

8

BAD

9

10

11

...

12

°Moãi doøng trong FAT (keå töø doøng 2 trôû ñi) töông öùng vôùi 1 Cluster trong vuøng döõ lieäu. °Moät soá maõ ñaëc bieät (trong FAT32): – EOF coù maõ FFFFFFFF h FFFFFFF7 h – BAD coù maõ – Troáng öùng vôùi maõ 00000000 h (cluster töông öùng chöa duøng)

42

12, 16 hoaëc 32 bits -> FAT12, FAT16, FAT32

Quá trình boot hệ thống

1. POST (Power-On-Self-Test) 2. Tải MBR để đọc thông tin bảng phân vùng. 3. Tìm phân vùng “active”. 4. Chuyển quyền điều khiển về cho đoạn mã chương

trình nằm trong Boot Record của phân vùng “active”

5. Tải HĐH tại phân vùng “active”.

Power on Reboot

43

Khởi tạo hệ thống CPU, device controller, main memory, load đoạn code khởi động hđh