Giáo trình Nguyên lý h
CH
4.1 H
u hành – KS. Tr n Ng c Thái,
NG 4: CÁC H
môn Tin h c –
TH NG QU N LÝ KHÁC C A H
i h c DL H i Phòng
U HÀNH
TH NG QU N LÝ T P TIN
Trong h u h t các ng d ng, t p tin là thành ph n ch y u. Cho dù m c tiêu c a ng d ng là gì nó
c ng ph i bao g m phát sinh và s d ng thông tin. Thông th ng u vào c a các ng d ng là t p tin
và u ra c ng là t p tin cho vi c truy xu t c a ng i s d ng và các ch ng trình khác sau này.
Trong bài h c này chúng ta s tìm hi u nh ng khái ni m và c ch c a h th ng qu n lý t p tin thông
qua các n i dung nh sau:
Các khái ni m c b n
Mô hình t ch c và qu n lý các t p tin
Bài h c này giúp chúng ta hi u
c t p tin là gì, cách th c t ch c và qu n lý t p tin nh th nào. T
ó giúp chúng ta hi u
c các c ch cài t h th ng t p tin trên các h
u hành.
Bài h c này òi h i nh ng ki n th c v : các thao tác v i t p tin, m t s tính ch t c a t p tin góc
ng i s d ng và nh ng ki n th c v c u trúc d li u c ng nh v ki n trúc máy tính ph n c u trúc và
t ch c l u tr c a a.
4.1.1. CÁC KHÁI NI M C
B N
4.1.1.1 B nh ngoài
Máy tính ph i s d ng thi t b có kh n ng l u tr trong th i gian dài (long-term) vì :
Ph i ch a nh ng l
Thông tin ph i
ng thông tin r t l n (gi vé máy bay, ngân hàng...)
c l u gi m t th i gian dài tr
c khi x lý
Nhi u ti n trình có th truy c p thông tin cùng lúc.
Gi i pháp là s d ng các thi t b l u tr bên ngoài g i là b nh ngoài.
4.1.1.2 T p tin và th m c
T p tin
T p tin là n v l u tr thông tin c a b nh ngoài. Các ti n trình có th
c hay t o m i t p tin n u
c n thi t. Thông tin trên t p tin là v ng b n không b nh h ng b i các x lý t o hay k t thúc các ti n
trình, ch m t i khi user th t s mu n xóa. T p tin
c qu n lý b i h
u hành.
Th m c
l u tr dãy các t p tin, h th ng qu n lý t p tin cung c p th m c, mà trong nhi u h th ng có th
coi nh là t p tin.
4.1.1.3 H th ng qu n lý t p tin
Các t p tin
c qu n lý b i h
u hành v i c ch g i là h th ng qu n lý t p tin. Bao g m : cách
hi n th , các y u t c u thành t p tin, cách t tên, cách truy xu t, cách s d ng và b o v t p tin, các
thao tác trên t p tin. Cách t ch c th m c, các c tính và các thao tác trên th m c.
Tài li u l u hành n i b - 1 -
Giáo trình Nguyên lý h
4.1.2. MÔ HÌNH T
u hành – KS. Tr n Ng c Thái,
môn Tin h c –
i h c DL H i Phòng
CH C VÀ QU N LÝ CÁC T P TIN
4.1.2.1 Mô hình
T p tin
Th m c
T p tin :
Tên t p tin :
T p tin là m t c ch tr u t ng và
qu n lý m i i t ng ph i có m t tên. Khi ti n trình t o m t
t p tin, nó s
t m t tên, khi ti n trình k t thúc t p tin v n t n t i và có th
c truy xu t b i các ti n
trình khác v i tên t p tin ó.
Cách
cái
c ng
t tên t p tin c a m i h
u hành là khác nhau, a s các h
u hành cho phép s d ng 8 ch
t tên t p tin nh ctdl, caycb, tamhghau v.v…, th ng th ng thì các ký t s và ký t
c bi t
c s d ng nh baitap2…,
H th ng t p tin có th có hay không phân bi t ch th
th ng và hoa còn MS-DOS thì không phân bi t.
ng và ch hoa. Ví d : UNIX phân bi t ch
Nhi u h th ng t p tin h tr tên t p tin g m 2 ph n
c phân cách b i d u ‘.’ mà ph n sau
cg i
là ph n m r ng. Ví d : vidu.txt. Trong MS-DOS tên t p tin có t 1 n 8 ký t , ph n m r ng có t 1
n 3 ký t . Trong UNIX có th có nhi u phân cách nh prog.c.Z. M t s ki u m r ng thông th ng
là :
.bak, .bas, .bin, .c, .dat, .doc, .ftn, .hlp, .lib, .obj, .pas, .tex, .txt.
Trên th c t ph n m r ng có h u ích trong m t s tr
nh n bi t các t p tin có ph n m r ng là .C
ng h p, ví d nh có nh ng trình d ch C ch
C u trúc c a t p tin :
G m 3 lo i :
Dãy tu n t các byte không c u trúc : h
UNIX s d ng lo i này.
Dãy các record có chi u dài c
u hành không bi t n i dung c a t p tin:MS-DOS và
nh.
C u trúc cây : g m cây c a nh ng record, không c n thi t có cùng
khóa giúp cho vi c tìm ki m nhanh h n.
dài, m i record có m t tr
ng
Ki u t p tin :
N uh
u hành nh n bi t
c lo i t p tin, nó có th thao tác m t cách h p lý trên t p tin ó. Các h
i u hành h tr cho nhi u lo i t p tin khác nhau bao g m các ki u nh : t p tin th ng, th m c, t p
tin có ký t
c bi t, t p tin kh i.
T p tin th
ng : là t p tin text hay t p tin nh phân ch a thông tin c a ng
Tài li u l u hành n i b - 2 -
i s d ng.
Giáo trình Nguyên lý h
u hành – KS. Tr n Ng c Thái,
Th m c : là nh ng t p tin h th ng dùng
T p tin có ký t
c bi t : liên quan
hình, máy in, m ng.
T p tin kh i : dùng
T p tin th
ng
môn Tin h c –
i h c DL H i Phòng
l u gi c u trúc c a h th ng t p tin.
n nh p xu t thông qua các thi t b nh p xu t tu n t nh màn
truy xu t trên thi t b
a.
c chia làm hai lo i là t p tin v n b n và t p tin nh phân.
T p tin v n b n ch a các dòng v n b n cu i dòng có ký hi u enter. M i dòng có
dài có th khác
nhau. u i m c a ki u t p tin này là nó có th hi n th , in hay so n th o v i m t editor thông
th ng. a s các ch ng trình dùng t p tin v n b n nh p xu t, nó c ng d dàng làm u vào và u
ra cho c ch pipeline.
T p tin nh phân : có c u trúc khác t p tin v n b n. M c dù v m t k thu t , t p tin nh phân g m dãy
các byte , nh ng h
u hành ch th c thi t p tin ó n u nó có c u trúc úng. Ví d m t m t t p tin nh
phân thi hành
c c a UNIX. Th ng th ng nó bao g m n m thành ph n : header, text, data,
relocation bits, symbol table. Header b t u b i byte nh n di n cho bi t ó là t p tin thi hành. Sau ó
là 16 bit cho bi t kích th c các thành ph n c a t p tin, a ch b t u th c hi n và m t s bit c . Sau
header là d li u và text c a t p tin. Nó
c n p vào b nh và nh v l i b i nh ng bit relocation.
B ng symbol
c dùng debug.
M t ví d khác là t p tin nh phân ki u archive. Nó ch a các th vi n ã
c d ch nh ng ch a
liên k t. Bao g m m t header cho bi t tên, ngày t o, ng i s h u, mã b o v , và kích th c…
Truy xu t t p tin :
Tài li u l u hành n i b - 3 -
c
Giáo trình Nguyên lý h
u hành – KS. Tr n Ng c Thái,
môn Tin h c –
i h c DL H i Phòng
T p tin l u tr các thông tin. Khi t p tin
c s d ng, các thông tin này
c a vào b nh c a máy
tính. Có nhi u cách
truy xu t chúng. M t s h th ng cung c p ch m t ph ng pháp truy xu t, m t
s h th ng khác, nh IBM ch ng h n cho phép nhi u cách truy xu t.
Ki u truy xu t t p tin n gi n nh t là truy xu t tu n t . Ti n trình c t t c các byte trong t p tin
theo th t t
u. Các trình so n th o hay trình biên d ch c ng truy xu t t p tin theo cách này. Hai
thao tác ch y u trên t p tin là c và ghi. Thao tác c s
c m t m u tin ti p theo trên t p tin và t
ng t ng con tr t p tin. Thao tác ghi c ng t ng t nh v y. T p tin có th t kh i ng l i t v trí
u tiên và trong m t s h th ng t p tin cho phép di chuy n con tr t p tin i t i ho c i lui n m u tin.
Truy xu t ki u này thu n l i cho các lo i b ng t và c ng là cách truy xu t khá thông d ng. Truy xu t
tu n t c n thi t cho nhi u ng d ng. Có hai cách truy xu t. Cách truy xu t th nh t thao tác c b t
u v trí u t p tin, cách th hai có m t thao tác c bi t g i là SEEK cung c p v trí hi n th i làm
v trí b t u. Sau ó t p tin
c c tu n t t v trí b t u.
M t ki u truy xu t khác là truy xu t tr c ti p. M t t p tin có c u trúc là các m u tin logic có kích th c
b ng nhau, nó cho phép ch ng trình c ho c ghi nhanh chóng mà không c n theo th t . Ki u truy
xu t này d a trên mô hình c a a. a cho phép truy xu t ng u nhiên b t k kh i d li u nào c a t p
tin. Truy xu t tr c ti p
c s d ng trong tr ng h p ph i truy xu t m t kh i l ng thông tin l n nh
trong c s d li u ch ng h n. Ngoài ra còn có m t s cách truy xu t khác d trên ki u truy xu t này
nh truy xu t theo ch m c ...
Thu c tính t p tin :
Ngoài tên và d li u, h
u hành cung c p thêm m t s thông tin cho t p tin g i là thu c tính.
Các thu c tính thông d ng trong m t s h th ng t p tin :
Tên thu c tính
Ý ngh a
B ov
Ai có th truy xu t
M t kh u
M t kh u c n thi t
Ng
it o
Id c a ng
Ng
is h u
Ng
i s h u hi n t i
0 là
c ghi, 1 là ch
Ch
c
c và b ng cách nào
truy xu t t p tin
i t o t p tin
c
Aån
0 là bình th
kê
ng, 1 là không hi n th khi li t
H th ng
0 là bình th
ng, 1 là t p tin h th ng
Tài li u l u hành n i b - 4 -
Giáo trình Nguyên lý h
u hành – KS. Tr n Ng c Thái,
u tr
môn Tin h c –
i h c DL H i Phòng
0 ã u c backup, 1 c n backup
ASCII/binary
0 là t p tin v n b n, 1 là t p tin nh phân
Truy xu t ng u 0 truy xu t tu n t , 1 là truy xu t ng u nhiên
nhiên
Temp
0 là bình th
thúc
Khóa
0 là không khóa, khác 0 là khóa
dài c a record
ng, 1 là b xóa khi ti n trình k t
S byte trong m t record
V trí khóa
Offset c a khóa trong m i record
Gi t o
Ngày và gi t o t p tin
Th i gian truy Ngày và gi truy xu t t p tin g n nh t
c p cu i cùng
Th i gian thay Ngày và gi thay
i cu i cùng
Kích th
th i
Kích th
i t p tin g n nh t
c hi n S byte c a t p tin
c t i a.
S byte t i a c a t p tin
Hình 8.3 M t s thu c tính thông d ng c a t p tin
Th m c :
H TH NG TH
M C THEO C P B C :
M t th m c th ng th ng ch a m t s entry, m i entry cho m t t p tin. M i entry ch a tên t p tin,
thu c tính và a ch trên a l u d li u ho c m t entry ch ch a tên t p tin và m t con tr , tr t i m t
c u trúc, trên ó có thu c tính và v trí l u tr c a t p tin.
Khi m t t p tin
cm ,h
u hành tìm trên th m c c a nó cho t i khi tìm th y tên c a t p tin
c m . Sau ó nó s xác nh thu c tính c ng nh
a ch l u tr trên a và a vào m t b ng trong
b nh . Nh ng truy xu t sau ó th c hi n trong b nh chính.
S l ng th m c trên m i h th ng là khác nhau. Thi t k
n gi n nh t là h th ng ch có th m c
n(còn g i là th m c m t c p), ch a t t c các t p tin c a t t c ng i dùng, cách này d t ch c và
khai thác nh ng c ng d gây ra khó kh n khi có nhi u ng i s d ng vì s có nhi u t p tin trùng tên.
Ngay c trong tr ng h p ch có m t ng i s d ng, n u có nhi u t p tin thì vi c t tên cho m t t p
tin m i không trùng l p là m t v n khó.
Cách th hai là có m t t m c g c và trong ó có nhi u th m c con, trong m i th m c con ch a t p
tin c a ng i s d ng (còn g i là th m c hai c p), cách này tránh
c tr ng h p xung t tên
nh ng c ng còn khó kh n v i ng i dùng có nhi u t p tin. Ng i s d ng luôn mu n nhóm các ng
d ng l i m t cách logic.
Tài li u l u hành n i b - 5 -
Giáo trình Nguyên lý h
u hành – KS. Tr n Ng c Thái,
môn Tin h c –
i h c DL H i Phòng
T ó, h th ng th m c theo c p b c (còn g i là cây th m c)
c hình thành v i mô hình m t th
m c có th ch a t p tin ho c m t th m c con và c ti p t c nh v y hình thành cây th m c nh
trong các h
u hành DOS, Windows, v. v...
Ngoài ra, trong m t s h
u hành nhi u ng i dùng, h th ng còn xây d ng các hình th c khác c a
c u trúc th m c nh c u trúc th m c theo
th có chu trình và c u trúc th m c theo
th t ng
quát. Các c u trúc này cho phép các ng i dùng trong h th ng có th liên k t v i nhau thông qua các
th m c chia s .
NG D N :
Khi m t h th ng t p tin
c t ch c thành m t cây th m c, có hai cách xác nh m t tên t p tin.
Cách th nh t là
ng d n tuy t i, m i t p tin
c gán m t
ng d n t th m c g c n t p tin.
Ví d : /usr/ast/mailbox.
Tài li u l u hành n i b - 6 -
Giáo trình Nguyên lý h
u hành – KS. Tr n Ng c Thái,
môn Tin h c –
i h c DL H i Phòng
D ng th hai là
ng d n t ng i, d ng này có liên quan n m t khái ni m là th m c hi n hành
hay th m c làm vi c. Ng i s d ng có th quy nh m t th m c là th m c hi n hành. Khi ó
ng d n không b t u t th m c g c mà liên quan n th m c hi n hành. Ví d , n u th m c
hi n hành là /usr/ast thì t p tin v i
ng d n tuy t i /usr/ast/mailbox có th
c dùng n gi n là
mailbox.
Trong ph n l n h th ng, m i ti n trình có m t th m c hi n hành riêng, khi m t ti n trình thay i th
m c làm vi c và k t thúc, không có s thay i
l i trên h th ng t p tin. Nh ng n u m t hàm th
vi n thay i
ng d n và sau ó không i l i thì s có nh h ng n ti n trình.
H u h t các h
u hành u h tr h th ng th m c theo c p b c v i hai entry
m c là "." và "..". "." ch th m c hi n hành, ".." ch th m c cha.
c bi t cho m i th
4.1.2.2 Các ch c n ng
T p tin
Th m c
T p tin :
T o : m t t p tin
c t o ch a có d li u. M c tiêu c a ch c n ng này là thông báo cho bi t r ng t p
tin ã t n t i và thi t l p m t s thu c tính.
Xóa :khi m t t p tin không còn c n thi t n a, nó
c xóa
hành t
ng xoá t p tin sau m t kho ng th i gian n ngày.
t ng dung
ng
a. M t s h
u
M : tr c khi s d ng m t t p tin, ti n trình ph i m nó. M c tiêu c a m là cho phép h th ng thi t
l p m t s thu c tính và a ch a trong b nh
t ng t c
truy xu t.
óng : khi ch m d t truy xu t, thu c tính và a ch trên a không c n dùng n a, t p tin
l i gi i phóng vùng nh . M t s h th ng h n ch t i a s t p tin m trong m t ti n trình.
c : c d li u t t p tin t i v trí hi n th i c a
v trí c a buffer l u tr nó.
u
c, n i g i s cho bi t c n bao nhiêu d li u và
Ghi : ghi d li u lên t p tin t v trí hi n th i c a u c. N u là cu i t p tin,kích th
ng lên, n u ang gi a t p tin, d li u s b ghi ch ng lên.
Thêm : g n gi ng nh WRITE nh ng d li u luôn
Tìm :dùng
hi n hành
L y thu c tính :l y thu c tính c a t p tin cho ti n trình
i tên :thay
i thu c tính c a t p tin sau m t th i gian s d ng.
i tên c a t p tin ã t n t i.
Th m c :
T o : m t th m c
c t p tin s
c ghi vào cu i t p tin.
truy xu t t p tin ng u nhiên. Khi xu t hi n l i g i h th ng, v trí con tr
c di chuy n t i v trí c n thi t. Sau ó d li u s
c c ghi t i v trí này.
Thi t l p thu c tính :thay
c óng
c t o, nó r ng, ngo i tr "." và ".."
c
Tài li u l u hành n i b - 7 -
tt
ng b i h th ng.
ang
v trí
Giáo trình Nguyên lý h
u hành – KS. Tr n Ng c Thái,
môn Tin h c –
i h c DL H i Phòng
Xóa :xoá m t th m c, ch có th m c r ng m i b xóa, t m c ch a "." và ".." coi nh là th m c
r ng.
M th m c :th m c có th
c c. Ví d
li t kê t t c t p tin trong m t th m c, ch ng trình
li t kê m th m c và c ra tên c a t t c t p tin ch a trong ó. Tr c khi th m c
c c, nó ph i
c m ra tr c.
óng th m c :khi m t th m c ã
c
c xong, ph i óng th m c
gi i phóng vùng nh .
c th m c :L nh này tr v entry ti p theo trong th m c ã m . Thông th ng có th
c th m c
b ng l i g i h th ng READ, l nh c th m c luôn luôn tr v m t entry d i d ng chu n .
i tên :c ng nh t p tin, th m c c ng có th
c
i tên.
Liên k t :k thu t này cho phép m t t p tin có th xu t hi n trong nhi u th m c khác nhau. Khi có
yêu c u, m t liên k t s
c t o gi a t p tin và m t
ng d n
c cung c p.
B liên k t :N u t p tin ch còn liên k t v i m t th m c, nó s b lo i b hoàn toàn kh i h th ng,
n u nhi u thì nó b gi m ch s liên k t.
Câu h i ki m tra ki n th c
1. T p tin là gì ? Th m c là gì ? T i sao ph i qu n lý t p tin và th m c ?
2. T p tin có nh ng
c tính gì ? Nh ng
c tính nào là quan tr ng ? T i sao ?
3. Nêu các ch c n ng c a t p tin và th m c.
4.2 H
TH NG QU N LÝ NH P/XU T
M t trong nh ng ch c n ng chính c a h
u hành là qu n lý t t c nh ng thi t b nh p/xu t c a máy
tính. H
u hành ph i ra các ch th
u khi n thi t b , ki m soát các ng t và l i. H
u hành ph i
cung c p m t cách giao ti p n gi n và ti n d ng gi a các thi t b và ph n còn l i c a h th ng và
giao ti p này ph i c l p v i thi t b . Trong bài này chúng ta tìm hi u h
u hành qu n lý nh p/xu t
nh th nào v i nh ng n i dung sau:
Khái ni m v h th ng nh p/ xu t
Ph n c ng nh p / xu t
Ph n m m nh p / xu t
Qua bài h c này, chúng ta hi u
c c ch qu n lý nh p/xu t c a h
u hành m t cách t ng quát.
T ó chúng ta có th hi u rõ h n quá trình nh p xu t di n ra trên máy tính thông qua h
u hành
nh th nào. Bài h c này c ng giúp cho vi c tìm hi u c ch t ng tác gi a h
u hành và các thi t
b nh p/xu t c th
c c p trong bài h c sau) d dàng h n.
Bài h c này òi h i nh ng ki n th c v : ki n trúc máy tính, c ch ng t trên máy tính.
4.2.1 KHÁI NI M V H TH NG QU N LÝ NH P/XU T
H th ng qu n lý nh p/xu t
l p có giao ti p v i nhau nh s
c t ch c theo t ng l p, m i l p có m t ch c n ng nh t
sau :
Tài li u l u hành n i b - 8 -
nh và các
Giáo trình Nguyên lý h
u hành – KS. Tr n Ng c Thái,
CÁC L P
môn Tin h c –
i h c DL H i Phòng
CH C N NG NH P/XU T
X lý c a ng
dùng
i T o l i g i nh p/xu t,
nh p/xu t
Ph n m m
l p thi t b
c
nh d ng
t tên, b o v , t ch c kh i, b
nh v
m,
i u khi n thi t Thi t l p thanh ghi thi t b , ki m tra
b
tr ng thái
Ki m soát ng t
Báo cho driver khi nh p/xu t hoàn t t
Ph n c ng
Th c hi n thao tác nh p/xu t
Ví d : Trong m t ch ng trình ng d ng, ng i dùng mu n c m t kh i t m t t p tin, h
u hành
c kích ho t
th c hi n yêu c u này. Ph n m m c l p thi t b tìm ki m trong cache, n u kh i
c n c không có s n, nó s g i ch ng trình i u khi n thi t b g i yêu c u n ph n c ng. Ti n trình
b ng ng l i cho n khi thao tác a hoàn t t. Khi thao tác này hoàn t t, ph n c ng phát sinh m t ng t.
B ph n ki m soát ng t ki m tra bi n c này, ghi nh n tr ng thái c a thi t b và ánh th c ti n trình b
ng ng ch m d t yêu c u I/O và cho ti n trình c a ng i s d ng ti p t c th c hi n.[TAN]
4.2.2. PH N C NG NH P/XU T
Có nhi u cách nhìn khác nhau v ph n c ng nh p/xu t. Các k s i n t thì nhìn d i góc
là các
thi t b nh IC, dây d n, b ngu n, motor v.v….Các l p trình viên thì nhìn chúng d i góc
ph n
m m - nh ng l nh nào thi t b ch p nh n, chúng s th c hi n nh ng ch c n ng nào, và thông báo l i
c a chúng bao g m nh ng gì, ngh a là chúng ta quan tâm n l p trình thi t b ch không ph i các thi t
b này ho t ng nh th nào m c dù khía c nh này có liên quan m t thi t v i các thao tác bên trong
c a chúng. Ph n này chúng ta
c p n m t s khái ni m v ph n c ng I/O liên quan n khía c nh
l p trình.
4.2.2.1 Thi t b I/O
Các thi t b nh p xu t có th chia t
ng
i thành hai lo i là thi t b kh i và thi t b tu n t .
Thi t b kh i là thi t b mà thông tin
c l u tr trong nh ng kh i có kích th c c
nh và
c nh
v b i a ch . Kích th c thông th ng c a m t kh i là kho ng t 128 bytes n 1024 bytes. c i m
c a thi t b kh i là chúng có th
c truy xu t ( c ho c ghi) t ng kh i riêng bi t, và ch ng trình có
th truy xu t m t kh i b t k nào ó. a là m t ví d cho lo i thi t b kh i.
M t d ng thi t b th hai là thi t b tu n t . d ng thi t b này, vi c g i và nh n thông tin d a trên là
chu i các bits, không có xác nh a ch và không th th c hi n thao tác seek
c. Màn hình, bàn
phím, máy in, card m ng, chu t, và các lo i thi t b khác không ph i d ng a là thi t b tu n t .
Vi c phân chia các l p nh trên không hoàn toàn t i u, m t s các thi t b không phù h p v i hai l p
trên, ví d : ng h , b nh màn hình v.v...không th c hi n theo c ch tu n t các bits. Ngoài ra,
ng i ta còn phân lo i các thi t b I/O d i m t tiêu chu n khác :
Thi t b t ng tác
c v i con ng
phím, chu t, máy in ...
i : dùng
giao ti p gi a ng
Tài li u l u hành n i b - 9 -
i và máy. Ví d : màn hình, bàn
Giáo trình Nguyên lý h
u hành – KS. Tr n Ng c Thái,
môn Tin h c –
i h c DL H i Phòng
Thi t b t ng tác trong h th ng máy tính là các thi t b giao ti p v i nhau. Ví d :
giao ti p...
a, b ng t , card
Thi t b truy n th ng : nh modem...
Nh ng
T c
m khác nhau gi a các thi t b I/O g m :
truy n d li u , ví d bàn phím : 0.01 KB/s, chu t 0.02 KB/s ...
Công d ng.
n v truy n d li u (kh i ho c ký t ).
Bi u di n d li u,
u này tùy thu c vào t ng thi t b c th .
Tình tr ng l i : nguyên nhân gây ra l i, cách mà chúng báo v ...
4.2.2.2 T ch c c a ch c n ng I/O
Có ba cách
th c hi n I/O :
M t là, b x lý phát sinh m t l nh I/O n các n v I/O, sau ó, nó ch trong tr ng thái "busy"
cho
n khi thao tác này hoàn t t tr c khi ti p t c x lý.
Hai là, b x lý phát sinh m t l nh I/O n các n v I/O, sau ó, nó ti p t c vi c x lý cho t i khi
nh n
c m t ng t t
n v I/O báo là ã hoàn t t, nó t m ng ng vi c x lý hi n t i
chuy n qua
x lý ng t.
Ba là, s d ng c ch DMA (nh
Các b
c
c p
sau)
c ti n hóa c a ch c n ng I/O :
B x lý ki m soát tr c ti p các thi t b ngo i vi.
H th ng có thêm b
u khi n thi t b . B x lý s d ng cách th c hi n nh p xu t th nh t. Theo
cách này b x lý
c tách r i kh i các mô t chi ti t c a các thi t b ngo i vi.
B x lý s d ng thêm c ch ng t.
S d ng c ch DMA, b x lý truy xu t nh ng d li u I/O tr c ti p trong b nh chính.
4.2.2.3 B
u khi n thi t b
M t n v b nh p xu t th ng
c chia làm hai thành ph n chính là thành ph n c và thành ph n
i n t . Thành ph n
nt
c g i là b ph n
u khi n thi t b hay b t ng thích, trong các máy
vi tính th ng
c g i là card giao ti p. Thành ph n c chính là b n thân thi t b .
M t b ph n
u khi n th ng có b ph n k t n i trên chúng
có th g n thi t b lên ó. M t b
ph n
u khi n có th qu n lý
c hai, b n hay th m chí tám thi t b khác nhau. N u giao ti p gi a
thi t b và b ph n
u khi n là các chu n nh ANSI, IEEE hay ISO thì nhà s n xu t thi t b và b
i u khi n ph i tuân theo chu n ó, ví d : b
u khi n a
c theo chu n giao ti p c a IBM.
Giao ti p gi a b
u khi n và thi t b là giao ti p
m c th p.
Tài li u l u hành n i b - 10 -
Giáo trình Nguyên lý h
u hành – KS. Tr n Ng c Thái,
Ch c n ng c a b
u khi n là giao ti p v i h
v i thi t b . Vi c thông tin thông qua h th ng
môn Tin h c –
i h c DL H i Phòng
u hành vì h
u hành không th truy xu t tr c ti p
ng truy n g i là bus.
Công vi c c a b
u khi n là chuy n i dãy các bit tu n t trong m t kh i các byte và th c hi n s a
ch a n u c n thi t. Thông th ng kh i các byte
c t ch c thành t ng bit và t trong buffer c a b
i u khi n. Sau khi th c hi n checksum n i dung c a buffer s
c chuy n vào b nh chính. Ví d :
b
u khi n cho màn hình c các byte c a ký t
hi n th trong b nh và t ch c các tín hi u
i u khi n các tia c a CRT
xu t trên màn nh b ng cách quét các tia d c và ngang. N u không có
b
u khi n, l p trình viên h
u hành ph i t o thêm ch ng trình i u khi n tín hi u analog cho
èn hình. V i b
u khi n , h
u hành ch c n kh i ng chúng v i m t s tham s nh s ký t
trên m t dòng, s dòng trên màn hình và b
u khi n s th c hi n u khi n các tia.
M ib
u khi n có m t s thanh ghi liên l c v i CPU. Trên m t s máy tính, các thanh ghi này là
m t ph n c a b nh chính t i m t a ch xác nh g i là ánh x b nh nh p xu t. H máy PC dành
ra m t vùng a ch
c bi t g i là a ch nh p xu t và trong ó
c chia làm nhi u
n, m i
n
cho m t lo i thi t b nh sau :
B
u
nh p/xu t
khi n
a ch nh p/xu t
Vect ng t
ng h
040 - 043
8
Bàn phím
060 - 063
9
RS232 ph
2F8 - 2FF
11
a c ng
320 - 32F
13
Máy in
378 - 37F
15
Màn hình mono
380 - 3BF
-
Màn hình màu
3D0 - 3DF
-
am m
3F0 - 3F7
14
RS232 chính
3F8 - 3FF
12
H
u hành th c hi n nh p xu t b ng cách ghi l nh lên các thanh ghi c a b
u khi n. Ví d : b
i u khi n a m m c a IBMPC ch p nh n 15 l nh khác nhau nh : READ, WRITE, SEEK,
FORMAT, RECALIBRATE, m t s l nh có tham s và các tham s c ng
c n p vào thanh ghi. Khi
Tài li u l u hành n i b - 11 -
Giáo trình Nguyên lý h
u hành – KS. Tr n Ng c Thái,
môn Tin h c –
i h c DL H i Phòng
m t l nh ã
c ch p nh n, CPU s r i b
u khi n
th c hi n công vi c khác. Sau khi th c hi n
xong, b
u khi n phát sinh m t ng t báo hi u cho CPU bi t và n l y k t qu
c l u gi trong
các thanh ghi.
4.2.2.4 DMA (Direct Memory Access)
a s các lo i thi t b , c bi t là các thi t b d ng kh i, h tr c ch DMA (direct memory access).
hi u v c ch này, tr c h t ph i xem xét quá trình c a mà không có DMA. Tr c tiên, b
i u khi n c tu n t các kh i trên a, t ng bit t ng bit cho t i khi toàn b kh i
c a vào buffer
c ab
u khi n. Sau ó máy tính th c hi n checksum
m b o không có l i x y ra. Ti p theo b
i u khi n t o ra m t ng t
báo cho CPU bi t. CPU n l y d li u trong buffer chuy n v b nh
chính b ng cách t o m t vòng l p c l n l t t ng byte. Thao tác này làm lãng phí th i gian c a CPU.
Do ó t i u, ng i ta a ra c ch DMA.
C ch DMA giúp cho CPU không b lãng phí th i gian. Khi s d ng, CPU g i cho b
m t s các thông s nh
a ch trên a c a kh i, a ch trong b nh n i nh v kh i, s l
d li u chuy n.
u khi n
ng byte
Sau khi b
u khi n ã c toàn b d li u t thi t b vào buffer c a nó và ki m tra checksum. B
i u khi n chuy n byte u tiên vào b nh chính t i a ch
c mô t b i a ch b nh DMA. Sau
ó nó t ng a ch DMA và gi m s bytes ph i chuy n. Quá trình này l p cho t i khi s bytes ph i
chuy n b ng 0, và b
u khi n t o m t ng t. Nh v y không c n ph i copy kh i vào trong b nh , nó
ã hi n h u trong b nh .
4.2.3. PH N M M NH P/XU T
M c tiêu chung c a thi t b logic là d bi u di n. Thi t b logic
ct
i cùng giao ti p v i ph n c ng, l p trên cùng giao ti p t t, thân thi n v
then ch t c a thi t b logic là c l p thi t b , ví d : có th vi t ch ng
m m hay a c ng mà không c n ph i mô t l i ch ng trình cho t ng lo
logic ph i có kh n ng ki m soát l i. Thi t b logic
c t ch c thành b
khi n thi t b , ph n m m h
u hành c l p thi t b , ph n m m m c ng
ch c thành nhi u l p. L p
i ng i s d ng. Khái ni m
trình truy xu t file trên a
i thi t b . Ngoài ra, thi t b
n l p : Ki m soát l i,
u
i s d ng.
4.2.3.1 Ki m soát ng t
Ng t là m t hi n t ng ph c t p. Nó ph i c n
c che d u sâu trong h
u hành, và m t ph n ít c a
h th ng bi t v chúng. Cách t t nh t che d u chúng là h
u hành có m i ti n trình th c hi n thao
tác nh p xu t cho t i khi hoàn t t m i t o ra m t ng t. Ti n trình có th t khóa l i b ng cách th c hi n
l nh WAIT theo m t bi n u ki n ho c RECEIVE theo m t thông p.
Tài li u l u hành n i b - 12 -
Giáo trình Nguyên lý h
u hành – KS. Tr n Ng c Thái,
môn Tin h c –
i h c DL H i Phòng
Khi m t ng t x y ra, hàm x lý ng t kh i t o m t ti n trình m i x lý ng t. Nó s th c hi n m t tín
hi u trên bi n
u ki n và g i nh ng thông p n cho các ti n trình b khóa. T ng quát, ch c n ng
c a ng t là làm cho m t ti n trình ang b khóa
c thi hành tr l i.
4.2.3.2 i u khi n thi t b (device drivers)
T t c các
n mã c l p thi t b
u
c chuy n n device drivers. M i device drivers ki m soát
m i lo i thi t b , nh ng c ng có khi là m t t p h p các thi t b liên quan m t thi t v i nhau.
Device drivers phát ra các ch th và ki m tra xem ch th ó có
c th c hi n chính xác không. Ví d ,
driver c a a là ph n duy nh t c a h
u hành ki m soát b
u khi n a. Nó qu n lý sectors,
tracks, cylinders, head, chuy n ng, interleave, và các thành ph n khác giúp cho các thao tác a
c
th c hi n t t.
Ch c n ng c a device drivers là nh n nh ng yêu c u tr u t ng t ph n m m nh p/xu t c l p thi t
b l p trên, và giám sát yêu c u này th c hi n. N u driver ang r nh, nó s th c hi n ngay yêu c u,
ng c l i, yêu c u ó s
c a vào hàng i.
Ví d , b c u tiên c a yêu c u nh p/xu t
ph i bi t kh i nào c n c, ki m tra s ho t
ch a v.v…
a là chuy n t tr u t ng thành c th . Driver c a a
ng c a motor a, xác nh v trí c a u c ã úng
Ngh a là device drivers ph i xác nh
c nh ng thao tác nào c a b
u khi n ph i thi hành và theo
trình t nào. M t khi ã xác nh
c ch th cho b
u khi n, nó b t u th c hi n b ng cách
chuy n l nh vào thanh ghi c a b
u khi n thi t b . B
u khi n có th nh n m t hay nhi u ch th
liên ti p và sau ó t nó th c hi n không c n s tr giúp c a h
u hành. Trong khi l nh th c hi n.
Có hai tr ng h p x y ra : M t là device drivers ph i ch cho t i khi b
u khi n th c hi n xong
b ng cách t khóa l i cho t i khi m t ng t phát sinh m khóa cho nó. Hai là, h
u hành ch m d t
mà không ch , vì v y driver không c n thi t ph i khóa.
Sau khi h
u hành hoàn t t vi c ki m tra l i và n u m i th
u n driver s chuy n d li u cho
ph n m m c l p thi t b . Cu i cùng nó s tr v thông tin v tr ng thái hay l i cho n i g i và n u có
m t yêu c u khác hàng i, nó s th c hi n ti p, n u không nó s khóa l i ch
n yêu c u ti p theo.
4.2.3.3 Ph n m m nh p/xu t
c l p thi t b
M c dù m t s ph n m m nh p/xu t mô t thi t b nh ng ph n l n chúng là c l p v i thi t b . Ranh
gi i chính xác gi a drivers và ph n m m c l p thi t b là c l p v m t h th ng, b i vì m t s hàm
mà
c thi hành theo ki u c l p thi t b có th
c thi hành trên drivers vì lý do hi u qu hay
nh ng lý dó khác nào ó.
Giao ti p
drivers
ng nh t cho device
t tên thi t b
B o v thi t b
Cung c p kh i
c l p thi t b
T ch c buffer
Tài li u l u hành n i b - 13 -
Giáo trình Nguyên lý h
u hành – KS. Tr n Ng c Thái,
môn Tin h c –
i h c DL H i Phòng
nh v l u tr trên thi t b kh i
C p phát và gi i phóng thi t b t n
hi n
Báo l i
Ch c n ng c b n c a ph n m m nh p/xu t c l p thi t b là nh ng ch c n ng chung cho t t c các
thi t b và cung c p m t giao ti p ng nh t cho ph n m m ph m vi ng i s d ng.
Tr c tiên nó ph i có ch c n ng t o m t ánh x gi a thi t b và m t tên hình th c. Ví d
iv i
UNIX, tên /dev/tty0 dành riêng mô t I-node cho m t file c bi t, và I-node này ch a ch a s thi t
b chính,
c dùng xác nh driver thích h p và s thi t b ph ,
c dùng xác nh các tham s
cho driver cho bi t là c hay ghi.
Th hai là b o v thi t b , là cho phép hay không cho phép ng
i u hành có th có hay không có ch c n ng này.
i s d ng truy xu t thi t b . Các h
Th ba là cung c p kh i d li u c l p thi t b vì ví d nh ng a khác nhau s có kích th c sector
khác nhau và i u này s gây khó kh n cho các ph n m m ng i s d ng l p trên. Ch c n ng này
cung c p các kh i d li u logic c l p v i kích th c sector v t lý.
Th t là cung c p buffer
cho bàn phím.
Th n m là
h tr cho
ng b hóa quá trình ho t
ng c a h th ng. Ví d buffer
nh v l u tr trên các thi t b kh i.
Th sáu là c p phát và gi i phóng các thi t b t n hi n.
Cu i cùng là thông báo l i cho l p bên trên t các l i do device driver báo v .
4.2.3.4 Ph n m m nh p/xu t ph m vi ng
i s d ng
H u h t các ph n m m nh p/xu t u bên trong c a h
u hành và m t ph n nh c a chúng ch a
các th vi n liên k t v i ch ng trình c a ng i s d ng ngay c nh ng ch ng trình thi hành bên
ngoài h t nhân.
L i g i h th ng, bao g m l i g i h th ng nh p/xu t th
d khi trong ch ng trình C có l nh
ng
c th c hi n b i các hàm th vi n. Ví
count = write(fd, buffer, nbytes) ;
Hàm th vi n write
c ch và liên k t d i d ng nh phân và n m trong b nh khi thi hành. T p
h p t t c nh ng hàm th vi n này rõ ràng là m t ph n c a h th ng nh p/xu t.
Không ph i t t c các ph n m m nh p/xu t u ch a hàm th vi n, có m t lo i quan tr ng khác
g i là h th ng spooling dùng khai thác t i a thi t b nh p/xu t trong h th ng a ch ng.
Các hàm th vi n chuy n các tham s thích h p cho l i g i h th ng và hàm th vi n th c hi n vi c
nh d ng cho nh p và xu t nh l nh printf trong C. Th vi n nh p/xu t chu n ch a m t s hàm có
ch c n ng nh p/xu t và t t c ch y nh ch ng trình ng i dùng.
Tài li u l u hành n i b - 14 -
Giáo trình Nguyên lý h
u hành – KS. Tr n Ng c Thái,
môn Tin h c –
i h c DL H i Phòng
Ch c n ng c a spooling là tránh tr ng h p m t ti n trình ang truy xu t thi t b , chi m gi thi t b
nh ng sau ó không làm gì c trong m t kho ng th i gian và nh v y các ti n trình khác b nh h ng
vì không th truy xu t thi t b ó. M t ví d c a spooling device là line printer. Spooling còn
cs
d ng trong h th ng m ng nh h th ng e-mail ch ng h n.
TÓM T T
I/O là m t ph n quan tr ng và không th thi u
cc ah
u hành, nh ng th ng không
c
quan tâm úng m c. Trong bài này, chúng ta ã kh o sát ph n c ng I/O, m i liên h gi a thi t b I/O
v i b ki m soát thi t b . Sau ó chúng ta kh o sát b n c p c a ph n m m I/O : th t c ng t,
u
khi n thi t b , ph n m m c l p thi t b và nh ng th vi n I/O trong môi tr ng ng i dùng. i u
khi n thi t b qu n lý t t c nh ng mô t chi ti t c a m t ho c nhi u thi t b . Ph n m m c l p thi t b
xây d ng các vùng m và nh v , ây là nh ng vi c chung cho nhi u thi t b .
Câu h i ki m tra ki n th c
1. T ch c c a h th ng qu n lý I/O nh th nào ?
2. Có bao nhiêu lo i thi t b I/O ? V i m i lo i cho ví d c th .
3. Vai trò c a b
4. C ch ho t
u khi n thi t b là gì ?
ng DMA nh th nào ?
5. Có th th c hi n I/O mà không s d ng
6. Nêu vai trò c a ph n m m
u khi n thi t b không? T i sao?
c l p thi t b .
Câu h i tr c nghi m
1. H th ng qu n lý I/O c a h
u hành là :
a. M t c ch trên m i thi t b tin h c
b. M t ph n c a h
u hành
d. Máy in
2. H th ng qu n lý I/O c a m t h
a. Ph n c ng I/O và ph n m m I/O
b. DMA
c. Bàn phím
u hành bao g m :
c. Ki m soát ng t
d. a, b, c
u sai.
3. DMA là vi t t t c a :
a. Direct Management Access
c. Direct Memory Access
b. Direct Memory Application
d. Direct Mainboard Access
4. Ph n m m
c l p thi t b :
a. Do Microsoft vi t ra
b. Là m t ph n c a trình biên d ch
c. Là m t ph n c a h th ng qu n lý I/O
d. a, b, c
u sai.
Tài li u l u hành n i b - 15 -
Giáo trình Nguyên lý h
4.3 B O V
u hành – KS. Tr n Ng c Thái,
VÀ AN TOÀN H
môn Tin h c –
i h c DL H i Phòng
TH NG
An toàn và b o v h th ng là ch c n ng khoông th thi u c a các h
u hành hi n i. Trong bài
h c này, chúng ta s làm quen v i các khái ni m v t ch c an toàn h th ng, c ng nh các c ch b o
v h tr vi c tri n khai các chi n l c này.
4.3.1. M C TIÊU B O V H TH NG (PROTECTION)
M c tiêu c a vi c b o v h th ng là:
B o v ch ng l i c a ti n trình : khi có nhi u ti n trình cùng ho t ng, l i c a m t ti n trình
j ph i
c ng n ch n không cho lan truy n trên h th ng làm nh h ng n các ti n trình
khác. c bi t , qua vi c phát hi n các l i ti m n trong các thành ph n c a h th ng có th t ng
ng
tin c y h th ng ( reliability) .
Ch ng s truy xu t b t h p l : B o m các b ph n ti n trình s d ng tài nguyên theo m t
cách th c h p l
c qui nh cho nó trong vi c khai thác các tài nguyên này .
Vai trò c a b ph n b o v trong h th ng là cung c p m t
ch
vi c s d ng tài nguyên . C n phân bi t khái ni m c ch và chi n l
ch : xác
ph n c ng.
nh làm th nào
áp d ng các chi n l
c:
c qu n tr
th c hi n vi c b o v , có th có các c ch ph n m m ho c c ch
Chi n l c: quy t nh vi c b o v
c áp d ng nh th nào : nh ng
c n
c b o v , và các thao tác thích h p trên các i t ng này
it
ng nào trong h th ng
h th ng có tính t ng thích cao , c n phân tách các c ch và chi n l c
c s d ng trong h
th ng. Các chi n l c s d ng tài nguyên là khác nhau tùy theo ng d ng, và th ng d thay i .
Thông th ng các chi n l c
c l p trình viên v n d ng vào ng d ng c a mình
ch ng l i truy
xu t b t h p l
n các tài nguyên, trong khi ó h th ng cung c p các c ch giúp ng i s d ng có
th th c hi n
c chi n l c b o v c a mình.
4.3.2. MI N B O V (DOMAIN OF PROTECTION )
4.3.2.1. Khái ni m
M t h th ng máy tính
c xem nh m t t p các i t ng (objects). M t i t ng có th là m t b
ph n ph n c ng ( CPU, b nh ,
a...) hay m t th c th ph n m m ( t p tin, ch ng trình,
semaphore...). M i i t ng có m t nh danh duy nh t
phân bi t v i các i t ng khác trong h
th ng, và ch
c truy xu t n thông qua các thao tác
c nh ngh a ch t ch và
c qui nh ng
ngh a rõ ràng. Các thao tác có th th c hi n
c trên m t i t ng
c xác nh c th tùy vào i
ng.
có th ki m soát
c tình hình s d ng tài nguyên trong h th ng, h
u hành ch cho phép các
ti n trình
c truy xu t n các tài nguyên mà nó có quy n s d ng, h n n a ti n trình ch
c truy
xu t n các tài nguyên c n thi t trong th i m hi n t i nó hoàn thành tác v (nguyên lý need-toknow) nh m h n ch các l i truy xu t mà ti n trình có th gây ra trong h th ng.
M i ti n trình trong h th ng u ho t ng trong m t mi n b o v (protection domain) nào ó. M t
mi n b o v s xác nh các tài nguyên ( i t ng) mà nh ng ti n trình ho t ng trong mi n b o v
này có th s d ng, và các thao tác h p l các ti n trình này có th th c hi n trên nh ng tài nguyên ó.
Tài li u l u hành n i b - 16 -
Giáo trình Nguyên lý h
u hành – KS. Tr n Ng c Thái,
môn Tin h c –
i h c DL H i Phòng
Ví d : <File F, {read, write}>
4.3.2.2. C u trúc c a mi n b o v
Các kh n ng thao tác trên m t i t ng
c g i là quy n truy xu t (access right). M t mi n b o v
là m t t p các quy n truy xu t, m i quy n truy xu t
c nh ngh a b i m t b hai th t
i t ng,
{quy n thao tác} >.
Các mi n b o v khác nhau có th giao nhau m t s quy n truy xu t :
Hình v 5.1 H th ng v i 3 mi n b o v
M i liên k t gi a m t ti n trình và m t mi n b o v có th t nh hay
ng :
Liên k t t nh : trong su t th i gian s ng c a ti n trình, ti n trình ch ho t ng trong m t mi n
b o v . Trong tr ng h p ti n trình tr i qua các giai
n x lý khác nhau, m i giai
n ti n
trình có th thao tác trên nh ng t p tài nguyên khác nhau b ng các thao tác khác nhau. Tuy
nhiên, n u s d ng liên k t t nh, rõ ràng là ngay t
u mi n b o v ã ph i c t t t c các
quy n truy xu t qua các giai
n cho ti n trình , i u này có th khi n cho ti n trình có d
quy n trong m t giai
n nào ó, và vi ph m nguyên lý need-to-know.
có th tôn tr ng
nguyên lý này, khi ó c n ph i có kh n ng c p nh t n i dung mi n b o v
có th ph n ánh
các quy n t i thi u c a ti n trình trong mi n b o v t i m t th i m!
Liên k t ng : c ch này cho phép ti n trình chuy n t mi n b o v này sang mi n b o v
khác trong su t th i gian s ng c a nó.
ti p t c tuân theo nguyên lý need-to-know, thay vì
s a i n i dung c a mi n b o v , có th t o ra các mi n b o v m i v i n i dung thay i qua
t ng giai
n x lý c a ti n trình, và chuy n ti n trình sang ho t ng trong mi n b o v phù
h p theo t ng th i m.
M t mi n b o v có th
c xây d ng cho:
M t ng i s d ng : trong tr ng h p này, t p các i t ng
c phép truy xu t ph thu c
vào nh danh c a ng i s d ng, mi n b o v
c chuy n khi thay i ng i s d ng.
M t ti n trình : trong tr ng h p này, t p các i t ng
c phép truy xu t ph thu c vào
nh danh c a ti n trình, mi n b o v
c chuy n khi quy n
u khi n
c chuy n sang ti n
trình khác.
M t th t c : trong tr ng h p này, t p các
c nh ngh a bên trong th t c, mi n b o v
it
ng
c phép truy xu t là các bi n c c b
c chuy n khi th t c
c g i.
4.3.3. MA TR N QUY N TRUY XU T ( ACCESS MATRIX)
M t cách tr u t ng, có th bi u di n mô hình b o v trên ây nh m t ma tr n quy n truy xu t (
access matrix). Các dòng c a ma tr n bi u di n các mi n b o v và các c t t ng ng v i các i
Tài li u l u hành n i b - 17 -
Giáo trình Nguyên lý h
u hành – KS. Tr n Ng c Thái,
môn Tin h c –
i h c DL H i Phòng
ng trong h th ng. Ph n t acess[i,j] c a ma tr n xác nh các quy n truy xu t mà m t ti n trình
ho t ng trong mi n b o v Di có th thao tác trên i t ng Oj.
object
F1
F2
F3
Máy in
domain
c
D1
c
D2
in
c
D3
x lý
c
c
ghi
ghi
D4
Hình 5.2 Ma tr n quy n truy xu t
ch b o v
c cung c p khi ma tr n quy n truy xu t
c cài t ( v i y
các thu c tính ng
ngh a
mô t trên lý thuy t), lúc này ng i s d ng có th áp d ng các chi n l c b o v b ng cách
c t n i dung các ph n t t ng ng trong ma tr n _ xác nh các quy n truy xu t ng v i t ng mi n
b o v , và cu i cùng, h
u hành s quy t nh cho phép ti n trình ho t ng trong mi n b o v thích
h p.
Ma tr n quy n truy xu t c ng cung c p m t c ch thích h p
nh ngh a và th c hi n m t s ki m
soát nghiêm nh t cho c ph ng th c liên k t t nh và ng các ti n trình v i các mi n b o v :
Có th ki m soát vi c chuy n i gi a các mi n b o v n u quan ni m mi n b o v c ng là m t
ng trong h th ng, và b sung các c t mô t cho nó trong ma tr n quy n truy xu t.
i
Khi ó ti n trình
c phép chuy n t mi n b o v Di sang mi n b o v Dj n u ph n t access(i,j)
ch a ng quy n « chuy n » ( switch).
object
F1
domain
D1
D2
D3
D4
F2
F3
c
Máy in D1
c
D2
c
ghi
D4
chuy n
in
c
D3
x lý
c
chuy n chuy n
chuy n
ghi
Hình 5.3 Ma tr n quy n truy xu t v i domain là m t
Có th ki m soát vi c s a i n i dung ma tr n (thay
n u quan ni m b n thân ma tr n c ng là m t i t ng.
it
ng
i các quy n truy xu t trong m t mi n b o v )
Các thao tác s a i n i dung ma tr n
c phép th c hi n bao g m : sao chép quy n ( copy), chuy n
quy n ( transfer), quy n s h u (owner), và quy n ki m soát (control)
Tài li u l u hành n i b - 18 -
Giáo trình Nguyên lý h
u hành – KS. Tr n Ng c Thái,
môn Tin h c –
i h c DL H i Phòng
Copy: n u m t quy n truy xu t R trong access[i,j]
c ánh d u là R* thì có th sao
chép nó sang m t ph n t access[k,j] khác ( m r ng quy n truy xu t R trên cùng i
ng Oj nh ng trong mi n b o v Dk ).
Transfer : n u m t quy n truy xu t R trong access[i,j]
c ánh d u là R+ thì có th
chuy n nó sang m t ph n t access[k,j] khác ( chuy n quy n truy xu t R+ trên i t ng
Oj sang mi n b o v Dk ).
Owner : n u access[i,j] ch a quy n truy xu t owner thì ti n trình ho t ng trong mi n
b o v Di có th thêm ho c xóa các quy n truy xu t trong b t k ph n t nào trên c t j
(có quy n thêm hay b t các quy n truy xu t trên i t ng Oj trong nh ng mi n b o v
khác).
Control : n u access[i,j] ch a quy n truy xu t control thì ti n trình ho t ng trong
mi n b o v Di có th xóa b t k quy n truy xu t nào trong các ph n t trên dòng j (có
quy n b b t các quy n truy xu t trong mi n b o v Dj).
object
F3
F1
domain
F2
D1
x lý
D2
x lý
D3
x lý
object
F1
ghi+
c*
x lý
(a)
F3
F2
domain
D1
x lý
D2
x lý
c*
x lý
D3
x lý
c
ghi+
(b)
Hình 5.4 Ma tr n quy n truy xu t v i quy n copy , transfer (a) tr
object
F2
domain
D1
F3
F1
owner
ghi
x lý
D2
c*
owner
Tài li u l u hành n i b - 19 -
c*
c, (b) sau c p nh t
Giáo trình Nguyên lý h
u hành – KS. Tr n Ng c Thái,
môn Tin h c –
i h c DL H i Phòng
owner
ghi*
D3
x lý
object
F1
(a)
F3
F2
domain
owner
D1
x lý
D2
owner
c*
c*
owner
ghi*
ghi*
ghi
D3
(b)
Hình 5.5 Ma tr n quy n truy xu t v i quy n owner (a) tr
object
domain
D1
D2
D3
D4
F1
F2
F3
c
Máy in
c
in
c
ghi
D2
D3
D4
chuy n
x lý
ghi
Hình 5.6 Ma tr n quy n truy xu t ã s a
4.3.4. CÀI
D1
c, (b) sau c p nh t
chuy n control
chuy n
chuy n
i n i dung so v i H5.3 nh quy n control
T MA TR N QUY N TRUY XU T
4.3.4.1. B ng toàn c c
Cách n gi n nh t
cài t ma tr n truy xu t là s d ng m t b ng bao g m các b ba th t < mi n
b o v , i t ng, các quy n truy xu t >. M i khi th c hi n thao tác M trên i t ng Oj trong mi n
b o v Di, c n tìm trong b ng toàn c c m t b ba < Di, Oj, Rk > mà M ∈ Rk. N u tìm th y, thao tác M
c phép thi hành, n u không, x y ra l i truy xu t.
4.3.4.2. Danh sách quy n truy xu t ( Access control list _ ACL)
Có th cài t m i c t trong ma tr n quy n truy xu t nh m t danh sách quy n truy xu t i v i m t
i t ng. M i i t ng trong h th ng s có m t danh sách bao g m các ph n t là các b hai th t
Tài li u l u hành n i b - 20 -
Giáo trình Nguyên lý h
u hành – KS. Tr n Ng c Thái,
môn Tin h c –
i h c DL H i Phòng
<mi n b o v , các quy n truy xu t>, danh sách này s xác nh các quy n truy xu t
c qui nh
trong t ng mi n b o v có th tác ng trên i t ng. M i khi th c hi n thao tác M trên i t ng Oj
trong mi n b o v Di, c n tìm trong danh sách quy n truy xu t c a i t ng Oj m t b hai < Di,Rk >
mà M ∈ Rk. N u tìm th y, thao tác M
c phép thi hành, n u không, x y ra l i truy xu t.
Ví d : M t mi n b o v trong h th ng UNIX
c xác nh t ng ng v i m t ng i s d ng
(uid) trong m t nhóm (gid) nào ó. Gi s có 4 ng i dùng : A,B,C,D thu c các nhóm t ng
ng là system, staff, student, student. Khi ó các t p tin trong h th ng có th có các ACL nh
sau :
File0 : ( A,*,RWX)
File1 : ( A,system,RWX)
File2 : ( A,*,RW-),(B,staff,R--),(D,*,RW-)
File3 : ( *,student,R--)
File4 : (C,*,---),(*,student,R--)
Th c t , h th ng t p tin trong UNIX
c b o v b ng cách m i t p tin
c gán t ng ng 9
bit b o v , t ng 3 bit s mô t quy ntruy xu t R( c), W(ghi) hay X(x lý) c a các ti n trình
trên t p tin này theo th t : ti n trình s h u các ti n trình cùng nhóm v i ti n trình s h u, các
ti n trình khác. ây là m t d ng ACL nh ng
c nén thành 9 bit.
4.3.4.3. Danh sách ti m n ng c a mi n b o v (Capability list – C_List)
M i dòng trong ma tr n quy n truy xu t t ng ng v i m t mi n b o v s
m t danh sách ti m n ng (capabilities list) :
c t ch c thành
M t danh sách ti m n ng c a m t mi n b o v là m t danh sách các i t ng và các
thao tác
c quy n th c hi n trên i t ng khi ti n trình ho t ng trong mi n b o v
này.
M t ph n t c a C-List
c g i là m t ti m n ng (capability) là m t hình th c bi u
di n
c nh ngh a m t cách có c u trúc cho m t i t ng trong h th ng và các
quy n truy xu t h p l trên i t ng này.
ki u
ng
i quy n
xu t
truy con tr
n
Hình 5.7 Ti m n ng
Ví d :
Tài li u l u hành n i b - 21 -
it
ng
Giáo trình Nguyên lý h
u hành – KS. Tr n Ng c Thái,
Ti n trình ch có th th c hi n thao tác M trên
c a Di có ch a ti m n ng t ng ng c a Oj.
it
môn Tin h c –
i h c DL H i Phòng
ng Oj trong mi n b o v Di, n u trong C_List
Danh sách ti m n ng
c gán t ng ng v i t ng mi n b o v , th c ch t nó c ng là m t i t ng
c b o v b i h th ng, và ti n trình c a ng i s d ng ch có th truy xu t n nó m t cách gián
ti p tránh làm sai l c C_List.
H
u hành cung c p các th t c cho phép t o l p, h y b và s a
ng, và ch các ti n trình óng vai trò server (th ng là ti n trình h
n i dung C_List.
4.3.4.4.
i các ti m n ng c a m t
u hành) m i có th s a
i
i
ch khóa và chìa
ây là cách ti p c n k t h p gi a danh sách quy n truy xu t và danh sách kh n ng. M i i t ng s
h u m t danh sách các mã nh phân ,
c g i là « khoá » (lock). C ng nh th , m i mi n b o v s s
h u m t danh sách mã nh phân g i là « chìa » (key). M t ti n trình ho t ng trong m t mi n b o v
ch có th truy xu t n m t i t ng n u mi n b o v s h u m t chìa t ng ng v i m t khóa trong
danh sách c a i t ng.
C ng nh C_List, danh sách « khóa » và « chìa »
truy xu t tr c ti p n chúng thay i n i dung.
ch
u hành qu n lý, ng
i s d ng không th
4.3.4.5. Thu h i quy n truy xu t
Trong m t h th ng b o v
ng, ôi khi h
u hành c n thu h i m t s quy n truy xu t trên các
ng
c chia s gi a nhi u ng i s d ng. Khi ó t ra m t s v n nh sau :
Thu h i t c kh c hay trì hoãn, trì hoãn
i
n khi nào ?
N u lo i b m t quy n truy xu t trên m t
s ng i s d ng?
it
Thu h i m t s quy n hay toàn b quy n trên m t
ng, thu h i quy n này trên t t c hay chi m t
it
ng ?
Thu h i t m th i hay v nh vi n m t quy n truy xu t ?
i v i các h th ng s d ng danh sách quy n truy xu t, vi c thu h i có th th c hi n d dàng : tìm và
h y trên ACL quy n truy xu t c n thu h i, nh v y vi c thu h i
c ht c hi n t c th i, có th áp
d ng cho t t c hay m t nhóm ng i dùng, thu h i toàn b hay m t ph n, và thu h i v nh vi n hay t m
th i u
c.
Tuy nhiên trong các h s d ng C_List, v n
thu h i g p khó kh n vì các ti m n ng
c phân tán
trên kh p các mi n b o v trong h th ng, do v y c n tìm ra chúng tr c khi lo i b . Có th gi i quy t
v n này theo nhi u ph ng pháp :
Tái yêu c u (Reacquisiton): lo i b các ti m n ng ra kh i m i mi n b o v sau t ng chu k ,
n u mi n b o v v n còn c n ti m n ng nào, nó s tái yêu c u ti m n ng ó l i.
S d ng các con tr
n ti m n ng (Back-pointers) : v i m i i t ng, l u tr các con tr
nh ng ti m n ng t ng ng trên i t ng này. Khi c n thu h i quy n truy xu t nào trên
ng, l n theo các con tr
c p nh t ti m n ng t ng ng.
Tài li u l u hành n i b - 22 -
n
i
Giáo trình Nguyên lý h
u hành – KS. Tr n Ng c Thái,
môn Tin h c –
i h c DL H i Phòng
S d ng con tr gián ti p (Indirection) : các ti m n ng không tr c ti p tr
n các i t ng,
mà tr
n m t b ng toàn c c do h
u hành qu n lý. KHi c n thu h i quy n, s xoá ph n t
ng ng trong b ng này.
Khóa ( Key) : n u s d ng c ch khóa và chìa, khi c n thu h i quy n, ch c n thay
b t bu c ti n trình hay ng i dùng yêu c u chìa m i.
i khóa và
4.3.5. An toàn h th ng (Security)
B o v h th ng (protection) là m t c ch ki m soát vi c s d ng tài nguyên c a các ti n trình hay
ng i s d ng
i phó v i các tình hu ng l i có th phát sinh t trong h th ng . Trong khi ó khái
ni m an toàn h th ng (security) mu n c p n m c
tin c y mà h th ng duy trì khi ph i i phó
không nh ng v i các v n n i b , mà còn c v i nh ng tác h i n t môi tr ng ngoài .
4.3.5.1. Các v n
v an toàn h th ng
H th ng
c g i là an toàn n u các tài nguyên
c s d ng úng nh quy c trong m i hoàn c nh.
Kém may m m là i u này hi m khi t
c trong th c t ! Thông th ng, an toàn b vi ph m vì các
nguyên nhân vô tình hay c ý phá ho i. Vi c ch ng
các phá ho i c ý là r t khó kh n và g n nh
không th
t hi u qu hoàn toàn. B o m an toàn h th ng c p cao ch ng l i các tác h i t môi
tr ng ngoài nh ho ho n, m t
n, phái ho i...c n
c th c hi n 2 m c
v t lý (trang b các
thi t b an toàn cho v trí t h th ng...) và nhân s (ch n l c c n th n nh ng nhân viên làm vi c trong
h th ng...). N u an toàn môi tr ng
c b o m khá t t, an toàn c a h th ng s
c duy trì t t
nh các c ch c a h
u hành (v i s tr giúp c a ph n c ng).
u ý r ng n u b o v h th ng có th
t
tin c y 100%, thì các c ch an toàn h th ng
c p ch v i hy v ng ng n ch n b t các tình hu ng b t an h n là t n
an toàn tuy t i.
4.3.5.2. Ki m
c cung
nh danh tính (Authentication)
m b o an toàn, h
u hành c n gi i quy t t t v n
ch y u là ki m nh danh tính
(authentication). Ho t ng c a h th ng b o v ph thu c vào kh n ng xác nh các ti n trình ang
x lý. Kh n ng này, n l t nó, l i ph thu c vào vi c xác nh
c ng i dùng ang s d ng h
th ng có th ki m tra ng i dùng này
c cho phép thao tác trên nh ng tài nguyên nào.
Cách ti p c n ph bi n nh t gi i quy t v n
là s d ng password ki m nh úng danh tính c a
ng i dùng. M i khi ng i dùng mu n s d ng tài nguyên, h th ng s ki m tra password c a ng i
dùng nh p vào v i password
c l u tr , n u úng, ng i dùng m i
c cho phép s d ng tài
nguyên. Password có th
c
b o v t ng i t ng trong h th ng, th m chí cùng m t i t ng
s có các password khác nhau ng v i nh ng quy n truy xu t khác nhau.
ch password r t d hi u và d s d ng do v y
c s d ng r ng rãi, tuy nhiên y u
m nghiêm
tr ng c a ph ng pháp này là kh n ng b o m t password r t khó t
c s hoàn h o, nh ng tác
nhân tiêu c c có th oán ra password c a ng i khác nh nhi u cách th c khác nhau.
4.3.5.3. M i e d a t các ch
ng trình
Trong môi tr ng mà m t ch ng trình
c t o l p b i ng i này l i có th
c ng i khác s
d ng, có th x y ra các tình hu ng s d ng không úng, t ó d n n nh ng h u q a khó l ng. Hai
tr ng h p n hình là :
4.3.5.3.1. Ng a thành Troy
Tài li u l u hành n i b - 23 -
Giáo trình Nguyên lý h
u hành – KS. Tr n Ng c Thái,
môn Tin h c –
i h c DL H i Phòng
Khi m t ng i dùng A cho m t ch ng trình do B vi t ho t ng d i danh ngh a c a mình ( trong
mi n b o v
c gán t ng ng cho ng i dùng A), ch ng trình này có th tr thành m t « con
ng a thành Troy » vì khi ó các o n l nh trong ch ng trình có th thao tác trên các tài nguyên v i
nh ng quy n t ng ng c a ng i A (mà có th ng i B v n b c m!), nhi u ch ng trình nh th ã
« l i d ng hoàn c nh » gây ra các tác h i áng ti c.
4.3.5.3.2. Cánh c a nh ( Trap-door)
M t m i e d a c bi t nguy hi m và khó ch ng
n t s vô tình hay ý ngh b t chính c a các l p
trình viên. Khi xây d ng ch ng trình, các l p trình viên có th
l i m t « cánh c a nh » trong ph n
m m mà ch có h là có kh n ng s d ng , qua ó thâm nh p và phá ho i h th ng ( ví d làm tròn các
s l trong nh ng tài kho n, và thu l i riêng t ph n d này...). V n này r t khó i phó vì c n ph i
ti n hành phân tích ch ng trình ngu n tìm ra ch s h .
4.3.5.4. M i e d a t h th ng
H u h t các h
u hành u cung c p ph ng ti n cho phép các ti n trình khi ho t ng có th t o ra
(spawn) nh ng ti n trình khác. Trong các môi tr ng nh th , tài nguyên h th ng và các t p tin c a
ng i dùng có th b s d ng sai l c
gây tác h i. Hai ph ng pháp ph bi n
phá ho i h th ng
theo ph ng th c này là :
4.3.5.4.1. Các ch
ng trình « sâu b » ( Worm)
M t ch ng trình « sâu b » là ch ng trình l i d ng c ch phát sinh ti n trình c a h th ng
ánh
b i chính h th ng. Ti n trình « sâu bo »ï có kh n ng t
ng phát sinh các phiên b n ngay c trên
môi tr ng m ng, lan tràn trên nhi u máy tính khác nhau, sau ó chi m d ng các tài nguyên h th ng
và làm ng ng tr hoàn toàn ho t ng c a các ti n trình khác trên h th ng m ng .
Ví d : ch
ng trình c a Robert Tappan Morris, 11/1988 lan truy n trên Internet
4.3.5.4.2. Các ch
ng trình Virus
Virus là m t d ng phá ho i nguy hi m khác i v i các h th ng thông tin. Khác v i « sâu b » là
nh ng ch ng trình hoàn ch nh, virus ch là nh ng
n code có kh n ng lây truy n vào các ch ng
trình chính th ng khác và t ó tàn phá h th ng. Virus th ng hoành hành trên các máy n, và ch
y u lây truy n gi a các máy qua vi c trao i a m m.
4.3.5.5. Giám sát các m i e do
Nhìn chung vi c b o m an toàn h th ng là r t khó do có các y u t con ng i. H
u hành ch có
th áp d ng m t s k thu t gi m b t kh n ng b phá ho i nh ghi nh n các s ki n nh :
c g ng nh p nhi u l n password sai
s d ng các password d
các ti n trình v i
nh danh nghi ng không
các ti n trình không
các ch
oán
c y quy n
c y quy n trong nh ng th m c h th ng
ng trình kéo dài x lý m t cách áng ng
Tài li u l u hành n i b - 24 -
Giáo trình Nguyên lý h
u hành – KS. Tr n Ng c Thái,
môn Tin h c –
i h c DL H i Phòng
b o v các t p tin và th m c không h p lý
thay
i kích th
c c a các ch
ng trình h th ng
Vi c ki m tra th ng k và ghi nh n các thông tin này giúp h th ng phát hi n k p th i các nguy c , và
cho phép phân tích , d oán các cách i phó v sau.
TÓM T T
Các i t ng trong h th ng ( có th là ph n c ng nh CPU, b nh chính ; hay ph n m m nh t p
tin, ch ng trình) c n ph i
c b o v kh i s s d ng sai trái.
u này có th th c hi n
c b ng
cách t các i t ng vào nh ng mi n b o v thích h p v i các quy n truy xu t
c nh ngh a trên
ó.
Quy n truy xu t trên m t
it
ng là thao tác
cphép th c hi n trên
Mi n b o v là t p các quy n truy xu t trên m t s các
m t mi n b o v t i m t th i m.
it
it
ng ó.
ng. M i ti n trình s ho t
ng trong
Ma tr n quy n truy xu t là mô hình t ng quát cho bài toán b o v h th ng. Ma tr n này có th
cài t nh m t m ng, các danh sách quy n truy xu t ho c các danh sách ti m n ng.
c
Mô hình b o v
ng cho phép ti n trình có th chuy n i mi n b o v trong th i gian x lý. Có th
t ch c mô hình b o v
ng n u xem các mi n b o v và b n thân ma tr n quy n truy xu t c ng là
các i t ng trong h th ng.
An toàn h th ng không ch quan tâm
nguy c t môi tr ng ngoài.
n các nguy c n i b h th ng, mà ph i
i phó v i c các
V n
quan tr ng nh t trong an toàn h th ng là ki m nh danh tính c a ng i dùng
xác nh
úng các quy n t ng ng c a h . Ph ng pháp thông d ng nh t
làm i u này là ki m tra
password.
Ngoài ra h th ng còn ph i i phó v các tác h i c a nh ng s t n công c ý t phía nh ng ch
trình « sâu b », virus, các lo i khe h trong ch ng trình...
ng
Nhìn chung không th
t
cm c
an toàn h th ng 100%, nh ng có th áp d ng các bi n pháp
h n ch t i a các nguy c phá ho i h th ng.
C ng c bài h c
Các câu h i c n tr l i
c sau bài h c này :
1. Các khái ni m : quy n truy xu t, mi n b o v , ma tr n quy n truy xu t
2. Các c ch b o v : ACL, Capalities
3. Các chi n l
c an toàn h th ng :ki m
nh danh tính.
Tài li u l u hành n i b - 25 -