ậ ớ

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 ượ ử ụ ư ệ ố ệ ố ạ ạ ẳ

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