O’natilgan Operatsion tizimlar (Embedded linux)
-10- Operatsion tizimlarda semaforalar
Download 15.03 Kb.
|
1 2
Bog'liqO’natilgan Operatsion tizimlar Embedded linux fayllar org 1
-10-
Operatsion tizimlarda semaforalar Informatika fanida semafor - bu bir nechta jarayonlar orqali umumiy manbaga kirishni boshqarish va bir vaqtning o'zida ko'p vazifali operatsion tizim kabi muhim tizim muammolaridan qochish uchun ishlatiladigan o'zgaruvchan yoki mavhum ma'lumotlar turi. Arzimas semafor-bu dasturchi tomonidan aniqlangan shartlarga qarab o'zgartiriladigan (masalan, kattalashtirilgan yoki kamaytirilgan yoki o'zgartirilgan) oddiy o'zgaruvchi. Haqiqiy tizimda ishlatilgan semafor haqida o'ylashning foydali usuli-bu ma'lum bir manbaning qancha birligi borligini qayd etish, bu yozuvni xavfsiz tarzda sozlash operatsiyalari (ya'ni, poyga sharoitidan qochish). sotib oling yoki ozod bo'ling va agar kerak bo'lsa, resurs birligi mavjud bo'lguncha kuting. Semaforlar - poyga sharoitining oldini olishda foydali vosita; ammo, ulardan foydalanish hech qachon dasturning bu muammolardan xoli bo'lishining kafolati emas. Resurslarni o'zboshimchalik bilan sanashga ruxsat beradigan semaforlar sanash semaforlari, 0 va 1 qiymatlari bilan cheklangan semaforalar (yoki qulflangan/qulflanmagan, mavjud emas/mavjud) ikkilik semaforlar deb ataladi va qulflarni amalga oshirish uchun ishlatiladi. Semafor kontseptsiyasi Gollandiyalik kompyuter olimi Edsger Dijkstra tomonidan 1962 yoki 1963 yilda , Dijkstra va uning jamoasi Electrologica X8 uchun operatsion tizimni ishlab chiqish paytida ixtiro qilingan. Oxir - oqibat, bu tizim ko'p dasturli tizim deb nomlandi. Aytaylik, kutubxonada 10 ta bir xil o'quv xonasi mavjud bo'lib, ular bir vaqtning o'zida bitta talaba tomonidan ishlatilishi mumkin. Talabalar, agar ular o'qish xonasidan foydalanmoqchi bo'lsalar, old stoldan xona so'rashi kerak. Agar bo'sh xonalar bo'lmasa, talabalar kimdir xonani tark etmaguncha stolda kutishadi. Talaba xonadan foydalanishni tugatgandan so'ng, talaba stolga qaytib, bitta xona bo'shab qolganligini ko'rsatishi kerak. Eng sodda tarzda, reseptsiya xodimi faqat bo'sh xonalar sonini biladi, ular faqat to'g'ri bilishadi, agar hamma talabalar o'z xonalarini ro'yxatdan o'tganlarida ishlatsalar va ularni tugatganlarida qaytarib berishsa. . Talaba xonani so'raganda, xizmatchi bu raqamni kamaytiradi. Talaba xonani bo'shatganda, xizmatchi bu raqamni oshiradi. Xonani xohlagancha ishlatish mumkin, shuning uchun xonalarni oldindan bron qilish mumkin emas. Bu stsenariyda old stolning hisoblagichi hisoblash semaforini, xonalar manba, talabalar esa jarayonlarni/iplarni ifodalaydi. Bu stsenariyda semafor qiymati dastlab 10, hamma xonalar bo'sh. Talaba xonani so'raganda, ularga ruxsat beriladi va semafor qiymati 9 ga o'zgartiriladi. Keyingi talaba kelganidan keyin u 8 ga tushadi, keyin 7 ga va hokazo. Agar kimdir xona so'rasa va semaforning joriy qiymati 0 bo'lsa, ular xona bo'shatilguncha kutishga majbur bo'ladi (hisob 0dan oshganda). Agar xonalardan biri qo'yib yuborilgan bo'lsa -da, lekin bir nechta talaba kutayotgan bo'lsa, u holda xonani egallaydiganni tanlash uchun har qanday usuldan foydalanish mumkin (masalan, FIFO yoki tanga aylantirish). Va, albatta, talaba o'z xonasini bo'shatib yuborgani haqida yozuvchiga xabar berishi kerak, aks holda bunday talaba xonadan chiqib ketayotganda noqulay vaziyat yuzaga kelishi mumkin (ular darsliklarini yig'ishtirmoqda va hokazo). va boshqa talaba xonadan chiqib ketishidan oldin kiradi. Resurslar havzasiga kirishni boshqarish uchun foydalanilganda, semafor qancha resurslar bo'sh ekanligini kuzatadi; u qaysi manbalar tekin ekanligini kuzatmaydi. Muayyan erkin resursni tanlash uchun boshqa mexanizm (ehtimol ko'proq semaforlarni o'z ichiga olishi mumkin) talab qilinishi mumkin. Paradigma ayniqsa kuchli, chunki semaforlar soni turli xil harakatlar uchun foydali tetik bo'lishi mumkin. Yuqoridagi kutubxonachi, o'quvchilar qolmaganida, o'quv zalining chiroqlarini o'chirib qo'yishi yoki ko'p xonalar band bo'lganda xonalar juda bandligini ko'rsatuvchi belgi qo'yishi mumkin. Protokolning muvaffaqiyatli bo'lishi uchun ilovalar uni to'g'ri bajarilishini talab qiladi. Hatto bitta jarayon ham noto'g'ri bajarilsa, adolat va xavfsizlik buzilishi mumkin (bu dastur sekin harakat qilishi, tartibsiz ishlashi, osib qo'yilishi yoki ishdan chiqishi mumkin). Bunga quyidagilar kiradi: *manbani so'rash va uni chiqarishni unutish; *hech qachon so'ralmagan resursni chiqarish; *resursni keraksiz uzoq vaqt ushlab turish; *resursni avval talab qilmasdan ishlatish (yoki uni chiqargandan keyin). Agar barcha jarayonlar ushbu qoidalarga amal qilsa ham, har xil semaforlar tomonidan boshqariladigan turli xil manbalar mavjud bo'lganda va jarayonlar bir vaqtning o'zida bir nechta resurslardan foydalanishi kerak bo'lganda, ko'p manbali tiqilib qolishi mumkin. http://fayllar.org Download 15.03 Kb. Do'stlaringiz bilan baham: |
1 2
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling