Telekommunikatsiya injiniringi va kasb ta’limi fakulteti” “O‘rnatilgan tizimlar” fanidan mustqail ish
POSIX standartining asosiy tushunchalari
Download 64.96 Kb.
|
POSIX standartining asosiy tushunchalari
POSIX standarti, amaliy operatsion tizimlarni bitta interfeys sifatida birlashtiradigan keng turdagi standartlar to'plamidir. Bu standartlar, amaliy operatsion tizimlarida ko'plab funktsiyalarni bajarish uchun ishlatiladigan interfeyslar va bir qator xususiyliklarni aniqlash uchun keng foydalaniladi.POSIX standarti, ko'plab operatsion tizimlarida moslashtirilgan. Ushbu standartlarni amaliyotga tatbiq qilish, ko'p xil tizimlar orasida ko'chirish va o'rnatishni yanada osonlashtiradi. POSIX standarti, ko'plab tizimlar orasida dastur va ko'chirishni osonlashtiradi, shuningdek, bir-biridan farqli tizimlar orasida barcha xizmatlar, protokollar va interfeyslar kabi ko'p foydali komponentlarni keng yaxlitlaydi.POSIX standarti, Unix-ning xususiyatlari asosida yaratilgan, shuningdek, Unix operatsion tizimining bir necha yo'nalishlarini o'z ichiga oladi. POSIX standarti, shu jumladan, fayl tizimining bajarilishini aniqlash, joylashtirish va qidiruvni osonlashtiradigan funktsiyalar kabi ko'plab ko'rsatmalar to'plamini o'z ichiga oladi.Umuman olganda, POSIX standarti, amaliy operatsion tizimlarda ishlatiladigan ko'p foydali xususiyatlar va interfeyslar to'plamidir. Bu standartni tushunish va uni amaliyotda qanday foydalanishni o'rganish, dasturchilik sohasida ko'plab imkoniyatlarni beradi. Ushbu turdagi standartga ehtiyoj 1980-yillarda, UNIX operatsion tizimlari keng tarqalganda tan olingan. Ma'lum bo'lishicha, ushbu tizim birlashtirilgan tizim sifatida o'ylab topilgan bo'lsa-da, uning aniq tatbiq etilishi o'rtasidagi farqlar bir tizim uchun yozilgan amaliy dasturlarning har doim boshqasida bajarilishi mumkin emasligiga olib keldi. POSIX-ning maqsadi dasturiy ta'minotni ko'chirish muammosi deb ataladigan ushbu muammo. Standartning birinchi nashri 1988 yilda chiqarilgan (tarjimasi bor, qarang), unda dasturni ko'chirishga oid barcha xil masalalar ikki qismga bo'lingan: (1) dastur dastur interfeysi, (2) buyruq tarjimoni va yordam dasturlari (foydalanuvchi interfeysi) ); ushbu qismlar mos ravishda POSIX.1 va POSIX.2 deb nomlanadi1.Ushbu maqolada biz faqat dastur dasturi interfeysi POSIX.1 standarti haqida gaplashamiz, uning ikkinchi (va hozirgi kungacha) nashri 1996 yil 12 iyulda tasdiqlangan.Standartning axborot qismida POSIX ba'zi bir "ideal" operatsion tizim interfeysining tavsifi emas, balki UNIX operatsion tizimlarini rivojlantirishda to'plangan tajribani umumlashtirish va tizimlashtirish natijasi ekanligi ta'kidlangan. Bundan tashqari, POSIX operatsion tizimlar uchun qo'llanma yoki o'quv qo'llanma bo'lib xizmat qila olmaydi, ammo ma'lumot beruvchi qismida dasturchilarning ko'rsatmalari va dastur qismlari mavjud.Standartda faqat unda tasvirlangan interfeys funktsiyalariga e'tibor qaratib, to'laqonli operatsion tizimni yaratish mumkin emasligi aniq aytilgan. (Xususan, POSIX.1-da tarmoq va unga bog'liq interfeys funktsiyalari yoki grafik interfeys kabi muammolar ko'rib chiqilmaydi.) Ammo dasturiy ta'minotning harakatsizligi uchun moliyaviy xarajatlar va natijada interfeysni birlashtirishga bo'lgan ehtiyoj shu qadar katta bo'ladiki, aksariyat sotuvchilar afzal ko'rmoqdalar hech bo'lmaganda hech bo'lmaganda standartga ega. Shu sababli, ko'plab dasturiy ta'minot ishlab chiqaruvchilari POSIX-ga e'tibor berishadi. Bu, agar dasturlarning harakatsizligini butunlay yo'q qilishga imkon bermasa, hech bo'lmaganda dasturning harakatsiz qismini sezilarli darajada kamaytirishga imkon beradi. Avvalo, esda tutish kerakki, POSIX standarti ingliz tilida yozilgan bo'lib, u o'z mohiyatiga ko'ra noaniqlikni keltirib chiqaradi (masalan, bir xil so'z ism, sifat va fe'l bo'lishi mumkin) va "semantik tuzoqlar" deyarli har bir sahifada kutib turishadi. Bunga yaxshi misol - fantastika misolidir. Ingliz tilining ushbu xususiyatidan ajoyib tarzda foydalangan Oskar Uayldning eng taniqli asarlaridan biri - Earnest bo'lishning ahamiyati rus tilida "Earnest bo'lishning ahamiyati" nomi bilan mashhur. Biroq, inglizcha ism ikkinchi ma'noga ega: Earnest (jiddiy) - bu personajlardan birining ismi va ism boshqacha tarjima qilinishi mumkin: "Ernst bo'lish qanchalik muhim". Ruscha Serebryany familiyasi mavjud va agar Serious familiyasi bo'lsa edi, tarjima ikkala ma'no ham berilib, to'liq aniq bo'lar edi. Vaziyat standartning o'zi bilan o'xshash: Portativ operatsion tizim interfeysi. Portativ (mobil) sifati ham operatsion tizimga, ham dasturga taalluqlidir, ammo uni rus tilida qisqacha ifodalash mumkin emas, uni "mobil operatsion tizim interfeysi" yoki "amaliy dasturlarning mobilligini ta'minlovchi operatsion tizim interfeysi" deb tarjima qilish mumkin. Ikkinchi variant standartni ishlab chiquvchilarning niyatlarini yaxshiroq aks ettiradi, ammo ayni paytda birinchi ma'no yo'qoladi (tarjima paytida tanish bo'lgan birinchi variant saqlanib qoldi). Standartning asosiy matni oldida IEEE Standartlari2 so'zlarining ma'nosini ochib beradigan preambula keltirilgan. Ushbu tushuntirishlardan kelib chiqadigan bo'lsak, GOST rus tilidagi atamasidan kamida uchta semantik farq mavjud: (1) GOST qonunchilik kuchiga ega, uni buzganlik uchun javobgarlikka tortilgan deb intuitiv ravishda ko'rib chiqiladi; POSIX - bu talablar to'plami, unga rioya qilish butunlay ixtiyoriydir. (2) GOST bekor qilinmaguncha amal qiladi (ko'pchilik, ehtimol "GOST bekor qilinmagan" iborasini eshitgan); POSIX-ning muqaddimasida aytilishicha, agar standart 5 yildan beri qayta ko'rib chiqilmagan bo'lsa, demak unda muhokama qilingan masalalar o'z ahamiyatini yo'qotgan bo'lishi mumkin va uni avtomatik ravishda bekor qilish mumkin; (3) GOST noma'lum; POSIX-ning kirish qismida ushbu standartni ishlab chiqishda ishtirok etganlar ro'yxati keltirilgan, shuningdek, izohlash uchun so'rov yuborilishi mumkin bo'lgan manzil berilgan; shuningdek, har bir so'rovga javob tasdiqlash protsedurasiga bog'liqligini aytadi (boshqacha qilib aytganda, standart mualliflari javob berishdan oldin o'zaro kelishishadi). Shunday qilib, hatto Standart kabi taniqli so'zni "standart" so'zi bilan tarjima qilish sharhlarni talab qiladi. Standartning 2-bo'limi "Terminologiya va umumiy talablar" deb nomlangan. Unda nafaqat maxsus atamalarning ("jarayon" yoki "semafora" kabi) ta'riflari, balki o'zlari ravshan ko'rinadigan "kerak" yoki "may" kabi so'zlar ham mavjud. POSIX.1 interfeys standarti bo'lgani uchun uning talablari operatsion tizimga ham, dastur dasturiga ham tegishli. Aniq talab "kerak" so'zi bilan ifodalanadi, masalan: "Muvaffaqiyatli bo'lsa, link () funktsiyasi nolga qaytishi kerak." Ushbu misolda biz operatsion tizimga qo'yiladigan talab haqida gapiryapmiz: link () funktsiyasi shunday bajarilishi kerakki, u muvaffaqiyat nolini qaytaradi. "Belirtilmemiş" va "belgilanmagan" atamalari standart tanlov erkinligini ta'minlaydigan bir xil fikrni ifodalaydi, ammo bu atamalarning ma'nosi boshqacha. "Belirtilmemiş" atamasi biz ba'zi to'g'ri (harakatlar, dastur tuzilmalari va boshqalar) haqida, "aniqlanmagan" atamasi - noto'g'ri (noto'g'ri) haqida gaplashayotganimizni anglatadi. Standartning axborot qismida quyidagi tushuntirish mavjud. "Belirtilmemiş" atamasi turli xil variantlar (natijalar, funktsiya chaqiruvining natijalari va boshqalar) ma'lum deb taxmin qilinishini anglatadi va standart ularning har biriga imkon beradi; operatsion tizimning ma'lum bir amalga oshirilishida har qanday birini tanlash mumkin va bunday tizim standartga mos keladi. Amaliy dastur (qat'iyan standartga mos keladigan) har qanday variantda to'g'ri ishlaydigan tarzda yozilishi kerak; Shunday qilib, ushbu atama dastur uchun talabni bevosita ifoda etadi. Misol keltiraylik: «readdir () funktsiyasi ko'rsatgichni keyingi katalog yozuviga murojaat qiladigan tuzilishga qaytarishi kerak. "Nuqta" va "nuqta-nuqta" deb nomlangan katalog elementlarining qaytarilishi yoki qaytarilmasligi standartda belgilanmagan. " Ushbu misolda to'rtta natijalar mavjud va dastur ulardan har qanday biriga mo'ljallanganligini talab qiladi. Yana bir misol: «Belgilangan raqam bilan signalni kutishni buyuradigan sigwait () funktsiyasi bir nechta boshqaruv satrida chaqirilsa, u holda ularning bittasidan ko'p bo'lmagan signal kelganda sigwait () qaytishi kerak. Bu qanday boshqaruv oqimida sodir bo'lishi standartda belgilanmagan. " Ushbu misolda ko'proq mumkin bo'lgan natijalar bo'lishi mumkin, ammo ularning barchasi ham ma'lum va dasturga qo'yiladigan talab shundan iboratki, u har qanday natija uchun to'g'ri ishlashi kerak. "Belgilanmagan" atamasi shuni anglatadiki, hatto ko'plab natijalar ham ma'lum emas, har qanday natija mumkin, hatto halokatli (masalan, tizimning ishdan chiqishi, ma'lumotlarning yo'qolishi va boshqalar). Aslida, ushbu atama ilova uchun tegishli ma'lumotlar yoki tuzilmalardan foydalanmaslik talabini bevosita ifoda etadi. Masalan: "readdir () ning dirp argumenti hozirda ochilgan katalogga tegishli bo'lmasa, natija aniqlanmagan." Ushbu misol dasturdan readdir () funktsiya argumenti uchun faqat ochiq katalog ma'lumotnomasini almashtirishni talab qiladi; ushbu talabning buzilishi halokatli oqibatlarga olib kelishi mumkin va buning uchun javobgarlik dastur dasturchisiga tegishli. Mana yana bir misol: «Muvaffaqiyatli bo'lganida () o'qilgan baytlar sonini ifodalovchi butun sonni qaytarish kerak. Aks holda, funktsiya xato kodini errno va -1 ga qaytarishi kerak, va buf tomonidan ko'rsatilgan buferning tarkibi aniqlanmagan. " Standart o'qish () funktsiyasida xatolik yuz berganda, dastur dasturida buferdan ma'lumotlarni ishlatishni taqiqlaydi va ushbu talabni buzish oqibatlari dastur dasturchisiga yuklanadi. "Amalga oshirilgan" atamasining ma'nosi intuitivdan farq qiladi. Ma'lumki, ma'lum bir operatsion tizimda "aniqlanmagan" yoki "aniqlanmagan" natija bo'lishi mumkin emas, ba'zi bir aniq natija bexosdan olinadi. "Amalga oshirilganligi" atamasi operatsion tizim hujjatlari uchun standart talabini ifodalaydi: natija nafaqat ko'rsatilishi kerak (operatsion tizim ishlab chiqaruvchisi buni baribir bajarishi kerak bo'ladi), shuningdek, tizim hujjatlarida aniq aks etishi kerak. Download 64.96 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling