ICL VME - ICL VME - Wikipedia

Virtual mashina muhiti
TuzuvchiInternational Computers Limited, Fujitsu
YozilganS3, C
Ishchi holatTo'xtatildi
Dastlabki chiqarilish1970-yillarning o'rtalarida
PlatformalarICL 2900 seriyali, ICL seriyasi 39 meynframlar
Rasmiy veb-saytVME sayti

VME (Virtual mashina muhiti) a asosiy ramka operatsion tizim tomonidan ishlab chiqilgan Buyuk Britaniya kompaniya International Computers Limited (ICL, endi qismi Fujitsu guruh). Dastlab 1970-yillarda ishlab chiqilgan (as.) VME / B, keyinroq VME 2900) ICL-ni boshqarish uchun yangi 2900 seriyali mainframes, operatsion tizim endi sifatida tanilgan OpenVME o'z ichiga olgan a Unix kichik tizim va ishlaydi ICL seriyasi 39 va Trimetra[1] asosiy kompyuterlar, shuningdek sanoat standartlari x64 serverlar.[2]

Kelib chiqishi

Uchun rivojlanish dasturi Yangi diapazon tizim birlashganda boshlandi Xalqaro kompyuterlar va tabulyatorlar (AKT) va Ingliz elektr kompyuterlari 1968 yilda. Asosiy qarorlardan biri bu yangi operatsion tizimga ega bo'lishi edi. ICL doirasida bir nechta turli xil texnik-iqtisodiy va loyihaviy tadqiqotlar o'tkazildi, ulardan eng e'tiborli uchta:

  • VME / B (dastlab tizim B), 2970/2980 kabi yirik protsessorlarga mo'ljallangan va ishlab chiqarilgan Kidsgrove, Staffordshire va G'arbiy Gorton, "Manchester"
  • VME / K (dastlab System T), masalan, 2960 kabi o'rta masofadagi tizimlarga mo'ljallangan va Bracknell-da ushbu kichik protsessorlar uchun mo'ljallangan tizim D tizimidan keyin ishlab chiqarilgan. VME / K ishlab chiqildi va bozorga chiqarildi, ammo oxir-oqibat VME / B bilan almashtirildi
  • VME / T hech qachon ishga tushirilmagan, ammo "xatolarga chidamlilik" ni qo'llab-quvvatlash uchun o'ylab topilgani va Amerikaning muvaffaqiyatli startap kompaniyasining sa'y-harakatlaridan oldinroq bo'lganligi haqida eslatib o'tishni talab qiladi. Tandem kompyuterlari ushbu sohada.

VME / B bosh me'mori edi Brayan Uorboys, keyinchalik dasturiy ta'minot muhandisi professori bo'ldi Manchester universiteti. Masalan, uning dizaynida bir qator ta'sirlarni ko'rish mumkin Multics va ICL oldingi Jorj 3 operatsion tizim; ammo u aslida noldan ishlab chiqilgan.

Taqqoslashlar

VME asosan raqobatdosh deb qaraldi Tizim / 370 IBM mainframe tijorat operatsion tizimi sifatida va EBCDIC belgilarni kodlash.[3]

Oldingi operatsion tizimlarga mos keladigan hech qanday cheklovlarsiz, 1970-yillarning o'rtalarida VME o'zining arxitekturasida ko'p jihatdan zamonaviyga qaraganda zamonaviyroq Unix hosilalari (Unix 1960-yillarda ishlab chiqilgan) yoki Microsoft Windows (bu bitta foydalanuvchi kompyuterlar uchun operatsion tizim sifatida boshlangan va hali ham o'sha kelib chiqishiga xiyonat qiladi).

Nomenklatura

1974 yil oktyabr oyida New Range birinchi marta ishga tushirilganda, uning operatsion tizimi "System B" deb nomlangan. Birinchi etkazib berilguniga qadar u "VME / B" ga aylangan edi.[4]

VME / K mustaqil ravishda ishlab chiqilgan (Kempbell-Kellining so'zlariga ko'ra, "Ed Mackning xohishiga ko'ra") va keyinchalik 2960 kabi kichik meynframlar bilan birga etkazib berildi.

