Đại Hc Cn Thơ - Khoa Công Ngh Thông Tin - Giáo Trình H Điu Hành – V1.0
H THNG TP TIN
I Mc đích
Sau khi hc xong chương này, người hc nm được nhng kiến thc sau:
Hiu các khía cnh khác nhau ca tp tin và cu trúc thư mc
Hiu các cơ chế qun lý, kim soát, bo v tp tin khi có nhiu người cùng
truy xut
Hiu cách chia s tp tin gia nhiu quá trình, người dùng và máy tính
II Gii thiu
Đối vi hu hết người dùng, h thng tp tin là din mo d nhìn thy nht ca
h điu hành. Nó cung cp cơ chế cho vic lưu tr trc tuyến và truy xut d liu,
chương trình ca h điu hành và tt c người dùng ca h thng máy tính. H thng
tp tin cha hai phn riêng bit: tp hp các tp tin (files), mi tp tin lưu tr d liu
có liên quan và cu trúc thư mc (directory structure) mà nó t chc và cung cp
thông tin v tt c tp tin trong h thng. Mt s h thng tp tin còn có thêm phn
th ba , các phân khu (partitions) mà nó được dùng để tách ri tp hp các thư mc
ln lun lý và vt lý.
Trong chương này chúng ta xét các khía cnh khác nhau ca tp tin và cu trúc
thư mc. Chúng ta cũng tho lun các cách để qun lý vic bo v tp tin (file
protection), cn thiết khi nhiu người dùng truy xut các tp tin và chúng ta mun
kim soát ai và cách gì truy xut tp tin. Cui cùng, chúng ta tho lun vic chia s
gia nhiu quá trình, người dùng, và máy tính.
III Khái nim tp tin
Các máy tính lưu tr thông tin trên nhiu phương tin lưu tr khác nhau, như
đĩa t, băng t, đĩa quang. Để h thng máy tính tin dng, h điu hành cung cp
mt tm nhìn lun lý không đổi ca vic lưu tr thông tin. H điu hành tru tượng t
các thuc tính vt lý ca các thiết b lưu tr ca nó đến định nghĩa mt đơn v lưu tr
lun lý là tp tin (file). Tp tin được ánh x bi h điu hành trên các thiết b vt lý.
Các thiết b lưu tr được dùng thường n định vì thế ni dung không b mt khi mt
đin hay khi động li h thng.
Mt tp tin là mt tp thông tin có liên quan được ghi trên thiết b lưu tr ph.
T quan đim người dùng, mt tp tin là phn nh nht ca thiết b lưu tr ph lun
lý; nghĩa là d liu không th được viết ti thiết b lưu tr ph tr khi chúng trong
mt tp tin. Các tp tin d liu có th là s, ch, ký t s hay nh phân. Các tp tin có
th có dng bt k như tp tin văn bn, hay có th được định dng không đổi. Thông
thường, mt tp tin là mt chui các bits, bytes, dòng hay mu tin,..được định nghĩa
bi người to ra nó. Do đó, khái nim tp tin là cc k tng quát.
Thông tin trong mt tp tin được định nghĩa bi người to. Nhiu loi thông tin
khác nhau có th được lưu tr trong mt tp tin-chương trình ngun, chương trình đối
tượng, chương trình thc thi, d liu s, văn bn, mu tin, hình nh đồ ho, âm
thanh,..Mt tp tin có mt cu trúc được định nghĩa c th da theo loi ca nó. Mt
tp tin văn bn là mt chui các ký t được t chc thành nhng dòng. Mt tp tin
Biên son: Th.s Nguyn Phú Trường - 09/2005 Trang
200
Đại Hc Cn Thơ - Khoa Công Ngh Thông Tin - Giáo Trình H Điu Hành – V1.0
ngun là mt chui các th tc và hàm, được t chc khi khai báo được theo sau bi
các câu lnh có th thc thi. Mt tp tin đối tượng là mt chui các bytes đưc t
chc thành các khi có th hiu được bi b liên kết ca h thng. Mt tp tin có th
thc thi là mt chui các phn mã mà b np có th mang vào b nh và thc thi.
III.1 Thuc tính tp tin
Để tin cho người dùng, mt tp tin được đặt tên và được tham kho bi tên
ca nó. Mt tên thường là mt chui các ký t, thí d: example.c. Mt s h thng có
s phân bit gia ký t hoa và thường trong tên, ngược li các h thng khác xem hai
trường hp đó là tương đương. Khi mt tp tin được đặt tên, nó tr nên độc lp vi
quá trình, người dùng, và thm chí vi h thng to ra nó. Thí d, mt người dùng có
th to tp tin example.c, ngược li người dùng khác có th sa tp tin đó bng cách
xác định tên ca nó. Người s hu tp tin có th ghi tp tin ti đĩa mm, gi nó vào
email hay chép nó qua mng và có th vn được gi example.c trên h thng đích.
Mt tp tin có mt s thuc tính khác mà chúng rt khác nhau t mt h điu
hành này ti mt h điu hành khác, nhưng đin hình chúng gm:
Tên (name): tên tp tin ch là thông tin được lưu dng mà người dùng có th
đọc
Định danh (identifier): là th duy nht, thường là s, xác định tp tin trong h
thng tp tin; nó là tên mà người dùng không th đọc
Kiu (type): thông tin này được yêu cu cho h thng h tr các kiu khác
nhau
V trí (location): thông tin này là mt con tr ch ti mt thiết b và ti v trí
tp tin trên thiết b đó.
Kích thước (size): kích thước hin hành ca tp tin (tính bng byte, word hay
khi) và kích thước cho phép ti đa cha trong thuc tính này.
Gi (time), ngày (date) và định danh người dùng (user identification): thông
tin này có th được lưu cho vic to, sa đổi gn nht, dùng gn nht. D liu
này có ích cho vic bo v, bo mt, và kim soát vic dùng.
Thông tin v tt c tp tin được gi trong cu trúc thư mc (directory) nm
trong thiết b lưu tr ph. Đin hình, mc t thư mc cha tên tp tin và định danh
duy nht ca nó. Định danh ln lượt xác định thuc tính tp tin khác. Trong h thng
có nhiu tp tin, kích thước ca chính thư mc có th là Mbyte. Bi vì thư mc ging
tp tin, phi bn, chúng phi được lưu tr trên thiết b và mang vào b nh khi cn.
III.2 Thao tác tp tin
Tp tin là kiu d liu tru tượng. Để định nghĩa mt tp tin hp lý, chúng ta
cn xem xét các thao tác có th được thc hin trên các tp tin. H điu hành cung cp
li gi h thng để thc hin các thao tác này
To tp tin: hai bước cn thiết để to mt tp tin. Th nht, không gian
trong h thng tp tin phi được tìm cho tp tin. Th hai, mt mc t cho
tp tin mi phi được to trong thư mc. Mc t thư mc ghi tên tp tin và
v trí trong h thng tp tin, và các thông tin khác.
M: trước khi m tp tin, quá trình phi m nó. Mc tiêu ca vic m
cho phép h thng thiết lp mt s thuc tính và địa ch đĩa trong b nh
để tăng tc độ truy xut.
Biên son: Th.s Nguyn Phú Trường - 09/2005 Trang
201
Đại Hc Cn Thơ - Khoa Công Ngh Thông Tin - Giáo Trình H Điu Hành – V1.0
Đóng: khi chm dt truy xut, thuc tính và địa ch trên đĩa không còn
dùng na, tp tin được đóng li để gii phóng vùng nh.
Ghi: để ghi mt tp tin, chúng ta thc hin li gi h thng xác định tên
tp tin và thông tin được ghi ti tp tin. Vi tên tp tin, h thng tìm thư
mc để xác định v trí ca tp tin. H thng phi gi mt con tr viết ti v
trí trong tp tin nơi mà thao tác viết tiếp theo s xy ra. Con tr viết phi
được cp nht bt c khi nào thao tác viết xy ra.
Chèn cui: ging thao tác ghi nhưng d liu luôn được ghi vào cui tp
tin
Đọc: để đọc t mt tp tin, chúng ta dùng li gi h thng xác định tên tp
tin và nơi (trong b nh) mà khi tiếp theo ca tp tin được đặt. Thư mc
được tìm mc t tương ng và h thng cn gi con tr đọc ti v trí trong
tp tin nơi thao tác đọc tiếp theo xy ra.
Xoá: để xoá mt tp tin, chúng ta tìm kiếm thư mc vi tên tp tin được
cho. Tìm mc t tương ng, gii phóng không gian tp tin để không gian
này có th dùng li bi tp tin khác và xoá mc t thư mc.
Tìm: thư mc được tìm mc t tương ng và v trí con tr hin hành được
đặt ti giá tr được cho
Ly thuc tính: ly thuc tính tp tin cho quá trình
Đổi tên: thay đổi tên tp tin đã tn ti
III.3 Các kiu tp tin
Khi thiết kế mt h thng tp tin, chúng ta luôn luôn xem xét h điu hành nên
t chc và h tr các kiu tp tin nào. Nếu h điu hành nhn biết kiu ca mt tp
tin, nó có th thao tác trên tp tin đó trong các cách phù hp.
Mt k thut chung cho vic cài đặt các kiu tp tin là cha kiu đó như mt
phn ca tên tp tin. Tên tp tin được chia làm hai phn-tên và phn m rng, thường
được ngăn cách bi du chm. Trong trường hp này, người dùng và h điu hành có
th biết kiu tp tin là gì t tên.
Các h điu hành thường h tr các kiu tp tin sau:
Tp tin thường: là tp tin văn bn hay tp tin nh phân cha thông tin ca
người s dng
Thư mc: là nhng tp tin h thng dùng để lưu gi cu trúc ca h thng
tp tin
Tp tin có ký t đặc bit: liên quan đến nhp/xut thông qua các thiết b
nhp/xut tun t như màn hình, máy in,..
Tp tin khi: dùng để truy xut trên thiết b đĩa
III.4 Cu trúc tp tin
Các kiu tp tin cũng có th được dùng để hin th cu trúc bên trong ca mt
tp tin. Ngoài ra, các tp tin c th phi phù hp cu trúc được yêu cu để h điu
hành có th hiu. Mt s h điu hành m rng ý tưởng này thành tp hp các cu
trúc tp tin được h tr h thng, vi nhng tp hp thao tác đặc bit cho vic thao
tác các tp tin vi nhng cu trúc đó.
Các h điu hành thường h tr ba cu trúc tp tin thông dng là:
Không có cu trúc: tp tin là mt dãy tun t các byte
Có cu trúc: tp tin là mt dãy các mu tin có kích thước c định
Biên son: Th.s Nguyn Phú Trường - 09/2005 Trang
202
Đại Hc Cn Thơ - Khoa Công Ngh Thông Tin - Giáo Trình H Điu Hành – V1.0
Cu trúc cây: tp tin gm mt cây ca nhng mu tin không cn thiết có
cùng chiu dài, mi mu tin có mt trường khoá giúp vic tìm kiếm nhanh
hơn
IV Các phương pháp truy xut
Các tp tin lưu tr thông tin. Khi nó được dùng, thông tin này phi được truy
xut và đọc vào b nh máy tính. Thông tin trong tp tin có th được truy xut trong
nhiu cách.
IV.1 Truy xut tun t
Mt phương pháp đơn gin nht là truy xut tun t. Thông tin trong tp tin
được x lý có th t, mt mu tin này sau mu tin kia. Chế độ truy xut này là thông
dng nht. Thí d, b son tho và biên dch thường truy xut các tp tin trong cách
thc này.
Nhóm các thao tác trên mt tp tin là đọc và viết. Mt thao tác đọc đọc phn
tiếp theo ca tp tin và t động chuyn con tr tp tin để ghi vết v trí nhp/xut.
Tương t, mt thao tác viết chèn vào cui tp tin và chuyn ti v trí cui ca tài liu
va được viết (cui tp tin mi). Trên mt vài h thng, mt tp tin như thế có th
được đặt li ti v trí bt đầu và mt chương trình có th nhy ti hay lùi n mu tin.
Truy xut tun t được mô t như hình IX-1.
Hình 0-1 Truy xut tp tin tun t
IV.2 Truy xut trc tiếp
Mt phương pháp khác là truy xut trc tiếp (hay truy xut tương đối). Mt
tp tin được hình thành t các mu tin lun lý có chiu dài không đổi. Các mu tin này
cho phép người lp trình đọc và viết các mu tin nhanh chóng không theo th t.
Phương pháp truy xut trc tiếp da trên mô hình đĩa ca tp tin, vì đĩa cho phép truy
xut ngu nhiên ti bt c khi tp tin. Để truy xut trc tiếp, tp tin được hin th
như mt chui các khi hay mu tin được đánh s. Tp tin truy xut trc tiếp cho
phép các khi bt k đưc đọc hay viết. Do đó, chúng ta có th đọc khi 14, sau đó
đọc khi 53 và sau đó viết khi 7. Không có bt k s hn chế nào trên th t đọc hay
viết cho mt tp tin truy xut trc tiếp
Các tp tin truy xut trc tiếp được dùng nhiu cho truy xut tc thi ti mt
lượng ln thông tin. Cơ s d liu thường là loi này. Khi mt truy vn tp trung mt
ch đề c th, chúng ta tính khi nào cha câu tr li và sau đó đọc khi đó trc tiếp
để cung cp thông tin mong mun.
Không phi tt c h điu hành đều h tr c hai truy xut tun t và trc tiếp
cho tp tin. Mt s h thng cho phép ch truy xut tp tin tun t; mt s khác cho
Biên son: Th.s Nguyn Phú Trường - 09/2005 Trang
203
Đại Hc Cn Thơ - Khoa Công Ngh Thông Tin - Giáo Trình H Điu Hành – V1.0
phép ch truy xut trc tiếp. Mt s h điu hành yêu cu mt tp tin được định nghĩa
như tun t hay trc tiếp khi nó được to ra; như tp tin có th được truy xut ch
trong mt cách không đổi vi khai báo ca nó. Tuy nhiên, chúng ta d dàng mô phng
truy xut tun t trên tp tin truy xut trc tiếp. Nếu chúng ta gi mt biến cp để xác
định v trí hin ti thì chúng ta có th mô phng các thao tác tp tin tun t như được
hin th trong hình IX-2. Mc dù, không đủ và không gn để mô phng mt tp tin
truy xut trc tiếp trên mt tp tin truy xut tun t.
Hình 0-2 Mô phng truy xut tun t trên truy xut trc tiếp
IV.3 Các phương pháp truy xut khác
Các phương pháp truy xut khác có th được xây dng trên cơ s ca phương
pháp truy xut trc tiếp. Các phương pháp khác thường liên quan đến vic xây dng
ch mc cho tp tin. Ch mc cha các con tr ch ti các khi khác. Để tìm mt mu
tin trong tp tin, trước hết chúng ta tìm ch mc và sau đó dùng con tr để truy xut
tp tin trc tiếp và tìm mu tin mong mun.
Vi nhng tp tin ln, ch mc tp tin có th tr nên quá ln để gi trong b
nh. Mt gii pháp là to ch mc cho tp tin ch mc. Tp tin ch mc chính cha các
con tr ch ti các tp tin ch mc th cp mà nó ch ti các thành phn d liu tht s.
Hình 0-3 Thí d v ch mc và các tp tin liên quan
Biên son: Th.s Nguyn Phú Trường - 09/2005 Trang
204