ệ ề
H đi u hành
Dang Minh Quan: Institute of IT for Economics-NEU, 2011
1
ươ ả ậ Ch ng ấ 5: Qu n lý nh p/xu t
ổ
T ng quan
ậ ấ ch c ph n c ng nh p/ xu t
ổ ứ ặ ệ ố ấ ậ • Khái ni m c b n ơ ả ệ • Mô hình t ầ ứ • Cài đ t h th ng qu n lý và truy xu t nh p/ ả
Dang Minh Quan: Institute of IT for Economics-NEU, 2011
2
xu t ấ
ơ ả
ệ Các khái ni m c b n
Ớ
Ứ
Ậ
Ấ
CÁC L P CH C NĂNG NH P/XU T
ấ
ị
ử ườ
ủ X lý c a i dùng ng
ậ ạ ờ ọ T o l i g i nh p/xu t, đ nh ấ ậ ạ d ng nh p/xu t
ố
ch c kh i,
ả ị
ệ ổ ứ ặ Đ t tên, b o v , t ị ộ ệ b đ m, đ nh v
ề ầ Ph n m m ộ ậ đ c l p t bế ị thi
ế ậ
t l p thanh ghi thi
ế ị t b ,
ạ
ể Đi u khi n t bế ị
ề thi
Thi ể ki m tra 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
Dang Minh Quan: Institute of IT for Economics-NEU, 2011
3
ế ị
ấ
Thi
ậ t b nh p/ xu t
t b mà thông tin đ
ố ế ị t b kh i là thi ữ ượ c ướ ố c c
ố ặ c truy xu t (đ c ho c ghi) t ng kh i
ế ị ọ ươ ấ
Dang Minh Quan: Institute of IT for Economics-NEU, 2011
4
ế ị ố ộ • Thi ế ị ố ữ ư l u tr trong nh ng kh i có kích th ỉ ị ở ị ượ ị ị c đ nh v b i đ a ch . đ nh và đ • Đ c đi m c a thi ể ố ủ ể ặ t b kh i là chúng có th ừ ấ ượ đ ể ệ t, và ch riêng bi 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.
ế ị
Thi
ấ ậ t b nh p/ xu t
t b th hai là thi
ế ị ế ị ầ ự t b tu n t ậ ệ ử • M t d ng thi ộ ạ • 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,
ộ ả t b khác không ph i
Dang Minh Quan: Institute of IT for Economics-NEU, 2011
5
chu t, và các lo i thi ạ d ng đĩa là thi ạ ế ị ế ị ầ ự t b tu n t .
ế ị
Thi
ấ ậ t b nh p/ xu t
ườ • Thi c v i con ng
ượ ữ ng tác đ ế ế ị ươ t b t ể
i : i và máy. Ví ộ
ớ ườ dùng đ giao ti p gi a ng ụ d : màn hình, bàn phím, chu t, máy in ... • Thi
ế ị ươ t b t tính là các thi d : đĩa, băng t
Dang Minh Quan: Institute of IT for Economics-NEU, 2011
6
ế ị ề ệ ố ng tác trong h th ng máy ớ ế ế ị t b giao ti p v i nhau. Ví ế ừ , card giao ti p... ư ông : nh modem... t b truy n th ụ • Thi
ế ị
Thi
ấ ậ t b nh p/ xu t
ữ ữ • Nh ng đi m khác nhau gi a các thi ế ị t b
ề
ể ồ I/O g m : – T c đ 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, đ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à chúng báo v ...ề
Dang Minh Quan: Institute of IT for Economics-NEU, 2011
7
ậ
ổ ứ ủ
ứ T ch c c a ch c năng nh p/ xu t ấ ệ
ể ự
ộ
• 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 tr t
– Hai là, b x lý phát sinh m t l nh I/O đ n
ế ế ụ c khi ti p t c x lý. ộ ử ị
ậ
ộ
ộ ệ ế ụ c m t ng t t
ạ
ệ ạ ể
ử
ế ử ệ các đ n v I/O, sau đó, nó ti p t c vi c x lý ị ượ ắ ừ ơ đ n v I/O cho t ử ệ ư báo là đã hoàn t t, nó t m ng ng vi c x lý hi n t
ắ ư ượ
ơ ớ i khi nh n đ ấ ể i đ chuy n qua x lý ng t. – Ba là, s d ng c ch DMA (nh đ ế ơ ử ụ
ề c đ
ậ ở
c p
sau)
Dang Minh Quan: Institute of IT for Economics-NEU, 2011
8
ổ ứ ủ
ậ
ướ • Các b
ứ T ch c c a ch c năng nh p/ xu t ấ ủ ứ 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
ể
– H th ng có thêm b đi u khi n thi
ộ ử ngo i vi.ạ ệ ố ử
ử ụ
ế ủ
ấ ỏ
ả
chi ti
ế ị ộ ề ộ t b . B ậ ứ ấ ệ ự x lý s d ng cách th c hi n nh p xu t th ộ ử ờ ượ c tách r i nh t. Theo cách này b x lý đ ạ ế ị t b ngo i t c a các thi kh i các mô t 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.
Dang Minh Quan: Institute of IT for Economics-NEU, 2011
9
ộ ề
ể
B đi u khi n thi
ế ị t b
ị ấ ườ ượ ộ ơ ng đ • M t đ n v b nh p xu t th ị
ầ
ề
ậ ộ ng thích, ượ ọ ườ c g i là b ph n ộ ươ ng đ c g i là
ậ 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 đi n t ệ ử ượ ọ ầ đ ế ị ể t b hay b t đi u khi n thi trong các máy vi tính th card giao ti p.ế
ầ ơ
ả ể ế ị t b . ế ị t b là
Dang Minh Quan: Institute of IT for Economics-NEU, 2011
10
ế ế ở ứ ấ • Thành ph n c chính là b n thân thi • Giao ti p gi a b đi u khi n và thi ữ ộ ề m c th p. giao ti p
ộ ề
ể
B đi u khi n thi
ế ị t b
ủ ộ ề ứ ể ế • Ch c năng c a b đi u khi n là giao ti p
ệ ề
ế ị ớ
ệ ố ườ ọ
11
Dang Minh Quan: Institute of IT for Economics-NEU, 2011
ể ớ ệ ề v i h đi u hành vì h đi u hành không th ệ ấ ự ế t b . Vi c thông truy xu t tr c ti p v i thi ề ng truy n g i là tin thông qua h th ng đ bus.
ộ ề
ể
B đi u khi n thi
ế ị t b
ể
ể ộ ệ ủ ộ ề ầ ự
ự
ệ ử ườ
• Thông th ừ ặ
ề ể
ủ
Dang Minh Quan: Institute of IT for Economics-NEU, 2011
12
ộ ộ ớ • Công vi c c a b đi 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. ượ ổ ứ ố ch c c t ng kh i các byte đ ủ ộ thành t ng bit và đ t trong buffer c a b đi u khi n. ự ẽ ượ buffer s đ • Sau khi th c hi n checksum n i dung c a ệ ể c chuy n vào b nh chính.
ộ ề
ể
B đi u khi n thi
ế ị t b
ộ ố • M i b đi 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à ỉ ộ ị ạ ớ i m t đ a ch m t ph n c a b nh chính t ấ ậ ớ ạ ộ 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 ỉ ặ ộ ậ t g i là đ a ch nh p xu t và trong đó c chia làm nhi u đo n, m i đo n cho
Dang Minh Quan: Institute of IT for Economics-NEU, 2011
13
ạ ế ị ư ệ ệ ọ bi ượ đ ộ m t lo i thi ạ ề t b nh sau :
ộ ề
ể
B đi u khi n thi
ế ị t b
ậ
ị
ỉ
ơ
ấ Đ a ch nh p/xu t
Vect
ắ ng t
040 043
8
ể ề B ộ đi u khi n ấ ậ nh p/xu t ồ
ồ
Đ ng h
060 063
9
Bàn phím
2F8 2FF
11
RS232 phụ
320 32F
13
Đĩa c ngứ
378 37F
15
Máy in
380 3BF
Màn hình mono
3D0 3DF
Màn hình màu
3F0 3F7
14
Đĩa m mề
3F8 3FF
12
RS232 chính
Dang Minh Quan: Institute of IT for Economics-NEU, 2011
14
ộ ề
ể
B đi u khi n thi
ế ị t b
ệ
ự
ấ ằ
ụ
ậ ủ ộ ề
ể
ề
ể ấ
ư
ộ ố ệ
• H đi 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 đi 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 đ
ượ ạ ậ ấ
ệ
ề
ượ đi u khi n đ th c hi n công vi c khác.
ộ ề
ế
ự ắ ể ả ượ ư
ố • Khi m t l nh đã đ ộ ệ ể ự ể ệ ệ ộ m t ng t đ báo hi u cho CPU bi ữ ế k t qu đ c l u gi
c n p vào thanh ghi. ẽ ờ ộ c ch p nh n, CPU s r i b ệ • Sau khi th c hi n xong, b đi u khi n phát sinh ể ế ấ t và đ n l y
trong các thanh ghi.
Dang Minh Quan: Institute of IT for Economics-NEU, 2011
15
DMA (direct memory access)
ọ
• Quá trình đ c đĩa mà không có DMA ộ ề
ướ
ọ
c tiên, b đi u khi n đ c tu n t
ầ ự ộ
ố các kh i trên đĩa, ố ượ ư c đ a vào
– Tr ừ ừ t ng bit t ng bit cho t ủ ộ ề buffer c a b đi u khi n.
ể ớ i khi toàn b kh i đ ể ệ
ể ả
ự
ả
– Sau đó máy tính th c hi n checksum đ đ m b o không
ỗ ả
i x y ra.
ắ ể
ộ ề
ộ
– Ti p theo b đi u khi n t o ra m t ng t đ báo cho ể ạ
có l ế CPU bi
ề ộ
ể
t. ế ế ấ ữ ệ ạ ằ
ọ ầ ượ ừ
ặ
ộ
– CPU đ n l y d li u trong buffer chuy n v b nh ớ t t ng
chính b ng cách t o m t vòng l p đ c l n l byte.
ủ
ờ
– Thao tác này làm lãng phí th i gian c a CPU.
Dang Minh Quan: Institute of IT for Economics-NEU, 2011
16
DMA (direct memory access)
• Quá trình đ c đĩa có DMA ọ ử ụ
ố
ử ỉ
ộ ố ỉ
ộ ề ủ
ớ ơ ị
ể
– Khi s d ng, CPU g i cho b đi u khi n m t s các ể ộ ị ố ư ị thông s nh đ a ch trên đĩa c a kh i, đ a ch trong b ể ể ữ ệ ố ố ượ ị ng byte d li u đ chuy n. nh n i đ nh v kh i, s l – Sau khi b đi u khi n đã đ c toàn b d li u t ộ ề ế ộ ữ ệ ừ ọ thi t ộ ề ủ , b đi u ạ ị
ộ
ỉ i đ a ch
ớ
ỉ
ớ ể ạ
ố ố ộ
ể ể
ằ
ắ
ả
ố
ộ
ớ
ộ
ể ị b vào buffer c a nó và ki m tra checksum ể ớ ầ ể khi n chuy n byte đ u tiên vào b nh chính t ỉ ộ ả ở ị ượ b i đ a ch b nh DMA. đ c mô t – 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 đi 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 .
Dang Minh Quan: Institute of IT for Economics-NEU, 2011
17
DMA (direct memory access)
ượ ự ở ộ ệ c th c hi n b i b
Dang Minh Quan: Institute of IT for Economics-NEU, 2011
18
ậ ề • V n chuy n DMA đ ể ể đi u khi n
ặ ệ ố
ả
ấ
ấ
Cài đ t h th ng qu n lý và truy ậ xu t nh p/ xu t
ế ị t b
Dang Minh Quan: Institute of IT for Economics-NEU, 2011
19
ườ ử ụ • Ki m soát ng tắ ể • Đi u khi n thi ề ế ị ể t b • Ph n m m h đi u hành đ c l p thi ệ ề ề ầ • Ph n m m m c ng ứ ề ầ ộ ậ i s d ng.
ể
Ki m soát
ng tắ
ớ
• HĐH th c hi n thao tác nh p xu t cho t
i khi
ệ ớ ạ
ấ ế
ộ ự
ậ ự ấ ể ự ắ t m i t o ra m t ng t. Ti n trình có th t ộ ệ ệ ạ ằ i b ng cách th c hi n l nh WAIT theo m t ề
ệ
ặ
ộ
hoàn t khóa l ế bi n đi u ki n ho c RECEIVE theo m t thông đi p. ệ
ở ạ
ắ
ộ
• 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. ộ ệ
ề
ế
ệ
ắ ệ ế
ế
ứ
ắ
20
Dang Minh Quan: Institute of IT for Economics-NEU, 2011
• Nó s th c hi n m t tín hi u trên bi n đi u ki n ẽ ự ị ệ ữ ử và g i nh ng thông đi 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 ộ ở ạ i.
ủ ượ ti n trình đang b khóa đ
c thi hành tr l
ể
ề
Đi u khi n thi
ế ị t b
ể ỉ
ự ị • Device drivers phát ra các ch th và ki m tra ị ệ ượ c th c hi n chính xác
ỉ xem ch th đó có đ không. ứ ậ ữ • Ch c năng c a device drivers là nh n nh ng
ậ
l p trên, và ế ệ ầ
ề ừ ầ ph n m m ế ị ở ớ t b ự ệ ẽ ự ẽ ượ ư ầ i, yêu c u đó s đ ầ c đ a vào
Dang Minh Quan: Institute of IT for Economics-NEU, 2011
21
ủ ừ ượ ầ yêu c u tr u t ng t ấ ộ ậ nh p/xu t đ c l p thi 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, ượ ạ c l ng hàng đ i. ợ
ề
ể
Đi u khi n thi
ế ị t b
ỉ
ộ ề ộ ị c ch th cho b ệ ự ằ
ủ ộ ề
• M t khi đã xác đ nh đ ượ ị ắ ầ ể đi 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 đi u ể khi n thi
ự ệ ườ • Trong khi l nh th c hi n. Có hai tr ng
ả
ớ
ế ị t b . ệ ả ợ h p x y ra : – M t là device drivers ph i ch cho t
ự
ự
ể ớ
ắ
ộ
ở
ộ ề i cho t
ờ ộ i khi b ằ khóa i khi m t ng t phát sinh m khóa cho
ệ đi u khi n th c hi n xong b ng cách t ạ l nó.
ệ ề
ấ
Dang Minh Quan: Institute of IT for Economics-NEU, 2011
22
– Hai là, h đi u hành ch m d t mà không ch , ờ ầ
ế
ả
ậ
ứ t ph i khóa.
vì v y driver không c n thi
ề
ể
Đi u khi n thi
ế ị t b
ấ ệ ể
ể ế • Sau khi h đi u hành hoàn t ệ ề ọ
ộ ậ
ẽ ế ị t b . ề ạ ộ
ệ
ế ầ ờ ế ẽ ạ
Dang Minh Quan: Institute of IT for Economics-NEU, 2011
23
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 • 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 ẽ ự ợ ở ầ hàng đ i, nó s th c hi n ti p, c u khác ế i ch đ n yêu c u n u không nó s khóa l ế ti p theo.
ầ
ề
ấ ộ ậ
ộ
ạ c tiên nó ph i có ch c năng t o m t ánh x
ậ Ph n m m nh p/xu t đ c l p ế ị t b thi ạ ứ ứ t b và m t tên hình th c.
ế ị
• Tr ướ ữ gi a thi ứ
t b , là cho phép hay không
ấ
cho phép ng
i s d ng truy xu t thi ố ữ ệ
ộ ậ
ế ị t b ộ là cung c p buffer đ h tr cho đ ng b
ế ị t b . • Th ba là cung c p kh i d li u đ c l p thi ứ • Th t ồ ứ ư
ế ị
ể ỗ ợ ủ ệ ố ữ ả
t b kh i. ế ị ậ
ị ấ
ả ộ ế ị • Th hai là b o v thi ệ ả ườ ử ụ ấ ấ ạ ộ hóa quá trình ho t đ ng c a h th ng. • Th năm là đ nh v l u tr trên các thi ị ư • Th sáu là c p phát và gi
ố t b t n
i phóng các thi
ừ
ớ
• Cu i cùng là thông báo l
các
ứ ứ hi n. ế ố ỗ i cho l p bên trên t ề i do device driver báo v .
ỗ l
Dang Minh Quan: Institute of IT for Economics-NEU, 2011
24
ầ
ạ
ầ ế
ươ ứ ủ ng trình c a ng
ươ
ợ ấ ả ữ
ấ ậ ề Ph n m m nh p/xu t ph m vi ườ ử ụ i s d ng ng • H u h t các ph n m m nh p/xu t đ u ấ ề ở ậ ề ầ ầ ộ ủ ệ ề bên trong c a h đi 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 i s d ng ngay ả ữ ng trình thi hành bên ngoài c nh ng ch ạ h t nhân. • 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. • Các hàm th vi n chuy n các tham s thích
ố ư ệ
Dang Minh Quan: Institute of IT for Economics-NEU, 2011
25
ư ệ i g i h th ng và hàm th vi n ấ ệ ị ậ ợ ờ ọ ệ ố h p cho l ạ ệ ự th c hi n vi c đ nh d ng cho nh p và xu t