Tải bản đầy đủ (.pdf) (56 trang)

Chương 3: Hệ thống quản lý tập tin pps

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (779.62 KB, 56 trang )

1
Chương 3: Hệ thống quảnlýtập tin
 Nội dung chương:
 Các khái niệmcơ bảnvề hệ thống tậptin
 Cài đặthệ thống quảnlýtậptin
 Mô hình tổ chứcvàquảnlýtậptin củacác HĐH
thông dụng.
 Truy xuấthệ thống quảnlýtậptin.
2
Hệ thống lưutrữ trong máy tính
 Bộ nhớ trong
 RAM, ROM, Register, Cache
 Bộ nhớ ngoài
 HD (Hard Disk)
 FD (Floppy Disk)
 CD (Compact Disk)
 DVD (Digital Video Disk)
 USB disk
 …
cache
Bộ nhớ chính
Bộ nhớ phụ
(đĩa)
Bộ nhớ thứ cấp
(băng từ)
Tốc độ
Dung lượng
Giá thành
3
Các khái niệmcơ bản
 RAM không có khả năng lưutrữ dữ liệulâudài.


 Máy tính phảisử dụng các thiếtbị có khả năng
lưutrữ lâu dài vì:
 Chứalượng thông tin lớn.
 Thông tin đượclưutrữ trướckhixử lý.
 Nhiều ứng dụng muốntruycậpcùnglúc.
Æ Phảisử dụng các thiếtbị lưutrữ ngoài gọilàbộ
nhớ ngoài với các đơnvị lưutrữđượctổ chức
thành:
 Tậptin
 Thư mục
4
Tổ chứcdữ liệutrênđĩatừ
 Cấutrúcvậtlýcủa đĩatừ:
 Hình tròn, gồmnhiềumặtgọilàhead.
 Mỗimặtcónhiều đường tròn đồng tâm gọi
là track hay cylinder.
 Trên các đường tròn (track) đượcchia
thành các cung tròn gọilàsector.
 Mỗi cung tròn chứa 4096 điểmtừ (~ 4096
bit = 512 bytes).
 Mỗimặtcó1 đầu đọc để đọcghidữ liệu
 Mỗilần đọc/ghi ít nhất 1 cung tròn (512B).
5
Cấutrúcđĩatừ
Head 0
Head 2
6
Cấutrúcđĩatừ
read-write
head

track
sectors
cylinder
7
Cấutrúcđĩatừ
8
Tổ chứcdữ liệutrênđĩatừ (tt)
 Mỗilần đọc hay ghi đĩacóthể thựchiệnN sector
liên tiếp (N>=1).
 Vị trí củamỗi sector trong đĩa đượcthể hiệnbằng
3 tham số : {sector, track, head}.
 Head được đánh số từ trên xuống bắt đầutừ 0.
 Track được đánh số từ ngoài vào bắt đầutừ 0.
 Sector được đánh số bắt đầutừ 1 theo chiều
ngượcvớichiều quay của đĩa.
9
Tổ chức đĩa logic
 Thay vì phảidùngđến3 thamsố dựatrêncấutrúcđĩa
vật lý nên khái niệm đĩalogic được đưarađể dễ thao tác
và tính toán hơn.
 Đĩa logic là một dãy sector được đánh số bắt đầutừ 0.
 Mỗi sector trên đĩa logic tương ứng với 1 sector duy nhất
trên đĩavật lý sao cho khi truy xuấtsector K thìkhitruy
xuấttiếp sang sector K+1 là nhanh nhất.
N-143210
……
10
Dung lượng đĩa
 Kích thước đĩaphụ thuộcvàocácyếutố sau:
 Số mặttừ (platter)

 Số track trên mỗimặttừ
 Số sector trên mỗitrack
 Kích thước (byte) trên mỗitrack.
11
Ví dụ cách tổ chức đĩamềm
 Các thông số trên đĩamềm 1.44MB:
 Đĩa có 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)
 Các sector logic có chỉ số từ 0 đến 2879 và tương ứng
với các sector vậtlý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ớisector vật lý (1,0,1) (18,0,1)
 …
 Sector 2879 tương ứng với sector vật lý (18,79,1).
