Giáo trình Hệ điều hành - Chương 4: Hệ thống vào ra - Phạm Ngọc Hưng

HỆ ĐIU HÀNH  
Chương 4  
HTHNG VÀO RA  
13. Hthng vào ra  
13.1. Tng quan  
Mt trong nhng chc năng chính ca hệ điu hành là qun lý tt  
cnhng thiết bnhp/xut ca máy tính. Hệ điu hành phi ra các chthị  
điu khin thiết b, kim soát các ngt và li. Hệ điu hành phi cung cp  
mt cách giao tiếp đơn gin và tin dng gia các thiết bvà phn còn li  
ca hthng và giao tiếp này phi độc lp vi thiết b.  
Điu khin các thiết bkết ni đến máy tính là mt mi quan tâm  
ln trong thiết kế hệ điu hành.  
13.2. Phn cng I/O  
Các thiết bnhp xut có thchia tương đối thành hai loi là thiết  
bkhi và thiết btun t.  
Thiết bkhi là thiết bmà thông tin được lưu trtrong nhng khi  
có kích thước cố định và được định vbi địa ch. Kích thước thông thường  
ca mt khi là khong t128 bytes đến 1024 bytes. Đặc đim ca thiết  
bkhi là chúng có thể được truy xut (đọc hoc ghi) tng khi riêng bit,  
và chương trình có thtruy xut mt khi bt knào đó. Đĩa là mt ví dụ  
cho loi thiết bkhi.  
Mt dng thiết bthhai là thiết btun t. dng thiết bnày,  
vic gi và nhn thông tin da trên là chui các bits, không có xác định  
địa chvà không ththc hin thao tác seek được. Màn hình, bàn phím,  
máy in, card mng, chut, và các loi thiết bkhác không phi dng đĩa là  
thiết btun t.  
Vic phân chia các lp như trên không hoàn toàn ti ưu, mt scác  
thiết bkhông phù hp vi hai lp trên, ví d: đồng h, bnhmàn hình  
v.v...không thc hin theo cơ chế tun tcác bits. Ngoài ra, người ta còn  
phân loi các thiết bI/O dưới mt tiêu chun khác :  
Phm Ngc Hưng  
129  
Hthng vào ra  
-
-
-
Thiết btương tác được vi con người : dùng để giao tiếp gia  
người và máy. Ví d: màn hình, bàn phím, chut, máy in ...  
Thiết btương tác trong hthng máy tính là các thiết bgiao  
tiếp vi nhau. Ví d: đĩa, băng t, card giao tiếp...  
Thiết btruyn thng : như modem...  
Nhng đim khác nhau gia các thiết bI/O gm :  
-
Tc độ truyn dliu , ví dbàn phím : 0.01 KB/s, chut 0.02  
KB/s ...  
-
-
-
-
Công dng.  
Đơn vtruyn dliu (khi hoc ký t).  
Biu din dliu, điu này tùy thuc vào tng thiết bcth.  
Tình trng li : nguyên nhân gây ra li, cách mà chúng báo v...  
Mt sbộ điu khin đin hình:  
-
-
-
-
-
-
-
-
Bộ điu khin đĩa IDE  
Giao din mrng  
Bàn phím  
Cng ni tiếp  
Cng song song  
Điu khin đồ hoạ  
Bnhớ  
Điu khin SCSI  
Các ngt điu khin  
Là các ngt cng được dánh riêng cho các thiết bvào ra. Để nhn  
được schú ý và đáp ng yêu cu ca CPU, mi thiết bvào ra phi sử  
dng mt ngt để tác động đến CPU, yêu cu CPU phc v. Hình 13.1 lit  
kê mt sngt đã được định nghĩa.  
Địa chcng  
Quá trình truyn thông tin qua li gia CPU và các thiết bvào ra  
được thc hin thông qua các cng vào ra. Mi cng vào ra có mt địa chỉ  
riêng và mt số đã được dành riêng cho các thiết bvào ra cth. Hình  
13.1 lit kê mt scng dành sn.  
130  
Phm Ngc Hưng  
HỆ ĐIU HÀNH  
Bộ điu khin  
nhp/xut  
Đồng hồ  
Vectơ ngt  
Địa chnhp/xut  
8
9
040 - 043  
060 - 063  
2F8 - 2FF  
320 - 32F  
378 - 37F  
380 - 3BF  
3D0 - 3DF  
3F0 - 3F7  
3F8 - 3FF  
Bàn phím  
RS232 phụ  
Đĩa cng  
11  
13  
15  
-
Máy in  
Màn hình mono  
Màn hình màu  
Đĩa mm  
-
14  
12  
RS232 chính  
Hình 13.1: Bng ngt và cng mt sthiết bvào ra  
Truy cp bnhtrc tiếp bng cơ chế DMA  
Đa scác loi thiết b, đặc bit là các thiết bdng khi, htrcơ  
chế DMA (Direct Memory Access). Để hiu vcơ chế này, trước hết phi  
xem xét quá trình đọc đĩa mà không có DMA. Trước tiên, bộ điu khin  
đọc tun tcác khi trên đĩa, tng bit tng bit cho ti khi toàn bkhi  
được đưa vào buffer ca bộ điu khin. Sau đó máy tính thc hin kim  
tra (checksum) để đảm bo không có li xy ra. Tiếp theo bộ điu khin  
to ra mt ngt để báo cho CPU biết. CPU đến ly dliu trong buffer  
chuyn vbnhchính bng cách to mt vòng lp đọc ln lượt tng  
byte. Thao tác này làm lãng phí thi gian ca CPU. Do đó để ti ưu, người  
ta đưa ra cơ chế DMA.  
Cơ chế DMA giúp cho CPU không blãng phí thi gian. Khi sử  
dng, CPU gi cho bộ điu khin mt scác thông snhư địa chtrên đĩa  
ca khi, địa chtrong bnhnơi định vkhi, slượng byte dliu để  
chuyn.  
Phm Ngc Hưng  
131  
Hthng vào ra  
Sau khi bộ điu khin đã đọc toàn bdliu tthiết bvào  
buffer ca nó và kim tra checksum. Bộ điu khin chuyn byte đầu tiên  
vào bnhchính ti địa chỉ được mô tbi địa chbnhDMA. Sau đó  
nó tăng địa chDMA và gim sbytes phi chuyn. Quá trình này lp đi  
lp li cho ti khi sbytes phi chuyn bng 0, và bộ điu khin to mt  
ngt. Như vy không cn phi copy khi vào trong bnh, nó đã hin  
hu trong bnh. Quá trình chuyn dliu không cn phi chuyn qua  
CPU do vy tc độ cao hơn.  
13.3. Giao din I/O các ng dng  
Hệ điu hành cn phi to ra mt giao din đồng nht, tiêu chun,  
cho phép các chương trình ng dng có thtruy cp đến các thiết bvào  
ra mà không cn phi quan tâm đến cu trúc vt lý, cách điu khin ca  
tng thiết b.  
Mt chương trình có thsdng cùng mt phương pháp để mfile  
trên đĩa cho dù file được qun lý theo FAT (trên DOS, Windows 9X) hay  
NTFS ca Windows NT, Windows 2000. Mc dù hai hthng file này là  
hoàn toàn khác nhau.  
Mt hthng vào ra thường được qun lý theo kiu phân lp.  
Tương ng vi mi thiết bphn cng có mt bộ điu khin riêng. Bộ điu  
khin này có thlàm vic mt cách độc lp và giao tiếp vi CPU thông  
qua hthng ngt và các cng vào ra. Bn thân hệ điu hành phi có  
phn mm điu khin thiết briêng bit cho tng thiết bvà to ra giao  
din thun nht, chun chung cho các chương trình ng dng.  
Phn cng điu khin thiết bvào ra thường được thiết kế sn và đi  
cùng vi thiết bvào ra.  
Phn mm điu khin thiết bị được cung cp bi hệ điu hành. Mt  
mt phn mm điu khin thiết bphi giao tiếp vi thiết btheo nhng  
giao thc làm vic riêng ca thiết b, mt khác nó phi to ra mt giao  
din chun cho các chc năng khác ca hệ điu hành, cho các chương  
trình ng dng và trc tiếp là người sdng thông qua đó để điu khin,  
khai thác các thiết b.  
132  
Phm Ngc Hưng  
HỆ ĐIU HÀNH  
Nhân hthng  
Nhân hthng vào ra  
Bộ điu khin  
Điu  
khin  
thiết bị  
SCSI  
Điu  
khin  
bàn  
điu  
khin  
chut  
...  
Điu  
khin khin  
PCI  
Bus  
điu  
điu  
khin  
ATAPI  
đĩa  
mm  
phím  
SCSI  
Bàn  
phím  
chut  
...  
PCI  
bus  
Ổ đĩa  
mm  
ATAPI  
Hình 13.2: Mt cu trúc nhân ca hthng vào ra  
Trong máy tn ti nhiu loi thiết bkhác nhau. Các thiết bnày  
đều có nhng nét đặc trưng và có thphân bit da trên mt số đặc đim  
như:  
-
Truyn dliu theo lung ký thay khi: hthng làm vic  
theo lung ký tstiến hành truyn dliu tng byte mt.  
Trong khi đó, hthng làm vic theo khi struyn dliu theo  
tng khi dliu.  
-
Truy cp tun thay ngu nhiên: Hthng truy cp tun tự đòi  
hi dliu phi được truy cp theo mt trình txác định,  
thường theo mt chiu nht đinh. Vi hthng truy cp ngu  
nhiên, dliu có thtruy cp bt xkhi nào và vtrí bt k.  
Đồng bhay không đồng b: hthng đống bstiến hành  
truyn dliu vi các thi đim trli xác định trước. Hthng  
không đồng bstruyn dliu thi đim bt k.  
Chia sẻ được hay không: có hthng có khnăng chia s, cho  
phép nhiu người dùng có thtruy cp trong cùng mt thi  
đim. Có thiết bchcho phép mt truy cp trong mt thi  
đim.  
-
-
Phm Ngc Hưng  
133  
Hthng vào ra  
-
-
Tc độ xlý: có thiết bcó tc độ xlý, chuyn dliu cao như  
cng nhưng cũng có thiết bcó tc độ rt thp như ổ mm.  
Khnăng ghi đọc: thiết bcho phép cghi ln đọc hay chcho  
phép ghi hoc đọc dliu.  
Hinh 13.3 thhin đặc tính ca mt sthiết bvào ra.  
Đặc tính  
Giá trị  
Ví dụ  
thiết bị đầu cui  
đĩa  
chế độ chuyn dliu ký tự  
khi  
phương pháp truy cp tun tự  
băng từ  
ngu nhiên  
đồng bộ  
đĩa từ  
kiu truyn dliu  
khnăng chia sẻ  
tc độ  
băng từ  
không đồng bộ  
có thchia sẻ  
không thchia sẻ  
thi gian tìm, định vị  
dliu, thi gian  
truyn, khong trễ  
gia các lnh  
chỉ đọc  
bàn phím  
bàn phím  
băng từ  
chiu truy cp dliu  
đĩa CD  
chghi  
cghi ln đọc  
màn hình  
đĩa mm  
Hình 13.3: Đặc tính ca hiết bvào ra  
13.4. Nhân hthng I/O  
Nhân hthng cung cp rt nhiu các dch vliên quan đến hot  
động vào ra. Mt sdch vnhư lp lch, đệm dliu, to cache, xlý li  
được cung cp bi mt hthng nhân con vào ra (I/O subsystem kernel)  
được thiết kế ngay trên phn cng và cu trúc bên trong ca bộ điu  
khin thiết b.  
Slp lch vào ra (I/O Scheduling)  
Là vic sp lch mt tp các yêu cu vào ra (I/O requests) nghĩa là  
xác định mt thtthc hin tt nht các yêu cu vào ra. Trt tmà các  
ng dng sdng đến li gi hthng gn như là mt la chn tt nht.  
134  
Phm Ngc Hưng  
HỆ ĐIU HÀNH  
Lp lch có thci tiến khnăng thc hin ca hthng, có thchia sẻ  
hot động truy nhp thiết bgia các tiến trình và gim thi gian chờ đợi  
hot động vào ra được hoàn tt.  
Các nhà phát trin hthng có thcài đặt lp lch bng vic duy trì  
mt hàng đợi các yêu cu vào ra cho mi thiết b. Khi mt ng dng dùng  
đến mt li gi hthng vào ra, yêu cu đó sẽ được đưa vào hàng đợi  
cho thiết btương ng. Blp lch có thsp xếp li hàng đợi này để ci  
tiến và nâng cao hiu qulàm vic ca toàn bhthng.  
Đệm dliu  
Bộ đệm (buffer) là mt vùng nhdùng để lưu dliu trung gian  
trong quá trình chuyn dliu gia hai hay nhiu các thiết bvi mt ng  
dng. Bộ đệm được sdng trong quá trình chuyn dliu gia thiết bị  
vào ra và chương trình là vì các lý do sau:  
-
Tc độ xlý và chuyn dliu ca các thiết bkhác nhau. Hay  
thiết bvi tc độ làm vic khác nhau skhông ththc hin  
công vic mt cách đồng b. Để thiết bcó tc độ chm hơn có  
thtiếp nhn và xđược đủ các dliu thì dliu đó cn  
phi được lưu li và chuyn dn cho thiết bcó tc độ chm.  
Cho phép các thiết bcó phm vi (kích thước) truyn dliu  
khác nhau có thlàm vic được vi nhau.  
-
-
Tăng tc độ truy cp dliu trên các thiết bcó tc độ thp.  
14. Cu trúc lưu trkhi  
14.1. Cu trúc ca đĩa  
Đĩa (đĩa cng, đĩa mm, đĩa CD,...) là các thiết blưu trthcp  
được sdng chyếu cho các hot động lưu trdliu trên các máy tính  
hin đại. Trước kia, dliu được lưu trtrên băng t. Do tc độ truy cp  
quá thp, thê vào đó là nhược đim chcho phép truy cp tun tnên  
hin nay băng tkhông còn được sdng như mt thiết blưu trchính  
na mà nó chỉ được dùng để sao lưu dphòng.  
Phm Ngc Hưng  
135  
Hthng vào ra  
Cu trúc vt lý đĩa cng bao gm các bphn:  
- Vỏ đĩa  
- Đĩa từ  
- Đầu ghi đọc  
- Hthng truyn động  
- Động cơ quay đĩa  
- Vmch điu khin  
Nguyên tc ghi dliu trên đĩa cng:  
Mt đĩa cng có thcó nhiu mt đĩa. Mt đĩa được chia thành  
nhiu rãnh đồng tâm được gi là tracks. Mi track chia thành nhiu các  
cung gi là sector. Slượng sector trên các tracks là như nhau mc dù  
đường kính track là khác nhau. Dliu được ghi trên các sector. Mi  
sector có thcha được nhiu bytes dliu (thường 512 bytes). Khả  
năng lưu thông tin ca mt sector thường là ln hơn 512 bytes nhưng  
phi đề dành mt vùng cho vic mã hoá và lưu các thông tin để giúp cho  
vic kim tra và sa li.  
Tp hp các tracks có cùng bán kính trên các mt đĩa ca các đĩa  
to thành mt trt(cylinder).  
Nhóm các sector liên tc (mt cách logic) to thành các liên cung  
(cluster). Dliu thường được ghi theo liên cung.  
Mt track  
Chng đĩa  
Đầu ghi đọc  
Mt sector  
Hình 14.1: Cu trúc đĩa cng  
136  
Phm Ngc Hưng  
HỆ ĐIU HÀNH  
14.2. Lp lch cho đĩa  
Mt trong các yêu cu quan trng đối vi mt hệ điu hành là sử  
dng mt cách hiu qucác thiết bphn cng. Đĩa là loi thiết bcó tc  
độ truy cp cao và băng thông rng. Thi gian truy cp bao gm hai loi  
thi gian là là thi gian tìm (seek time) và thi gian chờ đĩa quay đến  
đúng vtrí yêu cu (rotational latency). Seek time là thi gian mà đầu từ  
cn sdng để di chuyn đến track cn tìm. Độ rng ca băng thông  
(bandwidth) là tng sbytes có thchuyn chia cho tng thi gian tính từ  
lúc phát ra yêu cu đầu tiên cho đến khi hoàn tt vic chuyn dliu. Ta  
có thci thin thi gian truy cp và băng thông bng cách lp lch đáp  
ng các yêu cu vào ra đĩa theo mt trình ttt nht có th.  
Chế độ FCFS  
Đây là kiu lp lch đĩa đơn gin nht. Yêu cu vào ra nào xut hin  
trước thì nó được phc vtrước. Phương pháp này có mt nhược đim  
ln là thi gian truy cp thường cao mà lra có thci thin được bng  
cách đổi trt tphc vcác yêu cu.  
Gishin ti đầu đọc đang cylinder s10, by gicn phi đọc  
mt chi các cylinder theo trt txut hin sau:  
98, 183, 37, 122, 14, 65, 67  
Trước hết đầu tphi vượt quá 88 cylinder để đến được cylinder  
198 ri 85 cylinder tiếp theo để đến cylinder 183 và cnhư vy cho đến  
khi đến cylinder 76 cui danh sách, đầu tphi vượt qua 565 cylinder.  
Nếu đổi li trt tphc vlà 14, 37, 65, 67, 98, 122, 183 thì tng số  
cylinder đầu tphi di chuyn qua chcòn 173 cylinder. Rõ ràng là nếu  
sp xếp li thì thi gian truy cp sngn hơn nhiu.  
Chế độ SSTF  
Theo chế độ này, tiến trình có yêu cu mà thi gian tìm kiếm ngn  
nht (shortest-seek-time-first) sẽ được ưu tiên phc vtrước. Thut toán  
này sgim thi gian tìm kiếm tính tvtrí hin hành ca đầu đọc. Vi  
chi các cylinder theo trt txut hin là 98, 183, 37, 122, 14, 65, 67 sẽ  
được phc vtheo trt t14, 37, 65, 67, 98, 122, 183 nếu đầu đọc hin  
cylinder s10.  
Phm Ngc Hưng  
137  
Hthng vào ra  
0
10  
14  
37  
65  
67  
98  
122  
183  
Chui cylinder cn đọc: 98, 183, 37, 122, 14, 65, 67  
Vtrí đầu đọc hin ti: 10  
Đầu đọc phi di chuyn qua 565 cylinder  
Hình 14.2: Lp lch đĩa theo FCFS  
0
10  
14  
37  
65  
67  
98  
122  
183  
Chui cylinder cn đọc: 98, 183, 37, 122, 14, 65, 67  
Vtrí đầu đọc hin ti: 10  
Đầu đọc chphi di chuyn qua 173 cylinder  
Hình 14.2: Lp lch đĩa theo SSTF  
138  
Phm Ngc Hưng  
HỆ ĐIU HÀNH  
14.3. Qun lý đĩa  
Định dng đĩa (Disk Formatting)  
Mt đĩa ttrước khi có thsdng, nó cn phi được định dng.  
Công vic định dng nhm to nên các khuôn mu để ghi đọc dliu trên  
đĩa. Thông tin vkhuôn mu định dng thường được lưu trên mt khi  
đặc bit đầu đĩa (thường là boot sector và master boot trên đĩa cng).  
Thông tin định dng thường bao gm: strack trên đĩa, ssector trên  
mt track, kích thước mt sector (sbytes trên mt sector), cách mã hoá,  
thông tin vsphân vùng,...  
Khi khi động (Boot block)  
Đây là mt khi có chc năng đặc bit trên đĩa, thường nm vtrí  
đầu đĩa. Boot block thường cha mt phn hay toàn bthông tin về định  
dng đĩa. Đặc bit, trên đó còn cha mt chương trình mi (bootstrap  
program) dùng để khi động hệ điu hành. Chương trình này sẽ được  
chy ngay sau khi khi động và kim tra xong phn cng. Chương trình  
mi sgiúp khi to và np toàn bhệ điu hành.  
Khi hng (Bad block)  
Trong quá trình hot động, do tiếp xúc có khí nên bmt đĩa đến  
mt lúc nào đó sbhng dn đến dliu không lưu li được hoc là đọc  
ra không đúng. Bmc đĩa có thbhng trên tng phn. Mt khi dữ  
liu trên đĩa có thrơi vào đúng mt ví trí hng nào đó và để tránh mt  
dliu, hệ điu hành sẽ đánh du khi cha vùng dliu bhng đó.  
Khi này được gi là Bad block. Trong quá trình ghi dliu xung đĩa, hệ  
điu hành sbqua các khi được đánh du là bad.  
Phân vùng đĩa (Partition)  
Mt đĩa có dung lượng ln thường được chia thành các vùng nhỏ  
để thun tin trong qun lý cũng như khai thác đĩa. Mi vùng được chia ra  
gi là mt partition. Mi mt đĩa cng thường cha các bng partition trên  
đó cho biết đĩa được chia thành bao nhiêu vùng. Kích thước, vtrí mi  
vùng. Cách qun lý dliu trên mi vùng. Các thông tin này thường được  
lưu trong sector vt lý đầu tiên ca đĩa được gi là Master boot.  
Phm Ngc Hưng  
139  
Hthng vào ra  
14.4. Cu trúc RAID  
Để đảm bo an toàn cho dliu ghi trên đĩa, hệ điu hành cn  
phi có cơ chế bo v. Mt trong các gii pháp đảm bo an toàn là sử  
dng mt mng các đĩa vi các kthut ghi dliu trên các đĩa này được  
gi là RAID (Redundant Arrays of Inexpensive Disk).  
Các mc RAID:  
-
Mc 0: tham chiếu đến mt mng các đĩa ghi dliu mc  
khi và không có bt ckthut đảm bo an toàn nào.  
Mc 1: các đĩa sẽ được ghi song song (disk mirroring)  
Mc 2: sdng bit kim tra chn lcho tng byte. Trong scác  
đĩa được dùng, phi để riêng ra mt số đĩa cha các bit kim tra  
này.  
-
-
-
-
Mc 3: sdng bit kim tra để phát hin và sa sai cho ckhi.  
Mc này cn ít đĩa phc vcho kim tra và sa sai hơn so vi  
mc 2.  
Mc 4: sdng khi kim tra chn l. Nếu mt trong scác đĩa  
bli thì khi kim tra chn lsẽ được sdng để khôi phc li  
đĩa bli tcác đĩa khác.  
-
-
Mc 5: sdng các bit kim tra chn lẻ được ghi phân tán trên  
các đĩa.  
Mc 6: gn ging như mc 5. Thay vì dùng kim tra chn lthì  
mc 6 sdng kthut mã hoá theo Reed-Solomon Code để  
mã hoá dliu giúp cho phát hin và sa sai.  
14.5. Bài tp  
1. Nêu cu to ca cng.  
2. Phân tích cu trúc logic ca cng.  
3. Nêu nguyên tc ghi dliu trên ổ ứng.  
4. Trình bày các chế độ lp lch cho đĩa.  
5. Nêu đặc đim các mc RAID.  
140  
Phm Ngc Hưng  
pdf 12 trang Thùy Anh 05/05/2022 2960
Bạn đang xem tài liệu "Giáo trình Hệ điều hành - Chương 4: Hệ thống vào ra - Phạm Ngọc Hưng", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfgiao_trinh_he_dieu_hanh_chuong_4_he_thong_vao_ra_pham_ngoc_h.pdf