wait() va signal(). wait() amali jarayon zahiraga murojaat qilishni hohasa chaqiriladi. Bu tashrif buyuruvchining bo’sh stolga o’tirishga urinishiga ekvivalent. Agar bo’sh o’rin bo’lmasa, yoki semafor noldan katta bo’lsa, u holda tashrif buyuruvchi zahirani band qilishi (o’tirishi) mumkin. Agar bo’sh o’rindiq bo’lmasa, unda semaforning qiymati nol bo’ladi va jarayon semaforning qiymati noldan katta bo’lishini kutadi. signal() amali jarayon zahiradan foydalanib bo’linganidan so’ng chaqiriladi. Quyidagi sxema semaforni sanash uchun qo’llaniladi:
Tarixan, wait() amali P (nemis tilidan “Proberen” – urinib ko’rish) deb nomlangan, signal() esa V (nemis tilidan “Verhogen” – oshirish) deb belgilangan.
Kamchiliklari:
1. bandlikda kutish – semafor jarayonida davomli sikl;
2. spinlock - bandlikda kurish amalga oshirilganda markaziy prosessorni (CPU) band qiladi.
Semaphore (ing. Semaphore) - bu hisoblagichga asoslanib, ikkita atom operatsiyasi bajarilishi mumkin bo'lgan jarayonlar va oqimlarning sinxronlashuvi: qiymatni bittaga oshirish va kamaytirish, shu bilan hisoblagichning nol qiymatiga pasayish jarayonga taqiq qo`yiladi. U yanada murakkab sinxronizatsiya mexanizmlarini yaratish uchun ishlatiladi va parallel vazifalarni sinxronlashtirishda, umumiy xotira orqali ma'lumotlarni uzatishda, tanqidiy bo'limlarni himoya qilishda, shuningdek uskunaga kirishni boshqarish uchun fo`ydalaniladi.
Linux yadrosiga asoslangan o‘rnatilgan operatsion tizimlar maishiy texnika o‘rnatilgan tizimlarida foydalaniladi, masalan telepristavkalar, smart TVlar, shaxsiy video yozish qurilmalarida, tarmoq qurilmalarida (marshrutizatorlar, kommutatorlar), mashinani boshqarishda, sanoatni avtomatlashtirishda, navigatsiya qurilmalarida, kosmik kemalar uchishining dasturiy ta’minotida va tibbiy qurilmalarda. Ularning universalligi tufayli Linux yadrosiga asoslangan operatsion tizimlar sensorli o‘rnatilgan qurilmalarda, xususan, smartfonlarda va tabletlarda foydalaniladi.
O‘rnatilgan Linux operatsion tizimining afzalligini o‘z ichiga bir necha etkazib beruvchilar tomonidan qo‘llab-quvvatlanishi bilan ko‘rsatish mumkin. Bundan tashqari, bunday operatsion tizimlarda mualliflik yoki litsenzion to‘lovlar yo‘q, barqaror yadroga ega, boshlang‘ich kodni o‘qish, o‘zgartirish va qayta kompilyatsiya qilish imkoniyatlari bor. Texnik jihatdan kamchilik sifatida etarlicha katta xotiraning talab etilishidir (yadro va rut fayl tizimi).
O‘rnatilgan Linux operatsion tizimlarga quyidagilarni misol qilib keltirish mumkin:
• Android
• Firefox OS
• webOS
• iOS
• Symbian OS
• Windows CE
• Pocket PC
• Windows Mobile
Dostları ilə paylaş: |