1980 yildagi moliyaviy inqirozdan so'ng ICLga yangi menejment (Kristofer Laydlov rais, Robb Vilmot esa boshqaruvchi direktor) kiritildi. Yangi menejmentning dastlabki qarori VME / K ni tashlash edi.[4][5] Shunday qilib 1981 yil iyulda "VME2900" ishga tushirildi: garchi mijozlar bazasiga VME / B va VME / K qo'shilishi sifatida taqdim etilgan bo'lsa-da, aslida VME / K ning bir nechta tanlangan xususiyatlari bilan payvandlangan VME / B bazasi edi. Bu "BONVME" opsiyasi shaklida kerak bo'lgan mijozlar uchun mavjud bo'lib qolgan eskirgan xususiyatlarni tashlash imkoniyatini yaratdi.

"2900" qo'shimchasi System Version 213 (SV213) da ICL 1985 yilda 39-seriyani asl 2900 seriyasining davomchisi sifatida ishga tushirganda tushirilgan; va "Open" prefiksi SV294 dan keyin qo'shilgan. VME dastlab yozilgan dasturlarni joylashtirish imkoniyatiga ega bo'ldi Unix orqali UNIX System V versiyasi 3 VME / X deb nomlangan, quyi tizim VME ostida ishlashga moslangan va ASCII belgilarni kodlash.[6][7][8]

2007 yilda Fujitsu VME versiyasini joylashtirilgan quyi tizim sifatida ishga tushirilishini e'lon qildi superNovaichida Microsoft Windows, yoki SUSE yoki Red Hat Enterprise Linux kuni x86-64 apparat.[2]

2012 yilda VME foydalanuvchi guruhi AXiS deyarli 40 yildan so'ng foydalanuvchi soni kamayganligi sababli tarqatib yuborilishini e'lon qildi.[9]

Arxitektura

VME qatlamlarning to'plami sifatida tuzilgan, har bir qatlam abstraktsiyaning turli darajalaridagi manbalarga kirish huquqiga ega. Bitta qatlam tomonidan taqdim etiladigan virtual resurslar quyida joylashgan qatlam tomonidan taqdim etilgan virtual manbalar asosida tuziladi. Har bir qatlamning resurslariga kirish Access Levels to'plami orqali boshqariladi: jarayonni ma'lum bir kirish darajasida ishlatish uchun, u shu darajaga kirishni taklif qiluvchi kirish kalitiga ega bo'lishi kerak. Ushbu kontseptsiya "himoya halqalari" ga o'xshaydi Multics. Arxitektura 16 kirish darajasiga ruxsat beradi, ulardan tashqi 6 foydalanuvchi darajasidagi kod uchun ajratilgan.

Kirish darajalariga nisbatan ortogonal ravishda operatsion tizim resurslarni Virtual Mashina ko'rinishidagi dasturlarga taqdim etadi. Virtual mashina bir nechta jarayonlarni bajarishi mumkin. Amalda VME Virtual Machine boshqa operatsion tizimlardagi jarayon tushunchasiga yaqinroq, VME jarayoni esa ko'proq ipga o'xshaydi. Virtual mashinaga resurslarni taqsimlashda stack modelidan foydalaniladi: stack qo'yilganda, bu stek darajasida ajratilgan barcha resurslar bo'shatiladi. Shuning uchun dasturdan operatsion tizimga qo'ng'iroqlar xuddi shu jarayonlar to'plamini saqlaydigan qo'ng'iroq orqali amalga oshiriladi, ammo himoya darajasi o'zgaradi; natijada tizim qo'ng'iroqlarining samaradorligi arxitekturani raqobatbardosh qiladigan xususiyatlardan biridir.