12
Mặt đĩa
Tay qua
y
Đầu đọc
Thờigiantruycập đĩa
 Disk access time =
Seek Time
+ Latency Time
+ Transfer Time
13
Các thuậttoánđọc đĩa
 First-Come-First-Serve (FCFS)
 SCAN, C-SCAN

 Shortest Seek Time First (SSTF)
 Look
14
First Come First Serve (FCFS)
 Phụcvụ theo thứ tự yêu cầu
 Đơngiảnnhưng không đáp ứng tốtdịch vụ
time
cylinder number
1 5 10 15 20 25
12
Các khốicần đọc(đầu đọchiệntạitạivị trí 11):
14 2 7 21 8 24
scheduling
queue
24
8
21
7
2
14
12
15
SCAN
 Di chuyển đầu đọcvề 1 phía của đĩa đếnblock xanhấtsau
đódichuyểnvề phía kia.
 Còn gọilàthuật toán thang máy.
time
cylinder number
1 5 10 15 20 25
12 14 2 7 21 8 24

scheduling
queue
24821721412
Các khốicần đọc(đầu đọchiệntạitạivị trí 11):
16
SCAN vs. FCFS
 Trong
trường hợp
này, SCAN
tốthơn
FCFS vì
hạnchế sự
di chuyển
của đầu đọc
đĩa
cylinder number
1 5 10 15 20 25
time
time
17
C-SCAN
 Nguyên tắc:
 Tương tự thuật toán SCAN.
 Chỉ khác khi di chuyển đến1 đầucủa đĩathìtrở về vị
trí bắt đầucủa đĩa.
18
C-SCAN
19
LOOK
 Nhậnxét:

 Hai thuậttoánlậplịch SCAN và C-SCAN luôn luôn
di chuyển đầu đọccủa đĩatừđầu này sang đầukia
nhưng thông thường thì đầu đọcchỉ di chuyển đến
khốixanhất ở mỗihướng chứ không đếncuối.
 Nguyên tắc:
 Giống SCAN và C-SCAN nhưng chỉ di chuyển đầu
đọc đếnkhống xa nhấtchứ không đếncuối.
20
LOOK
21
SSTF
 SSTF = Shortest Seek Time First
 Nguyên tắc:
 Di chuyển đầu đọc đếncáckhốicầnthiếttheovị trí
lầnlượtgầnvớivị trí hiệnhànhcủa đầu đọcnhất
22
SSTF
23
Lậptrìnhtương tác với đĩa
 Các truy xuất đĩatrựctiếp trong C:
 Đọcnội dung sector trên đĩa logic: hàm absread.
 Ghi nội dung vào sector logic: abswrite.
 Thựchiệnthaotáctrênđĩavật lý: biosdisk.
 Cú pháp:
 int absread(int drive, int nsects, long lsect, void
*buffer).
 int abswrite (int drive, int nsects, long lsect, void
*buffer);
 int biosdisk (int cmd, int drive, int head, int track, int
sector, int nsects, void *buffer);

24
Tập tin (1/4)
 Tập tin (file) là đơnvị lưutrữ thông tin trên bộ
nhớ ngoài.
 Thông tin chứa trong tập tin là bềnvững (không
bị mất đi khi bị mất điện).
 Tên tập tin:
 Là cơ chế trừutượng để quảnlýtậptin.
 Có thể phân biệtchữ hoavàthường (tuỳ HĐH cụ thể)
 Hỗ trợ tên tập tin theo định dạng 8.3 (gồm tên và phần
mở rộng) hay tên dài (Long File Name).
 Ví dụ: baitap.cpp hay “bai tap lap trinh.cpp”
25
Tập tin (2/4)
Các thuộc tính củatập tin:
 Ngườisở hữu/nhóm sở hữu
 Chỉđọc (Read-only)
 Ẩn (Hidden)
 Hệ thống (System)
 Lưutrữ (Archive)
 Ngày giờ tạo.
 Ngày giờ truy cậpcuốicùng
 Ngày giờ thay đổicuốicùng
 Kích thước

×