169
Ayrim belgili qurilmalar o‘zining baytli ma’lumotlarini taqdim
etadilar (masalan, modemlar), unda boshqalar uni kattaroq miqdorda
ajratadilar (tarmoq interfeyslari). Bular shuningdek
yashirilishi bilan
farq qilishi mumkin.
Foydalanuvchi muhitida kiritish/chiqarish dasturiy ta’minoti
Kiritish/chiqarish qurilmasini katta bir qismi operatsion tizimga
tegishli bo‘lsa uning oz qismi kutubxona, foydalanuvchi dasturlarini
komponovkalash yoki hatto yadroda ishlaydigan butun bir dasturni o‘z
ichiga oladi. Chaqiriq tizimlari kiritish/chiqarish chaqiriq tizimlarini
o‘z ichiga oladi. Odatda kutubxona protseduralaridan iborat bo‘ladi.
Masalan: count = write (fd
f
buffer, nbytes);
Agar C – dastur bunday chaqiriqni o‘z
ichiga olsa, kutubxona
write protsedurasi dasturlar bilan butun bir ko‘rinishga keltiriladi,
bunday ko‘rinishda dastur bajarilish vaqtida xotiraga yuklanadigan
ikkilik kodni ko‘rsatadi. Bunday kutubxonali protseduralar to‘plami
shubhasiz kiritish/chiqarish qurilmasini qismi bo‘ladi. Kutubxona
protseduralari kamdan kam holatlarda kiritish/chiqarish operatsiyalari
shaklida bajariladi. Masalan, print f
C-protsedurasi matn qatori
kirishida qabul qilinadi va bir nechta qo‘llash imkoniyati bo‘lgan
undan ASCII-qatorlarini yaratadi, shundan so‘ng bevosita chiqarish
uchun write chaqiriq tizimini ishlatadi. Ba’zi foydalanuvchi muhiti
kiritish/chiqarish dasturiy ta’minoti kutubxonali protseduradan iborat
bo‘ladi. Boshqa bir muhim toifa – bu spuling tizimi.
Spuling
(buferlash) o‘zida ko‘p topshiriqli tizimlarda
ajratilgan qurilmalar
bilan ishlash yo‘llarini taqdim etadi. Spulingdan foydalanadigan
qurilmaning o‘ziga xosligi printer bo‘ladi. Printerda har bir
foydalanuvchiga maxsus belgili fayl ochishga ruhsat beradi. Biroq
jarayon uni ochishda joriy bir necha soatda printerga murojaat
etmaydi bu vaqtda hech bir jarayon hech narsani chop eta olmaydi. Bu
bilan birga
domen
deb ataladigan maxsus jarayon va
spuling katalogi
deb ataladigan maxsus katalogni yaratadi.
Faylni chop etish uchun
dastlab jarayon spuling katalogida joylashgan, chop etish uchun
mo‘ljallangan maxsus faylni yaratadi. Bu faylni maxsus fayl printeriga
foydalanishga ruhsat berilgan yagona jarayonni domen chop etadi.
Bunday ko‘rinishda, muammo qandaydir jarayon printerni uzoq vaqt
davomida
egallab
tursa
foydalanuvchining
to‘g‘ridan-to‘g‘ri
kirishidan maxsus fayllarni himoyalashni hal qilish bo‘ladi. Spuling
170
faqat printer uchun foydalanilmaydi. Masalan,
domen tarkibiga
kiradigan elektron pochta dasturiy ta’minotida. Jo‘natilishi kerak
bo‘lgan xat spuling katoligada joylashadi. So‘ng domen elektron
pochtani ochib ko‘radi, uni qayerga jo‘natish kerakligini aniqlaydi va
jo‘natadi.
Vaqtning
istalgan
momentida
kirishga
ruhsat
olinmaganlikni olish ehtimolligi mavjud bo‘ladi, bu holatda domen
spuling katalogida xatni qoldiradi va keyinroq takroran uzatishga
harakat qilish to‘g‘risida axborotni qayd etib qo‘yadi.
Demon
shuningdek, kechikish to‘g‘risidagi xabarni jo‘natishi mumkin, agar
xat joriy bir necha soatda yoki kunda jo‘natilmasa – xatni jo‘natish
imkoniyati yo‘qligi to‘g‘risida axborotni jo‘natadi.
Masalan, foydalanuvchi dasturi operatsion tizimda ishga
tushirilgan chaqiriqlarni qayta ishlash uchun fayldagi blokni o‘qishga
harakat qiladi. Qurilmadan mustaqil dasturiy ta’minot bu blokni
keshdan qidiradi. Agar talab qilinayotgan blok bo‘lsa, u apparaturaga
murojaat qilish va diskdan bu blokni qabul qilish uchun qurilma
drayverini
chaqiradi.
Jarayon
diskni
o‘qish operatsiyalari
yakunlangunga qadar bloklanadi.
Disk
operatsiyani yakunlaganda, apparat uziladi. To‘xtalishlarni
qayta ishlash nima sodir bo‘lganligini aniqlash uchun ishga tushadi,
unda qaysi mexanizm e’tibor talab etilayotganligi aniqlaniladi. So‘ng
u mexanizm holati to‘g‘risida axborotni oladi va kiritish/chiqarish
so‘rovini qayta ishlashni yakunlash uchun “vaqtinchalik to‘xtab
turgan” jarayonni faollashtiradi, va foydalanuvchi rejimi ishlashni
davom ettirishga topshiriladi.
Do'stlaringiz bilan baham: