Umumiy til infratuzilmasi - Common Language Infrastructure

The Umumiy til infratuzilmasi (CLI) ochiq spetsifikatsiya (texnik standart) tomonidan ishlab chiqilgan Microsoft va tomonidan standartlashtirilgan ISO va Ekma[1][2] bajariladigan kodni va ish vaqti muhitini tavsiflovchi bir nechta yuqori darajadagi tillar ma'lum arxitekturalar uchun qayta yozilmasdan turli xil kompyuter platformalarida foydalanish. Bu shuni anglatadiki, bu platforma agnostikasi. The .NET Framework, .NET Core va Mono CLI dasturidir.

Umumiy nuqtai

Umumiy til infratuzilmasining (CLI) ingl.

Boshqa narsalar qatori, CLI spetsifikatsiyasi quyidagi to'rt jihatni tavsiflaydi:

The Umumiy turdagi tizim (CTS)
To'plam ma'lumotlar turlari va barcha CTS-ga mos keladigan operatsiyalar dasturlash tillari.
The Metadata
Dastur tarkibi haqida ma'lumot til-agnostik, bu tillar va vositalar o'rtasida havola qilinishi mumkin, shuning uchun ishlab chiquvchi foydalanmayotgan tilda yozilgan kod bilan ishlashni osonlashtiradi.
Umumiy til spetsifikatsiyasi (CLS)
CLI-ga mos keladigan boshqa tillar bilan ishlash uchun CLI-ga yo'naltirilgan har qanday til mos kelishi kerak bo'lgan asosiy qoidalar to'plami. CLS qoidalari Umumiy tip tizimining pastki qismini aniqlaydi.
The Virtual ijro tizimi (VES)
VES CLI-ga mos dasturlarni yuklaydi va bajaradi, metadata yordamida alohida yaratilgan kod qismlarini ish vaqtida birlashtiradi.

Barcha mos keladigan tillar Umumiy oraliq til (CIL), bu an oraliq til bu platforma apparatidan olingan. Kod bajarilganda, platformaga xos VES CIL-ni kompilyatsiya qiladi mashina tili maxsus apparat va operatsion tizimga muvofiq.

Standartlashtirish va litsenziyalash

2000 yil avgustda, Microsoft, Hewlett-Packard, Intel va boshqalar CLIni standartlashtirish uchun ishladilar. 2001 yil dekabrgacha u tomonidan tasdiqlangan Ekma, bilan ISO 2003 yil aprelidan keyin standartlashtirish.

Microsoft va uning sheriklari CLI uchun patentlarga ega. Ecma va ISO talablariga binoan, amalga oshirish uchun zarur bo'lgan barcha patentlar "oqilona va kamsitmaydigan (RAND) shartlar "" RAND litsenziyalashi uchun ba'zi bir royalti to'lovlarini talab qilish odatiy holdir, bu esa tashvishga sabab bo'lishi mumkin Mono. 2013 yil yanvar oyidan boshlab na Microsoft va na uning sheriklari CLI dasturlari uchun RAND shartlariga muvofiq patentlarni aniqlamadilar.

2009 yil iyul holatiga ko'ra[3] Microsoft qo'shildi C # va CLI ni texnik xususiyatlar ro'yxatiga Microsoft Community Promise tegishli,[4] shuning uchun har kim Microsoft-ning patent da'vosidan qo'rqmasdan standartlarning belgilangan nashrlarini xavfsiz ravishda amalga oshirishi mumkin. CLI standartini amalga oshirish uchun standartning qo'llab-quvvatlanadigan va belgilangan profillaridan biriga muvofiqligi talab qilinadi, ularning minimal darajasi yadro profilidir. Yadro profili aslida taniqli yadro kutubxonasiga nisbatan qo'llab-quvvatlanadigan juda kichik turdagi to'plamdir .NET o'rnatilishi. Shu bilan birga, CLI-ning muvofiqligi bandi yangi usullar va turlarni sinflarga qo'shish bilan bir qatorda yangi nom maydonlaridan kelib chiqib, qo'llab-quvvatlanadigan profilni kengaytirishga imkon beradi. Ammo bu interfeyslarga yangi a'zolarni qo'shishga imkon bermaydi. Bu shuni anglatadiki, agar mos keladigan profilni amalga oshirish ushbu profilda ishlashga mo'ljallangan dasturning xatti-harakatlarini o'zgartirmasa, ushbu dastur uchun maxsus yozilgan dasturlardan aniqlanmagan xatti-harakatlarga yo'l qo'ygan bo'lsa, CLI funktsiyalaridan foydalanish va kengaytirish mumkin.

2012 yilda Ecma va ISO CLI standartining yangi nashrini nashr etishdi,[1][2] hamjamiyat va'dasi bilan qoplanmagan.[4]

Amaliyotlar

  • .NET Framework Microsoft-ning CLI-ni tijorat maqsadlarida amalga oshirishi. Bu faqat Windows-ni qo'llab-quvvatlaydi. 2020 yil noyabr oyida .NET Core tomonidan almashtiriladi.
  • .NET Core .NET Framework-ning bepul va ochiq manbali ko'p platformali vorisidir MIT litsenziyasi
  • .NET Compact Framework Microsoft-ning ko'chma qurilmalar uchun CLI-ni tijorat maqsadlarida amalga oshirishidir Xbox 360.
  • .NET Micro Framework manba cheklangan qurilmalar uchun CLI-ning ochiq manbali dasturidir.
  • Mono asosan mobil va o'yinni rivojlantirish uchun foydalaniladigan CLI va unga qo'shiladigan texnologiyalarning muqobil ochiq manbali tatbiqidir.

Shuningdek qarang

Izohlar

  1. ^ a b ISO / IEC 23271: 2012 - Axborot texnologiyalari - Umumiy til infratuzilmasi (CLI)
  2. ^ a b Standart ECMA-335 - 6-nashr (2012 yil iyun)
  3. ^ "Ecma C # va CLI standartlari - 25-port: Microsoft-ning ochiq manbali hamjamiyati". 2009 yil 6-iyul. Arxivlangan asl nusxasi 2009 yil 9-iyulda. Olingan 26 sentyabr, 2009.
  4. ^ a b Qoplangan xususiyatlar | Microsoft ochiq texnik xususiyatlari

Adabiyotlar