Toshkent axborot texnologiyalari universiteti u. R. Xamdamov, dj. B. Sultanov, S. S. Parsiyev, U. M. Abdullayev operatsion tizimlar
Download 7.33 Mb.
|
Операцион тизимлар
- Bu sahifa navigatsiya:
- Linux da jarayonlarning o‘zaro harakati
Linux da kiritish/chiqarish
Qurilmalarga yo‘naltirilgan Linux fayllar tizimi disk xotirasiga ikki kesh yordamida kiradi: ma’lumotlar virtual xotira tizimi bilan birlashgan sahifalar keshida saqlanadi; metama’lumotlar bufer keshida saqlanadi, shu bilan birga har bir kesh diskning bloki bilan indekslanadi. Linux qurilmalarni quyidagi uchta sinflarga ajratadi: blokli qurilmalar – to‘la mustaqil, ma’lumotlar o‘zgarmas kattalikdagi bloklardan ixtiyoriy foydalanishga ruxsat beradi; belgili qurilmalar – ular qatoriga barcha boshqa qurilmalarning aksariyat qismi kiradi; ular oddiy faylarning funksionalligini qo‘llab-quvvatlashi shart emas; tarmoq qurilmalari – yadro tarmoq tizimi bilan o‘zaro harakat qiladi. Linuxda qurilmalar drayverlari modulli tuzilishi 9.6- rasmda ko‘rsatilgan. 9.6- rasm. Qurilmalar drayverlarining modulli tuzilishi Blokli qurilmalar tizimdagi barcha disk qurilmalariga asosiy interfeysni ta’minlaydi. Blokli bufer keshi ikki maqsadda xizmat qiladi: faol kiritish/chiqarish uchun bufer keshi sifatida; tugallangan kiritish/chiqarish uchun kesh sifatida. So‘rovlar menejeri blokli qurilmaning drayveri yordamida bufer tarkibini o‘qish va yozishni boshqaradi. Belgili qurilmaning drayveri o‘zgarmas bloklarning ma’lumotlaridan ixtiyoriy foydalanishni qo‘llab-quvvatlamaydi. Belgili qurilmaning drayveri turli talab qilinayotgan kiritish/chiqarish amallarni bajaradigan funksiyalar to‘plamini ro‘yhatdan o‘tkazadi. Yadro belgili qurilmadan faylni o‘qish yoki yozish so‘roviga deyarli xech qanday oldindan ishlov berishni amalga oshirmaydi, lekin oddiy so‘rovni qurilmaning drayveriga uzatadi. Bundan asosiy mustasno – bu terminal qurilmalardan (TTY) foydalanishni almalga oshiruvchi belgili qurilmalar drayverlarining alohida to‘plami; ular uchun yadro standart interfeysni qo‘llab-quvvatlaydi. Linux da jarayonlarning o‘zaro harakati UNIX ga o‘xshab, Linux jarayonlarga - hodisalar ro‘y berganligi to‘g‘risida signallar yordamida xabar beradi. Signallarning cheklangan to‘plami mavjud va ular birorta axborotni olib bormaydi: jarayon faqat signal borligi haqidagi faktdan foydalanishi mumkin. Linux yadrosi, yadro rejimida bajarilayotgan jarayonlar o‘rtasida aloqa qilish uchun signallardan foydalanmaydi. Yadro ichidagi aloqa tuzilmalarini rejalashtiruvchi - states (holatlar) va wait.queue (pipe) (kutish navbati) - yordamida amalga oshiriladi. Konveyer mexanizmi (pipe) farzand jarayonga ona jarayondan aloqa kanalini meros qilib olishga imkon beradi. Konveyerning bir uchida yozilayotgan ma’lumotlar uning ikkkinchi uchida o‘qilishi mumkin. Umumiy xotira aloqa qilishning juda tez usulini ta’minlaydi; bir jarayon bilan umumiy xotiraning hududiga yozilgan barcha ma’lumotlar mazkur hududni o‘zining manzil maydonida aks etgan boshqa jarayon tomonidan o‘sha zahoti o‘qilishi mumkin. Lekin sinxronlash maqsadida, umumiy xotira boshqa birorta aloqa mexanizmlari bilan birgalikda foydalanilishi kerak. Umumiy xotiradagi obyekt umumiy xotiradagi hududlar uchun faylni chiqarish maqsadida foydalaniladi; xuddi shunday fayl xotirada aks ettiriladigan hududdan ma’lumotlarni chiqarish uchun ishlatiladi. Umumiy xotiraga aks ettirishlar sahifalar buzilishlarini ajratiladigan obyekt band qilingan xotiraning hududiga qayta yo‘naltiradi. Ajratiladigan obyektlar o‘z ichidagilarni esida qoldiradi, xattoki mazkur onda xech qanday jarayonlar ularni o‘zining virtual xotira maydonida aks ettirilmayotgan bo‘lsa ham. Download 7.33 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling