ậ ớ
Bài t p l n môn Nguyên lý H đi u hành ệ ề ng Gi ng viên H ng d n : Lê Th Ph ị ẫ
ướ
ươ
ả
ủ ứ ệ ề
ả ả
ề ỗ
ậ t b , ki m soát các ng t và l ế ị ụ ả ế
ấ ả t c ỉ ệ đi u hành ph i ra các ch ề i. H ệ đi u hành ph i cung ắ ả ầ ế đ n gi n và ti n d ng gi a các thi t b và ph n ế ị ữ ệ t b . Chúng ta ả đ c l p v i thi ộ ậ ớ ế ị ệ đi u hành qu n lý nh p/xu t nh th nào v i nh ng n i dung ộ ữ ư ế ệ ố ề ậ ấ ớ
h ệ
-Khái ậ / th ng nh p/ ố nh p ậ xu t ấ xu t ấ ề c ng ứ
M t trong nh ng ch c năng chính c a h đi u hành là qu n lý t ữ ộ t b nh p/xu t c a máy tính. H nh ng thi ấ ủ ế ị ữ th đi u khi n thi ể ể ị ề c p m t cách giao ti p ộ ơ ấ i c a h th ng và giao ti p này ph i còn l ạ ủ tìm hi u hể ả sau: ni m v ệ -Ph n ầ -Ph n m m nh p / xu t ấ ề ậ ầ
ượ ơ ế ậ
ả ể ể
ộ ễ ấ
ng tác gi a h
Qua bài này, chúng ta hi uể đ hành m t cách t ng quát. T ổ xu t di n ra trên máy tính thông qua h này cũng giúp cho vi c tìm hi u c ch t ệ các thi ấ ủ ệ đi uề c c ch qu n lý nh p/xu t c a h ừ đó chúng ta có th hi u rõ h n quá trình nh p ậ ơ ọ ệ đi u hành nh th nào. Bài h c ư ế ề ệ đi u hành và ơ ữ ế ươ cđ c p trong bài h c sau) d dàng h n. ọ ể t b nh p/xu t c th (đ ấ ụ ể ượ ề ậ ề ễ ế ị ậ ơ
I.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 ừ ả năng nh t đ nh và các l p có giao ti p v i nhau nh s
ch c theo t ng l p, m i l p có m t ch c ứ ớ
c t ế
ậ ớ
ấ ị
ớ ư ơ đ sau : ồ
CÁC L PỚ CH C NĂNG NH P/XU T Ứ Ậ Ấ
ữ
ễ
ạ
ọ
Nhóm Sinh viên : Hoàng H u Ngân ; Nguy n Văn Tam ; Ph m Ng c Di n ễ L p: Tin M K54
ớ
ỏ
ậ ớ
Bài t p l n môn Nguyên lý H đi u hành ệ ề ng Gi ng viên H ng d n : Lê Th Ph ị ẫ
ướ
ươ
ả
ọ ụ
đ c kích ho t ộ ầ
ị ử
t b tìm ki m trong cache, n u kh i c n ế ị ể ươ ị ứ
ấ
ắ ủ ể ậ
ố ố đ c m t kh i i dùng mu n ườ ạ đ th c hi n yêu c u này. ể ự ệ ố ầ đ c không ế ọ ầ đ nế t b g i yêu c u ế t. Khi đ n khi thao tác đĩa hoàn t ấ t, ph n c ng phát sinh m t ng t. B ph n ki m soát ể ộ đánh th cứ ố ườ i ủ ể ư đ ch m d t yêu c u I/O và cho ti n trình c a ng ạ ầ ứ ấ
ng trình ng d ng, ng Ví dụ: Trong m t ch ứ ươ ộ m t t p tin, h đi u hành t ượ ệ ề ừ ộ ậ ề đ c l p thi Ph n m m ế ộ ậ ầ đi u khi n thi ng trình có s n, nó s g i ch ề ẽ ọ ẵ ph nầ c ng. Ti n trình b ng ng l i cho ư ế ạ ế thao tác này hoàn t ộ ậ ầ ứ t b và ng t ki m tra bi n c này, ghi nh n tr ng thái c a thi ắ ế ị ế ti n trình b ng ng ế ế s d ng ti p t c th c hi n.[TAN] ử ụ ị ế ụ ự ệ
II. PH N C NG NH P/XU T
Ứ
Ầ
Ậ
Ấ
ấ ậ ề
i góc đ là các thi ộ ướ ộ
ầ
i góc ệ ộ ữ ứ ậ
ồ
ế ị ả ộ
t b này ho 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ệ ề ầ ứ thì nhìn d t t b nh IC, dây d n, b ngu n, motor ế ị ử ồ ẫ ư đ ph n m m - nh ng v.v….Các l p trình viên thì nhìn chúng d ữ ậ ề ướ t b ch p nh n, chúng s th c hi n nh ng ch c năng nào, và l nh nào thi ẽ ự ế ị ấ ệ đ nế i c a chúng bao g m nh ng gì, nghĩa là chúng ta quan tâm thông báo l ữ ỗ ủ ạ đ ng nh th nào t b ch không ph i các thi l p trình thi ậ ư ế ế ị ứ ủ t v i các thao tác bên trong c a m c dù khía c nh này có liên quan m t thi ạ ặ đ c p đ n m t s khái ni m v ph n c ng I/O chúng. Ph n này chúng ta ề liên quan đ n khía c nh l p trình. ậ ầ ế ạ
II.1 Thi t b I/O ế ị
ng t b nh p xu t có th chia t ầ ể ươ đ i thành hai lo i là thi ạ ố ế ị ố t b kh i
Các thi và thi . ế ị ậ t b tu n t ế ị ầ ự
ữ
ễ
ạ
ọ
Nhóm Sinh viên : Hoàng H u Ngân ; Nguy n Văn Tam ; Ph m Ng c Di n ễ L p: Tin M K54
ớ
ỏ
ậ ớ
Bài t p l n môn Nguyên lý H đi u hành ệ ề ng Gi ng viên H ng d n : Lê Th Ph ị ẫ
ướ
ươ
ả
ữ ế ị
t b mà thông tin ế ị đ ị c l u tr ượ ư ỉ ị
đ cượ đ nh v b i đ a ch . Kích th ị ở ị ế ướ ặ
ừ ượ ặ
đ n 1024 bytes. Đ c đi m c a thi 128 bytes ể c truy xu t (đ c ho c ghi) t ng kh i riêng bi ố ừ ấ đó. Đĩa là m t ví d ộ ọ ố ấ trong nh ng kh i có ố ữ ng c thông th ườ t ế ủ ệ t, ụ ộ ng trình có th truy xu t m t kh i b t kỳ nào ấ
Thi t b kh i là thi ố ướ ố đ nh và c c kích th c a m t kh i là kho ng t ả ố ộ ủ ể đ b kh i là chúng có th ố ị và ch ươ ể t b kh i. cho lo i thi ạ ế ị ố
t b tu n t t b th hai là thi d ng thi . ế ị ầ ự Ở ạ ế ị
ế ị ứ ự ị
ỗ đ ượ ệ
t b khác không ph i d ng ệ ử t b này, vi c g i đ nh đ a ch và ỉ ị c. Màn hình, bàn phím, máy in, card ế ị ầ t b tu n ả ạ đĩa là thi ể ự ộ ế ị ạ
M t d ng thi ộ ạ và nh n thông tin d a trên là chu i các bits, không có xác ậ không th th c hi n thao tác seek m ng, chu t, và các lo i thi ạ .ự t
ớ ệ
ư ớ ồ
ợ ự ườ
i m t tiêu chu n khác : Vi c phân chia các l p nh trên không hoàn toàn t không phù h p v i hai l p trên, ví d : ớ v.v...không th c hi n theo c ch tu n t ệ phân lo i các thi t b I/O d ế ị ạ ế ị t b i u, m t s các thi ố ư ộ ố ụ đ ng h , b nh màn hình ớ ồ ộ các bits. Ngoài ra, ng i ta còn ẩ ế ầ ự ộ ơ ướ
c v i con ng i : dùng ng tác đ i và t b t ế ị ươ ượ ớ đ giao ti p gi a ng ế ữ ườ
Thi ể máy. Ví d : màn hình, bàn phím, chu t, máy in ... ườ ộ ụ
t b t ế ị ươ ệ ố ế ị ớ t b giao ti p v i ế
ng tác trong h th ng máy tính là các thi , card giao ti p... Thi nhau. Ví d :ụ đĩa, băng t ừ ế
Thi t b truy n th ng : nh modem... ế ị ư ề ồ
t b I/O g m : Nh ngữ đi m khác nhau gi a các thi ữ ể ế ị ồ
ữ
ễ
ạ
ọ
Nhóm Sinh viên : Hoàng H u Ngân ; Nguy n Văn Tam ; Ph m Ng c Di n ễ L p: Tin M K54
ớ
ỏ
ậ ớ
Bài t p l n môn Nguyên lý H đi u hành ệ ề ng Gi ng viên H ng d n : Lê Th Ph ị ẫ
ướ
ươ
ả
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 ... ạ ỗ ỗ ề
II.2 T ch c c a ch c năng I/O ổ ứ ủ ứ
Có ba cách đ th c hi n I/O : ể ự ệ
đ n các ộ ộ ử ơ
ế đ n khi thao tác này hoàn t ộ ệ ế đ n v I/O, sau ị t tr ấ ướ đó, nó chờ ế c khi ti p
M t là, b x lý phát sinh m t l nh I/O trong tr ng thái "busy" cho ạ t c x lý. ụ ử
đó, nó ti pế đã ị ơ ớ
t, nó t m ng ng vi c x lý hi n t ế ộ i Hai là, b x lý phát sinh m t l nh I/O ộ ử t c vi c x lý cho t ượ ử ụ ệ ạ đ chuy n qua x lý ng t. hoàn t ắ ể ư đ n các đ n v I/O, sau ơ c m t ng t t ể ắ ừ đ n v I/O báo là ị ử ộ ệ i khi nh n đ ậ ệ ử ệ ấ ạ
ữ
ễ
ạ
ọ
Nhóm Sinh viên : Hoàng H u Ngân ; Nguy n Văn Tam ; Ph m Ng c Di n ễ L p: Tin M K54
ỏ
ớ
ậ ớ
Bài t p l n môn Nguyên lý H đi u hành ệ ề ng Gi ng viên H ng d n : Lê Th Ph ị ẫ
ươ
ướ
ả
Ba là, s d ng c ch DMA (nh sau) ơ ế ử ụ ư đ cượ đ c p ề ậ ở
Các b 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. ự ế ộ ử ể ế ị ạ
ộ đi u khi n thi ế ị ể
ự t b . B x lý s d ng cách th c ử ụ c tách r i kh i các ượ ỏ ờ
H th ng có thêm b ộ ử ệ ố ề hi n nh p xu t th nh t. Theo cách này b x lý ộ ử đ ậ ệ chi ti mô t t b ngo i vi. ấ ấ ứ t c a các thi ế ủ ế ị ả ạ
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. ử ụ ộ ơ ớ
II.3 Bộ đi u khi n thi ề ể t b ế ị
ơ ấ ậ ượ
. Thành ph n ầ c g i là b đ ệ ử ượ ọ ầ đi n t
ườ đ ng ầ đi n t ệ ử t b hay b t ế ị ộ ươ
c g i là card giao ti p. Thành ph n c chính là b n thân thi ề ậ ngườ đ ế c chia làm hai thành ph n chính là ộ ng thích, trong các máy vi tính ế t ả ầ ơ
M tộ đ n v b nh p xu t th ị ị thành ph n c và thành ph n ầ ơ ph nđi u khi n thi ể th ọ ượ b .ị
ữ
ễ
ạ
ọ
Nhóm Sinh viên : Hoàng H u Ngân ; Nguy n Văn Tam ; Ph m Ng c Di n ễ L p: Tin M K54
ỏ
ớ
ậ ớ
Bài t p l n môn Nguyên lý H đi u hành ệ ề ng Gi ng viên H ng d n : Lê Th Ph ị ẫ
ướ
ươ
ả
ể
ề ả
ậ đi u khi n th ể ộ ộ ế ị ậ ộ ề đó. M t b ph n đi u khi n có th qu n lý đ ể t b khác nhau. N u giao ti p gi a thi ế ế ố ể ế ữ
ng có b ph n k t n i trên chúng ườ ượ ậ ế ị ả ư ề
ể ộ ề ộ ề ụ ẩ
ể c theo chu n giao ti p c a IBM. ể đ có th M t b ph n ộ ộ c hai, b n ố g n thi t b lên ế ị ắ ộ hay th m chí tám thi t b và b ậ ấ ph nậ đi u khi n là các chu n nh ANSI, IEEE hay ISO thì nhà s n xu t t b và b đi u khi n ph i tuân theo chu n đó, ví d : b đi u khi n thi ể ế ị đĩa đ ượ ẩ ả ế ủ ẩ
t b là giao ti p m c th p. Giao ti p gi a b ế ữ ộ đi u khi n và thi ề ể ế ị ế ở ứ ấ
ứ ề
ể ấ ự ế ớ ủ ể ớ ệ đi u hành vì h ế t b . Vi c thông tin thông qua h ế ị ệ đi uề ệ
Ch c năng c a b đi u khi n là giao ti p v i h ộ ề hành không th truy xu t tr c ti p v i thi ệ ng truy n g i là bus. th ngđ ề ọ ố ườ
ề
ế ự
ể ệ ử ừ ổ ử ế ầ ặ
ủ
ủ
ứ ệ ụ ộ sẽ đ ọ ể ề ớ ể ổ
ộ ể ứ ằ ị ể
ệ đi u hành ph i t o thêm ch ề
ề ể
ể đ i dãy các bit tu n t trong m t ộ Công vi c c a b ệ ủ ộ đi u khi n là chuy n ầ ự ng kh i các t. Thông th kh i các byte và th c hi n s a ch a n u c n thi ườ ố ố đ t trong buffer c a b đi u khi n. ể c t byteđ ch c thành t ng bit và ộ ề ủ ượ ổ c chuy n vào b ộ Sau khi th c hi n checksum n i dung c a buffer ể ượ ự ự ể đ c các byte c a ký t đ ộ đi u khi n cho màn hình nh chính. Ví d : b ề ệ đ đi u khi n các tia c a hi n th trong b nh và t ủ ch c các tín hi u ể ớ CRT đ xu t trên màn nh b ng cách quét các tia d c và ngang. N u ế ả ấ ươ ng ể l p trình viên h không có bộ đi u khi n, ậ ớ ộ đi u khi n , h đi u trình đi u khi n tín hi u analog cho đèn hình. V i b ệ ề ề ệ ộ trên m t hành ch c n kh i ố ỉ ầ ể ở đ ng chúng v i m t s tham s nh s ký t ộ ố ọ ả ạ ề ư ố ự ộ ớ
ữ
ễ
ạ
ọ
Nhóm Sinh viên : Hoàng H u Ngân ; Nguy n Văn Tam ; Ph m Ng c Di n ễ L p: Tin M K54
ớ
ỏ
ậ ớ
Bài t p l n môn Nguyên lý H đi u hành ệ ề ng Gi ng viên H ng d n : Lê Th Ph ị ẫ
ướ
ươ
ả
ố ộ đi u khi n s th c hi n đi u khi n các ể ẽ ự ệ ề ề ể
dòng, s dòng trên màn hình và b tia.
ể ề ộ ố
ạ ớ ớ ạ
ộ ậ ệ
đó đ ạ ộ ị ượ ệ
ể ầ ủ ộ ấ đ a ch nh p xu t và trong ấ t b nh sau : ộ ố 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 ỉ ộ đ a ch 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ị 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 ộ ị ớ ọ t g i là ch đ c bi c chia làm ậ ỉ ặ ọ nhi uề đo n, m i đo n cho m t lo i thi ạ ạ ế ị ư ỉ ộ ạ ỗ
Vect
ể khi n
Đ a ch ị
ỉ
ơ
ng t ắ
Bộ đi u ề nh p/xu t ấ ậ
nh p/xu t ấ
ậ
Đ ng h
040 - 043
8
ồ
ồ
Bàn phím
060 - 063
9
ữ
ễ
ạ
ọ
Nhóm Sinh viên : Hoàng H u Ngân ; Nguy n Văn Tam ; Ph m Ng c Di n ễ L p: Tin M K54
ỏ
ớ
ậ ớ
Bài t p l n môn Nguyên lý H đi u hành ệ ề ng Gi ng viên H ng d n : Lê Th Ph ị ẫ
ướ
ươ
ả
11
RS232 phụ
2F8 - 2FF
13
Đĩa c ngứ
320 - 32F
15
Máy in
378 - 37F
-
Màn hình mono
380 - 3BF
ữ
ễ
ạ
ọ
Nhóm Sinh viên : Hoàng H u Ngân ; Nguy n Văn Tam ; Ph m Ng c Di n ễ L p: Tin M K54
ỏ
ớ
ậ ớ
Bài t p l n môn Nguyên lý H đi u hành ệ ề ng Gi ng viên H ng d n : Lê Th Ph ị ẫ
ươ
ướ
ả
-
Màn hình màu
3D0 - 3DF
14
Đĩa m mề
3F0 - 3F7
12
RS232 chính
3F8 - 3FF
ề ệ
ề ự ể ệ ủ ề ấ
ệ ậ ụ ộ ề ư
ộ ố ệ ố ố
ậ ấ
ộ ệ đã đ ệ ể
ệ đ n l y k t qu đ ượ c ch p nh n, CPU s r i b ộ ề ế ự t và ế ế ấ ể
trong các thanh ghi. 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, ạ c n p đ RECALIBRATE, m t s l nh có tham s và các tham s cũng ộ đi uề vào thanh ghi. Khi m t l nh ẽ ờ ượ khi n đ th c hi n công vi c khác. Sau khi th c hi n xong, b đi u khi n ể ệ ể ự ả ượ c ắ đ báo hi u cho CPU bi phát sinh m t ng t ệ ộ l u gi ư ữ
ữ
ễ
ạ
ọ
Nhóm Sinh viên : Hoàng H u Ngân ; Nguy n Văn Tam ; Ph m Ng c Di n ễ L p: Tin M K54
ớ
ỏ
ậ ớ
Bài t p l n môn Nguyên lý H đi u hành ệ ề ng Gi ng viên H ng d n : Lê Th Ph ị ẫ
ươ
ướ
ả
II.4 DMA (Direct Memory Access)
t là các thi t b , đ c bi ố ạ ế ị ạ ế ị ặ
ề ơ ế ệ ể ể
ọ ướ
các kh i trên ố ừ
ủ ể
ự ể ạ ộ ề ế
ắ ể ớ ằ ộ
ặ đ c l n l đó đ t ữ ệ ọ ầ ượ ừ iể ố u, ng ư ườ ủ
ỗ ợ ơ ế t b d ng kh i, h tr c ch Đa s các lo i thi ố c h t ph i xem DMA (direct memory access). Đ hi u v c ch này, tr ả ướ ế ọ ộ đi u khi n đ c c tiên, b xét quá trình đ c đĩa mà không có DMA. Tr ể ề ộ i khi toàn b tu n t đĩa, t ng bit t ng bit cho t ừ ự ớ ầ ộ đi u khi n. Sau đó máy tính th c hi n cượ đ a vào buffer c a b kh iố đ ệ ề ư i x y ra. Ti p theo b đi u khi n t o ra checksum đ đ m b o không có l ỗ ả ả ể ả ể t. CPU đ n l y d li u trong buffer chuy n m t ng t đ báo cho CPU bi ế ấ ế ộ t t ng byte. Thao v b nh chính b ng cách t o m t vòng l p ạ ề ộ đ a raư i ta tác này làm lãng phí th i gian c a CPU. Do ờ c ch DMA. ơ ế
ơ ế ị
ề ỉ ị
ng byte d li u ờ ư đ a ch trên ộ đi u khi n m t s các thông s nh ộ ố ị ể ớ ơ đ nh v kh i, s l ị ố ố ượ ố ộ ỉ
C ch DMA giúp cho CPU không b lãng phí th i gian. Khi s d ng, ử ụ đĩa c aủ CPU g i cho b ử kh i, đ a ch trong b nh n i ữ ệ để ị ố chuy n.ể
thi ọ ể ề
ộ
ể iạ đ a ch đ ể ớ ỉ ộ ị ị
i khi s ể ậ
ả ắ
Sau khi bộ đi u khi n đã ủ t b vào buffer c a đ c toàn b d li u t ế ị ộ ữ ệ ừ nó và ki m tra checksum. B ớ ộ đi u khi n chuy n byte đ u tiên vào b nh ề ầ ể chính t 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 u khi n t o m t ng t. Nh v y không bytes ph i chuy n b ng 0, và b ư ậ ể ằ ể ạ đã hi n h u trong b nh . c n ph i copy kh i vào trong b nh , nó ớ ộ ố ầ ộ ệ ữ ề ớ ả ộ
ữ
ễ
ạ
ọ
Nhóm Sinh viên : Hoàng H u Ngân ; Nguy n Văn Tam ; Ph m Ng c Di n ễ L p: Tin M K54
ớ
ỏ
ậ ớ
Bài t p l n môn Nguyên lý H đi u hành ệ ề ng Gi ng viên H ng d n : Lê Th Ph ị ẫ
ướ
ươ
ả
III. PH N M M NH P/XU T
Ầ
Ậ
Ấ
Ề
ễ ụ t b logic là d bi u di n. Thi ể ể
ế ứ ủ ề ớ ớ
t ch ế ị ườ ử ụ ụ
i ch ầ
t b , ví d : có th vi ể ế ả ả ế ị ế ị
t b logic đ i, ể
t b , ph n m m h đi u hành ượ ổ đ t b logic c t ế ị i cùng giao ti p v i ph n c ng, l p trên ầ ớ ứ ố ủ i s d ng. Khái ni m then ch t c a ệ ấ ng trình truy xu t ươ ng trình l ươ ả ạ t b logic ph i có kh năng ki m soát ể ả ỗ đi u khi n ch c thành b n l p : Ki m soát l ể ề ố ớ ườ i t b , ph n m m m c ng đ c l p thi ứ ề ạ ế ị ầ ộ ậ ế ị ề ầ
M c tiêu chung c a thi ế ị ch c thành nhi u l p. L p d ướ ớ t, thân thi n v i ng cùng giao ti p t ớ ệ ế ố t b logic là thi đ c l p thi ế ị ộ ậ file trên đĩa m m hay đĩa c ng mà không c n ph i mô t ứ ề t b . Ngoài ra, thi cho t ng lo i thi ừ c t i. Thi l ượ ổ ứ ỗ thi ệ ề ế ị s d ng. ử ụ
III.1 Ki m soát ng t ắ ể
ộ ắ ứ ạ
ệ ượ ộ ng ph c t p. Nó ph i c n ủ ệ
ự ệ
i khi hoàn t Ng t là m t hi n t hệ đi u hành, và m t ph n ề nh tấ đ che d u chúng là h ấ ể nh p xu t cho t ấ c che d u sâu trong ả ầ đ ượ ấ ố t t v chúng. Cách t ầ ít c a h th ng bi ề ế ố ệ đi u hành có m i ti n trình th c hi n thao tác ọ ế ề ể ự t m i t o ra m t ng t. Ti n trình có th t ắ ộ ớ ạ ế ậ ấ ớ
ữ
ễ
ạ
ọ
Nhóm Sinh viên : Hoàng H u Ngân ; Nguy n Văn Tam ; Ph m Ng c Di n ễ L p: Tin M K54
ớ
ỏ
ậ ớ
Bài t p l n môn Nguyên lý H đi u hành ệ ề ng Gi ng viên H ng d n : Lê Th Ph ị ẫ
ươ
ướ
ả
i b ng cách th c hi n l nh WAIT theo m t bi n ặ ế đi u ki n ho c ề ệ ộ ạ ằ ự
khóa l RECEIVE theo m t thông đi p. ệ ệ ệ ộ
ộ ở ạ
ắ ộ ế ề ử ệ
ử ộ ế ủ ệ ổ
c thi hành tr l 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ý ắ ả ắ ữ ế đi u ki n và g i nh ng ng t. Nó s th c hi n m t tín hi u trên bi n ẽ ự ệ 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 ti n trình ộ ế ệ ứ i. ở ạ đang b khóa đ ị ượ
III.2 Đi u khi n thi t b (device drivers) ể ề ế ị
đ c l p thi đo n mã ạ ế
ể đ n device drivers. ượ ộ t b , nh ng cũng có khi là m t ế ị c chuy n ư
t b liên quan m t thi t b đ u đ T t c các ộ ậ ấ ả ế ị ề M i device drivers ki m soát m i lo i thi ạ ỗ ể ỗ t p h p các thi t v i nhau. ế ớ ậ ậ ế ị ợ
ị ị đó có đ
ệ ầ
ề ể ả
ầ
t. Device drivers phát ra các ch th và ki m tra xem ch th ự c th c ượ ỉ ể ỉ ấ ủ ệ đi uề ủ đĩa là ph n duy nh t c a h hi n chính xác không. Ví d , driver c a ụ hành ki m soát b ộ đi 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 ộ ể c th c hi n t tác đĩa đ ự ượ ệ ố
ủ ữ ừ ầ
t b ấ đ c l p thi ộ ậ
ứ ề ệ ph n ầ ậ ự l p trên, và giám sát yêu c u này th c ế ị ở ớ i, yêu ẽ ự ng t ừ ượ ầ c l ượ ạ ệ ả ầ
Ch c năng c a device drivers là nh n nh ng yêu c u tr u t m m nh p/xu t ậ hi n. N u driver đang r nh, nó s th c hi n ngay yêu c u, ng ế ẽ ượ đ a vào hàng c c uầ đó s đ ư đ i.ợ
ầ
ấ đĩa là chuy n t ể ầ ả ố ọ
Ví d , b ụ ướ đ u tiên c a yêu c u nh p/xu t c ủ ủ đĩa ph i bi thành c th . Driver c a ụ ể đ ng c a motor đĩa, xác đ nh v trí c a đ u đ c đã ị ủ ộ ậ t kh i nào c n ọ ng tr u t ể ừ ừ ượ ạ ầ đ c, ki m tra s ho t ự đúng ch a v.v…ư ế ủ ầ ị
ữ
ễ
ạ
ọ
Nhóm Sinh viên : Hoàng H u Ngân ; Nguy n Văn Tam ; Ph m Ng c Di n ễ L p: Tin M K54
ớ
ỏ
ậ ớ
Bài t p l n môn Nguyên lý H đi u hành ệ ề ng Gi ng viên H ng d n : Lê Th Ph ị ẫ
ướ
ươ
ả
c nh ng thao tác nào c a b ả ữ ượ
nào. M t khi đã xác đ nh đ ể
ả ề ắ ầ ộ ệ ằ
ể ế ị ộ ề ể
ị ủ ệ
ỉ ề
ườ ể
khóa l ở
ế ầ
ủ ộ đi uề Nghĩa là device drivers ph i xác đ nh đ ị ị khi n ph i thi hành và theo trình t c ch th ỉ ượ ự ị cho bộ đi u khi n, nó b t đ u th c hi n b ng cách chuy n l nh vào thanh ự ể ể ệ ề t b . B đi u khi n có th nh n m t hay nhi u ghi c a bủ ộ đi u khi n thi ề ộ ậ ể ệ nó th c hi n không c n s tr giúp c a h đó t ch th liên ti p và sau ự ầ ự ợ ự ế ng h p x y ra : M t là đi u hành. Trong khi l nh th c hi n. Có hai tr ệ ả ợ ự ộ ệ i khi b ằ ộ đi u khi n th c hi n xong b ng device drivers ph i ch cho t ề ệ ự ớ ờ ả sinh m khóa cho nó. Hai là, i khi m t ng t phát i cho t cách t ắ ộ ớ ạ ự hệ đi 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.
i và n u m i th ấ ệ
ẽ ọ ố ầ
ơ ọ
đ i, nó s th c hi n ti p, n u không nó s khóa l ứ đ u n ề ổ t vi c ki m tra l ế ỗ ể ẽ t b . Cu i cùng nó s ế ị ề ộ ậ ầ i cho n i g i và n u có m t yêu c u ộ ế ờ ế i ch đ n ạ ẽ ẽ ự ỗ ế ệ ế ợ
Sau khi hệ đi u hành hoàn t ề driver s chuy n d li u cho ph n m m đ c l p thi ể ữ ệ tr v thông tin v tr ng thái hay l ề ạ hàng khác yêu c u ti p theo. ế ả ề ở ầ
III.3 Ph n m m nh p/xu t ề ấ đ c l p thi ộ ậ ầ ậ t b ế ị
thi ặ ư ả
ề ặ ệ ố ế ị ượ
đó. M c dù m t s ph n m m nh p/xu t mô t ầ ộ ố chúng là đ c l p v i thi ớ ộ ậ m mề đ c l p thi t b là ế ị ộ ậ c thi hành theo ki u mà đ drivers vì lý do hi u qu hay nh ng lý dó khác nào ệ t b nh ng ph n l n ầ ớ ế ị ấ ề ậ ầ t b . Ranh gi i chính xác gi a drivers và ph n ế ị ữ ớ đ c l p v m t h th ng, b i vì m t s hàm ộ ố ở ộ ậ ể đ c l p thi c thi hành trên t b có th đ ộ ậ ể ượ ữ ả
ữ
ễ
ạ
ọ
Nhóm Sinh viên : Hoàng H u Ngân ; Nguy n Văn Tam ; Ph m Ng c Di n ễ L p: Tin M K54
ớ
ỏ
ậ ớ
Bài t p l n môn Nguyên lý H đi u hành ệ ề ng Gi ng viên H ng d n : Lê Th Ph ị ẫ
ướ
ươ
ả
Giao ti pế đ ng nh t ấ ồ cho device drivers
ặ
ế t
Đ t tên thi bị
ệ
ế t
B o v thi ả bị
c pấ Cung kh iố đ c l p ậ ộ t bế ị thi
ữ
ễ
ạ
ọ
Nhóm Sinh viên : Hoàng H u Ngân ; Nguy n Văn Tam ; Ph m Ng c Di n ễ L p: Tin M K54
ớ
ỏ
ậ ớ
Bài t p l n môn Nguyên lý H đi u hành ệ ề ng Gi ng viên H ng d n : Lê Th Ph ị ẫ
ươ
ướ
ả
ứ ch c
T ổ buffer
Đ nh v l u ư ị ị tr ế t trên thi ữ b kh i ố ị
C p phát và ấ phóng gi i ả thi ậ t b t n ị ế hi nế
Báo l
iỗ
ữ
ễ
ạ
ọ
Nhóm Sinh viên : Hoàng H u Ngân ; Nguy n Văn Tam ; Ph m Ng c Di n ễ L p: Tin M K54
ớ
ỏ
ậ ớ
Bài t p l n môn Nguyên lý H đi u hành ệ ề ng Gi ng viên H ng d n : Lê Th Ph ị ẫ
ướ
ươ
ả
ơ ả ề ế ị
t c các thi ấ đ c l p thi ộ ậ t b và cung c p m t giao ti p ấ ữ t b là nh ng ế đ ngồ ộ
Ch c năng c b n c a ph n m m nh p/xu t ủ ch c năng chung cho t nh t cho ph n m m ph m vi ng ầ ậ ế ị i s d ng. ườ ử ụ ầ ấ ả ạ ứ ứ ấ ề
ả ứ ướ ạ ữ ộ
ố ớ ệ ứ
ứ ố t b ph , ế ị ợ t b và m t tên ộ ế ị I-node đ mô t ả ể cượ đ t b chính, ế ị đ xác c dùng ể ượ
ố t là c tiên nó ph i có ch c năng t o m t ánh x gi a thi Tr ạ hình th c. Ví d ụ đ i v i UNIX, tên /dev/tty0 dành riêng ứ t, và I-node này ch a ch a s thi cho m t file đ c bi ặ ộ ụ đ dùng đ xác đ nh driver thích h p và s thi ị ể đ nh các tham s cho driver đ cho bi ọ ố ị ế đ c hay ghi. ể
ứ ế ị
Th hai là b o v thi truy xu t thi ệ t b . Các h ả ế ị t b , là cho phép hay không cho phép ng ườ ử ụ i s d ng ệ đi u hành có th có hay không có ch c năng này. ứ ể ề ấ
ứ ộ ậ
ữ đĩa khác t b vì ví d nh ng ế ị ụ đi u này s gây khó khăn cho ẽ ề l p trên. Ch c năng này cung c p các ề ấ
Th ba là cung c p kh i d li u ấ nhau s có kích th các ph n m m ng kh i d li u logic ứ c sector v t lý. ố ữ ệ đ c l p thi c sector khác nhau và ướ i s d ng ườ ử ụ ở ớ đ c l p v i kích th ớ ộ ậ ẽ ầ ố ữ ệ ướ ậ
ộ ồ ạ đ ngộ
đ h tr cho đ ng b hóa quá trình ho t ể ỗ ợ cho bàn phím. là cung c p buffer Th t ấ ứ ư c a h th ng. Ví d buffer ủ ệ ố ụ
Th năm là t b kh i. ứ đ nh v l u tr trên các thi ữ ị ư ị ế ị ố
i phóng các thi t b t n hi n. Th sáu là c p phát và gi ấ ứ ả ế ị ậ ế
ữ
ễ
ạ
ọ
Nhóm Sinh viên : Hoàng H u Ngân ; Nguy n Văn Tam ; Ph m Ng c Di n ễ L p: Tin M K54
ỏ
ớ
ậ ớ
Bài t p l n môn Nguyên lý H đi u hành ệ ề ng Gi ng viên H ng d n : Lê Th Ph ị ẫ
ướ
ươ
ả
i cho l p bên trên t các l i do device driver báo ỗ ớ ừ ỗ
Cu i cùng là thông báo l ố v .ề
i s d ng III.4 Ph n m m nh p/xu t ph m vi ng ậ ề ấ ầ ạ ườ ử ụ
ấ đ u ề
ệ đi u hành và ề ủ ng trình c a ươ ầ ỏ ủ
ủ ề ở ư ệ ế ớ ng trình thi hành bên ngoài h t nhân. i s d ng ngay c nh ng ch H u h t các ph n m m nh p/xu t bên trong c a h ậ ế ầ m t ph n nh c a chúng ch a các th vi n liên k t v i ch ộ ứ ầ ng ườ ử ụ ả ữ ươ ạ
i g i h th ng nh p/xu t th ờ ọ ệ ố ấ ượ ự c th c
L i g i h th ng, bao g m l ồ hi n b i các hàm th vi n. Ví d khi trong ch ư ệ ờ ọ ệ ố ệ ở ụ ng ườ đ ậ ng trình C có l nh ệ ươ
count = write(fd, buffer, nbytes) ;
đ ế ướ ạ
ằ i d ng nh phân và n m t c nh ng hàm th vi n này rõ ràng cượ đ ch và liên k t d ợ ấ ả ữ ị ư ệ
Hàm th vi n write ư ệ trong b nh khi thi hành. T p h p t ớ ộ là m t ph n c a h th ng nh p/xu t. ấ ầ ủ ệ ố ị ậ ậ ộ
t c các ph n m m nh p/xu t ứ ề ậ
ư ệ ể
ng. ấ đ u ch a hàm th vi n, có Không ph i t ầ ả ấ ả ề đ khai g i là h th ng spooling dùng m t lo i quan tr ng khác ệ ố ọ ạ ộ t b nh p/xu t trong h th ng đa ch i đa thi thác t ấ ế ị ọ ệ ố ươ ậ ố
ể ố
ư ệ ư ệ ệ ị
ứ ứ
i g i h th ng và Các hàm th vi n chuy n các tham s thích h p cho l ợ ờ ọ ệ ố ệ đ nh d ng cho nh p và xu t nh l nh printf hàm th vi n th c hi n vi c ấ ậ ạ trong C. Th vi n nh p/xu t chu n ch a m t s hàm có ch c năng ẩ ộ ố ư ng trình ng nh p/xu t và t i dùng. ư ệ ự ệ ậ t c ch y nh ch ấ ả ạ ấ ư ươ ườ ấ ậ
ữ
ễ
ạ
ọ
Nhóm Sinh viên : Hoàng H u Ngân ; Nguy n Văn Tam ; Ph m Ng c Di n ễ L p: Tin M K54
ỏ
ớ
ậ ớ
Bài t p l n môn Nguyên lý H đi u hành ệ ề ng Gi ng viên H ng d n : Lê Th Ph ị ẫ
ươ
ướ
ả
ộ ế ườ ợ
ng h p m t ti n trình ả t b nh ng sau ư ế ị
ng vì không th ưở ị ả ế
đang truy đó không làm gì c trong m t ộ ể ế ị đó. M t ví d c a spooling device là line printer. Spooling thi ữ ư ậ ộ ụ ủ ấ
Ch c năng c a spooling là tránh tr ủ ứ t b , chi m gi xu t thi ế ế ị ấ kho ng th i gian và nh v y các ti n trình khác b nh h ờ ả truy xu t thi còn đ c s d ng trong h th ng m ng nh h th ng e-mail ch ng h n. t b ượ ử ụ ư ệ ố ệ ố ạ ạ ẳ