Giáo trình Hệ điều hành V1.0 - Bài: Hệ thống tập tin - Nguyễn Phú Trường

Đại Hc Cn Thơ - Khoa Công NghThông Tin - Giáo Trình Hệ Điu Hành – V1.0  
HTHNG 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 vtp tin khi có nhiu người cùng  
truy xut  
Hiu cách chia stp 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, hthng tp tin là din mo dnhìn thy nht ca  
hệ điu hành. Nó cung cp cơ chế cho vic lưu trtrc tuyến và truy xut dliu,  
chương trình ca hệ điu hành và tt cngười dùng ca hthng máy tính. Hthng  
tp tin cha hai phn riêng bit: tp hp các tp tin (files), mi tp tin lưu trdliu  
có liên quan và cu trúc thư mc (directory structure) mà nó tchc và cung cp  
thông tin vtt ctp tin trong hthng. Mt shthng tp tin còn có thêm phn  
thba , 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 vtp 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 trthông tin trên nhiu phương tin lưu trkhác nhau, như  
đĩa t, băng t, đĩa quang. Để hthng 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 trthông tin. Hệ điu hành tru tượng từ  
các thuc tính vt lý ca các thiết blưu trca nó đến định nghĩa mt đơn vlưu trữ  
lun lý là tp tin (file). Tp tin được ánh xbi hệ điu hành trên các thiết bvt lý.  
Các thiết blưu trữ được dùng thường n định vì thế ni dung không bmt khi mt  
đin hay khi đng li hthng.  
Mt tp tin là mt tp thông tin có liên quan được ghi trên thiết blưu trph.  
Tquan đim người dùng, mt tp tin là phn nhnht ca thiết blưu trphlun  
lý; nghĩa là dliu không thể được viết ti thiết blưu trphtrkhi chúng trong  
mt tp tin. Các tp tin dliu có thlà s, ch, ký tshay nhphân. Các tp tin có  
thcó dng bt knhư 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 ktng 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 trtrong mt tp tin-chương trình ngun, chương trình đối  
tượng, chương trình thc thi, dliu s, văn bn, mu tin, hình nh đồ ho, âm  
thanh,..Mt tp tin có mt cu trúc được định nghĩa cthda theo loi ca nó. Mt  
tp tin văn bn là mt chui các ký tự được tchc 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 NghThông Tin - Giáo Trình Hệ Điu Hành – V1.0  
ngun là mt chui các thtc và hàm, được tchc khi khai báo được theo sau bi  
các câu lnh có ththc thi. Mt tp tin đi tượng là mt chui các bytes được tổ  
chc thành các khi có thhiu được bi bliên kết ca hthng. Mt tp tin có thể  
thc thi là mt chui các phn mã mà bnp có thmang vào bnhvà 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 shthng có  
sphân bit gia ký thoa và thường trong tên, ngược li các hthng khác xem hai  
trường hp đó là tương đương. Khi mt tp tin được đặt tên, nó trnên độc lp vi  
quá trình, người dùng, và thm chí vi hthng to ra nó. Thí d, mt người dùng có  
thto tp tin example.c, ngược li người dùng khác có thsa tp tin đó bng cách  
xác định tên ca nó. Người shu tp tin có thghi tp tin ti đĩa mm, gi nó vào  
email hay chép nó qua mng và có thvn được gi example.c trên hthng đích.  
Mt tp tin có mt sthuc tính khác mà chúng rt khác nhau tmt 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 chlà thông tin được lưu dng mà người dùng có thể  
đc  
Đnh danh (identifier): là thduy 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 hthng htrcác kiu khác  
nhau  
Vtrí (location): thông tin này là mt con trchti mt thiết bvà ti vtrí  
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. Dliu  
này có ích cho vic bo v, bo mt, và kim soát vic dùng.  
Thông tin vtt ctp tin được gitrong cu trúc thư mc (directory) nm  
trong thiết blưu trph. Đin hình, mc tthư 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 hthng  
có nhiu tp tin, kích thước ca chính thư mc có thlà Mbyte. Bi vì thư mc ging  
tp tin, phi bn, chúng phi được lưu trtrên thiết bvà mang vào bnhkhi cn.  
III.2 Thao tác tp tin  
Tp tin là kiu dliu 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 hthng để thc hin các thao tác này  
To tp tin: hai bước cn thiết để to mt tp tin. Thnht, không gian  
trong hthng tp tin phi được tìm cho tp tin. Thhai, mt mc tcho  
tp tin mi phi được to trong thư mc. Mc tthư mc ghi tên tp tin và  
vtrí trong hthng tp tin, và các thông tin khác.  
M: trước khi mtp tin, quá trình phi mnó. Mc tiêu ca vic mlà  
cho phép hthng thiết lp mt sthuc tính và địa chỉ đĩa trong bnhớ  
để 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 NghThông Tin - Giáo Trình Hệ Điu Hành – V1.0  
Đóng: khi chm dt truy xut, thuc tính và địa chtrê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 hthng xác định tên  
tp tin và thông tin được ghi ti tp tin. Vi tên tp tin, hthng tìm thư  
mc để xác định vtrí ca tp tin. Hthng phi gimt con trviết ti vị  
trí trong tp tin nơi mà thao tác viết tiếp theo sxy ra. Con trviết phi  
được cp nht bt ckhi nào thao tác viết xy ra.  
Chèn cui: ging thao tác ghi nhưng dliu luôn được ghi vào cui tp  
tin  
Đọc: để đọc tmt tp tin, chúng ta dùng li gi hthng xác định tên tp  
tin và nơi (trong bnh) mà khi tiếp theo ca tp tin được đặt. Thư mc  
được tìm mc ttương ng và hthng cn gicon trỏ đọc ti vtrí 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 ttương ng, gii phóng không gian tp tin để không gian  
này có thdùng li bi tp tin khác và xoá mc tthư mc.  
Tìm: thư mc được tìm mc ttương ng và vtrí con trhin 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 hthng tp tin, chúng ta luôn luôn xem xét hệ điu hành nên  
tchc và htrcác kiu tp tin nào. Nếu hệ điu hành nhn biết kiu ca mt tp  
tin, nó có ththao tác trên tp tin đó trong các cách phù hp.  
Mt kthut 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 mrng, 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ó  
thbiết kiu tp tin là gì ttên.  
Các hệ điu hành thường htrcác kiu tp tin sau:  
Tp tin thường: là tp tin văn bn hay tp tin nhphân cha thông tin ca  
người sdng  
Thư mc: là nhng tp tin hthng dùng để lưu gicu trúc ca hthng  
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 tnhư 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 thcu trúc bên trong ca mt  
tp tin. Ngoài ra, các tp tin cthphi phù hp cu trúc được yêu cu để hệ điu  
hành có thhiu. Mt shệ điu hành mrng ý tưởng này thành tp hp các cu  
trúc tp tin được htrhthng, 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 htrba cu trúc tp tin thông dng là:  
Không có cu trúc: tp tin là mt dãy tun tcá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 NghThô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 trthông tin. Khi nó được dùng, thông tin này phi được truy  
xut và đc vào bnhmá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 xlý có tht, mt mu tin này sau mu tin kia. Chế độ truy xut này là thông  
dng nht. Thí d, bson 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 trtp tin để ghi vết vtrí nhp/xut.  
Tương t, mt thao tác viết chèn vào cui tp tin và chuyn ti vtrí cui ca tài liu  
va được viết (cui tp tin mi). Trên mt vài hthng, mt tp tin như thế có thể  
được đặt li ti vtrí bt đầu và mt chương trình có thnhy ti hay lùi n mu tin.  
Truy xut tun tự được mô tnhư 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 tcá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 tht.  
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 ckhi 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 kshn chế nào trên thtự đọ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ơ sdliu thường là loi này. Khi mt truy vn tp trung mt  
chủ đề cth, chúng ta tính khi nào cha câu trli và sau đó đc khi đó trc tiếp  
để cung cp thông tin mong mun.  
Không phi tt chệ điu hành đều htrchai truy xut tun tvà trc tiếp  
cho tp tin. Mt shthng cho phép chtruy xut tp tin tun t; mt skhác cho  
Biên son: Th.s Nguyn Phú Trường - 09/2005  
Trang 203  
Đại Hc Cn Thơ - Khoa Công NghThông Tin - Giáo Trình Hệ Điu Hành – V1.0  
phép chtruy xut trc tiếp. Mt shệ điu hành yêu cu mt tp tin được định nghĩa  
như tun thay 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 ddàng mô phng  
truy xut tun ttrên tp tin truy xut trc tiếp. Nếu chúng ta gimt biến cp để xác  
định vtrí hin ti thì chúng ta có thmô phng các thao tác tp tin tun tnhư được  
hin thtrong 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 ttrê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ơ sca 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  
chmc cho tp tin. Chmc cha các con trchti các khi khác. Để tìm mt mu  
tin trong tp tin, trước hết chúng ta tìm chmc 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, chmc tp tin có thtrnên quá ln để gitrong bộ  
nh. Mt gii pháp là to chmc cho tp tin chmc. Tp tin chmc chính cha các  
con trchti các tp tin chmc thcp mà nó chti các thành phn dliu tht s.  
Hình 0-3 Thí dvchmc và các tp tin liên quan  
Biên son: Th.s Nguyn Phú Trường - 09/2005  
Trang 204  
Đại Hc Cn Thơ - Khoa Công NghThông Tin - Giáo Trình Hệ Điu Hành – V1.0  
V Cu trúc thư mc  
Các hthng tp tin ca máy tính có thrt ln vslượng. Mt shthng  
lưu trhàng triu tp tin trên các terabytes đĩa. Để qun lý tt cdliu này, chúng ta  
cn tchc li chúng. Vic tchc này thường được thc hin hai phn.  
Thnht, đĩa được chia thành mt hay nhiu phân khu (partition) hay phân  
vùng (volumes). Đin hình, mi đĩa trên hthng cha ít nht mt phân khu. Phân  
khu này là cu trúc cp thp mà các tp tin và thư mc định v. Thnh thong các phân  
khu được dùng để cung cp nhiu vùng riêng rtrong mt đĩa, mi phân khu được  
xem như mt thiết blưu trriêng, trái li các hthng khác cho phép các phân khu  
có dung lượng ln hơn mt đĩa để nhóm các đĩa vào mt cu trúc lun lý và cu trúc  
tp tin, và có thbqua hoàn toàn nhng vn đề cp phát không gian vt lý cho các  
tp tin. Cho lý do này, các phân khu có thể được xem như các đĩa o. Các phân khu  
cũng có thlưu trnhiu hệ điu hành, cho phép hthng khi đng và chy nhiu  
hơn mt hệ điu hành.  
Thhai, mi phân khu cha thông tin vcác tp tin trong nó. Thông tin này giữ  
trong nhng mc ttrong mt thư mc thiết bhay bng mc lc phân vùng (volume  
table of contents). Thư mc thiết b(được gi đơn gin là thư mc) ghi thông tin-như  
tên, vtrí, kích thước và kiu-đối vi tt ctp tin trên phân khu (như hình IX-4).  
Hình 0-4 tchc hthng tp tin đin hình  
Thư mc có thể được hin thnhư mt bng danh biu dch tên tp tin thành  
các mc tthư mc. Các thư mc có thể được tchc trong nhiu cách. Chúng ta  
mun có thchèn mc t, xoá mc t, tìm kiếm mt mc tvà lit kê tt cmc từ  
trong thư mc. Trong phn này, chúng ta xem xét nhiu cơ chế định nghĩa cu trúc  
lun lý ca hthng thư mc. Khi xem xét mt cu trúc thư mc cth, chúng ta cn  
nhcác thao tác được thc hin trên mt thư mc.  
Biên son: Th.s Nguyn Phú Trường - 09/2005  
Trang 205  
Đại Hc Cn Thơ - Khoa Công NghThông Tin - Giáo Trình Hệ Điu Hành – V1.0  
Tìm kiếm tp tin: chúng ta cn tìm trên cu trúc thư mc để xác định mc  
tcho mt tp tin cth.  
To tp tin: mt tp tin mi cn được to và được thêm ti thư mc.  
Xoá tp tin: khi mt tp tin không còn cn, chúng ta mun xoá nó ra khi  
thư mc.  
Lit kê thư mc: chúng ta có thlit kê các tp tin trong thư mc và ni  
dung ca mc tthư mc cho mi tp tin trong danh sách.  
Đổi tên tp tin: vì tên tp tin biu din ni dung ca nó đi vi người  
dùng, tên có ththay đổi khi ni dung hay vic sdng tp tin thay đi.  
Đổi tên tp tin có thcho phép vtrí ca nó trong cu trúc thư mc được  
thay đi.  
Duyt hthng tp tin: chúng ta mun truy xut mi thư mc và mi tp  
tin trong cu trúc thư mc.  
Chúng ta smô tcác cơ chế thông dng nht để định nghĩa cu trúc lun lý  
ca mt thư mc.  
V.1 Cu trúc thư mc dng đơn cp  
Cu trúc thư mc đơn gin nht là thư mc đơn cp. Tt ctp tin được cha  
trong cùng thư mc như được hin thtrong hình IX-5 dưới đây:  
Hình 0-5 Thư mc đơn cp  
Tuy nhiên, thư mc đơn cp có nhiu hn chế khi slượng tp tin tăng hay khi  
hthng có nhiu hơn mt người dùng. Vì tt ctp tin được cha trong cùng thư  
mc, chúng phi có tên khác nhau. Nếu hai người dùng đặt tên tp tin dliu ca họ  
là test thì qui tc tên duy nht bxung đt. Mc dù các tên tp tin thường được chn  
để phn ánh ni dung ca tp tin, chúng thường bgii hn chiu dài. Hệ điu hành  
MS-DOS cho phép ch11 ký tcho tên; UNIX cho phép 255 ký t.  
Người dùng trên thư mc đơn cp có thgp phi khó khăn để nhtên ca tt  
ctp tin, khi stp tin tăng. Nếu trên mt hthng máy tính có hàng trăm tp tin thì  
vic ghi li vết ca quá nhiu tp tin là mt tác vnng n.  
V.2 Cu trúc thư mc dng hai cp  
Mt thư mc đơn cp dn đến sln ln gia tên các tp tin ca nhiu người  
dùng khác nhau. Gii pháp chun là to mt thư mc riêng cho mi người dùng.  
Trong cu trúc thư mc hai cp, mi người dùng có thư mc tp tin riêng cho  
h(user file directory-UFD). Mi UFD có mt cu trúc tương tnhưng các danh sách  
cha các tp tin ca mt người dùng. Khi công vic ca người dùng bt đầu hay  
người dùng đăng nhp, thư mc tp tin chính ca hthng (master file directory)  
được tìm kiếm. MFD được lp chmc bi tên người dùng hay stài khon và mi  
mc tchti UFD cho người dùng đó (như hình IX-6)  
Biên son: Th.s Nguyn Phú Trường - 09/2005  
Trang 206  
Đại Hc Cn Thơ - Khoa Công NghThông Tin - Giáo Trình Hệ Điu Hành – V1.0  
Hình 0-6 thư mc hai cp  
Khi người dùng tham kho ti mt tp tin cth, chUFD ca chính người  
dùng đó được tìm kiếm. Do đó, các người dùng khác nhau có thcó các tp tin vi  
cùng mt tên, vi điu kin là tt ctên tp tin trong mi UFD là duy nht.  
Để to mt tp tin cho mt người dùng, hệ điu hành chtìm UFD ca người  
dùng đó để xác định mt tp tin khác cùng tên có tn ti hay không. Để xóa mt tp  
tin, hệ điu hành gili vic tìm kiếm ca nó ti UFD cc b; do đó, nó không thể  
xóa nhm tp tin ca người dùng khác có cùng tên.  
Các thư mc người dùng phi được to và xóa khi cn thiết. Mt chương trình  
hthng đặc bit được chy vi tên người dùng hp lý và thông tin tài khon.  
Chương trình này to mt UFD mi và thêm mt mc tcho nó ti MFD. Vic thc  
thi chương trình này có thbgii hn bi người qun trhthng.  
Mc dù cu trúc thư mc hai cp gii quyết vn đề xung đt tên nhưng nó  
cũng có nhng bt li. Cu trúc này cô lp mt người dùng tngười dùng khác. Vic  
cô lp này là li đim khi các người dùng hoàn toàn đc lp nhau nhưng sbt li khi  
các người dùng mun hp tác trên mt scông vic và để truy xut các tp tin ca  
người dùng khác. Mt shthng đơn gin không cho phép tp tin người dùng cc  
bộ được truy xut bi người dùng khác.  
Nếu truy xut được cho phép, mt người dùng phi có khnăng đặt tên mt  
tp tin trong mt thư mc ca người dùng khác. Để đặt tên mt tp tin xác định duy  
nht trong thư mc hai cp, chúng ta phi cho chai tên người dùng và tên tp tin.  
Mt thư mc hai cp có thể được xem như mt cây hay ít nht mt cây đảo ngược hay  
có chiu cao bng 2. Gc ca cây là UFD. Hu dutrc tiếp ca nó là MFD. Hu duệ  
ca UFD là các tp tin. Các tp tin này là lá ca cây. Xác định tên người dùng và tên  
tp tin định nghĩa đường dn trong cây tgc (MFD) ti mt lá (tp tin xác định). Do  
đó, tên người dùng và tên tp tin định nghĩa tên đường dn. Mi tp tin trong hthng  
có mt đường dn. Để đặt tên mt tp tin duy nht người dùng phi biết tên đường  
dn ca tp tin mong mun.  
Trường hp đặc bit xy ra cho các tp tin hthng. Các chương trình này  
cung cp mt phn hthng như: bnp, bhp ng, bbiên dch, các thủ  
tc,..thường được định nghĩa như các tp tin. Khi các lnh tương ng được gi ti hệ  
điu hành, các tp tin này được đc bi bnp và được thc thi. Mt sbthông dch  
lnh hot động bng cách xem lnh như là tên tp để np và thc thi. Vi hthng thư  
mc được định nghĩa hin ti, tên tp tin này được tìm kiếm trong UFD hin hành.  
Mt gii pháp cho vn đề này là chép các tp tin hthng vào mi UFD. Tuy nhiên,  
chép tt ctp tin hthng slãng phí lượng ln không gian.  
Gii pháp chun là làm phc tp thtc tìm kiếm mt chút. Mt thư mc  
người dùng đặc bit được định nghĩa để cha các tp tin hthng (thí d, user0). Bt  
ckhi nào mt tên tp tin được cho để được np, trước tiên hệ điu hành ttìm thư  
mc người dùng cc b. Nếu không tìm thy, hệ điu hành ttìm trong thư mc  
Biên son: Th.s Nguyn Phú Trường - 09/2005  
Trang 207  
Đại Hc Cn Thơ - Khoa Công NghThông Tin - Giáo Trình Hệ Điu Hành – V1.0  
người dùng đặc bit này. Mt chui các thư mc được tìm khi mt tp tin được đặt tên  
đường dn tìm kiếm. Ý tưởng này có thể được mrng, đường dn tìm kiếm cha  
danh sách các thư mc không gii hn để tìm khi tên mt lnh được cho. Phương  
pháp này được dùng nhiu nht trong UNIX và MS-DOS.  
V.3 Cu trúc thư mc dng cây  
Thư mc cu trúc cây là trường hp tng quát ca thư mc hai cp. Stng  
quát này cho phép người dùng to thư mc con và tchc các tp tin ca h. Thí d,  
hthng MS-DOS có cu trúc cây. Tht vy, mt cây là cu trúc thư mc phbiến  
nht. Cây có thư mc gc. Mi tp tin trong hthng có tên đường dn duy nht. Tên  
đường dn là đường dn tgc xung tt cthư mc con ti tp tin xác định.  
Mt thư mc (hay thư mc con) cha tp hp các tp tin hay thư mc con.  
Mt thư mc đơn gin là tp tin nhưng nó được đi xtrong mt cách đặc bit. Tt cả  
thư mc có cùng định dng bên trong. Mt bit trong mi mc tthư mc định nghĩa  
mc tnhư mt tp tin (0) hay như mt thư mc con (1). Các li gi hthng đặc bit  
được dùng để to và xoá thư mc.  
Thường thì mi người dùng có thư mc hin hành. Thư mc hin hành cha  
hu hết các tp tin người dùng hin đang quan tâm. Khi tham kho được thc hin ti  
tp tin, thư mc hin hành được tìm. Nếu mt tp tin được yêu cu mà nó không có  
trong thư mc hin hành thì người dùng phi xác định tên đường dn hay chuyn thư  
mc hin hành ti thư mc qun lý tp tin đó. Để thay đi thư mc, mt li gi hệ  
thng được cung cp kèm theo tên thư mc như là tham svà dùng nó để định nghĩa  
li thư mc hin hành. Do đó, người dùng có ththay đi thư mc hin hành bt cứ  
khi nào người dùng mun.  
Thư mc hin hành khi đầu ca người dùng được gán khi công vic người  
dùng bt đầu hay người dùng đăng nhp vào hthng. Hệ điu hành tìm tp tin tính  
toán để xác định mc tcho người dùng này. Trong tp tin tính toán là con trchti  
thư mc khi đầu ca người dùng. Con trnày được chép ti mt biến cc bcho  
người dùng xác định thư mc hin hành khi đầu.  
Tên đường dn có hai kiu: tên đường dn tuyt đi tên đường dn tương  
đi. Mt đường dn tuyt đi bt đầu tgc và theo sau là đường dn xung ti tp  
tin xác định, cho tên các thư mc trên đường dn. Tên đường dn tương đối định  
nghĩa mt đường dn tthư mc hin hành. Thí d, trong hthng tp tin có cu trúc  
cây như hình IX-7, nếu thư mc hin hành là root/spell/mail thì tên đường dn tương  
đi prt/first tham chiếu ti cùng tp tin nhưng tên đường dn tuyt đi  
root/spell/mail/prt/first.  
Quyết định mt chính sách trong cu trúc thư mc cây là cách để qun lý vic  
xoá mt thư mc. Nếu mt thư mc rng, mc tca nó trong thư mc cha bxoá.  
Tuy nhiên, gisthư mc bxoá không rng, nhưng cha nhiu tp tin và thư mc  
con; mt trong hai tiếp cn có thể được thc hin. Mt shthng như MS-DOS sẽ  
không xoá mt thư mc nếu nó không rng. Do đó, để xoá mt thư mc, người dùng  
trước hết phi xoá tt ctp tin trong thư mc đó. Nếu bt cthư mc con tn ti, thủ  
tc này phi được áp dng đệ qui ti chúng để mà chúng có thbxoá. Tiếp cn này  
dn đến lượng công vic ln.  
Biên son: Th.s Nguyn Phú Trường - 09/2005  
Trang 208  
Đại Hc Cn Thơ - Khoa Công NghThông Tin - Giáo Trình Hệ Điu Hành – V1.0  
Hình 0-7 cu trúc thư mc dng cây  
Mt tiếp cn khác được thc hin bi lnh rm ca UNIX cung cp tuchn  
mà khi mt yêu cu được thc hin để xoá mt thư mc, tt ctp tin và thư mc con  
ca thư mc đó cũng bxoá. Tiếp cn này tương đi đơn gin để cài đặt; chn la này  
là mt chính sách. Chính sách sau đó tin dng hơn nhưng nguy him hơn vì toàn bộ  
cu trúc thư mc có thbxoá vi mt lnh. Nếu lnh đó được cp phát bli, mt số  
lượng ln tp tin và thư mc cn được phc hi tcác băng tsao lưu.  
Vi mt hthng thư mc cu trúc cây, người dùng có thtruy xut ti các  
tp tin ca hvà các tp tin ca người dùng khác. Thí d, người dùng B có thtruy  
xut các tp tin ca người dùng A bng cách xác định tên đường dn ca chúng.  
Người dùng B có thxác định tên đường dn tương đi hay tuyt đi. Người dùng B  
có thchuyn thư mc hin hành ti thư mc ca người dùng A và truy xut các tp  
tin bng tên ca chúng. Mt shthng cũng cho phép người dùng định nghĩa đường  
dn tìm kiếm ca chính h. Trong trường hp này, người dùng B có thể định nghĩa  
đường dn tìm kiếm ca mình là (1) thư mc cc bca mình, (2) thư mc tp tin hệ  
thng và (3) thư mc ca người dùng A, theo thtự đó. Tp tin có thể được tham  
kho đơn gin bng tên vi điu kin tên tp tin ca người dùng A không xung đt  
vi tên ca mt tp tin cc bhay tp tin hthng.  
V.4 Cu trúc thư mc dng đồ thkhông cha chu trình  
Xét hai người lp trình đang làm vic trên mt dán chung. Các tp tin gn  
vi dán đó có thể được lưu trong thư mc con, tách ri chúng tcác dán khác và  
các tp tin ca hai người lp trình. Nhưng vì chai người lp trình có trách nhim  
ngang nhau trong dán, chai mun thư mc con trong các thư mc ca chính h.  
Thư mc con nên được chia s. Mt thư mc hay tp tin stn ti trong hthng tp  
tin trong hai (hay nhiu hơn) nơi ti mt thi đim.  
Cu trúc cây ngăn cn vic chia scác tp tin và thư mc. Mt đồ thkhông  
cha chu trình (acyclic graph) cho phép thư mc chia sthư mc con và tp tin (hình  
Biên son: Th.s Nguyn Phú Trường - 09/2005  
Trang 209  
Đại Hc Cn Thơ - Khoa Công NghThông Tin - Giáo Trình Hệ Điu Hành – V1.0  
IX-8). Cùng tp tin và thư mc con có thể ở trong hai thư mc khác nhau. Mt đồ thị  
không cha chu trình là trường hp tng quát ca cơ chế thư mc có cu trúc cây.  
Mt tp tin (hay thư mc) được chia skhông ging như hai bn sao ca mt  
tp tin. Vi hai bn sao, mi người lp trình có ththích hin thbn sao hơn bn gc,  
nhưng nếu mt người lp trình thay đi ni dung tp tin, nhng thay đi skhông  
xut hin trong bn sao ca người còn li. Vi mt tp tin được chia s, chmt tp  
tin thc stn ti vì thế bt csthay đi được thc hin bi mt người này lp tc  
nhìn thy bi người dùng khác. Vic chia slà rt quan trng cho các thư mc con;  
mt tp tin mi được to bi người này stự động xut hin trong tt cthư mc con  
được chia s.  
Khi nhiu người đang làm vic như mt nhóm, tt ctp tin hmun chia scó  
thể đặt vào mt thư mc. Các UFD ca tt cthành viên trong nhóm cha thư mc  
ca tp tin được chia snhư mt thư mc con. Ngay ckhi có mt người dùng, tổ  
chc tp tin ca người dùng này yêu cu rng mt stp tin được đặt vào các thư mc  
con khác nhau. Thí d, mt chương trình được viết cho mt dán nên đặt trong thư  
mc ca tt cchương trình và trong thư mc cho dán đó.  
Hình 0-8 cu trúc đồ thkhông cha chu trình  
Các tp tin và thư mc con được chia scó thể được cài đặt trong nhiu cách.  
Cách thông dng nht được UNIX dùng là to mt mc tthư mc được gi là liên  
kết. Mt liên kết là mt con trchti mt tp tin hay thư mc con khác. Thí d, mt  
liên kết có thể được cài đặt như tên đường dn tuyt đi hay tương đi. Khi mt tham  
chiếu ti tp tin được thc hin, chúng ta tìm kiếm thư mc. Nếu mc tthư mc  
được đánh du như mt liên kết thì tên tp tin tht s(hay thư mc) được cho. Chúng  
ta phân gii liên kết bng cách sdng tên đường dn để định vtp tin tht s.  
Nhng liên kết được xác định ddàng bi định dng trong mc tthư mc và được  
định rõ bng các con trgián tiếp. Hệ điu hành bqua các liên kết này khi duyt qua  
cây thư mc để lưu gicu trúc không cha chu trình ca hthng.  
Biên son: Th.s Nguyn Phú Trường - 09/2005  
Trang 210  
Đại Hc Cn Thơ - Khoa Công NghThông Tin - Giáo Trình Hệ Điu Hành – V1.0  
Mt tiếp cn khác để cài đặt các tp tin được chia slà nhân bn tt cthông  
tin vchúng trong chai thư mc chia s. Do đó, chai mc tlà ging ht nhau.  
Mt liên kết rt khác tmc tthư mc gc. Tuy nhiên, nhân bn mc tthư mc  
làm cho bn gc và bn sao không khác nhau. Mt vn đề chính vi nhân bn mc từ  
thư mc là duy trì tính không đi nếu tp tin bsa đi.  
Mt cu trúc thư mc đồ thkhông cha chu trình linh hot hơn cu trúc cây  
đơn gin nhưng nó cũng phc tp hơn. Mt svn đề phi được xem xét cn thn.  
Mt tp tin có nhiu tên đường dn tuyt đi. Do đó, các tên tp tin khác nhau có thể  
tham chiếu ti cùng mt tp tin. Trường hp này là tương tnhư vn đề bí danh cho  
các ngôn nglp trình. Nếu chúng ta đang cgng duyt toàn bhthng tp tin-để  
tìm mt tp tin, để tp hp các thông tin thng kê trên tt ctp tin, hay chép tt cả  
tp tin ti thiết blưu dphòng-vn đề này trnên ln vì chúng ta không mun duyt  
các cu được chia snhiu hơn mt ln.  
Mt vn đề khác liên quan đến vic xoá. Không gian được cp phát ti tp tin  
được chia sbthu hi và sdng li khi nào? mt khnăng là xoá btp tin bt cứ  
khi nào người dùng xoá nó, nhưng hot đng này để li con trchti mt tp tin  
không tn ti. Trong trường hp xu hơn, nếu các con trtp tin còn li cha địa chỉ  
đĩa tht svà không gian được dùng li sau đó cho các tp tin khác, các con trnày  
có thchvào phn gia ca tp tin khác.  
Trong mt hthng mà vic chia sẻ được cài đặt bi liên kết biu tượng,  
trường hp này ddàng qun lý hơn. Vic xoá mt liên kết không cn tác đng tp tin  
ngun, chliên kết bxoá. Nếu chính tp tin bxoá, không gian cho tp tin này được  
thu hi, để li các liên kết chơi vơi. Chúng ta có thtìm các liên kết này và xoá chúng,  
nhưng nếu không có danh sách các liên kết được ni kết, vic tìm kiếm này stn rt  
nhiu chi phí. Mt cách khác, chúng ta có thể để li các liên kết này cho đến khi nó  
được truy xut. Ti thi đim đó, chúng ta xác định rng tp tin ca tên được cho bi  
liên kết không tn ti và có thbli để phc hi tên liên kết; truy xut này được đi  
xnhư bt ctên tp tin không hp lkhác. Trong trường hp UNIX, các liên kết  
biu tượng được để li khi mt tp tin bxoá và nó cho người dùng nhn thy rng tp  
tin ngun đã mt hay bthay thế. Microsoft Windows (tt cả ấn bn) dùng cùng tiếp  
cn.  
Mt tiếp cn khác đi vi vic xoá là gili tp tin cho ti khi tt ctham  
chiếu ti nó bxoá. Để cài đặt tiếp cn này, chúng ta phi có mt scơ chế để xác  
định rng tham chiếu cui cùng ti tp tin bxoá. Chúng ta gidanh sách ca tt cả  
tham chiếu ti mt tp tin (các mc tthư mc hay các liên kết biu tượng). Khi mt  
liên kết hay bn sao ca mc tthư mc được thiết lp, mt mc tmi được thêm  
ti danh sách tham chiếu tp tin. Khi mt mc tthư mc hay liên kết bxoá, chúng  
ta gbmc tca nó trên danh sách. Tp tin này bxoá khi danh sách tham chiếu  
tp tin ca nó là rng.  
Trngi vi tiếp cn này là kích thước ca danh sách tham chiếu thay đi và  
có thrt ln. Tuy nhiên, chúng ta tht skhông cn gitoàn bdanh sách-chúng ta  
chcn gisố đếm ca stham chiếu. Mt liên kết mi hay mc tthư mc mi sẽ  
tăng số đếm tham chiếu; xoá mt liên kết hay mc tsgim số đếm. Khi số đếm là  
0, tp tin có thể được xoá; không còn tham chiếu nào ti nó. Hệ điu hành UNIX  
dùng tiếp cn này cho các liên kết không biu tượng (hay liên kết cng), gimt số  
đếm tham chiếu trong khi thông tin tp tin (hay inode). Bng cách ngăn cn hiu quả  
nhiu tham chiếu ti các thư mc, chúng ta duy trì cu trúc đồ thkhông cha chu  
trình.  
Biên son: Th.s Nguyn Phú Trường - 09/2005  
Trang 211  
Đại Hc Cn Thơ - Khoa Công NghThông Tin - Giáo Trình Hệ Điu Hành – V1.0  
Để tránh vn đề này, mt shthng không cho phép thư mc hay liên kết  
được chia s. Thí d, trong MS-DOS, cu trúc thư mc là mt cu trúc cây hơn là đồ  
thkhông cha chu trình.  
V.5 Cu trúc thư mc dng đồ thtng quát  
Mt vn đề ln trong vic dùng cu trúc đồ thkhông cha chu trình là đảm bo  
rng không có chu trình trong đồ th. Nếu chúng ta bt đầu vi thư mc hai cp và cho  
phép người dùng to thư mc con, mt thư mc có cu trúc cây to ra. Dthy rng  
thêm các tp tin và thư mc con mi ti mt thư mc có cu trúc cây đã có vn bo  
đảm tính tnhiên ca cu trúc cây. Tuy nhiên, khi chúng ta liên kết mt thư mc cu  
trúc cây đã có, cu trúc cây bphá vhình thành mt đồ thị đơn gin (như hình IX-9).  
Hình 0-9 thư mc đồ thtng quát  
Mt li đim chính ca đồ thkhông cha chu trình là tương đi đơn gin  
trong gii thut duyt đồ thvà xác định khi không có tham chiếu na ti tp tin.  
Chúng ta mun tránh duyt các phn được chia sca đồ thkhông cha chu trình hai  
ln để tăng năng lc. Nếu chúng ta chtìm mt thư mc con được chia scho mt tp  
tin xác định, chúng ta mun tránh vic tìm kiếm thư mc con đó mt ln na; tìm  
kiếm ln hai slãng phí thi gian.  
Nếu các chu trình được cho phép tn ti trong thư mc, chúng ta mun tránh  
tìm kiếm bt cthành phn nào hai ln vì tính đúng đắn cũng như năng lc. Mt gii  
thut được thiết kế nghèo nàn dn ti vòng lp vô tn trên các chu trình. Mt gii  
pháp là gii hn slượng thư mc sẽ được truy xut trong quá trình tìm kiếm.  
Mt vn đề tương ttn ti khi chúng ta cgng xác định khi nào mt tp tin  
có thbxoá. Như vi cu trúc thư mc đồ thkhông cha chu trình, mt giá tr0  
trong số đếm tham chiếu có nghĩa là không còn tham chiếu na ti tp tin hay thư  
mc và tp tin có thbxoá. Tuy nhiên, khi có chu trình tn ti, số đếm tham chiếu  
khác 0 ngay ckhi không còn tham chiếu ti thư mc hay tp tin. Sai sót này dn ti  
khnăng tham chiếu chính nó (hay chu trình) trong cu trúc thư mc. Trong trường  
hp này, chúng ta cn dùng cơ chế thu dn rác (garbage colection) để xác định khi  
tham chiếu cui cùng bxoá và không gian đĩa có thể được cp phát li. Thu dn rác  
Biên son: Th.s Nguyn Phú Trường - 09/2005  
Trang 212  
Đại Hc Cn Thơ - Khoa Công NghThông Tin - Giáo Trình Hệ Điu Hành – V1.0  
liên quan đến vic duyt toàn bhthng tp tin, đánh du mi thcó thể được truy  
xut. Sau đó, duyt ln hai tp hp mi thkhông được đánh du trên danh sách  
không gian trng. Tuy nhiên, thu dn rác cho mt đĩa da trên hthng tp tin rt mt  
thi gian và do đó hiếm khi được thc hin.  
Thu dn rác cn thiết chvì có chu trình trong đồ th. Do đó, cu trúc đồ thị  
không cha chu trình dhơn nhiu. Khó khăn là tránh chu trình khi các liên kết mi  
được thêm vào cu trúc. Chúng ta biết như thế nào và khi nào mt liên kết mi sẽ  
hình thành chu trình? Có nhiu gii thut phát hin các chu trình trong đồ th; tuy  
nhiên chi phí tính toán cao, đặc bit khi đồ thị ở trên đĩa lưu tr. Mt gii thut đơn  
gin hơn trong trường hp đặc bit ca thư mc và liên kết là bqua liên kết khi  
duyt qua thư mc. Chu trình có thtránh được và không có chi phí thêm xy ra.  
VI Gn hthng tp tin  
Ging như mt tp tin phi được mtrước khi nó được dùng, mt hthng tp  
tin phi được gn vào (mounted) trước khi nó có thsn dùng cho các quá trình trên  
hthng. Đặc bit hơn, cu trúc thư mc có thể được xây dng trên nhiu phân khu,  
mà phi được gn vào để làm cho chúng sn dùng trong không gian tên hthng tp  
tin.  
Thtc gn vào không phc tp. Hệ điu hành được cho tên ca thiết bvà vị  
trí trong cu trúc tp tin ti nơi nó được gán vào hthng tp tin (đim gn-mount  
point). Đin hình, mt đim gn thường là thư mc rng nơi hthng tp tin sẽ được  
gn vào. Thí d, trên hthng UNIX, mt hthng tp tin cha các thư mc dành  
riêng cho người dùng (home directory) có thể được gn vào như /home; sau đó để truy  
xut ti cu trúc tp tin trong hthng tp tin đó, người dùng có thể đến trước các tên  
thư mc /home, như trong /home/jane. Gn vào hthng tp tin đó dưới /users sdn  
ti tên đường dn /users/jane để đạt cùng thư mc.  
Tiếp theo, hệ điu hành kim tra thiết bcha mt hthng tp tin hp lệ  
không. Nó thc hin như thế bng cách yêu cu trình điu khin thiết bị đọc thư mc  
thiết bvà kim tra thư mc có định dng như mong mun. Cui cùng, hệ điu hành  
ghi nhn trong cu trúc thư mc ca nó rng hthng tp tin được gn vào ti đim  
gn xác định. Cơ chế này cho phép hệ điu hành duyt cu trúc thư mc ca nó,  
chuyn qua li gia các hthng tp tin mt cách hp lý.  
Để hin thvic gn tp tin, xem xét hthng tp tin được mô tnhư hình IX-10, ở  
đây hình này hình tam giác hin thcây con ca các thư mc đang quan tâm. Trong  
hình (a) hin thhthng tp tin đã có, trong hình (b) hin thmt phân khu chưa  
được gn vào /device/dsk. Ti đim này, chcác tp tin trên hthng tp tin đã tn ti  
mi có thể được truy xut. Trong hình IX-11, hin thcác nh hưởng ca vic gn vào  
phân khu này trên /device/dsk qua /users. Nếu phân khu này chưa được gn, hthng  
tp tin được phc hi ti trường hp được mô tnhư hình IX-10.  
Biên son: Th.s Nguyn Phú Trường - 09/2005  
Trang 213  
Đại Hc Cn Thơ - Khoa Công NghThông Tin - Giáo Trình Hệ Điu Hành – V1.0  
Hình 0-10 Hthng tp tin. (a) đã tn ti. (b) phân khu chưa được gn  
Hthng này áp đặt các ngnghĩa để phân cp chc năng. Thí d, mt hệ  
thng không được phép vượt qua mt thư mc cha các tp tin hay làm hthng tp  
tin được gn vào sn dùng ti thư mc đó và che đậy các tp tin đã có ca thư mc  
cho đến khi hthng tp tin được gra (unmounted), kết thúc vic sdng hthng  
tp tin và cho phép truy xut ti các tp tin trong thư mc đó.  
Xét các hot đng ca hệ điu hành Macintosh. Bt ckhi nào hthng gp  
mt đĩa ti thi đim đầu tiên (đĩa cng ti thi đim khi đng hay đĩa mm ti thi  
đim chèn đĩa vào ), hệ điu hành Macintosh tìm kiếm mt hthng tp tin cho thiết  
bị đó. Nếu nó tìm thy mt hthng tp tin, nó tự động gn hthng tp tin ti mc  
gc, thêm biu tượng thư mc trên màn hình được ghi nhãn vi tên ca hthng tp  
tin (như được lưu trong thư mc thiết b). Sau đó, người dùng có thnhp vào biu  
tượng để hin thhthng tp tin va được gn vào.  
Hhệ điu hành Microsoft Windows (95, 98, NT, 2000) duy trì mt cu trúc  
thư mc hai cp mrng vi các thiết bvà phân khu được gán mt ký tự ổ đĩa. Các  
phân khu có cu trúc thư mc đồ thtng quát được gn lin vi ký tự ổ đĩa. Sau đó,  
đường dn ti mt tp tin xác định có dng ký tự ổ đĩa:\đường dn\ti\tp tin. Nhng  
hệ điu hành này tphát hin tt cthiết bvà gn vào tt chthng tp tin được  
định vti thi đim khi đng. Trong mt vài hthng, như UNIX, các lnh gn vào  
là hin (explicit). Mt tp tin cu hình hthng cha danh sách thiết bvà các đim  
gn vào để tự động gn vào ti thi đim khi đng, nhưng nhng gn vào khác phi  
được thc hin thcông.  
Biên son: Th.s Nguyn Phú Trường - 09/2005  
Trang 214  
Đại Hc Cn Thơ - Khoa Công NghThông Tin - Giáo Trình Hệ Điu Hành – V1.0  
Hình 0-11 Đim gn vào  
VIIChia stp tin  
VII.1 Nhiu người dùng  
Khi hệ điu hành cung cp nhiu người dùng, các vn đề chia stp tin, đặt  
tên tp tin, và bo vtp tin trnên quan trng. Đối vi mt cu trúc thư mc cho  
phép các tp tin được chia sbi nhiu người dùng, hthng phi dàn xếp vic chia  
stp tin. Mc định, hthng có thcho phép mt người dùng truy xut các tp tin  
ca người dùng khác hay nó yêu cu rng mt người dùng gán quyn truy xut cthể  
ti các tp tin.  
Để cài đặt chia svà bo v, hthng phi duy trì nhiu thuc tính tp tin và  
thư mc hơn trên hthng đơn người dùng. Mc dù, có nhiu tiếp cn cho chủ đề này,  
hu hết các hthng đưa ra khái nim người shu (owner) và nhóm (group) tp  
tin/thư mc. Người shu là người dùng có ththay đi các thuc tính, gán truy xut,  
và có hu hết điu khin qua tp tin và thư mc. Thuc tính nhóm ca tp tin được  
dùng để định nghĩa tp hp con các người dùng có thchia struy xut ti tp tin.  
VII.2 Hthng tp tin xa  
Sphát trin ca mng cho phép giao tiếp gia các máy tính xa. Mng cho  
phép chia scác tài nguyên tri rng trong mt khu hay thm chí khp thế gii. Mt  
tài nguyên quan trng để chia slà dliu dng tp tin. Thông quan sphát trin  
mng và công nghtp tin, phương pháp chia stp tin thay đổi. Trong phương pháp  
đầu tiên được cài đặt, người dùng truyn tp tin gia các máy tính bng chương trình  
gi là ftp. Phương pháp quan trng thhai là hthng tp tin phân tán (distributed file  
system-DFS) trong đó, các thư mc xa có thể được nhìn thy tmáy cc b. Trong  
mt scách, phương pháp thba, World Wide Web là mt strli ca phương  
Biên son: Th.s Nguyn Phú Trường - 09/2005  
Trang 215  
Đại Hc Cn Thơ - Khoa Công NghThông Tin - Giáo Trình Hệ Điu Hành – V1.0  
pháp đầu tiên. Mt trình duyt được yêu cu để đạt được truy xut các tp tin txa và  
các thao tác riêng bit được dùng để truyn tp tin.  
VIIIBo vệ  
Khi thông tin được gitrong mt hthng máy tính, chúng ta mun ginó an  
toàn thng hóc vt lý (khnăng tin cy) và nhng truy xut không hp lý (bo v).  
Khnăng tin cy thường được cung cp bi nhân bn các tp tin. Nhiu máy tính có  
các chương trình hthng tự động chép các tp tin trên đĩa ti băng tti nhng  
khong thi gian đều đặn để duy trì mt bn sao. Hthng tp tin có thbhng bi  
phn cng, thay đi đt ngt về đin, nhit độ tăng cao,..các tp tin có thbxoá do  
ri ro. Nhng con b(bugs) trong phn mm hthng tp tin có thlàm cho ni dung  
tp tin bmt.  
Bo vcó thể được cung cp trong nhiu cách. Đối vi mt hthng người  
dùng đơn nh, chúng ta có thcung cp sbo vbng cách gbcác đĩa mm và  
khoá chúng trong ngăn kéo. Tuy nhiên, trong hthng đa người dùng, nhng cơ chế  
khác được yêu cu.  
VIII.1  
Các kiu truy xut  
Nhu cu bo vtp tin là mt kết qutrc tiếp ca khnăng để truy xut tp  
tin. Hthng không cho phép truy xut các tp tin ca người dùng khác thì không cn  
bo v. Do đó, chúng ta có thcung cp sbo vtoàn din bng cách cm truy xut.  
Mt cách khác, chúng ta có thcung cp truy xut thoi mái và không cn bo v. Cả  
hai tiếp cn là quá cc đoan cho các sdng thông thường. Yêu cu truy xut được  
kim soát là gì?  
Các cơ chế bo vcung cp truy xut được kim soát bng cách gii hn kiu  
truy xut tp tin có ththc hin. Truy xut được phép hay btchi phthuc nhiu  
yếu t, mt trong nhng yếu tlà kiu truy xut được yêu cu. Nhiu kiu thao tác có  
thể được kim soát:  
Đọc (Read): đc ttp tin.  
Viết (Write): viết hay viết li tp tin.  
Thc thi (Execute): np tp tin vào bnhvà thc thi nó.  
Chèn cui (Append): viết thông tin mi vào cui tp tin.  
Xoá (Delete): xoá tp tin và gii phóng không gian để có thdùng li  
Lit kê (List): lit kê tên và thuc tính ca tp tin  
Nhng thao tác khác như đổi tên, chép, son tho tp tin có thcũng được  
kim soát. Tuy nhiên, đối vi nhiu hthng, các chc năng cao hơn này có thể được  
cài đặt bi mt chương trình hthng thc hin li gi hthng cp thp hơn. Bo vệ  
được cung cp chti cp thp hơn. Thí d, chép mt tp tin có thể được cài đơn gin  
bi mt chui các yêu cu đc. Trong trường hp này, người dùng vi truy xut đc  
cũng có thlàm cho tp tin được chép, in,..  
Nhiu cơ chế bo vệ được đề ngh. Mi cơ chế có li đim và nhược đim và  
phi phù hp cho ng dng được dự định. Mt hthng máy tính nhỏ được dùng chỉ  
bi mt vài thành viên ca mt nhóm nghiên cu có thkhông cn cùng kiu bo vệ  
như máy tính ca công ty ln.  
Biên son: Th.s Nguyn Phú Trường - 09/2005  
Trang 216  
Đại Hc Cn Thơ - Khoa Công NghThông Tin - Giáo Trình Hệ Điu Hành – V1.0  
VIII.2  
Kim soát truy xut  
Tiếp cn thông dng nht đi vi vn đề bo vlà thc hin truy xut phụ  
thuc định danh ca người dùng. Nhng người dùng khác nhau cn các kiu truy xut  
khác nhau ti mt tp tin hay thư mc. Cơ chế thông dng nht để cài đặt truy xut  
phthuc định danh là gn vi mi tp tin và thư mc mt danh sách kim soát truy  
xut (access-control list-ACL) xác định tên người dùng và kiu truy xut được phép  
cho mi người dùng. Khi mt người dùng yêu cu truy xut ti mt tp tin cth, hệ  
điu hành kim tra danh sách truy xut được gn ti tp tin đó. Nếu người dùng đó  
được lit kê cho truy xut được yêu cu, truy xut được phép. Ngược li, svi phm  
bo vxy ra và công vic ca người dùng đó btchi truy xut ti tp tin.  
Tiếp cn này có li đim ca vic cho phép các phương pháp truy xut phc  
tp. Vn đề chính vi các danh sách truy xut là chiu dài ca nó. Nếu chúng ta mun  
cho phép mi người dùng đc mt tp tin, chúng ta phi lit kê tt cngười dùng vi  
truy xut đọc. Kthut này có hai kết qukhông mong mun:  
Xây dng mt danh sách như thế có thlà mt tác vdài dòng và không  
đáng, đặc bit nếu chúng ta không biết trước danh sách người dùng trong  
hthng.  
Mc tthư mc, trước đó có kích thước cố định, bây gicó kích thước  
thay đi, dn đến vic qun lý không gian phc tp hơn  
Nhng vn đề này có thể được gii quyết bi vic dùng n bn cô đng ca  
danh sách truy xut.  
Để đng chiu dài ca danh sách kim soát truy xut, nhiu hthng nhn  
thy 3 sphân cp người dùng trong ni kết vi mi tp tin:  
Người shu (Owner): người dùng to ra tp tin đó  
Nhóm (Group): tp hp người dùng đang chia stp tin và cn truy xut  
tương tlà nhóm hay nhóm làm vic  
Người dùng khác (universe): tt cngười dùng còn li trong hthng  
Tiếp cn phbiến gn đây nht là kết hp các danh sách kim soát truy xut  
vi người shu, nhóm và cơ chế kim soát truy xut được mô tả ở trên  
Để cơ chế này làm vic hp lý, các quyn và danh sách truy xut phi được  
kim soát cht ch. Kim soát này có thể đạt được trong nhiu cách. Thí d, trong hệ  
thng UNIX, các nhóm có thể được to và sa đổi chbi người qun lý ca tin ích.  
Do đó, kim soát này đạt được thông qua giao tiếp người dùng.  
Vi vic phân cp bo vệ được gii hn hơn, chcó ba trường được yêu cu để  
xác định bo v. Mi trường thường là mt tp hp các bit, mi trường cho phép hay  
ngăn chn truy xut được gn vi nó. Thí d, hthng UNIX định nghĩa 3 trường 3  
bit-rwx, ở đây r kim soát truy xut đc, w kim soát truy xut viết, x kim soát truy  
xut thc thi. Mt trường riêng rẻ được gicho người shu, cho nhóm tp tin và  
cho tt cngười dùng khác. Trong cơ chế này, 9 bits trên tp tin được yêu cu để ghi  
li thông tin bo v.  
VIII.3  
Các tiếp cn bo vkhác  
Mt tiếp cn khác cho vn đề bo vlà gn mt khu vi mi tp tin. Ging như truy  
xut ti hthng máy tính thường được kim soát bi mt mt khu, truy xut ti mi  
tp tin có thể được kim soát bi mt mt khu. Nếu các mt khu được chn mt  
cách ngu nhiên và thường được thay đi thì cơ chế này có thhiu qutrong truy  
xut có gii hn ti tp tin cho nhng người dùng biết mt khu. Tuy nhiên, cơ chế  
Biên son: Th.s Nguyn Phú Trường - 09/2005  
Trang 217  
Đại Hc Cn Thơ - Khoa Công NghThông Tin - Giáo Trình Hệ Điu Hành – V1.0  
này có nhiu nhược đim. Thnht, slượng mt khu mà người dùng cn nhquá  
nhiu, làm cho cơ chế này không thc tế. Thhai, nếu chmt mt khu được dùng  
cho tt ctp tin thì mt khi nó bphát hin tt ctp tin có thtruy xut. Mt shệ  
thng cho phép người dùng gn mt mt khu ti mt thư mc con hơn là vi tng  
tp tin riêng rẻ để gii quyết vn đề này. Thba, thường chmt mt khu gn vi tt  
ctp tin người dùng. Do đó, bo vda trên cơ stt chay không có gì (all-or-  
nothing). Để cung cp sbo vtrên cp độ chi tiết hơn chúng ta phi dùng nhiu mt  
khu.  
IX Tóm tt  
Mt tp tin là mt kiu dliu tru tượng được định nghĩa và được cài đặt bi  
hệ điu hành. Nó là mt chui các mu tin lun lý. Mt mu tin lun lý có thlà mt  
byte, mt dòng (có chiu dài cố định hay thay đi), hay có thành phn dliu phc  
tp hơn. Hệ điu hành có thhtrnhiu kiu mu tin khác nhau hay để shtrợ đó  
ti mt chương trình ng dng.  
Mi thiết btrong mt tp tin gimt bng volume ni dung hay thư mc thiết  
blit kê vtrí các tp tin trên thiết b. Ngoài ra, nó có ích để to các thư mc cho  
phép các tp tin được tchc trong thư mc đó. Mt thư mc đơn cp trong hthng  
đơn người dùng gây ra các vn đề đặt tên vì mi tp tin phi có tên duy nht. Thư mc  
hai cp gii quyết vn đề này bng cách to mt thư mc riêng cho mi người dùng.  
Mi người dùng có thư mc riêng, cha tp tin riêng. Thư mc lit kê các tp tin bng  
tên và cha nhng thông tin như vtrí tp tin trên đĩa, chiu dài, kiu, người shu,  
thi gian to, thi đim dùng gn nht,…  
Tng quát hóa tính tnhiên ca thư mc hai cp là thư mc có cu trúc cây.  
Thư mc có cu trúc cây cho phép mt người dùng to thư mc con để tchc các tp  
tin. Cu trúc thư mc đồ thkhông cha chu trình cho phép các thư mc con và tp tin  
được chia snhưng tìm kiếm và xóa phc tp. Mt cu trúc đồ thtng quát linh đng  
hơn trong vic chia stp tin và thư mc, nhưng yêu cu thu dn rác để phc hi  
không gian đĩa không được dùng.  
Đĩa được phân chia thành mt hay nhiu phân khu, mi phân khu cha mt hệ  
thng tp tin. Hthng tp tin này được gán vào cu trúc đặt tên ca hthng để làm  
cho chúng sn dùng. Cơ chế đặt tên khác nhau bi các hệ điu hành khác nhau. Mt  
khi được gán vào, các tp tin trong phân khu là sn dùng. Các hthng tp tin có thể  
được gra (unmount) để vô hiu hóa truy xut hay để bo trì.  
Chia stp tin phthuc vào ngnghĩa được cung cp bi hthng. Các tp tin  
có nhiu người đc, viết hay bgii hn vic chia s. Hthng tp tin phân tán cho  
phép máy khách hàng gn các phân khu hay thư mc vào tnhiu server. Vi điu  
kin chúng có thtruy xut nhau qua mng. Các hthng tp tin xa có nhng thách  
thc vkhnăng tin cy, năng lc và bo mt. Hthng thông tin được phân tán duy  
trì người dùng, máy ch, thông tin truy xut như khách hàng và thông tin trng thái  
chia sservers để qun lý vic sdng và truy xut.  
Vì các tp tin là cơ chế lưu trthông tin quan trng trong hu hết các hthng  
máy tính nên bo vtp tin là cn thiết. Truy xut ti các tp tin được kim soát riêng  
cho mi loi truy xut-đọc, viết, thc thi, chèn cui, xóa, lit kê thư mc,..Bo vtp  
tin có thể được cung cp bi mt khu, bi danh sách truy xut hay bi nhng kỹ  
thut phc tp.  
Biên son: Th.s Nguyn Phú Trường - 09/2005  
Trang 218  
pdf 19 trang baolam 07/05/2022 8760
Bạn đang xem tài liệu "Giáo trình Hệ điều hành V1.0 - Bài: Hệ thống tập tin - Nguyễn Phú Trường", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfgiao_trinh_he_dieu_hanh_v1_0_bai_he_thong_tap_tin_nguyen_phu.pdf