164
aniqlasa, u bu xatoni o‘zi o‘zgartirish imkoniyatlari asosida xarakat
qilib ko‘rishi kerak. Agar buni bajarishga uni kuchi yetmasa, u holda
qurilma drayverda qayta ishlanishi kerak. Ko‘pincha xatolar
vaqtinchalik bo‘lishi mumkin. Masalan, o‘quvchi moslamadagi
changni chiqishi tufayli xato o‘qishi. Bunday xatolar blokni takroran
o‘qish jarayonida sodir bo‘lmaydi. Faqat agar past pog‘onada
muammo paydo bo‘lsa bu haqda yuqori pog‘onaga axborot beradi.
Ko‘p holatlarda xatodan so‘ng qayta tiklangandan yuqori pog‘ona
uchun aniq bo‘lgan past pog‘onada qilish afzal ko‘riladi, unda mavjud
uzilishlar haqida yuqori pog‘ona xabardor bo‘lmasligi
ham mumkin
bo‘ladi.
Yana bir kalit so‘z - ma’lumotlarni uzatish usuli: asinxronga
(to‘xtalishlarni boshqarish) teskari sinxronli (bloklovchi). Fizik
pog‘onada
kiritish/chiqarish
ko‘plab
operatsiyalari
asinxronli
(markaziy protsessor ma’lumotlar uzatishni boshlaydi va to‘xtalish
bo‘lmagunga qadar unga e’tibor bermaydi) bo‘ladi. Foydalanuvchi
dasturlarini kiritish/chiqarish operatsiyalarini qo‘llaydigan (chaqiriq
tizimiga murojaat qilingandan so‘ng receive dasturi buferda
ma’lumotlar paydo bo‘lmagunga qadar avtomatik to‘xtatadi) dasturni
yozish sezilarli darajada oson. Kiritish/chiqarish
operatsiyasi uchun
asinxronli, foydalanuvchi dasturi uchun esa operatsion tizimda
ishlaydigan bloklovchi bo‘ladi.
Kiritish/chiqarish
dasturiy
ta’minoti
haqida
gapirganda
buferlashga
e’tibor berish kerak bo‘ladi. Ma’lumotlar ko‘pincha
qurilmadan kelib tushadi, u oxirgi nuqtasiga darrov saqlashning
imkoniyati yo‘q. Masalan, paket tarmoq orqali kelganda,
operatsion
tizim bu paket nimaga kerakligini o‘rganib chiqmaguncha uni qayerga
joylashtirishni bilmaydi. Bundan tashqari, real vaqtda ishlaydigan
boshqa ko‘plab qurilmalar uchun ma’lumotlarni kelib tushish
muddatini ko‘rsatuvchi parametrlar muhim hisoblaniladi (masalan,
raqamli ovozni qayta tiklovchi qurilmalar), shu sababli qabul qilib
olingan ma’lumotlar buferni to‘ldirish tezligiga bog‘liq bo‘lmagan,
ovoz chiqaruvchi buferdan chiqarib olishda
tezlik uchun avvaldan
chiquvchi buferda joylashtiriladi. Buferlashda sezilarli miqdorda
ma’lumotlarni
ko‘chirishi
nazarda
tutiladi.
Ko‘pincha
kiritish/chiqarish operatsiyasini samarodoligini pasaytiruvchi omil
sifatida ko‘riladi.
165
Bu tushuncha so‘ngida ajratish qurilmasi va qismlarga bo‘lish
qurilmalari bo‘ladi. Diskga o‘xshash ba’zi kiritish/chiqarish
qurilmalari ko‘p sonli foydalanuvchilar bilan bir vaqtda ishlay olishi
mumkin. Shu sababli bir nechta foydalanuvchilar bitta diskda bitta
faylni ochganda muammo paydo bo‘lmasligi kerak.
Magnit tasmali
tarqatgich
kabi
boshqa
qurilmalar
ushbu
qurilmada
u
yakunlanmagunga qadar bir foydalanuvchilik bo‘ladi. Agar bir
vaqtning o‘zida ikki va undan ortiq foydalanuvchilar bitta tasmaga
aralash bloklarni yozishsa, yaxshi narsa olinmaydi. Ajratilgan
(monopol foydalaniladigan) qurilmasi
birgalikda bloklash kabi
muammolarni keltirib chiqaradi. Operatsion tizim qismlarga ajratish
va ajratilgan qurilmalarini boshqarish va turli xil muammolarni
mustaqil yecha olishi kerak.
Bu muammolarni hal qilish uchun kiritish/chiqarish dasturiy
ta’minotini to‘rtta pog‘onaga ajratiladi:
To‘xtalishlarni qayta ishlovchi (past pog‘ona);
Qurilma drayveri;
Apparatura kodidan mustaqil operatsion tizimlar;
Foydalanuvchi dasturlari (yuqori pog‘ona).
Dostları ilə paylaş: