OT modulli arxitekturasi. Tizimni strukturalashtirishning yana bir yondashuvi uni modullarga bo‘lishni o‘z ichiga oladi, ular bir-birining ustiga qatlam asosida yotqiziladi (9.4-rasm).
Har bir modul boshqa modullar tomonidan chaqirilishi mumkin bo‘lgan funksiyalar to‘plamini taqdim etadi. Muayyan qatlamda joylashgan kod faqat pastki qatlamlardan kodni chaqiradi. Ba’zi RV operatsion tizimlarda ko‘p qatlamlari apparat ta’minoti tomonidan buyruqlar beriladi (protsessor rejimlari iyerarxiyasidan foydalanish orqali) [29, 31, 32].
137
Amaliy dastur Amaliy dastur
Foydalanuvchi ish tartibi
Yadro ish tartibi Tizimli xizmatlar
Fayl tizimi
Xotira va kiritish/chiqarish qurilmalarini boshqarish
Jarayonlarni rejalashtirish
Qurilmalar
9.4-rasm. Operatsion tizimlarning modulli tuzilishi
Qatlamli OTni tashkil qilishning afzalliklaridan biri shundaki, har bir qatlamning kodi faqat asosiy qatlamlarning kerakli interfeyslariga (va ma’lumotlar tuzilmalariga) kirish huquqini oladi; shunday qilib, cheksiz quvvatga ega kod miqdori kamayadi.
Bundan tashqari, ushbu tuzilma OTni xatoliklarni bartaraf qilish paytida eng past qatlamdan boshlashga va butun tizim to‘g‘ri ishlamaguniga qadar birma-bir qatlam qo‘shishga imkon beradi. Qatlamli tuzilish tizimning kengayishini ham osonlashtiradi: qolgan qismlarga ta’sir qilmasdan istalgan darajani to‘liq almashtirish imkoni mavjud.
To‘liq monolitik yechimlardan farqli o‘laroq, bunday arxitekturadagi foydalanuvchi jarayonlari yadrodan ajratilgan va cheklangan tizim so‘rovlari to‘plami orqali uning funksiyalariga kirish huquqiga ega. Shu bilan birga, ko‘plab xizmatlar yadro kontekstida ishlaydi - masalan, protokollarni, fayl tizimlarini, qurilmalar drayverlarini amalga oshirish. Modulli tuzilishga ega operatsion
138
tizimlarga Linux yadrosi va uning hosilalari (shu jumladan, Android) asosidagi OT,
shuningdek Windows, FreeBSD, RTEMS va boshqalarga misol keltirish mumkin. “Mijoz-server” arxitekturasi (mikroyadro). Operatsion tizimni
shakllantirishdagi uchinchi yondashuv - bu “mijoz-server” modeli [31, 35]. Uning g‘oyasi OTni bir nechta jarayonlarga ajratish bo‘lib, ularning har biri bitta xizmat to‘plamini amalga oshiradi: masalan, xotira taqsimoti, jarayon yaratish yoki jarayonni rejalashtirish (9.5-rasm).
Mijoz ilovasi
Jarayonlar serveri
Xotira serveri
Fayllar serveri
Tarmoq serveri
Displey serveri
Foydalanuvchi ish tartibi
Yadro ish tartibi
Mikroyadro
Qurilmalar
9.5-rasm. Mikroyadroga asoslangan operatsion tizim tuzilishi
Har bir server foydalanuvchi rejimida ishlaydi, biron bir mijoz unga xizmat ko‘rsatish uchun murojaat qilganligini tekshiradi. Boshqa bir OT komponentasi yoki dastur bo‘lishi mumkin bo‘lgan mijoz serverga xabar yuborish orqali xizmatni bajarilishini so‘raydi. Operatsion tizimning yadrosi (yoki mikroyadro) xabarni serverga yetkazib beradi; u so‘ralgan harakatlarni amalga oshiradi, shundan so‘ng yadro natijalarni mijozga boshqa xabar shaklida qaytaradi.
Mijoz-server yondashuvi kichik, o‘zini o‘zi ta’minlaydigan tarkibiy qismlardan tashkil topgan OTga olib keladi. Barcha serverlar alohida foydalanuvchi
rejimi jarayonlari sifatida ishlaganligi sababli, ulardan bittasi ishdan chiqishi (va 139
ehtimol qayta ishga tushirilishi) OTning qolgan qismini ishdan chiqarmaydi.
Bundan tashqari, turli xil serverlar ko‘p protsessorli kompyuterning turli xil protsessorlarida yoki hattoki har xil kompyuterlarda ishlashlari mumkin, bu esa operatsion tizimni taqsimlangan hisoblash muhitlariga moslashtiradi.
OTlar bozorida turli xil mikroyadrolar va mikroyadroli operatsion tizimlar keng tarqalgan (QNX, INTEGRITY RTOS, Genode, L4 yadrosi).
Aralash (gibrid) arxitektura. Haqiqiy operatsion tizimlarda bir vaqtning o‘zida bir nechta modellardan foydalaniladi. Masalan, Windows NT tuzilmasi (9.6-rasm), ham qatlamli, ham mijoz-server modeli elementlariga ega. Windows NTning yadro rejimidagi qismi NT (NT executive) ijrochi deb nomlanadi.
Mijoz Mijoz Mijoz win32 OS/2 POSIX
Win32 tizimosti
OS/2 tizimosti
POSIX tizimosti
Foydalanuvchi ish tartibi
Yadro ish tartibi
Bajaruvchi tizim
Yadro
Qurilmalar
9.6-rasm. Aralash (gibrid) arxitektura operatsion tizimining tuzilishi
U virtual xotirani boshqarish, obyektlarni (resurslarni) boshqarish, kiritish/chiqarish va fayl tizimlarini (tarmoq drayverlarini ham o‘z ichiga olgan holda), ruxsatsiz kirishdan himoya qilish tizimining jarayonlari va fragmentlari bilan o‘zaro aloqalarni amalga oshiradigan tarkibiy qismlar to‘plamini o‘z ichiga oladi. Ushbu komponentlar bir-biri bilan qatlam sifatida emas, balki asosan modul sifatida ta’sir o‘tkazadilar. Har bir komponent boshqalarni aniq belgilangan ichki protseduralar to‘plami orqali chaqiradi.
140
Shu bilan birga, qatlamli modeli NT ijro tizimining kiritish/chiqarish tizimida
va ijro etuvchi tizimning eng past darajadagi qismlarida: NT yadrosi (NT kernel) va apparatning a qatlami (hardware abstraction layer, HAL) qo‘llaniladi. NT tizimi ijrochilari barcha boshqa tarkibiy qismlari bu ikkilasining ustgi qatlamida joylashadi. NT yadrosi mikroyadro mijoz-server operatsion tizimlarida uchraydigan operatsion tizimning past darajadagi funksiyalarini bajaradi - masalan, oqimlarni rejalashtirish, uzilishlar va istisnolardan foydalanish, shuningdek ko‘p protsessorli sinxronlash.
Shuningdek, u yuqori darajadagi konstruksiyalarni amalga oshirish uchun ijro tizimining qolgan qismlari tomonidan qo‘llaniladigan protseduralar va asosiy obyektlar to‘plamini taqdim etadi. Yadro ostida dinamik bog‘lanish kutubxonasi (dynamic-link library, DLL) joylashgan. HAL - bu yadroni va NT ijro etish tizimining boshqa qismlarini platformaga xos bo‘lgan apparatdan ajratib turadigan kod qatlami. HAL to‘g‘ridan-to‘g‘ri apparat bilan ishlaydi [22, 30].
Gibrid yadroli OT arxitekturasi monolit va mikroyadro arxitekturasining xususiyatlarini birlashtiradi. Bu ba’zi bir o‘zgartirilgan mikroyadro shaklidagi oraliq yechim bo‘lib, bu ishni tezlashtirish uchun yadro sohasida OT modullarini ishga tushirishga imkon beradi. Bunday gibrid yadroga ega operatsion tizimlar monolit yadro kodini iloji boricha yaxshi sozlangan holda, mikroyadro arxitekturasining ravshan afzalliklaridan foydalanish urinishlaridan kelib chiqqan.
Do'stlaringiz bilan baham: |