Telekommunikatsiya injiniringi va kasb ta’limi fakulteti” “O‘rnatilgan tizimlar” fanidan mustqail ish


Download 64.96 Kb.
bet3/4
Sana17.06.2023
Hajmi64.96 Kb.
#1533971
1   2   3   4
Umumiy standartlar haqida
Amaliy dasturchilar orasida dasturlashda standartlar umuman kerak emas degan fikr bor, chunki: (1) ular dastlab ma'nosiz, chunki ularning mualliflari kompyuter dasturlarini yozmaydilar; (2) ular dasturchilar tashabbusini kishanlaydilar; (3) dasturchilar har doim standartlarsiz rozi bo'lishadi. Ehtimol, ikki holatda bo'lmasa, bu fikrga e'tibor bermaslik kerak edi: (1) u amaliyotchilar tomonidan, ya'ni aniq "dasturiy ta'minotni chiqaradigan"lar tomonidan ifodalanadi; (2) Yuqoridagi fikrni ushbu maqola muallifi Internetdagi C dasturlash tili standartiga bag'ishlangan nashrlardan birida aniqlagan, shundan ma'lum bo'lishicha, bunday fikr "xalqaro miqyosda" keng tarqalgan va nafaqat mag'rur rus "super dasturchilar" orasida. "Standart" so'zi odatda biron bir moddiy narsa (standart o'lchamlar, standart elektr kuchlanish va boshqalar) bilan bog'liq, kompyuter dasturi esa nomoddiy ob'ektdir ("Yangi nomoddiy") va ehtimol nomoddiy sohadagi standartlar haqiqatan ham ma'nosizdir? Biroq, rad etuvchi misol bor. Rus tilining imlo qoidalari to'plami standartlashtirish organlari tomonidan tasdiqlanmagan bo'lsa-da, aslida standartdir. Bundan tashqari, imlo qoidalariga (yoki xohlasangiz, talablarga) qo'shimcha ravishda, sintaktik qoidalar va eng muhimi, semantika mavjud. Ikkinchisi "bolalarcha" savolni yaxshi ko'rsatib beradi: nega mushuk mushuk deb ataladi? Bu savolga aniq javob bor: chunki ota-bobolarimiz shunday rozi bo'lishgan; inglizlarning ajdodlari xuddi shu hayvon mushukini, nemislarning ajdodlarini - mushukcha va boshqalarni chaqirishga rozi bo'lishdi. Va umuman olganda, har qanday so'z yoki so'z birikmalarining ma'nosi yoki semantikasi yoki talqin qilish qoidalari kelishilgan masaladir. POSIX.1 standarti bir necha yuz (agar minglab bo'lmasa) talablarni o'z ichiga oladi; agar ulardan kamida bittasi bajarilmagan bo'lsa, tizim (yoki dastur dasturi) standartga javob bermasligi o'z-o'zidan ravshan deb hisoblanadi. Shu bilan birga, bugungi kungacha juda ko'p UNIX-sinf operatsion tizimlari va amaliy dasturlar yozilgan, shuning uchun ko'rsatilgan ma'noda to'liq muvofiqlikni talab qilish juda qiyin. Ushbu turdagi xalqaro standartni ishlab chiqishdagi qiyinchiliklarni turli xil milliy tillarning mavjudligi murakkablashtiradi. Matnlarni milliy tillarda qayta ishlashga mo'ljallangan dasturlarni unutib qo'ysak ham, deyarli har qanday amaliy dastur operator tomonidan kiritilgan diagnostik xabarlarni va / yoki matnlarni qabul qilishi kerak.

  • pOSIX.1 standartiga qat'iy rioya qilish;

  • pOSIX.1 xalqaro versiyasiga muvofiqligi;

  • pOSIX.1 ning milliy versiyasiga muvofiqligi;

  • pOSIX.1 kengaytmalarga muvofiqligi.