Virtual mashinalar o'rtasidagi aloqa hodisalar (nomlangan aloqa kanallari) va umumiy xotira maydonlari yordamida amalga oshiriladi. Uskuna arxitekturasi ham beradi semafora ko'rsatmalar INCT (o'sish va sinov) va TDEC (sinov va pasayish).

Fayllar va boshqa doimiy narsalar Katalog deb nomlangan omborda saqlanadi. Boshqa operatsion tizimlardan farqli o'laroq, fayl nomlash ierarxiyasi ma'lum bir lentada yoki disk hajmida joylashgan faylga bog'liq emas. Oflayn saqlashga ehtiyoj ko'proq bo'lgan kunlarda, bu fayllarning joylashuvidan qat'i nazar ularni kuzatib borishni va fayllarni nomlarini o'zgartirmasdan joylar o'rtasida ko'chirishni osonlashtirdi. Katalog fayllar bilan bir qatorda foydalanuvchilar va foydalanuvchilar guruhlari, hajmlari, qurilmalari, tarmoq ulanishlari va boshqa ko'plab manbalarni hisobga oladi. Fayllar uchun metama'lumotlarni Fayl tavsifi deb nomlangan ob'ektda saqlash mumkin. Katalog, ehtimol, keyinchalik shaxslar bilan munosabatlar bazasi deb ataladigan birinchi misol edi.

Uzilishlar tegishli jarayon uchun stakka yangi stekka ramkasini yaratish, ushbu yangi muhit yordamida uzilishni boshqarish va keyin uzilgan jarayonga qaytish uchun stekni ochish orqali ishlov beriladi.

Ish vaqtidagi istisnolar, deb nomlanadi kutilmagan holatlar, hisobot (a ga teng keladigan) ishlab chiqishi mumkin bo'lgan Object Program Error Handler (OPEH) tomonidan olingan stack iz ), yoki interaktiv ravishda yoki jurnalga yozilgan.

OMF

Tuzilgan ob'ekt kodi OMF (Object Module Format) deb nomlangan formatda saqlanadi. Ko'pgina boshqa operatsion tizimlardan farqli o'laroq, bu yuklovchi tomonidan ishlatiladigan format. Turli xil kompilyatorlar, shuningdek kommunal xizmatlar, xususan, bir nechta OMF modullaridagi kodni bitta modulga bog'laydigan Kolektor va ish vaqtida yanada samarali yuklash uchun Amender moduli mavjud. yig'ish tili sintaksisidan foydalanib, xatolarni tuzatish uchun modul.

SCL

VME uchun buyruq tili SCL (System Control Language) deb nomlanadi.

Bu ancha aniqroq yozilgan yuqori darajadagi dasturlash tili aksariyat boshqa operatsion tizimlarda mavjud bo'lgan ish nazorati yoki qobiq tillaridan ko'ra: uni kabi skript tillariga o'xshatish mumkin JavaScript, garchi uning sirt sintaksisi olingan bo'lsa ham Algol 68.

SCL konsoldan yoki a dan interfaol ravishda bir vaqtning o'zida foydalanishga ruxsat berish uchun mo'ljallangan buyruq fayli, va bajariladigan skriptlar yoki dasturlarni yaratish (til boshqa VME dasturlash tillari singari ob'ekt moduli formatida tuzilganda). SCL ichidagi protsedura deklaratsiyasi, protsedurani interaktiv terminaldan chaqirishga imkon beruvchi oddiy shakl yoki shablonning ta'rifi sifatida ishlaydi, maydonlar asosiy protsedura parametrlarining ma'lumotlar turlariga qarab tasdiqlangan yoki protsedura parametrlarining standart qiymatlaridan foydalaniladi.

O'rnatilgan buyruq so'z birikmasi buyruq fe'lidan keyin ism bilan izchil nomlash kelishuvidan foydalanadi: masalan DELETE_FILE yoki DISPLAY_LIBRARY_DETAILS. Buyruq to'liq yoki qisqartirilgan shaklda fe'l va ism uchun standart qisqartmalarni birlashtirgan holda yozilishi mumkin: masalan XF (DELETE uchun X, FILE uchun F) yoki DLBD (DISPLAY uchun D, ​​KUTUBXONA uchun LB, DETAILS uchun D) .

SCL blokli tuzilishga ega, o'zgaruvchan deklaratsiyalarning leksik doirasini belgilashda va operatsion tizimdan olingan resurslarni bo'shatish kerak bo'lgan nuqtalarni belgilashda ikkilamchi va qo'shimcha rollarni bajaradigan start / end bloklari mavjud. Tildagi o'zgaruvchilar (ular shaklidagi ilovalardan foydalanish mumkin muhit o'zgaruvchilari ) qatorlar, superstrings (qatorlar ketma-ketliklari), mantiqiy va butun sonlar kabi bir qator oddiy turlarga ega bo'lishi mumkin, shuningdek fayllar va tarmoq ulanishlari kabi tizim manbalariga havolalarni o'z ichiga olishi uchun foydalaniladi.

READ_SCL (yoki RSCL) buyrug'i yordamida SCL dasturini SCM manba kodiga qaytarib "qismlarga ajratish" mumkin. Biroq, chiqish har doim ham mukammal emas va ko'pincha foydalanuvchi aralashuvisiz qayta kompilyatsiya qilishni to'xtatadigan xatolarni o'z ichiga oladi.

Oddiy kod misolini ko'rish mumkin 99 shisha pivo veb-sayt.[10]

SCL-da yozilgan dasturni kompilyatsiya qilish uchun foydalaniladigan yanada aniqroq misol S3, quyida ko'rsatilgan. Ushbu misol Kolumbiya universiteti Amalga oshirish arxivi Kermit.[11]

Natija GT 0 + _ THEN + _ SEND_RESULT_MESSAGE (RES = RESULT, ACT = "QUIT ()") FI INT KMT_SRC, KMT_OMF, KMT_REL ASSIGN_LIBRARY (NAM = KERMIT.SOURCE, LNA = KOM = KRM = KRM = KRM = KRM = NBR = KRM = NOM = KRM = KRM = KRM = KRM = NOM , LNA = KMT_OMF) ASSIGN_LIBRARY (NAM = KERMIT.REL, LNA = KMT_REL) DELETE_FILE (NAM = * KMT_OMF.KMT_DATA_MODULE (101)) DELETE_FILE (NAM = * KMT_OM (101)) DELETE_FILE (NAM = * KMT_OMF.KMT_FH_MODULE (101)) DELETE_FILE (NAM = * KMT_OMF.KMT_HELP_MTM (101)) DELETE_FILE (NAM = * KMT_OMF.KMT_MA_LE_M_M ( )) DELETE_FILE (NAM = * KMT_OMF.KMT_PP_MODULE (101)) DELETE_FILE (NAM = * KMT_OMF.KMT_SP_MODULE (101)) DELETE_FILE (NAM = * KMT_OMF.KMT_SP_MTM_ 101 (NAM = * KMT_OMF.KMT_SP_MTM_ 101 ()) DELETE_F ILE (NAM = * KMT_REL.KERMIT (101)) DELETE_FILE (NAM = * KMT_REL.KERMIT_MODULE (101)) END S3_COMPILE_DEFAULTS (LIS = OBJECT & XREF, DIS = ERRORLINES) S3_COMTM_M_M_M_M_M_M_M_M_M_M_M_M_M_M_M_M_M_M_M_M_M_M_M_M_M_M_M_M_M_M_M_M_M_M_M_M_M_M_M_M_M_M_M_M_M_M_M_M_d_M_d_ (") = * KMT_OMF.KMT_DATA_MODULE (101)) S3_COMPILE (Kirish = * KMT_SRC.KMT_DH_MODULE (101), OMF = * KMT_OMF.KMT_DH_MODULE (101)) S3_COMPILE (Kirish = * KMT_SRC.KMT_EH_MODULE (101), OMF = * KMT_OMF.KMT_EH_MODULE ( = * KMT_SRC.KMT_HELP_MTM (101), OMF = * KMT_OMF.KMT_HELP_MTM (101)) S3_COMPILE (Kirish 101)) S3_COMPILE (Kirish = * KMT_SRC.KMT_FH_MODULE (101), OMF = * KMT_OMF.KMT_FH_MODULE (101)) NEW_MESSAGE_TEXT_MODULE (CON = * KMT_SRC.KMT_MAIN_MODULE (101), OMF = * KMT_OMF.KMT_MAIN_MODULE (101)) S3_COMPILE (INP = * KMT_SRC.KMT_PH_MODULE (101), OMF = * KMT_MP_MM_M_M_M_M_M_ 101), OMF = * KMT_OMF.KMT_PP_MODULE (101) ) S3_COMPILE (INP = * KMT_SRC.KMT_SP_MODULE (101), OMF = * KMT_OMF.KMT_SP_MODULE (101)) NEW_MESSAGE_TEXT_MODULE (CON = * KMT_SRC.KMT_SP_MTM (101) _M) (OMF) (OMF) KMT_SRC.KMT_UI_MODULE (101), OMF = * KMT_OMF.KMT_UI_MODULE (101)) COLLECT () ---- INPUT (* KMT_OMF.KMT_DATA_MODULE (101) & * KMT_OMF.KMT_DH_MOD_LE & KMT (101)) * * KMT_OMF.KMT_FH_MODULE (101) va * KMT_OMF.KMT_HELP_MTM (101) va * KMT_OMF.KMT_MAIN_MODULE (101) va * KMT_OMF.KMT_PH_MODULE (101) va * KMT_OMF.KMT_PP_MODULE (101) va * KMT_OMF.KMT_SP_MODULE (101) & * KMT_OMF .KMT_SP_MTM (101) & * KMT_OMF.KMT_UI_MODULE (101)) NEWMODULE (* KMT_REL.KERMIT_MODULE (101)) QAYTA QAYTIRISH (KERMIT_THE_FROG) LISTMODULE PERFORMAT ++++ KOMPLE _SRC.KERMIT (101), OUT = * KMT_REL.KERMIT (101), COD = Ogohlantirishlar, OPT = FIL) END

Ushbu fragmentda ko'rsatilgan buyruqlar orasida WHENEVER (xatolarni boshqarish siyosatini e'lon qiladi), ASSIGN_LIBRARY (fayl katalogi uchun mahalliy nomni bog'laydi), DELETE_FILE (Doimiy faylni vaqtincha qiladi va keyin blok oxirida o'chiriladi), S3_COMPILE (kompilyatsiya qiladi) S3-da yozilgan dastur: bu buyruq odatdagi fe'l-nom konvensiyasini buzadi), NEW_MESSAGE_TEXT_MODULE (lokalizatsiya uchun mos parametrlangan xato xabarlarini o'z ichiga olgan modulni yaratadi) va SCL dasturini ob'ekt kodiga kompilyatsiya qiluvchi COMPILE_SCL.

COLLECT buyrug'i turli xil ob'ekt kodlari modullarini bitta modulga birlashtiradi va "----" va "++++" ajratuvchilari o'rtasida SCL qatoriga kiritilgan o'z mahalliy buyruq fayli tomonidan boshqariladi. INPUT va NEWMODULE kichik buyruqlari kirish va chiqish modullarining nomlarini aniqlaydi; SUPPRESS va RETAIN to'plangan modul ichida ko'rsatilgan protseduralarning tashqi ko'rinishini aniqlaydi; va LISTMODULE chiqish modulini tavsiflovchi hisobotni talab qiladi.

Yozib oling "." ierarxik fayl nomining qismlarini ajratish uchun ishlatiladi. Etakchi yulduzcha ASSIGN_LIBRARY buyrug'i yordamida bog'langan kutubxonaning mahalliy nomini bildiradi. Fayl nomidan keyingi qavs ichidagi raqam avlod raqamidir. Operatsion tizim generatsiya raqamini har bir fayl bilan bog'laydi va agar boshqacha ko'rsatilmagan bo'lsa, fayl uchun so'rovlar eng yangi avlodni oladi. Yangi fayl yaratish sukut bo'yicha keyingi avlodni yaratadi va oldingi avlodni buzilmasdan qoldiradi; ammo ushbu dastur ataylab 101-avlodni yaratishni, ommaviy nashrni aniqlashni tanlamoqda.

Kengaytirilgan xavfsizlik variantlari

Natijada ICL kompyuter xizmatlarini Buyuk Britaniyaning davlat sektoriga, xususan xavfsizlik kabi maxsus talablarga ega bo'lgan xizmatlarga etkazib berishda jiddiy ishtirok etish OPCON CCIS, bu bozorga erta kirib kelgan edi Xavfsiz tizimlar.

VME Secure Systems arenasidagi ICL faoliyatining asosiy qismini tashkil etdi. Uning afzalligi shundaki, hozirgacha ishlab chiqilgan va noldan qurilgan so'nggi keng ko'lamli operatsion tizim, uning asosiy arxitekturasi Xavfsiz tizimni ishlab chiqish uchun zarur bo'lgan ko'plab ibtidoiylarni, xususan, Access Control Ro'yxatdan o'tish kitoblarini (ACR) cheklash uchun qo'shimcha qurilmalarni qo'llab-quvvatladi. har qanday jarayon (shu jumladan, foydalanuvchilar) tomonidan olinishi mumkin bo'lgan imtiyozlarga.

Bu Buyuk Britaniya hukumatining Markaziy hisoblash va telekommunikatsiya agentligiga olib keldi (CCTA ) moliyalashtirish Loyiha kosmik xodimi 1980-yillarning o'rtalarida ICM Defence Technology Center (DTC) uchun VME ning takomillashtirilgan xavfsizlik variantini ishlab chiqish. ICL buni bir-birini to'ldiruvchi mahsulotlar sifatida ishga tushirdi, tijorat chiqarilishi "High Security Option" (HSO) deb nomlandi va davlat sektori, shu jumladan Government Furnished Encryption (GFE) texnologiyalari, "Government Security Option" (GSO) deb nomlandi.

HSO va GSO rasmiy ravishda sinov ostida o'tkazildi CESG Oldingi bo'lganlardan biri bo'lgan Buyuk Britaniya (xavfsizlik) baholash sxemasi ITSEC va Umumiy mezonlar va shu bilan rasmiy ravishda sertifikatlangan birinchi asosiy operatsion tizim bo'ldi.

39-seriya

The 39-seriya qator Nodal Architecture-ni taqdim etdi, bu yangi dastur tarqatilgan umumiy xotira buni a ning gibridi sifatida ko'rish mumkin ko'p protsessor tizim va a klaster dizayn. Har bir mashina bir qatordan iborat tugunlar, va har bir tugun o'z buyurtma-kod protsessorini (CPU) va asosiy xotirani o'z ichiga oladi. Virtual mashinalar odatda (har qanday vaqtda) bitta tugunda joylashgan, ammo har qanday tugunda ishlash va bir tugundan ikkinchisiga ko'chirish imkoniyatiga ega. Disklar va boshqa atrof-muhit birliklari tugunlar o'rtasida taqsimlanadi. Tugunlar yuqori tezlikda ishlaydigan optik avtobus yordamida ulanadi, bu dasturlarni virtual umumiy xotira bilan ta'minlash uchun ishlatiladi. Umumiy (umumiy yoki global segmentlar) deb belgilangan xotira segmentlari har bir tugunda takrorlanadi, yangilanishlar tugunlararo tarmoq orqali uzatiladi. Ulashilmagan xotira segmentlarini (tugunli yoki mahalliy) ishlatadigan jarayonlar boshqa tugun va jarayonlardan to'liq ajratilgan holda ishlaydi.

Rivojlanish jarayoni

VME dastlab deyarli butunlay yozilgan S3, maxsus ishlab chiqilgan tizim dasturlash tili asoslangan Algol 68R (ammo, VME / K asosan SFL assambleyasi tilida yozilgan). Garchi a yuqori darajadagi til ishlatiladi, operatsion tizim asosiy apparat arxitekturasidan mustaqil ravishda ishlab chiqilmagan: aksincha, dasturiy ta'minot va apparat arxitekturasi chambarchas birlashtirilgan.

1990-yillarning boshidan boshlab, ba'zi yangi VME quyi tizimlari qisman yoki to'liq yozilgan C dasturlash tili.

Dastlabki kunlaridan boshlab VME a yordamida ishlab chiqilgan dasturiy ta'minot ombor tizimi sifatida tanilgan CADES, dastlab tomonidan ishlab chiqilgan va boshqariladi Devid Pirson (kompyuter olimi) va asosiy maqsad yordamida qurilgan IDMS ma'lumotlar bazasi. CADES shunchaki emas versiyani boshqarish tizimi kod modullari uchun: u dasturiy ta'minotning hayotiy tsiklining barcha jihatlarini talablarni olish, loyihalash metodologiyasi va spetsifikatsiyasidan tortib to maydongacha texnik xizmat ko'rsatishgacha boshqaradi. CADES VME modulini ishlab chiqishda ma'lumotlar tuzilmalari (rejimlari), konstantalari (literallar), protsessual interfeyslari va asosiy algoritmlarning alohida ta'riflarini olish uchun foydalanilgan. Ushbu komponentlarning har birining bir nechta versiyalari ('Lives') mavjud bo'lishi mumkin. Algoritmlar System Development Language (SDL) da yozilgan bo'lib, keyinchalik unga aylantirildi S3 manba[12] oldingi protsessor tomonidan. Xuddi shu modullarning bir nechta versiyalari yaratilishi mumkin.

Ilovalarni ishlab chiqish vositalari

VME bilan ta'minlangan dasturlarni ishlab chiqish vositalari ikki toifaga bo'linadi:

VME-dagi asboblar to'plami odatdagidan bir hil bo'lib, aksariyat mijozlar bir xil asosiy tillar va vositalar to'plamidan foydalanadilar. Natijada, vositalar ham juda yaxshi birlashtirilgan. Uchinchi tomon vositalari nisbatan kam taassurot qoldirdi.

Ko'p yillar davomida VME foydalanuvchilarining aksariyati ariza yozgan COBOL, odatda IDMS ma'lumotlar bazasi va TPMS bitimni qayta ishlash monitor. Boshqa dasturlash tillari kiritilgan Fortran, Paskal, ALGOL 68RS, Coral 66 va RPG2, ammo bu ozchiliklarning manfaatlariga xizmat qildi. Keyinchalik, 1980-yillarning o'rtalarida C uchun kompilyatorlar Unix quyi tizimida ham, tashqarisida ham mavjud bo'lib, asosan dasturiy ta'minotni ko'chirishga imkon beradi. relyatsion ma'lumotlar bazasi tizimlar. Qizig'i shundaki, a PL / I quyi kompilyator dasturlarni IBM dan ICL apparatlariga ko'chirishda yordam berish uchun EEC tomonidan yozilgan.

ICL-da ishlab chiqilgan kompilyatorlar umumiy arxitekturaga ega va ba'zi hollarda kod generatorlari kabi tarkibiy qismlarni bo'lishadilar. Ko'pgina kompilyatorlar ALICE [Assambleyasi tili ichki umumiy muhit] nomli moduldan foydalanganlar va ROSE deb nomlangan dastlabki kompilyatsiya qilingan kodning (P-kod) dastlabki shaklini ishlab chiqarishgan, bu esa Module Format (OMF) kompilyatsiya qilingan kutubxonalarni oraliqdagi har qanday mashinaga yuklash imkoniyatini yaratgan. .

Tizim dasturlash tillari: S3 va SFL

VME operatsion tizimining o'zi va kompilyatorlar va tranzaktsiyalarni qayta ishlash monitorlari kabi boshqa tizim dasturlarini ishlab chiqish uchun ishlatiladigan asosiy til S3. Bu ko'p jihatdan asoslangan yuqori darajadagi til Algol 68, lekin ma'lumotlar turlari va past darajadagi funktsiyalar va operatorlar bilan 2900 seriyasining me'morchiligiga mos keladi.

An assambleya tili SFL (Stizim Fnoaniqlik Lazob) ham mavjud. Bu VME / K-ni ishlab chiqish uchun ishlatilgan, uning dizaynerlari yuqori darajadagi til etarli ishlashni ta'minlay olishiga ishonchlari komil emas, shuningdek IDMS ma'lumotlar bazasi tizimi uchinchi tomon mahsuloti sifatida kelib chiqishi hisobiga. Dastlab SFL deb nomlangan Makro Assembler Programming LanguagE (MAPLE), ammo 2900 arxitekturasi yuqori darajadagi til mashinalaridan tashkil topganligi sababli ICL Marketing talabiga binoan nom o'zgartirildi. U System D uchun asboblar to'plamining bir qismi sifatida ishlab chiqilgan bo'lib, keyinchalik bekor qilindi. Ichki foydalanish uchun boshqa arxitektura (VME ostida ishlaydigan CALM-xx, PALM-xx, Paskalda ishlab chiqarilgan va har xil xostlarda ishlaydigan) uchun assotsiatorlarning turdosh oilalari ishlab chiqilgan.

S3 ham, SFL ham hech qachon oxirgi foydalanuvchi dasturlari uchun tijoratni rivojlantirish vositasi sifatida targ'ib qilinmagan, chunki odatda operatsion tizimning standart qismi sifatida etkazib berilmagan va ular o'z mahsulotlarida aniq bozorga chiqarilmagan. SFL va S3 ikkala foydalanuvchi tashkilotlari va ularga alohida ehtiyoj sezgan uchinchi shaxslar uchun imkoniyat sifatida mavjud edi.

QuickBuild

VME-dagi QuickBuild dasturini ishlab chiqish muhiti, ilovalar asosan VME muhitiga qulflangan bo'lishiga qaramay, juda muvaffaqiyatli bo'ldi. Ushbu muhit ma'lumotlar lug'ati tizimida (DDS, shuningdek, OpenDDS deb ataladi), bu keng qamrovli qurilish uchun juda muvaffaqiyatli va muvaffaqiyatli urinishdir. ombor barcha boshqa vositalarni qo'llab-quvvatlash, rivojlanish tsiklini to'liq qo'llab-quvvatlash bilan. Ma'lumotlar bazasi sxemalari va fayllar va yozuvlarning tavsiflari bilan bir qatorda lug'at hisobot va so'rovlar, ekran dizayni va 4GL kodi kabi ob'ektlarni kuzatib boradi; kabi talablarni qamrab olish darajasida turli xil modellarni qo'llab-quvvatlaydi shaxs-munosabatlar modellar va jarayon modellari.

QuickBuild 4GL ikki shaklda paketlangan:

  • Onlayn TP dasturlarini yaratish uchun ApplicationMaster
  • Ommaviy hisobot uchun ReportMaster.

Ikkalasi ham yuqori darajadagi deklarativ tillardir Jeksonning tuzilgan dasturlashi ularning dizayn paradigmasi sifatida. ApplicationMaster dasturni loyihalashga odatiy emas, chunki u foydalanuvchi seansiga bir suhbat jarayonida ishlagandek e'tibor qaratib, foydalanuvchi o'zaro ta'sirida holatni saqlab qolish murakkabligini to'liq yashiradi. 4GL va skrining dizaynerlari kabi boshqa vositalar faqat ma'lumotlar bazasi sxemalarini o'z ichiga olgan DDS lug'ati bilan ishlaganligi sababli, boshqa 4GL bilan kamdan-kam hollarda erishiladigan metama'lumotlarni qayta ishlatish etarli.

Adabiyotlar

  1. ^ http://www.fujitsu.com/downloads/EU/uk/pdflite/VME_brochure.pdf#page=3
  2. ^ a b SuperNOVA arxitekturasiga kirish (PDF) (Hisobot). Fujitsu. Yanvar 2007. Arxivlangan asl nusxasi (PDF) 2007 yil 28 sentyabrda.
  3. ^ Barri J Grem (2002). "Fujitsu OpenVME xarajatlari IBM Mainframe xarajatlari bilan taqqoslaganda" (PDF). Fujitsu xizmatlari. Olingan 28 yanvar 2014.
  4. ^ a b Cambell-Kelly, Martin (1989). ICL: Biznes va texnik tarix. Clarendon Press. ISBN  0-19-853918-5.
  5. ^ Ritsar, Maykl (2008). "Beacon 1963-7: o'z vaqtidan oldin tizim dizayni?". Kompyuterni qayta tiklash (43).
  6. ^ Deyv Beyli (powerpoint) (2000 yil 30-noyabr). "OpenVME-ning doimiy rivojlanishi". ICL. Olingan 28 yanvar 2014.
  7. ^ "ICL-ning Open VME-si Unix-ning VME-ning pastki qismiga aylandi; arizalar keladi". Kompyuter biznesini ko'rib chiqish. 1992 yil 10-fevral. Olingan 28 yanvar 2014.
  8. ^ Coates, P. (1993). "VME-X: VME-ni ochish" (PDF). ICL Texnik jurnali. ICL. ISSN  0142-1557. Olingan 7-noyabr 2015.
  9. ^ Kloutt, Garold (2012). "VME hamjamiyatiga deyarli 40 yillik sodiq xizmatidan so'ng ICL User Group tarqatib yuboriladi". AXiS. Olingan 11 iyul 2018.
  10. ^ 99 shisha pivo veb-saytidagi SCL kod misoli
  11. ^ "Kermit dasturiy ta'minotining manba kodlari arxivi". Kolumbiya Universitetining Kermit loyihasi. 2011 yil 22-avgust. Olingan 1 mart 2013.
  12. ^ Xuan F Ramil. "Evolyutsiya uchun davomiy sa'y-harakatlarni baholash" (PDF).

Manbalar

Tashqi havolalar