• Asosiy tizim kiritish-chiqarish jadvallari
  • , kirish / chiqishni boshqarish jarayonini korib chiqaylik.
  • Pinning qurilmalari, umumiy kiritish/chiqarish qurilmalari




    Download 28.05 Kb.
    bet4/7
    Sana17.01.2023
    Hajmi28.05 Kb.
    #38415
    1   2   3   4   5   6   7
    Bog'liq
    Необходимость обеспечить программам возможность осуществлять обмен данными с внешними устройствами и при этом не включать в каждую двоичную программу соответствующий двоичный код
    metod, STEAM o, bu aziz vatan barchamizniki 5-9 sinf, Kunduzgi-2021, template, newLicense, 1 a jol háreketi óz betinshe jumıs temaları, 78) 1-sport
    Pinning qurilmalari, umumiy kiritish/chiqarish qurilmalari
    Ko'pgina qurilmalar almashishga ruxsat bermaydi. Avvalo, bu ketma-ket kirishga ega qurilmalar. Bunday qurilmalar sobit bo'lishi mumkin, ya'ni ushbu jarayonning butun muddati davomida ba'zi bir hisoblash jarayoni bilan ta'minlanishi mumkin. Biroq, bu hisoblash jarayonlarini ko'pincha parallel ravishda bajarib bo'lmasligiga olib keladi - ular kiritish-chiqarish qurilmalarining chiqarilishini kutishadi. Ko'pgina parallel vazifalar bilan bo'linib bo'lmaydigan kiritish-chiqarish qurilmalaridan foydalanishni tashkil qilish uchun virtual qurilmalar tushunchasi kiritiladi. Virtualizatsiya tamoyilidan foydalanish hisoblash tizimining samaradorligini oshirish imkonini beradi.
    Umuman olganda, virtual qurilma tushunchasi ushbu atamaning spoling (SPOOLing - bir vaqtning o'zida on-layn rejimda periferik ishlashi, ya'ni on-layn rejimida qurilma bilan ishlashga taqlid qilish) uchun foydalanishdan ko'ra kengroqdir. Spoulingning asosiy maqsadi ketma-ket kiritish-chiqarish qurilmasining parallel bo'linishi ko'rinishini berishdir, aslida faqat faqat foydalanish va mahkamlash kerak. Misol uchun, biz bir nechta ilovalar o'z ish natijalarini chop etishi kerak bo'lgan taqdirda, har bir bunday ilovaga talab bo'yicha satr chop etishga ruxsat berilsa, bu hech qanday qiymatga ega bo'lmagan qatorlar oqimiga olib kelishini aytdik. . Biroq, har bir hisoblash jarayonini haqiqiy emas, balki virtual printer bilan ta'minlash mumkin va chiqish belgilar oqimi (yoki ularni chop etish uchun boshqaruv kodlari) birinchi navbatda maxsus faylga ( spool-fayl, spool-fayl ) yo'naltiriladi. ) magnit diskda. Keyinchalik, virtual chop etish oxirida, qabul qilingan xizmat intizomi va dastur ustuvorliklariga muvofiq, spool faylining mazmunini printerga chiqaring. Spool faylini boshqaradigan tizim jarayoni spuler (spool-reader yoki spool-writer) deb ataladi.
    Asosiy tizim kiritish-chiqarish jadvallari
    Har bir OTda o'z kiritish-chiqarish jadvallari mavjud, ularning tarkibi (har bir jadvalning soni va maqsadi) juda katta farq qilishi mumkin. Ba'zi operatsion tizimlar jadvallar o'rniga ro'yxatlar yaratadi, garchi kiritish-chiqarish uchun statik ma'lumotlar tuzilmalaridan foydalanish odatda tezroq ishlashga olib keladi. Bu erda umumiy komponentlarni ajratib olish juda qiyin, ayniqsa, bu mavzu bo'yicha juda kam batafsil hujjatlar mavjud, faqat agar siz hozirda eskirgan operatsion tizimlar materiallaridan foydalansangiz. Shunga qaramay, biz buni Hewlett-Packard tomonidan mini-kompyuterlari uchun ishlab chiqilgan oddiy, ammo samarali real vaqtda operatsion tizimlar oilasining g'oyalari asosida amalga oshirishga harakat qilamiz.
    OT nazoratchisi orqali kiritish-chiqarish boshqaruvi printsipiga asoslanib va kiritish-chiqarish qurilmasi drayverlari markaziy qismdan tashqi qurilmalar bilan aloqa o'rnatish uchun uzilish mexanizmidan foydalanishini hisobga olsak, kamida uchta tizim jadvalini yaratish kerak degan xulosaga kelishimiz mumkin.
    Birinchi jadval (yoki ro'yxat) kompyuter tizimiga ulangan barcha kiritish/chiqarish qurilmalari haqidagi ma'lumotlarni o'z ichiga oladi. Keling, uni shartli ravishda jihozlar jadvali deb ataymiz va ushbu jadvalning har bir elementi UCB (birlikni boshqarish bloki, kirish / chiqish qurilmasini boshqarish bloki) deb nomlansin. Uskunalar jadvalidagi har bir UCB yozuvi odatda qurilma haqida quyidagi ma'lumotlarni o'z ichiga oladi:

    • qurilma turi, uning o'ziga xos modeli, qurilmaning ramziy nomi va xususiyatlari;

    • ushbu qurilma qanday ulangan (qaysi interfeys orqali, qaysi ulagichga, qaysi portlar va uzilish so'rovi liniyasi ishlatiladi va hokazo);

    • kanal (va quyi kanal) raqami va manzili, agar ular qurilmani boshqarish uchun ishlatilsa;

    • ushbu qurilmani boshqarishi kerak bo'lgan drayverning ko'rsatkichi, boshlang'ich qismining manzili va haydovchining davom etish qismi;

    • ushbu qurilma bilan ma'lumot almashishda buferlashdan foydalaniladimi yoki yo'qmi, tizim xotirasi hududidan ajratilgan bo'lsa, buferning "nomi" (yoki shunchaki manzili) haqida ma'lumot;

    • vaqt tugashini sozlash va vaqt hisoblagichi uchun uyasi;

    • qurilma holati;

    • qurilmada kutilayotgan vazifalarni ulash uchun ko'rsatgich maydoni va, ehtimol, ko'p.

    Yuqoridagilarni tushuntirib beraylik.
    Ko'pgina operatsion tizimlarda drayverlar qayta kirish xususiyatiga ega bo'lishi mumkinligi sababli (esda tutingki, bu dasturiy modulning bir nusxasi bir vaqtning o'zida bir xil turdagi bir nechta qurilmalarga parallel xizmat ko'rsatishni ta'minlashi mumkin), UCB elementi yoki qurilma haqidagi ma'lumotlarni saqlashi kerak. qurilmaning hozirgi holati va qayta ishlash uchun o'zgaruvchilarning o'zi yoki bunday ma'lumotni topish mumkin bo'lgan joy ko'rsatkichi. Nihoyat, jihozlar jadvali yozuvining eng muhim komponenti hozirda ushbu qurilmadan foydalanayotgan vazifaning tavsiflovchisiga ko'rsatgichdir. Agar qurilma bo'sh bo'lsa, u holda ko'rsatkich maydoni nolga teng qiymatga ega bo'ladi. Agar qurilma allaqachon band bo'lsa va ko'rsatilayotgan ko'rsatgich null bo'lmasa, qurilmaga yangi so'rovlar hozirda ushbu qurilmani kutayotgan vazifalarning tavsiflovchilari ro'yxatini shakllantirish orqali tuzatiladi.
    Ikkinchi jadval kiritish-chiqarish qurilmalarini virtualizatsiya qilishning yana bir tamoyilini - qurilma mustaqilligini amalga oshirish uchun mo'ljallangan. Dasturchi kompyuterda o'rnatilgan (yoki o'rnatilmagan) u yoki bu kirish/chiqarish moslamasining o'ziga xos parametrlarini (va/yoki imkoniyatlarini) hisobga olish bilan shug'ullanmasligi ma'qul. Uning uchun faqat u foydalanmoqchi bo'lgan I / O qurilmalarining ushbu sinfiga xos bo'lgan eng umumiy xususiyatlar muhim bo'lishi kerak . Misol uchun, printer belgilar yoki grafik tasvirni chiqarish (chop etish) imkoniyatiga ega bo'lishi kerak. Va magnit disk drayveri ma'lumotlarning bir qismini belgilangan manzilga (silindr boshi-sektori koordinatalarida) o'qish yoki yozishdir. Garchi ko'pincha dasturchi magnit disklar bilan ishlashda to'g'ridan-to'g'ri manzilni ishlatmaydi, lekin fayl tizimi darajasida ishlaydi. Biroq, bu holda, fayl tizimini ishlab chiquvchilari haydovchining qaysi turi va modeliga, shuningdek, ushbu kompyuterda qaysi ishlab chiqaruvchidan foydalanilishiga bog'liq bo'lmasligi kerak (masalan, IBM DTLA 307030 HDD, WDAC 450AA yoki boshqa). Faqat ma'lum miqdordagi tsilindrlarga, o'qish / yozish boshlariga va magnit disk yo'lidagi sektorlarga ega bo'lgan haydovchi mavjudligi haqiqati muhim bo'lishi kerak. Tsilindrlar, boshlar va sektorlar soni uchun ko'rsatilgan qiymatlar jihozlar jadvalidagi yozuvdan olinishi kerak. Shu bilan birga, dasturchi uchun u yoki bu qurilma kompyuter tizimiga qanday ulanganligi ham muhim emas, balki qurilmaning qaysi o'ziga xos modelidan foydalanilganligi ham muhim emas. Shuning uchun, kiritish-chiqarish so'rovida dasturchi qurilmaning mantiqiy nomini belgilaydi. Virtual (mantiqiy)ga mos keladigan haqiqiy qurilma nazoratchi tomonidan biz hozir gaplashayotgan jadval yordamida tanlanadi. Shunday qilib, qurilmani ulash usuli, uning o'ziga xos modeli va unga mos keladigan drayver allaqachon ko'rib chiqilgan uskunalar jadvalida keltirilgan. Ammo dasturni yaratishda dasturchi foydalanadigan ba'zi virtual qurilmani qaysi qurilma va uning kompyuterga qanday ulanganligi haqidagi ma'lumotlarni aks ettiruvchi tizim jadvali bilan bog'lash uchun ikkinchi tizim jadvali qo'llaniladi. Uni shartli ravishda virtual mantiqiy qurilmalarning tavsif jadvali (DRT, qurilma mos yozuvlar jadvali) deb ataymiz.
    Ushbu ikkinchi jadvalning maqsadi virtual (mantiqiy) qurilmalar va birinchi jihozlar jadvalida tasvirlangan haqiqiy qurilmalar o'rtasidagi munosabatni o'rnatishdir. Boshqacha qilib aytadigan bo'lsak, ikkinchi jadval rahbarga kiritish-chiqarish so'rovini ilovadan birinchi jadvalning tegishli elementida saqlanadigan (yoki manzillari) o'sha dastur modullari va ma'lumotlar tuzilmalariga yo'naltirish imkonini beradi. Ko'pgina ko'p foydalanuvchili tizimlarda bunday jadval bitta emas, balki bir nechta: bitta umumiy va har bir foydalanuvchi uchun bitta, bu mantiqiy (ramziy) qurilmalar nomlari va tizimdagi haqiqiy jismoniy qurilmalar o'rtasida zarur aloqalarni o'rnatish imkonini beradi.
    Uchinchi jadval markaziy qism va kiritish-chiqarish qurilmalari o'rtasidagi aloqani tashkil qilish uchun zarurdir. Bu uzilish jadvali bo'lib, har bir uzilish so'rovi signali uchun ulangan qurilma bilan bog'langan UCB yozuvini ko'rsatadi, shunda u haqiqiy uzilish chizig'idan (signal) foydalanadi. Tizim kiritish-chiqarish jadvali kabi, uzilish jadvali ham aniq bo'lmasligi mumkin. Asos sifatida, siz darhol asosiy uzilish jadvalidan UCB elementi bilan bog'langan ishlov berish dasturiga (drayverga) o'tishingiz mumkin. Uzilish signallari va jihozlar jadvali o'rtasida aloqa bo'lishi muhimdir.
    Hozirgi murakkab operatsion tizimlarda kiritish-chiqarish operatsiyalarini boshqarish jarayonini tashkil qilish uchun foydalaniladigan yana ko'plab tizim jadvallari yoki ro'yxatlari mavjud. Misol uchun, deyarli har bir kiritish-chiqarish so'roviga hamroh bo'lgan mumkin bo'lgan va tez-tez amalga oshiriladigan axborot tuzilmasi ma'lumotlarni boshqarish blokidir (DCB). Ushbu DCB ning maqsadi preprotsessorlarni ma'lumotlarni kiritish / chiqish uchun tayyorlash jarayoniga ulash, ya'ni o'ziga xos texnik xususiyatlar va foydalanilgan transformatsiyalarni hisobga olgan holda. Bu mavjud qurilma ish rejimiga mos kelmaydigan ba'zi tushunarsiz kodlar yoki ma'lumotlar formatlarini emas, balki ushbu qurilma uchun maxsus yaratilgan kodlarni va hozirda foydalanilayotgan ma'lumotlarni taqdim etish formatini olishi uchun kerak.
    Keling, keltirilgan tamoyillar va jadvallarni hisobga olgan holda , kirish / chiqishni boshqarish jarayonini ko'rib chiqaylik.
    Ishlayotgan dasturdan kiritish-chiqarish operatsiyasi uchun so'rov rahbarga yuboriladi . Tizim chaqiruvining qabul qilingan spesifikasyonlara muvofiqligini tekshiradi va xato bo'lsa, tegishli xabarni vazifaga qaytaradi . Agar so'rov haqiqiy bo'lsa, u I/U supervayzeriga yo'naltiriladi. Ikkinchisi, mantiqiy (virtual) nom bo'yicha, DRT jadvalidan foydalanib, jihozlar jadvalida mos keladigan UCB elementini topadi. Agar qurilma allaqachon band bo'lsa, u holda joriy qurilmada kutilayotgan vazifalar ro'yxatiga kiritish-chiqarish nazoratchisi tomonidan ishlov berilayotgan vazifaning dastagi joylashtiriladi. Agar qurilma bo'sh bo'lsa, u holda I / U nazoratchisi UCB dan qurilma turini aniqlaydi va agar kerak bo'lsa, qurilma to'g'ri tushunishi va ishlab chiqishi mumkin bo'lgan boshqaruv kodlari va ma'lumotlar ketma-ketligini olish imkonini beruvchi preprotsessorni ishga tushiradi . I/U boshqaruvi "dasturi" tayyor bo'lgach, I/U nazoratchisi boshqaruvni ishga tushirish bo'limidagi tegishli drayverga o'tkazadi . Drayv boshqaruv operatsiyasini ishga tushiradi, vaqt tugash hisoblagichini qayta o'rnatadi va nazoratni nazoratchiga (vazifa menejeri) qaytaradi, shunda u protsessorga bajarishga tayyor vazifani qo'yadi. Tizim odatdagidek ishlaydi, lekin kiritish-chiqarish qurilmasi unga yuborilgan buyruqni bajargandan so'ng, uzilish so'rovi signalini o'rnatadi, unga ko'ra boshqaruv uzilishlar jadvali orqali davom etish bo'limiga o'tkaziladi. Yangi buyruqni olgandan so'ng, qurilma uni qayta ishlashni boshlaydi va protsessorni boshqarish yana vazifa menejeriga o'tadi va protsessor foydali ishini davom ettiradi. Shunday qilib, vazifalarni parallel ravishda qayta ishlash olinadi, buning fonida protsessor kiritish-chiqarish operatsiyalarini boshqaradi.
    Shubhasiz, agar bu ishni markaziy protsessordan olib tashlaydigan kirish / chiqishni boshqarish uchun maxsus apparat mavjud bo'lsa (biz to'g'ridan-to'g'ri xotiraga kirish kanallari haqida gapiramiz), u holda markaziy protsessorning funktsiyalari hali ham ko'rib chiqilgan barcha bosqichlarni o'z ichiga oladi, bundan mustasno oxirgisi - kirish / chiqish operatsiyalarini bevosita boshqarish. To'g'ridan-to'g'ri xotiraga kirish kanallaridan foydalanilganda, ikkinchisi tegishli kanal dasturlarini bajaradi va markaziy protsessorni bo'shatib, uni xotira va tashqi qurilmalar o'rtasida ma'lumotlar almashinuvini bevosita boshqarishdan ozod qiladi.
    Ushbu sxemani tavsiflashda biz kanallar, kontrollerlar va qurilmalarning o'zlarini taqsimlash haqida gapirmadik. Qabul qiluvchi kanal dasturlari tafsilotlari ham olib tashlandi.

    Download 28.05 Kb.
    1   2   3   4   5   6   7




    Download 28.05 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Pinning qurilmalari, umumiy kiritish/chiqarish qurilmalari

    Download 28.05 Kb.