Ikkinchidan, ko'pgina interfeys imkoniyatlari ixtiyoriy; Standart, ixtiyoriy interfeys funktsiyalari yoki standart tomonidan belgilab qo'yilgan tartibda ishlashini yoki har doim maxsus xato kodini (ENOSYS) qaytarishini talab qiladi (bu funktsiya bajarilmaganligini anglatadi). Ixtiyoriy ob'ektlar bir nechta guruhlarga bo'linadi, ularning har biri bir nechta konfiguratsiya konstantasiga mos keladi, ular tegishli sarlavha faylida e'lon qilinadi (#define bayonoti bilan); bu funktsiya kompilyatsiya bosqichida amalga oshirilganligini aniqlashga imkon beradi.
Harakatlanishning ta'riflangan usuli POSIX mualliflari tomonidan ixtiro qilinmagan, ammo amalda uzoq vaqtdan beri qo'llanilgan; ko'plab operatsion tizimlarda tizimning o'zi yoki uning versiyasini aniqlash uchun konfiguratsiya doimiylari ishlatiladi. Va bu erda standart tubdan yangi narsalarni taklif qilmaydi, faqat mavjud amaliyotni tizimlashtiradi. Qisqacha aytganda, POSIX.1 standartlashtirish ob'ektlari nomlar va semantika. Aniqrog'i, biz quyidagilar haqida gaplashamiz.

  • Interfeys funktsiyalari nomlari. 357 funktsiya standartlashtirilgan bo'lib, 107 ta funktsiya standart C kutubxonalaridan olingan (matematik, satrlarni qayta ishlash, kirish / chiqish va hk); bu funktsiyalar POSIX.1 standartining bir qismi deb hisoblanadi, ammo ular C standartida to'liq tavsiflangan.

  • Tizim ma'lumotlari turi nomlari. Ushbu ismlarga _t qo'shimchasi qo'shilgan.

  • Sarlavha fayllarining nomlari, shuningdek ushbu fayllarning minimal tarkibi.

  • Tizim bo'yicha global o'zgaruvchilarning nomlari (masalan, errno).

  • Funktsiyani bajarish paytida o'rnatilishi mumkin bo'lgan xato kodlarining ramziy nomlari. Ushbu nomlar E harfi bilan boshlanadi (EPERM, ENOTEMPTY va boshqalar).

  • Konfiguratsiya doimiylarining nomlari. Ushbu nomlar _POSIX_ bilan qo'shilgan.

  • Signal raqamlarining ramziy nomlari; bu nomlar oldiga SIG bilan qo'shilgan. 20 ta "an'anaviy" signallardan tashqari (SIGABRT, SIGALRM va boshqalar), real vaqt signallari standartlashtirilgan bo'lib, ularning raqamlari kamida RTSIG_MAX raqamlarini o'z ichiga olgan SIGRTMIN dan SIGRTMAX gacha bo'lgan doimiy uzilish oralig'ini egallashi kerak.

  • Ba'zi funktsiyalarning individual argumentlari qiymatlariga mos keladigan ramziy nomlar (masalan, fcntl () funktsiyasining cmd argumenti F_DUPFD, F_GETFD, F_GETLK va boshqalarni qabul qilishi mumkin).

  • Makroslarning nomlari, doimiylari, bit bayroqlari, muhit o'zgaruvchilari.

