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

Giáo Trình Nguyên Lý Hệ Điều Hành

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

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


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

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 -


×