Kiritish-chiqarish rejimining ikkita ko’rinishi mavjud – sinxron va asinxron Asinxron kiritish-chiqarish – kiritish chiqarishning asosiy dasturiy bajarilishi bilan parallel bajariladi. Asinxron kiritish-chiqarish boshlanishi bilan boshqaruv kiritish-chiqarishni kutib turmasdan foydalanuvchi dasturiga qaytariladi. Shunday qilib go’yoki, asinxron kiritish-chiqarish ikkiga bo’linadi: kiritish-chiqarishni boshlash va kiritish chiqarishni tugallash. Ikkinchisi, agar kiritish-chiqarishning natijasi keyingi hisoblashlar uchun zarur bo’lsa, dastur ma’lumot alshinuvining tugallanishini kutadi. Bunday yondoshuv almashinuvchi tatbiq qilishda dasturchilar uchun tushinish qiyinroq bo’ladi va xatolarga yo’l qo’yilishi mumkin (masalan, faqat kiritish-chiqarishni boshlash operatsiyasi qo’llanilib, uning yakunlanishini kutishni chaqrish operatsiyasi unitib qoldirilishi mumkin). Qurilmalar holati jadvali Tizim darajasida almashinuv jarayonida quyidagilar sodir bo'ladi. Tizimli chaqiruv (system call) bajariladi – tizimli qismdasturni chaqirish yo’li bilan OT ga so’rov yuboriladi, bunday holatda foydalanuvchi kiritish-chiqarishni kutishi zarur bo’ladi. Operatsion tizim qurilmalarning holat jadvalini saqlaydi, unda har bir qurilmaga uning turi, manzili va holatini o'z ichiga olgan element mos qo’yiladi. Operatsion tizim qurilmaning holatini aniqlash va jadval elementini yanglisha maqsadida qurilmalar jadvalini indekslaydi. Sinxron (a) va asinxron (b) kiritish-chiqarish arxitekturasi OT tashqi qurilmalar holati jadvaliga misol Direct Memory Access – DMA Xotira (Direct Memory Access – DMA) – ma'lumotni xotira tezligiga yaqin tezlikda uzatishga qodir yuqori tezlikda ishlaydigan qurilmalarda ishlash uchun qo’llaniladigan I/O kontrollerlari uchun yanada samarali ishlash usuli DMA-kontroller xotira buferidan ma’lumotlar blokini bevosita (protsessor ishtirokisiz) asosiy xotiraga uzatish imkonini beradi. Ushbu keng qo'llaniladigan yondashuvning afzalligi nafaqat ma'lumotlarning bir xotira maydonidan boshqasiga keraksiz o'tkazilishining oldini olish, balki har bir uzatilgan ma'lumot bloki (buferda saqlanadigan) uchun alohida uzilish hosil bo'lishidir, lekin an'anaviy almashinuv usulida bo'lgani kabi har bir o'tkazilgan baytlar uchun emas.
Do'stlaringiz bilan baham: |