Umuman olganda, standart taxminan bir xil hajmdagi ikkita katta qismdan iborat. Birinchi yarim - me'yoriy qism - standart talablari va tavsiyalarini o'z ichiga oladi (18 bo'lim), ikkinchisi - ma'lumot qismiga - normativ qismga havolalar, sharhlar va tushuntirishlar ro'yxati, sarlavha fayllari tarkibi, standartning profilining ("proektsiyasi") namunasi ( Daniya uchun), eng muhim funktsiyalarning bajarilishini o'lchash xususiyatlari va usullari, shuningdek real vaqtda fayllar bilan ishlash uchun qo'shimcha interfeys funktsiyalarining tavsifi; ushbu funktsiyalar kelajakda standartni qayta ko'rib chiqishda normativ qismga kiritilishi kutilmoqda.
"Standart qoidalarining qisqacha mazmuni" yon paneli operatsion tizim xizmatlarining qaysi turlari standart bilan qamrab olinishi haqida fikr beradi. POSIX ("posix" deb talaffuz qilinadi) - bu ko'chma operatsion tizimlar uchun interfeys. Ammo bu nimani anglatadi? Birinchidan, siz ushbu "taşınabilirlik" tushunchasi doirasini va "interfeys" tushunchasini belgilashingiz kerak. Buni bilish uchun ikkala tushunchaning ham bir-biri bilan chambarchas bog'liqligidan boshlash kerak.
"Taşınabilirlik", POSIX standarti nuqtai nazaridan, manba kodiga ishora qiladi (ushbu manbalardan tuzilgan ikkiliklarga emas). Endi "interfeys" nima ekanligini bilib olaylik. Dasturlashda "interfeys" bu sizning kodingiz kodingizning qolgan qismi bilan o'zaro ta'sir o'tkazishidir. Interfeys sizning kodingizdan ma'lum ma'lumotlarni taqdim etishini kutadi. Sizning kodingiz, o'z navbatida, interfeysdan ma'lum ma'lumotlarni olishni talab qiladi. C dagi fopen () funktsiyasi bunga yaxshi misoldir. U ma'lumotni ikki qismdan kutadi: faylga yo'l va u ochiladigan rejim. Ushbu ma'lumotlardan foydalangan holda operatsion tizim "fayllarni tavsiflovchi" deb nomlangan boshqa turdagi ma'lumotlarni qaytaradi. Fayllar tavsiflovchisi faylni o'qish yoki faylga yozish uchun ishlatilishi mumkin. Bu interfeys. Bularning barchasi shundan kelib chiqadiki, POSIX-mos keladigan kod har qanday POSIX-mos operatsion tizim uchun katta o'zgarishlarsiz tuzilishi mumkin, demak u ko'chma bo'ladi.
POSIX interfeyslari ro'yxati mavjud, ammo u juda katta bo'lsa ham, u to'liq bo'lmasligi mumkin. POSIX faqat tizim qo'ng'iroqlari bilan cheklanib qolmaydi, shuningdek, operatsion tizim chig'anoqlari (qobiqlar, aks holda buyruq satrining interfeyslari), "awk" yoki "echo" kabi tizim yordam dasturlari, tizim kutubxonalari va boshqa standartlarni belgilaydi.
POSIX standarti 1985 yilda Richard Stallman tomonidan qoralama sifatida paydo bo'ldi va keyinchalik IEEE Std 1003.-1998 sifatida rasmiylashtirildi. Nomidan ko'rinib turibdiki, 1998 yil rasmiy nashr qilingan yil edi. O'shandan beri POSIX-ga ko'p sonli qo'shimchalar va kengaytmalar chiqarildi, ular asta-sekin rasmiy ravishda IEEE 1003 deb nomlanuvchi, xalqaro deb tan olingan, SO / IEC 9945 belgisi bilan oddiygina POSIX oilaviy standarti deb nomlanadigan butun standartlar oilasiga aylanadi.
Operatsion tizim POSIX-ga mos kelishi shart emas, hatto undan ham kamroq POSIX-ning sertifikati bo'lishi kerak, ammo bu dasturchilarga kodni qayta-qayta yozmasdan dasturlar, vositalar va platformalar yaratishga imkon beradi, faqat tayyor narsaga qo'shimcha qiladi va ulanadi. Shuningdek, POSIX-ga mos keladigan kodni yozish shart emas, ammo bu operatsion tizimlar o'rtasida loyihalarning ko'chirilishini sezilarli darajada yaxshilaydi. Bu shuni anglatadiki, POSIX-ga mos keladigan kodni yozish o'z-o'zidan qimmatlidir va sizning martaba uchun juda foydali. Gnome yoki KDE kabi yirik loyihalar POSIX standartiga amal qiladi, bu ularning turli xil operatsion tizimlarda ishlashini kafolatlaydi. POSIX quyi tizimi Windows-ning so'nggi versiyalarida ham amalga oshiriladi. Linux POSIX bilan bog'liq tizim qo'ng'iroqlarining aksariyatini qo'llab-quvvatlashi bilan bir qatorda uning asosiy kengaytmasi "Linux standart bazasi" deb nomlangan bo'lib, u Linux tarqatilishini manba va ikkilik qo'llab-quvvatlash nuqtai nazaridan birlashtirishga mo'ljallangan.


Download 64.96 Kb.

Do'stlaringiz bilan baham:
1   2   3   4




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling