ệ ề

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