ED
U
.V
N
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CƠ SỞ THÀNH PHỐ HỒ CHÍ MINH
KHOA CƠNG NGH THƠNG TIN
GIÁO TRÌNH
H
I U HÀNH
O
PE
N
.P
TI
T.
(OPERATING SYSTEM)
BIÊN SO N
NINH XN H I - HU NH TR NG TH A
N M 2008
L IM
U
N
H
i u Hành (Operating Systems) là m t thành ph n không th thi u trong m t h th ng máy
tính. M t máy tính m c dù đ t ti n, c u hình cao nh ng n u không có h đi u hành thì h u nh
không th s d ng đ c. H đi u hành đi u khi n m i ho t đ ng c a máy tính, giúp vi c s d ng
máy tính tr nên đ n gi n, d dàng và hi u q a h n r t nhi u. Do v y môn h c “H đi u hành” là
môn h c quan tr ng và r t c n thi t trong ch ng trình đào t o chuyên nghành tin h c h cao
đ ng và k s .
đ a ch Email:
T.
M i s góp ý ho c th c m c xin g i v
ED
U
.V
Giáo trình “H đi u hành” đ c biên so n theo ch ng trình đào t o chuyên nghành tin h c h
cao đ ng và k s c a B giáo d c và đào t o. Giáo trình đ c chia thành 6 ch ng, ch ng 1, 2,
3, 4 do gi ng viên Ninh Xuân H i biên so n, ch ng 5, 6 do gi ng viên Hu nh Tr ng Th a biên
so n. Tuy r ng chúng tôi đã có nhi u c g ng trong công tác biên so n nh ng ch c ch n giáo trình
v n còn nhi u thi u sót, nên r t mong đ c b n đ c c ng nh các đ ng nghi p đóng góp ý ki n đ
giáo trình ngày càng hoàn thi n, nh m m c đích ph c v t t h n cho vi c d y và h c tin h c đang
ngày càng phát tri n n c ta.
ho c
GV. biên so n
Ninh Xuân H i - Hu nh Tr ng Th a
O
PE
N
.P
TI
Ngày 21 Tháng 11 N m 2008
2
CH
NG I
GI I THI U H
Ch
ng “GI I THI U V
H
I U HÀNH
I U HÀNH ” s gi i thi u và gi i thích các v n đ sau:
1.1 H đi u hành là gì, các khái ni m c a h đi u hành.
1.2 L ch s phát tri n c a h đi u hành
1.3 Các lo i h đi u hành
1.4 Các d ch v c a h đi u hành.
N
1.5 C u trúc c a h đi u hành
ED
U
.V
1.6 Nguyên lý thi t k h đi u hành
1.1 CÁC KHÁI NI M
1.1.1 H đi u hành là gì?
H đi u hành (operating systems) là ch ng trình đóng vai trò trung gian gi a ng i s
d ng và ph n c ng c a máy tính. H đi u hành che d u s ph c t p, đa d ng c a ph n c ng,
giúp vi c s d ng máy tính tr nên đ n gi n, hi u qu . Nhi m v c a h đi u hành là qu n lý tài
nguyên c a máy tính, th c thi các ch ng trình ng d ng, h tr các ch c n ng m ng, vv …
ch
T.
1.1.2 Các thành ph n c a m t h th ng máy tính
M t h th ng máy tính đ c chia thành 4 thành ph n sau: ph n c ng, h đi u hành,
ng trình ng d ng/ch ng trình h th ng, ng i s d ng.
TI
+ Ph n c ng (hardware) : CPU, b nh , các thi t b nh p/xu t,…
N
.P
+ H đi u hành (operating systems): đi u khi n và ph i h p vi c s d ng ph n c ng cho nhi u
ng d ng v i nhi u ng i s d ng khác nhau.
+ Ch ng trình ng d ng và ch ng trình h th ng (system and applications programs): là các
ch ng trình gi i quy t nh ng v n đ c a ng i s d ng nh là ch ng trình d ch, h qu n tr c
s d li u, ch ng trình trò ch i, ch ng trình th ng m i,…
i s d ng (user): ng
i s d ng ho c máy tính.
O
PE
+ Ng
Hình 1.1: Các thành ph n c a m t h th ng máy tính
3
1.1.3 Các thành ph n c a m t h th ng nh p/xu t
M t h th ng nh p/xu t g m ba thành ph n sau:
+ H th ng b nh đ m (buffer-caching system)
+ Ch
ng trình đi u khi n thi t b (Drivers for specific hardware devices).
+ Ch
ng trình giao ti p v i ch
Ch
ng trình giao ti p v i ch
ng trình đi u khi n thi t b
ng trình đi u khi n thi t b
H th ng b nh đ m
N
Ch
ng trình đi u khi n thi t b (A general device-driver interface).
1.1.4 Các thành ph n c a h đi u hành
H đi u hành g m có ba thành ph n sau:
ED
U
.V
Hình 1.2: Các thành ph n c a m t h th ng nh p/xu t
+ B c p phát tài nguyên (Resource allocator): Qu n lý và c p phát tài nguyên.
+ Ch ng trình ki m soát (Control program): Ki m soát vi c th c thi ch
ho t đ ng c a các thi t b nh p/xu t.
ng trình và ki m soát
+ Ph n nhân (Kernel): là ch ng trình “lõi” c a h đi u hành, đ c th c thi tr c tiên và t n t i
trong b nh cho đ n khi t t máy (các ch ng trình khác g i là ch ng trình ng d ng).
B c p phát tài nguyên
Ch
ng trình ki m soát
T.
Ph n nhân
1.2 L CH S
TI
Hình 1.3: Các thành ph n c a h đi u hành
PHÁT TRI N C A H
I U HÀNH
N
.P
+ Giai đo n 1 (1945 – 1955): đã có máy tính l n nh ng ch a có h đi u hành.
+ Giai đo n 2 (1956 – 1965): h th ng x lý theo lô (Batch systems)
+ Giai đo n 3 (1966 – 1980): h th ng x lý đa ch
x lý đa nhi m (Multitasking systems).
ng (Multiprogramming systems) , h th ng
PE
+ Giai đo n 4 (1981 - 2007 ): h th ng đa x lý (Multiprocessor systems), h th ng x lý phân tán
(Distributed systems), h th ng x lý th i gian th c (Real-time systems), h th ng nhúng
(Embedded systems).
O
1.3 PHÂN LO I H TH NG MÁY TÍNH
M t h th ng máy tính g m hai ph n là h đi u hành và ph n c ng t
hành.
ng ng đ th c thi h đi u
1.3.1 H th ng x lý theo lô (Batch Systems)
ây là h đi u hành đ u tiên, thô s nh t.
i v i h đi u hành này thì t i m t th i đi m ch có
m t công vi c trong b nh , khi th c hi n xong m t công vi c, công vi c khác s đ c t đ ng
n p vào và cho th c thi. H đi u hành có m t ch ng trình, g i là b giám sát, th ng trú trong
b nh chính, giám sát vi c th c hi n dãy các công vi c theo th t và t đ ng.
4
đ a ch th p dành cho h
ED
U
.V
Hình 1.4: mô hình t ch c b nh c a h đi u hành x lý theo lô
N
Cách b trí b nh c a h đi u hành x lý theo lô nh sau: ph n b nh
đi u hành, ph n còn l i dành cho m t ch ng trình c a ng i dùng.
Xem m t ví d v cách th c làm vi c v i h th ng x lý theo lô:
- L p trình viên mang phi u ghi ch
- Máy s đ c ch
ng trình đ n máy 1401
ng trình t phi u và ghi ch
ng trình vào b ng t
- L p trình viên đem b ng t t i máy 7094 đ th c hi n tính toán và k t q a đ
c ghi vào b ng t
TI
T.
- L p trình viên đem b ng t ch a k t q a t i máy 1402 đ in
N
.P
Hình 1.5: ví d v cách th c x lý công vi c v i h đi u hành x lý theo lô
1.3.2 H th ng x lý đa ch
ng (MultiProgramming Systems)
PE
T i m t th i đi m có nhi u công vi c trong b nh và khi m t công vi c đang th c hi n, n u có
yêu c u nh p/xu t thì CPU không ngh mà h đi u hành s chuy n sang th c hi n công vi c khác.
O
Ví d trong b nh hi n có ba ch ng trình th c hi n ba công vi c. N u công vi c 1 yêu c u
nh p/xu t thì công vi c 1 t m ng ng, công vi c 2 (ho c công vi c 3) s đ c th c hi n. Khi thao
tác nh p/xu t c a công vi c 1 xong thì công vi c 1 s đ c th c hi n ti p, công vi c 2 s t m
ng ng,…
Hình 1.6: mô hình t ch c b nh c a h th ng x lý đa ch
ng
5
* Các ch c n ng c a h đi u hành trong h th ng x lý đa ch
ng
+ L p l ch CPU (CPU scheduling): ch n m t trong nh ng công vi c trong b nh cho th c thi
(cho s d ng CPU). Khi ch n c n tránh tr ng h p m t công vi c ch trong b nh quá lâu.
+ Qu n lý b nh (Memory management): c n ph i qu n lý ph n b nh nào đã c p phát và c p
cho công vi c nào (b nh c p phát cho m i công vi c ph i riêng bi t), ph n b nh nào ch a c p,
khi m t công vi c th c thi xong c n thu h i ph n b nh đã c p cho công vi c đó. N u m t công
vi c truy xu t đ n ph n b nh đã c p cho công vi c khác thì ph i ng n c m. N u b nh b phân
m nh quá nhi u, c n d n b nh , vv…
ED
U
.V
N
+ C p phát thi t b (Allocation of devices): tình tr ng thi t b r nh hay không r nh, thi t b đã c p
cho công vi c nào, công vi c nào c n đ a vào hàng đ i đ ch . Thi t b nào có th dùng chung và
t i đa bao nhiêu công vi c s d ng chung thi t b cùng lúc, thi t b nào không th dùng chung,…
và ph i tránh b t c ngh n (các công vi c ch vô h n đ đ c c p tài nguyên).
+ Cung c p các hàm x lý nh p/xu t (I/O routines): Các hàm nh p/xu t s che d u s ph c t p
và đa d ng c a các thi t b nh p/xu t, qu n lý vi c s d ng chung các thi t b nh p/xu t.
1.3.3 H th ng x lý đa nhi m (Multitasking Systems)
TI
T.
H th ng x lý đa nhi m là h th ng m r ng c a h th ng x lý đa ch ng. i v i h đi u hành
trong h th ng x lý đa nhi m, vi c chuy n đ i công vi c không ch công vi c đang th c thi có
yêu c u nh p/xu t, mà khi công vi c đang th c thi h t th i gian qui đ nh s d ng CPU thì vi c
chuy n đ i công vi c c ng s x y ra. M i công vi c đ c th c hi n luân phiên qua c ch chuy n
đ i CPU, th i gian m i l n chuy n đ i di n ra r t nhanh nên ng i s d ng có c m giác là các
công vi c đang đ c thi hành cùng lúc. H th ng x lý đa nhi m còn g i là h th ng chia x th i
gian (Time-Sharing Systems).
N
.P
Ví d h th ng có môt CPU và hi n có ba công vi c A, B, C trong b nh . Ba công vi c này s
đ c th c hi n luân phiên: công vi c A th c hi n trong kho ng th i gian q (quantum) thì t m
ng ng, đ n l t công vi c B th c hi n trong kho ng th i gian q, r i đ n l t công vi c C. Sau đó
l i đ n l t A, … l p l i vi c th c thi các công vi c cho đ n khi t t c các công vi c hoàn t t.
task
O
PE
C
B
A
time
Hình 1.7: các công vi c A,B,C s d ng cpu luân phiên trong h th ng x lý đa nhi m
1.3.4 H th ng đa x lý (Multiprocessor Systems)
Máy tính có nhi u b x lý cùng chia x h th ng đ ng truy n d li u, đ ng h , b nh và các
thi t b ngo i vi. M i CPU s th c hi n m t công vi c và khi đó các công vi c s th c s di n ra
đ ng th i. H th ng đa x lý còn g i là h th ng x lý song song (Parallel Systems).
6
Hình 1.7: mô hình h th ng đa x lý: có nhi u cpu nh ng s d ng chung b nh
*
u đi m c a h th ng đa x lý
+ S h ng hóc c a m t b x lý s không nh h
ng đ n toàn b h th ng.
ED
U
.V
+ Vi c liên l c gi a các công vi c d dàng b ng cách s d ng b nh dùng chung.
N
+ H th ng s th c hi n r t nhanh do th c hi n các công vi c đ ng th i trên các b x lý khác
nhau
* Phân lo i h th ng đa x lý
+ H th ng đa x lý đ i x ng (Symmetric MultiProcessing (SMP)): m i b x lý ch y v i m t
b n sao c a h đi u hành và các b x lý là ngang c p. Các h đi u hành hi n nay đ u h tr
SMP.
+ H th ng đa x lý b t đ i x ng (Asymmetric multiprocessing): Có m t b x lý chính (master
T.
processor) ki m soát, phân vi c cho các b x lý khác (slave processors).
1.3.5 H th ng x lý phân tán (Distributed Operating Systems)
N
.P
TI
T ng t nh h th ng đa x lý nh ng m i b x lý có b nh riêng. Các b x lý liên l c v i
nhau thông qua các đ ng truy n d n m ng. M ng LAN, WAN v i h đi u hành Windows,
UNIX chính là các h th ng x lý phân tán.
* Phân lo i h th ng x lý phân tán: có hai lo i
+ Peer-to-peer: h th ng m ng ngang hàng, các máy tính ngang c p, không có máy nào đóng vai
trò qu n lý tài nguyên dùng chung.
O
PE
+ Client-server: có m t máy đóng vai trò qu n lý các tài nguyên dùng chung g i là máy server
(máy ch ), các máy khác g i là máy client (máy khách). Client mu n s d ng tài nguyên dùng
chung ph i đ c server c p quy n. Mô hình h th ng client-server:
Hình 1.8: mô hình h th ng x lý phân tán
*
u đi m c a h th ng x lý phân tán
+ Dùng chung tài nguyên: máy in, t p tin …
+ T ng t c đ tính toán: phân chia công vi c đ tính toán trên nhi u v trí khác nhau
+ An toàn: N u m t v trí b h ng, các v trí khác v n ti p t c làm vi c.
+ Truy n thông tin d dàng: download/upload file, g i/nh n mail,…
7
1.3.6 H th ng x lý th i gian th c (Real-Time Systems)
H th ng s cho k t qu chính xác trong kho ng th i gian nhanh nh t. H th ng th
nh ng ng d ng chuyên d ng nh là h th ng đi u khi n trong công nghi p.
ng dùng cho
* Các lo i h th ng x lý th i gian th c
c hoàn t t đúng th i
u tiên riêng và s
ED
U
.V
+ H th ng x lý th i gian th c m m (Soft real-time): m i công vi c có m t đ
đ c thi hành theo đ u tiên.
N
+ H th ng x lý th i gian th c c ng (Hard real-time): các công vi c đ
đi m qui đ nh.
1.3.7 H th ng nhúng (Embedded Systems)
H đi u hành đ c nhúng trong các thi t b gia d ng, các máy trò ch i,... Do các thi t b gia d ng
có b nh ít, b x lý t c đ th p, kích th c màn hình nh nên h đi u hành này c n đ n gi n,
nh g n, có tính đ c tr ng cho t ng thi t b . Ví d h đi u hành dùng cho máy PDAs (Personal
Digital Assistants), Mobil phones,… H th ng nhúng còn đ c g i là h th ng c m tay (Handheld
Systems).
H đi u hành thông th
I U HÀNH
T.
1.4 CÁC D CH V C A H
ng c n cung c p các d ch v sau:
TI
- Qu n lý ti n trình
- Qu n lý b nh chính (RAM)
- Qu n lý b nh ph (DISK)
N
.P
- Qu n lý h th ng nh p xu t
- Qu n lý h th ng t p tin
- B o v h th ng
- H th ng dòng l nh
PE
- Qu n lý m ng
- Các l i g i h th ng (system calls).
O
1.4.1 D ch v qu n lý ti n trình (Process Management)
Ti n trình là m t ch ng trình đang thi hành. Trong b nh , t i m t th i đi m có th có nhi u ti n
trình, m t s ti n trình là c a h đi u hành, m t s ti n trình là c a ng i s d ng. Khi ti n trình
đ c t o ra ho c đang thi hành s đ c h đi u hành cung c p các tài nguyên đ ti n trình ho t
đ ng nh là CPU, b nh , t p tin, các thi t b nh p/xu t… Khi ti n trình k t thúc, h đi u hành s
thu h i l i các tài nguyên đã c p phát. M t ti n trình khi th c thi l i có th t o ra các ti n trình con
và hình thành cây ti n trình.
* Các ch c n ng c a d ch v qu n lý ti n trình
+ T o và h y các ti n trình c a ng
i s d ng và c a h đi u hành.
8
+ T m ng ng và th c hi n l i m t ti n trình.
+ Cung c p c ch đ ng b các ti n trình.
+ Cung c p c ch liên l c gi a các ti n trình.
+ Cung c p c ch ki m soát t c ngh n.
1.4.2 D ch v qu n lý b nh chính (Main Memory Management)
ED
U
.V
* Các ch c n ng c a d ch v qu n lý b nh chính
N
T i m t th i đi m, trong b nh chính có th có nhi u ti n trình, h đi u hành c n ph i qu n lý
ph n b nh đã c p cho m i ti n trình đ tránh xung đ t.
+ L u gi thông tin v các v trí trong b nh đã s d ng và ti n trình nào đang s d ng.
+ Quy t đ nh ch n ti n trình đ n p vào b nh chính khi b nh chính có ch tr ng.
+ C p phát b nh cho ti n trình và thu h i b nh khi ti n trình th c thi xong.
1.4.3 D ch v qu n lý b nh ph (Secondary Management)
T.
l u tr d li u lâu dài, d li u c n l u trên đ a d ng t p tin, ngoài ra đ a còn l u gi các ti n
trình khi b nh RAM không còn đ , vùng nh này g i là b nh o.
* Các ch c n ng c a d ch v qu n lý b nh ph
+ Qu n lý vùng tr ng trên đ a (Free space management)
TI
+ Xác đ nh v trí c t gi d li u (Storage allocation).
N
.P
+ L p l ch cho đ a (Disk scheduling).
1.4.4 D ch v qu n lý h th ng nh p/xu t (I/O System Management)
H đi u hành c n che d u nh ng đ c thù c a các thi t b ph n c ng, b ng cách cung c p các ch c
n ng x lý nh p xu t đ n gi n, không ph thu c vào chi ti t c a m i lo i thi t b .
O
PE
1.4.5 D ch v qu n lý h th ng t p tin (File Management)
Máy tính có th l u tr thông tin trong nhi u d ng thi t b v t lý khác nhau nh b ng t , đ a t ,
đ a quang, ... M i d ng có có kh n ng l u tr , t c đ truy n d li u và cách truy xu t khác nhau.
H đi u hành c n đ ng nh t cách truy xu t h th ng l u tr , đ nh ngh a m t đ n v l u tr là t p
tin.
* Các ch c n ng c a d ch v qu n lý h th ng t p tin
+ H tr các thao tác trên t p tin và th m c (t o/xem/xoá/sao chép/di chuy n/đ i tên).
+ Ánh x t p tin trên h th ng l u tr ph .
+ Sao l u t p tin trên các thi t b l u tr .
9
1.4.6 D ch v b o v h th ng (Protection System)
H đi u hành c n cung c p c ch đ đ m b o r ng tài nguyên ch đ c truy xu t b i nh ng ti n
trình có quy n. Ví d đ m b o r ng ti n trình ch đ c thi hành trong ph m vi đ a ch c a nó ho c
đ m b o r ng không có ti n trình nào đ c chi m CPU…
1.4.7 L i g i h th ng (system call)
ED
U
.V
N
L i g i h th ng là t p l nh do h đi u hành cung c p dùng đ giao ti p gi a ti n trình c a ng i
dùng và h đi u hành, l i g i h th ng còn g i là ng t. Các l i g i h th ng có th đ c chia
thành các lo i nh là t p l nh qu n lý ti n trình, t p l nh qu n lý t p tin, t p l nh qu n lý thi t b ,
t p l nh dùng đ liên l c gi a các ti n trình. M i l i g i h th ng có m t s hi u duy nh t dùng đ
phân bi t l i g i này v i l i g i khác. Các đ a ch n i ch a mã l nh c a các ng t (l i g i h th ng)
đ c l u trong m t b ng g i là b ng vect ng t.
Khi ti n trình dùng l i g i h th ng, c n cung c p tham s cho l i g i h th ng. Có ba ph
pháp mà ti n trình dùng đ chuy n tham s cho h đi u hành:
- Chuy n tham s vào thanh ghi
ng
- L u tr tham s trong m t b ng trong b nh và ghi đ a ch b ng vào thanh ghi
- L u tr tham s vào stack và tham s đ
c l y ra b i h đi u hành .
O
PE
N
.P
TI
T.
Ví d chuy n đ a ch b ng X (b ng ch a các tham s ) vào thanh ghi, g i ng t 13. Ng t 13 là l i
g i h th ng do h đi u hành cung c p.
Hình 1.9: truy n tham s d ng b ng cho ng t 13
Qu n lý ti n trình
L i g i hàm
Mô t
Pid=fork()
T o m t ti n trình con gi ng ti n trình cha
Pid=waitpid(pid, &statloc, options)
Exit(status)
i m t ti n trình con k t thúc
K t thúc vi c th c thi ti n trình và tr v tr ng thái
10
Qu n lý T p tin
L i g i hàm
Mô t
Fd=open(file,how,…)
M m t file đ đ c, ghi ho c c hai
óng m t file đã m tr
S=close(fd)
c đó
Ghi d li u t buffer vào file
Position=lseek(fd,offset,whence)
Di chuy n con tr file
S=stat(name,&buf)
L y thông tin tr ng thái c a file
ED
U
.V
N= write(fd,buffer,nbytes)
N
c d li u t file vào vùng đ m
N=read(fd,buffer,nbytes)
Qu n lý H th ng file và th m c
L i g i hàm
Mô t
S=mkdir(name,mode)
T o th m c m i
S=rmdir(name)
Xóa th m c r ng
S=link(name1,name2)
T om tđ it
S=unlink(name)
Xóa đ i t
S=mount(special,name,flag)
Kích ho t h th ng file
c đó
T.
ng name1 tr
ng th m c
TI
S=unmount(special)
ng m i name2 tr vào đ i t
Ng ng kích ho t h th ng file
N
.P
Hình 1.10: M t s l i g i h th ng
1.4.8 H th ng thông d ch dòng l nh (Command-Interpreter System)
PE
Là t p l nh c b n cùng trình thông d ch l nh đ ng i s d ng giao ti p v i h đi u hành. Các
l nh c b n nh l nh qu n lý ti n trình, qu n lý nh p xu t, qu n lý b nh chính, qu n lý b nh
ph , qu n lý t p tin và các l nh b o v h th ng… Các l nh trong h th ng thông d ch dòng l nh
th c ra c ng s g i các các l i g i h th ng.
O
1.4.9 Qu n lý m ng (Networking)
Cung c p các ch c n ng phân quy n, chia x tài nguyên m ng, liên l c gi a các ti n trình trên
m ng, …
1.5 C U TRÚC H
I U HÀNH
1.5.1 C u trúc đ n gi n
H đi u hành không đ c chia thành nh ng l p (ph n) rõ r t, m t l p có th g i hàm thu c b t k
l p nào khác. H đi u hành này đ n gi n, d thi t k , d cài đ t nh ng khó b o v , khó m r ng,
và khó nâng c p. Ví d h đi u hành MSDOS là h đi u hành có c u trúc đ n gi n: ch ng trình
11
ED
U
.V
N
ng d ng có th truy xu t tr c ti p các hàm nh p/xu t trong ROM BIOS đ ghi tr c ti p lên màn
hình hay b đi u khi n đ a.
Hình 1.11: C u trúc c a h đi u hành MS-DOS (c u trúc đ n gi n)
O
PE
N
.P
TI
T.
H đi u hành UNIX phiên b n đ u tiên c ng có c u trúc đ n gi n và đ c chia thành hai ph n:
ph n system calls và ph n kernel. Ph n kernel cung c p t t c các d ch v c a h đi u hành. Các
ph n có th g i l n nhau.
Hình 1.12: c u trúc c a h đi u hành UNIX phiên b n đ u tiên (c u trúc đ n gi n)
1.5.2 C u trúc phân l p
H đi u hành đ c chia thành nhi u l p, m i l p đ c xây d ng d a vào nh ng l p th p h n.
L p d i cùng là ph n c ng, l p trên cùng là l p giao ti p v i ng i s d ng. M i l p ch s
d ng nh ng hàm do l p d i cung c p. H t nhân l p k l p ph n c ng, dùng các l nh c a ph n
c ng đ t o các l i g i h th ng.
12
ED
U
.V
N
Xem mô hình phân l p hình 1.12: L p M th a k m t s hàm c a l p M-1 và có th có thêm
m t s hàm c a riêng mình. Nh ng hàm mà l p M-1 đ t thu c tính n thì l p M không đ c th a
k .
Hình 1.13: mô hình c u trúc phân l p
Ch c n ng
5
Thao tác
4
Ch
3
Qu n lý Xu t/Nh p
N
.P
1
0
ng trình ng
i dung
TI
2
T.
T ng
Truy n thông Thao tác-Ti n trình
Qu n lý b nh
a ch
ng
Hình 1.14: c u trúc phân l p c a h đi u hành THE
PE
1.5.3 C u trúc máy o
O
V i h đi u hành máy o, m t máy đ c gi l p thành nhi u máy, tài nguyên c a h th ng nh là
CPU, b nh , đ a,… đ c chia x đ t o các máy o. M i máy o đ c cô l p v i máy o khác
nên tài nguyên dùng chung đ c b o v nh ng c ng d n đ n vi c không đ c chia x tài nguyên
tr c ti p.
13
N
ED
U
.V
Hình 1.15: Mô hình c u trúc máy o
1.5.4 C u trúc Client-Server
*
N
.P
TI
T.
H đi u hành đ c chia thành nhi u ph n (g i là các ti n trình server), m i ti n trình th c hi n
m t d ch v nh là d ch v qu n lý t p tin, qu n lý ti n trình, qu n lý b nh , … Các ti n trình
yêu c u (g i là ti n trình client) s g i yêu c u đ n m t ti n trình server, ti n trình server th c
hi n và g i k t qu tr l i cho ti n trình client. H t nhân ch có nhi m v ki m soát quá trình liên
l c gi a các ti n trình client và server.
u đi m c a c u trúc client-server
+ H t nhân r t nh , ch g m các l nh c b n, nên d b o v , d nâng c p.
+ M i d ch v c a h đi u hành do m t ti n trình server đ m nh n, các ti n trình này đ c l p v i
nhau nên khi m t ti n trình server b l i, h th ng v n ho t đ ng.
PE
+ Các ti n trình server đ c th c hi n ch đ ng i dùng (user-mode), không ph i
nhân (kernel-mode), nên không truy xu t tr c ti p ph n c ng.
ch đ h t
O
+ C u trúc client-server r t thích h p v i mô hình h th ng phân tán. Các ti n trình server có th
th c thi các máy khác nhau.
Hình 1.17: Mô hình h đi u hành client-server trên m t máy
14
1. 6 NGUYÊN LÝ THI T K H
N
ED
U
.V
Hình 1.18: Mô hình h đi u hành client-server trên nhi u máy
I U HÀNH
+ H đi u hành c n d vi t, d s a l i, d nâng c p (nên vi t h đi u hành b ng ngôn ng c p cao
vì d vi t và d s a l i h n là vi t b ng ngôn ng assembly).
+ H đi u hành c n d cài đ t, d b o trì, không có l i và hi u q a.
+ H đi u hành c n d s d ng, d h c, an toàn, có đ tin c y cao và th c hi n nhanh.
+ H đi u hành c n có tính kh chuy n cao (th c hi n đ
nhau).
c trên m t nhóm các ph n c ng khác
TI
TÓM T T
T.
+ H đi u hành c n có ch ng trình SYSGEN (System Generation) thu th p thông tin liên quan
đ n ph n c ng đ thi t l p c u hình h đi u hành cho phù h p v i m i máy tính.
PE
N
.P
M t h th ng máy tính g m có ph n c ng, h đi u hành và các ch ng trình ng d ng. H đi u
hành giúp cho vi c s d ng máy tính hi u qu , đ n gi n h n. H đi u hành có nhi u lo i nh ng
thông d ng là lo i h đi u hành đa nhi m, phân tán. H đi u hành cung c p các d ch v c b n
nh d ch v qu n lý ti n trình, d ch v qu n lý b nh , d ch v qu n lý t p tin, d ch v qu n lý
nh p/xu t,… và m t t p các l i g i h th ng (ng t). H đi u hành c n thi t k sao cho d s a l i,
d cài đ t, d b o trì, không có l i, d s d ng, d h c, đ tin c y cao, th c hi n nhanh và có tính
kh chuy n cao.
CÂU H I – BÀI T P
1. Nêu m c đích chung c a h đi u hành
O
2. Phân bi t h th ng đa ch
ng và h th ng đa nhi m
3. Nêu các v n đ mà h th ng đa ch
ng/đa nhi m c n gi i quy t
3. Phân bi t h th ng đa nhi m và h th ng đa x lý
4. Phân bi t h th ng đa x lý và h th ng x lý phân tán
5. Nêu m c đích c a h th ng b nh đ m (buffer-caching system) trong h th ng nh p/xu t
6. Ch ng trình đi u khi n thi t b (Drivers for specific hardware devices) do h đi u hành cung
c p hay do hãng s n xu t thi t b cung c p?
7. Ch ng trình giao ti p v i ch ng trình đi u khi n thi t b (general device-driver interface) do
h đi u hành hay do hãng s n xu t hay do ngôn ng l p trình hay do ng i l p trình cung c p?
15
8. Ph n nhân (kernel) c a h đi u hành MS-DOS g m nh ng ch
ng trình nào?
9. Nêu khuy t đi m c a h đi u hành có c u trúc đ n gi n.
TÀI LI U THAM KH O
[1]. Gary J. Nutt, University of Colorado. Centralized And Distributed Operating Systems.
Second Edition, 2000.
N
[2]. Robert Switzer. Operating Systems, A Practical Approach. Prentice-Hall International, Inc.
1993.
ED
U
.V
[3]. Andrew S. Tanenbaum. Modern Operating Systems. Prentice-Hall International, Inc. Second
Edition, 2001.
[4]. Abraham Silberschatz & Peter Baer Galvin. Operating System concepts. John Wiley & Sons,
Inc. Fifth Edition, 1999.
[5]. H. M. Deitel. Operating Systems. Addison-Wesley Inc. Second Edition, 1999.
[6] C m nang l p trình h th ng cho máy vi tính IBM-PC t p 1 và 2, tác gi Michael Tischer.
O
PE
N
.P
TI
T.
[7]. Tr n H nh Nhi & Lê Kh c Nhiên Ân & Hoàng Ki m. Giáo trình h đi u hành (t p 1 & 2).
HKHTN 2000.
16
CH
NG 2
QU N LÝ NH P/XU T VÀ QU N LÝ H TH NG T P TIN
Ch ng “QU N LÝ NH P/XU T VÀ QU N LÝ H TH NG T P TIN” s gi i thi u và gi i
thích các v n đ sau:
2.1.1 Phân lo i và đ c tính c a thi t b nh p/xu t
2.1.2 B đi u khi n thi t b nh p/xu t
ng trình th c hi n nh p/xu t và t ch c h th ng nh p/xu t
2.1.4 C ch nh p/xu t và c ch DMA
2.1.5 Các thu t toán l p l ch di chuy n đ u đ c
2.1.6 H s đan xen và ram disk
2.2 Qu n lý h th ng t p tin
ED
U
.V
2.1.3 Các ch
N
2.1. Qu n lý nh p/xu t
2.2.1 Các khái ni m v đ a c ng, t p tin, th m c, b ng th m c
2.2.2 Các ph
ng pháp cài đ t h th ng t p tin.
ng pháp qu n lý danh sách các kh i tr ng
2.2.4 Ph
ng pháp qu n lý s an toàn c a h th ng t p tin
T.
2.2.3 Ph
TI
2.2.5 Gi i thi u m t s h th ng t p tin: MSDOS/Windows, UNIX.
2.1. QU N LÝ NH P/XU T
N
.P
2.1.1 Phân lo i và đ c tính c a thi t b nh p/xu t
* Phân lo i thi t b nh p/xu t:
+ Thi t b kh i: thông tin đ c đ c/ghi theo t ng kh i có kích th
đ nh, ví d đ a là m t thi t b kh i.
c c đ nh và có đ a ch xác
PE
+ Thi t b tu n t : thông tin đ c g i/nh n theo dãy tu n t các bit, không có đ a ch , ví d màn
hình, bàn phím, máy in, card m ng, chu t là thi t b tu n t .
O
+ Thi t b khác: có m t s các thi t b không phù h p v i hai lo i trên, ví d đ ng h không là
thi t b kh i, c ng không là thi t b tu n t .
*
c tính c a thi t b nh p/xu t:
+ T c đ truy n d li u: ví d bàn phím : 0.01 KB/s, chu t 0.02 KB/s ...
+ Dung l
ng l u tr , th i gian truy xu t m t đ n v d li u.
+ Công d ng: dùng đ nh p hay xu t
+
n v truy n d li u: truy n theo kh i ho c ký t
+ Bi u di n d li u: đi 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à thi t b báo l i...
17
ng c a m t s thi t b nh p/xu t
N
Hình 2.1: th i gian truy xu t và dung l
ED
U
.V
2.1.2 B đi u khi n thi t b nh p/xu t (I/O controller)
Là ph n c ng đi u khi n tr c ti p thi t b nh p/xu t, CPU không th truy xu t tr c ti p thi t b
nh p/xuât mà ph i thông qua b đi u khi n thi t b , dùng h th ng đ ng truy n g i là bus. Ví d
b đi u khi n màn hình đ c các ký t c n hi n th trong b nh và đi u khi n các tia c a CRT
( ng phóng đi n t c a màn hình) đ xu t ký t trên màn hình. Thi t b nh p/xu t và b đi u
khi n ph i tuân theo cùng chu n giao ti p nh chu n ANSI, IEEE hay ISO…
N
.P
TI
T.
B đi u khi n thi t b nh p/xu t có th đi u khi n đ c nhi u thi t b , ví d m t b đi u khi n
màn hình (video controller) có th đi u khi n nhi u màn hình.
Hình 2.2: CPU truy xu t các thi t b nh p/xuât thông qua b đi u khi n thi t b
O
PE
M i b đi u khi n có m t s thanh ghi đ liên l c v i CPU, các thanh ghi này đ c gán m t đ a
ch xác đ nh nh là m t ph n c a b nh chính, g i là ánh x b nh nh p/xu t. Ví d :
B đi u khi n
nh p/xu t
a ch nh p/xu t
Vect ng t
(đ a ch c a các thanh ghi)
ng h
040 - 043
8
Bàn phím
060 - 063
9
RS232 ph
2F8 - 2FF
11
a c ng
320 - 32F
13
18
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
N
Máy in
ED
U
.V
Hình 2.3: b ng đ a ch các thanh ghi c a m t s b đi u khi n nh p/xu t.
CPU th c hi n nh p/xu t b ng cách ghi l nh, cùng các tham s lên các thanh ghi c a b đi u
khi n, sau đó CPU s th c hi n công vi c khác. Khi b đi u khi n th c hi n xong, s phát sinh
m t ng t đ báo hi u cho CPU bi t và đ n l y k t qu (k t qu c ng đ c b đi u khi n l u trong
các thanh ghi).
2.1.3 Các ch
* Các ch
ng trình th c hi n nh p/xu t và t ch c h th ng nh p/xu t
ng trình th c hi n nh p/xu t:
+ Ch ng trình nh p/xu t c a ng
nh p/xu t đ c l p thi t b .
i dùng (user program): th c hi n các l i g i đ n ch
ng trình
T.
+ Ch ng trình nh p/xu t đ c l p thi t b : còn g i là l i g i h th ng nh p/xu t ho c ng t
nh p/xu t, do h đi u hành cung c p, ch ng trình nh p/xu t đ c l p thi t b cung c p m t giao
ti p đ ng nh t cho ch ng trình nh p/xu t c a ng i dùng.
O
PE
N
.P
TI
+ Ch ng trình đi u khi n thi t b (Device drivers): do h đi u hành ho c nhà s n xu t thi t b
cung c p, ch ng trình này ph thu c vào thi t b , s nh n nh ng yêu c u nh p/xu t c a ch ng
trình nh p/xu t đ c l p thi t b . N u device driver đang b n, yêu c u đó s đ c đ a vào hàng
đ i, ng c l i nó s th c hi n ngay yêu c u, b ng cách chuy n l nh vào thanh ghi c a b đi u
khi n thi t b (I/O controller).
Hình 2.4: S giao ti p gi a các ch
ng trình th c hi n nh p/xu t
19
* T ch c h th ng nh p/xu t
th ng qu n lý nh p/xu t đ c phân chia thành 5 l p là: ti n trình ng i dùng (user processes),
ng trình nh p/xu t đ c l p thi t b (device-independent software), ch ng trình đi u khi n
t b (device drivers), ch ng trình ki m soát ng t (interrupt handlers), ph n c ng (hardware).
i l p có ch c n ng riêng và có th giao ti p v i l p khác.
ED
U
.V
N
H
ch
thi
M
+ Ti n trình ng
T.
Hình 2.5: mô hình phân l p c a h th ng qu n lý nh p/xu t
i dùng (user processes): đ nh d ng nh p/xu t, th c hi n l i g i nh p/xu t.
TI
+ Ch ng trình nh p/xu t đ c l p thi t b (Device-independent software): đ t tên, b o v , t ch c
kh i, t ch c b đ m, c p phát,…
N
.P
+ Ch ng trình đi u khi n thi t b (Device driver): thi t l p giá tr các thanh ghi thi t b , ki m tra
tr ng thái thi t b ,…
+ Ch ng trình ki m soát ng t (Interrupt handlers): thông báo cho ch
khi thao tác nh p/xu t hoàn t t.
ng trình đi u khi n thi t b
+ Ph n c ng nh p/xu t (I/O Hardware): th c hi n thao tác nh p/xu t
O
PE
Ví d ti n trình ng i dùng (user processes) mu n đ c m t kh i d li u trên đ a, s g i yêu c u
nh p/xu t đ n ch ng trình nh p/xu t đ c l p thi t b (device-independent software), ch ng
trình này s tìm ki m kh i trong b đ m nh p/xu t, n u kh i c n đ c ch a có trong b đ m, nó s
g i ch ng trình đi u khi n thi t b (device driver). Ch ng trình đi u khi n thi t b g i yêu c u
đ n đ a c ng và ti n trình ng i dùng s t m ng ng cho đ n khi thao tác đ c đ a hoàn t t, đ a s
phát sinh m t ng t thông báo đã đ c xong, g i tín hi u ng t cho ch ng trình ki m soát ng t.
Ch ng trình ki m soát ng t ghi nh n tr ng thái c a thi t b và đánh th c ti n trình c a ng i
dùng đ ti p t c th c hi n.
20
N
2.1.4 C ch nh p/xu t và c ch DMA
* C ch nh p/xu t:
ED
U
.V
Hình 2.6: khi thao tác đ c đ a hoàn t t, b đi u khi n đ a s phát sinh m t ng t.
- B x lý phát sinh m t l nh I/O đ n các thi t b I/O, sau đó ch cho đ n khi thao tác I/O hoàn
t t r i m i ti p t c x lý, ho c:
- B x lý phát sinh m t l nh I/O đ n các thi t b I/O, sau đó ti p t c vi c x lý cho t i khi nh n
đ c m t ng t t thi t b I/O báo là đã hoàn t t nh p/xu t, b x lý t m ng ng vi c x lý hi n t i
đ chuy n qua x lý ng t, ho c:
- S d ng c ch DMA
T.
* C ch DMA (Direct Memory Access):
N
.P
TI
Xét quá trình đ c đ a, CPU g i cho b đi u khi n đ a (disk controller) l nh đ c đ a và các thông
s nh đ a ch trên đ a c a kh i, đ a ch trong b nh RAM n i s c t kh i đ c đ c, s byte c n
đ c, sau đó CPU ti p t c x lý công vi c khác. B đi u khi n s đ c kh i trên đ a, t ng bit cho t i
khi toàn b kh i đ c đ a vào buffer c a b đi u khi n (local buffer). Ti p theo b đi u khi n
phát ra m t ng t đ báo cho CPU bi t là thao tác đ c đã hoàn t t. CPU đ n l y d li u trong buffer
chuy n vào b nh chính (RAM) 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.
O
PE
t i u, b đi u khi n th ng đ c cung c p thêm kh n ng truy xu t b nh tr c ti p (DMA).
Ngh a là sau khi b đi u khi n đã đ c toàn b d li u t thi t b vào buffer c a nó, 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 l i cho t i khi s bytes ph i
chuy n b ng 0, và b đi u khi n t o m t ng t. Nh v y b đi u khi n t chuy n kh i vào trong b
nh chính.
Hình 2.7: C ch DMA
21
2.1.5 Các thu t toán l p l ch di chuy n đ u đ c
ED
U
.V
N
truy xu t các kh i trên đ a, tr c tiên ph i di chuy n đ u đ c đ n track thích h p, thao tác này
g i là seek và th i gian đ hoàn t t thao tác này g i là seek time. M t khi đã đ n đúng track, còn
ph i ch cho đ n khi kh i c n thi t đ n d i đ u đ c, th i gian ch này g i là latency time. Cu i
cùng là chuy n d li u t đ a vào b nh chính, th i gian này g i là transfer time. T ng th i gian
cho d ch v đ a chính là t ng c a ba kho ng th i gian trên (seek time + latency time + transfer
time). Trong đó seek time và latency time là m t nhi u th i gian nh t, do đó đ gi m thi u th i
gian truy xu t, h đi u hành c n đ a ra các thu t toán l p l ch d i đ u đ c sao cho t i u.
Hình 2.8: mô hình đ a c ng
2.1.5.1 Thu t toán FCFS (first-come, first-served)
N
.P
TI
T.
Thu t toán s d i đ u đ c theo th t đúng v i th t các kh i c n đ c, thu t toán d l p trình
nh ng ch a t t. Ví d c n ph i đ c các kh i theo th t nh sau: 98, 183, 37, 122, 14, 124, 65, và
67. Gi s hi n t i đ u đ c đang v trí 53, thu t toán s d i đ u đ c l n l t đi qua các kh i 53,
98, 183, 37, 122, 14, 124, 65, và 67
Hình 2.9: Các b
c di chuy n đ u đ c theo thu t toán FCFS
O
PE
2.1.5.2 Thu t toán SSTF (shortest-seek-time-first)
Thu t toán s di chuy n đ u đ c l n l t đ n các kh i c n đ c theo v trí g n v i v trí hi n hành
c a đ u đ c nh t. Ví d c n đ c các kh i nh sau: 98, 183, 37, 122, 14, 124, 65, và 67. Gi s
hi n t i đ u đ c đang v trí 53, thu t toán s d i đ u đ c l n l t đi qua các kh i 53, 65, 67, 37,
14, 98, 122, 124 và 183.
Hình 2.10: Các b
c di chuy n đ u đ c theo thu t toán SSTF
22
2.1.5.3 Thu t toán SCAN
ED
U
.V
N
Thu t toán s di chuy n đ u đ c v m t phía c a đ a và t đó di chuy n qua phía kia. Ví d c n
đ c các kh i nh sau: 98, 183, 37, 122, 14, 124, 65, và 67. Gi s hi n t i đ u đ c đang v trí
53, đ u đ c l n l t đi qua các kh i: 53, 37, 14, 65, 67, 98, 122, 124 và 183
c di chuy n đ u đ c theo thu t toán SCAN
Hình 2.11: Các b
2.1.5.4 Thu t toán C-SCAN
TI
T.
Thu t toán này t ng t nh thu t toán SCAN, ch khác là khi nó di chuy n đ n m t đ u nào đó
c a đ a, nó s l p t c tr v đ u b t đ u c a đ a. L y l i ví d trên, khi đó th t truy xu t các
kh i s là 53, 65, 67, 98, 122, 124, 183, 14, 37
N
.P
Hình 2.12: Các b
c di chuy n đ u đ c theo thu t toán C-SCAN
Thu t toán SCAN và C-SCAN thích h p cho nh ng h th ng ph i truy xu t d li u kh i l ng
l n. Thu t toán l p l ch ph thu c vào s kh i và ki u kh i c n truy xu t, ví d n u s kh i c n
truy xu t là liên t c thì FCFS là thu t toán t t.
PE
2.1.6 H s đan xen và Ram Disks
O
* H s đan xen (Interleave)
B đi u khi n đ a ph i th c hi n hai ch c n ng là đ c/ghi d li u và chuy n d li u vào h th ng.
đ ng b hai ch c n ng này, các sector đ c đánh s sao cho các sector có s hi u liên ti p
nhau không n m k bên nhau mà có m t kho ng cách, kho ng cách này đ c xác đ nh b i quá
trình format đ a và g i là h s đan xen.
Hình 2.13: (a) interleave=0, (b) interleave=1, (c) interleave=2
23
Ví d gi s h th ng có 17 sector/track, và interleave = 4 thì các sector đ
nh sau: 1, 14, 10, 6, 2, 15, 11, 7, 3, 16, 12, 8, 4, 17, 13, 9, 5
Cách đ c l n l
c b trí theo th t
t nh sau :
L n 1: 1, 2, 3, 4, 5
L n 2: 6, 7, 8, 9, 10
L n 3: 11, 12, 13, 14, 15
c v n là t 1 đ n 17
ED
U
.V
Nh v y sau b n l n th t các sector đ c đ
N
L n 4: 16, 17
* Ram disk:
H đi u hành có th dùng m t ph n c a b nh chính đ l u tr các kh i đ a, ph n b nh này g i
là Ram Disk . Ram Disk c ng đ c chia làm nhi u kh i, m i kh i có kích th c b ng kích th c
c a kh i trên đ a. Khi driver nh n đ c l nh đ c/ghi kh i, s tìm trong b nh Ram Disk v trí c a
kh i, và th c hi n vi c đ c/ ghi trong đó thay vì t đ a . RAM disk có u đi m là cho phép truy
xu t nhanh, không ph i ch quay hay tìm ki m, thích h p cho vi c l u tr nh ng ch ng trình
hay d li u đ c truy xu t th ng xuyên.
2.2.1
a c ng (hard disk)
TI
2.2.1.1
a c ng, t p tin, th m c
T.
2.2 QU N LÝ H TH NG T P TIN
O
PE
N
.P
a c ng đ c đ nh d ng thành các vòng tròn đ ng tâm g i là rãnh (track), m i rãnh đ c chia
thành nhi u ph n b ng nhau g i là cung (sector). M t kh i (cluster) g m m t ho c nhi u cung và
d li u đ c đ c/ghi theo đ n v kh i. Vi c s d ng đ n v kh i đ t ng hi u qu trong vi c
đ c/ghi và gi m chi phí qu n lý s đ a ch trên đ a. Ngoài ra khi đ a c ng l n, có th chia thành
nhi u phân vùng (partition), m i phân vùng g m m t s t tr (cyclinder) liên ti p. M t t tr là
t p h p các rãnh cùng bán kính.
sector
track
Hình 2.14: mô hình t ch c đ a
2.2.1.2 File (t p tin)
File là m t t p h p thông tin đ c đ t tên và l u tr trên đ a. File là đ n v l u tr thông tin nh
nh t trên đ a c a h đi u hành. File có th l u tr ch ng trình hay d li u, file có th là dãy tu n
t các byte không c u trúc ho c có c u trúc dòng (k t thúc b ng kí t enter), ho c c u trúc m u tin
có chi u dài c đ nh hay thay đ i. C u trúc file do h đi u hành ho c ch ng trình qui đ nh. File
có th truy xu t tu n t (đ c các byte theo th t t đ u file), ho c truy xu t ng u nhiên (đ c/ghi
t i m t v trí b t k trong file).
24
* Thu c tính file (file attributes)
Thu c tính c a file là các thông tin liên quan đ n file, s thu c tính c a file tùy theo h đi u hành,
nh ng th ng thì file có các thu c tính sau:
+ Tên file (file name)
+ Ki u file (file type)
ED
U
.V
N
Tên file dùng đ phân bi t file này v i file khác, UNIX phân bi t tên file ch th ng v i tên file
ch hoa nh ng WINDOWS thì không phân bi t. Trong UNIX tên file có th có nhi u phân cách
(ví d prog.c.Z), WINDOWS ch có m t phân cách. H đi u hành dùng ph n m r ng đ nh n
d ng ki u c a file và các thao tác có th th c hi n trên ki u file đó, ví d ph n m r ng là *.exe,
*.com thì h đi u hành hi u là file ki u nh phân có th th c thi nh ng n u không th c thi đ c
thì là do c u trúc file không đúng qui đ nh c a file *.exe, *.com.
Có hai lo i file là file v n b n và file nh phân. File v n b n ch a các dòng v n b n cu i dòng có
ký t xu ng dòng (kí t enter). File nh phân g m dãy các byte, có c u trúc tùy theo ch ng trình
t o ra file. Ví d file .com, .exe, .wav, .bmp,…. h đi u hành ch th c thi đ c file .com, .exe n u
nó có c u trúc đúng qui đ nh.
+ V trí file: Danh sách các kh i (cluster) trên đ a đã c p cho file.
+ Kích th
c file: Kích th
c hi n th i, kích th
c t i đa c a file tính b ng bytes/words/blocks,…
+ Ngày gi t o file, ng i t o file: Ngày, gi t o file; ngày, gi c p nh t file g n nh t; ngày, gi
s d ng file sau cùng, ng i t o file.
T.
+ Loai file: file n, ch đ c, h th ng, l u tr , file/th m c
Ý ngh a
Ai có th truy xu t file và b ng cách nào
M t kh u c n có đ truy xu t file
ID c a ng i t o file
Ng i s h u hi n t i
0: cho phép đ c/ghi; 1: ch cho phép đ c
0: bình th ng; 1: không xu t hi n khi li t kê
0: file bình th ng, 1: file h th ng
0: đã backup, 1: c n đ c backup.
0: file dùng mã ASCII, 1: file dùng mã nh phân
0: ch cho phép truy xu t tu n t ; 1: cho phép truy xu t ng u
0: bình th ng, 1: file b h y khi ti n trình k t thúc
0 : không khóa, khác 0: khóa
S bytes trong m t m u tin
offset c a khóa trong t ng m u tin
S byte c a khóa trong m u tin
Ngày gi t o file
Ngày gi truy xu t file g n nh t
Ngày gi c p nh t n i dung file g n nh t
S byte c a file
S bytes t i đa cho phép c a file
O
PE
N
.P
Thu c tính
Protection
Password
Creator
Owner
Read-only flag
Hidden flag
System flag
Archive flag
ASCII/binary flag
Random Access flag
Temporary flag
Lock flags
Record length
Key position
Key length
Creation time
Time of last access
Time of last change
Current size
Maximum size
TI
+ B o v file: Dùng account (username, password), owner/creator ho c dùng quy n đã c p cho
user, group trên file hay th m c, g m các quy n sau: quy n đ c (Read), ghi (Write), xóa
(Delete), th c thi (Execute), li t kê (List), thêm (Append)...
Hình 2.15: M t s thu c tính c a file/th m c
25