221
10.2-сурет. Компиляцияның екі кезеңді процесі
Компиляцияның екінші кезеңі бетті тікелей нақты орындаудың
алдында орын алады. Осы кезеңде CLR, процессормен орындалатын
аралық IL кодын төменгі деңгейлі өзіндік машиналық кодта
трансляциялайды.
Процесс
келесі
түрде
жүргізіледі:
.NET-
бағдарламаны орындау барысында CLR жүйелері JIT-компиляторды
белсендіреді, ол кейінірек MSIL-ді
процессордың ішкі кодына
айналдырады. Бұл кезең «нақты қажетті сәтте» (Just-In-Time) жедел
компиляциясы немесе JIT-компиляция түрінде танымал, және ол барлық
.NET қосымшалар үшін бірдей өтеді (мысалы, Windows қосымшаларын
қоса алғанда).
Осылайша, .NET компиляциясы құрастырушыларға қолайлы жағдай
жасау мен жинақылық мақсатында екі кезеңге бөлінеді. Төменгі
деңгейлі машиналық кодты құрудың алдында компиляторға
қосымшаның қандай операциялық жүйеде және қандай негізгі жабдықта
жұмыс істейтіндігін білу қажет. Компиляцияның екі кезеңінің
арқасында .NET коды бар компиляцияланған құрастыруды құруға және
оны бірден артық платформаған үлестіруге болады.
222
CLR орындау ортасы жадыны, ағындарды басқаруды,
кодты
орындауды, код қауіпсіздігін тексеруді, компиляцияны және басқа
жүйелік қызметтерді басқарады. Бұл құралдар басқарылатын код үшін
ішкі болып табылады, ол CLR ортасында орындалады. Орындау
ортасына жүгінетін кодты
басқарылатын код деп атайды, ал
жүгінбейтінді -
басқарылмайтын деп атайды
.
CLR орындау ортасы кодқа
арналған рұқсатты басқаруды
қамтамасыз етеді. Мысалы, пайдаланушылар веб-парақшаға енгізілген
орындалатын қосымшаға, оларға жеке деректерге, файлдық жүйеге
немесе желіге рұқсат алуға жол берместен, экрандағы аниммацияны
жаңғыртуға немесе дыбыс жазуға сенім білдіре алады.
CLR орындау ортасы да, жалпы типтер жүйесі (CTS) деп аталатын
қатаң типтендіру және кодты тексеру инфрақұрылымын іске асыра
отырып,
кодтың
сенімділігін
қамтамасыз
етеді.
Microsoft
корпорациясының және тәуелсіз өндірушілердің әртүрлі
тілдік
компиляторлары,
жалпы
типтер
жүйесін
қанағаттандыратын,
басқарылатын кодты құрады.
Мұнан басқа, орындаудың басқарылатын ортасы бағдарламалық
қамсыздандырумен жиі орын алатын
проблемаларды алып тастайды.
Мысалы, CLR нысандарды, олар пайдаланылмайтын кезде оларды
босата отырып, орналастыруды және нысандарға сілтемелерді
автоматты түрде басқарады. Жадыны автоматты түрде басқару
қосымшалардың екі жиі кездесетін қателерін алып тастайды: жадының
кемуі және жадыға жарамсыз сілтемелер.
CLR орындау ортасы да құрастырушылардың өнімділігін артырады.
Мысалы, бағдарламашылар бағдарламаны қарастырудың үйреншікті
тілінде жазады. Бұл кезде кластар кітапханасын және басқа
құрастырушылардың басқа тілдерде
жазған компоненттер сияқты
орындау ортасының барлық артықшылықтарын пайдаланады. Орындау
ортасы
болашақ
бағдарламалық
қамсыздандыруға
құрастырылғандығына
қарамастан,
сондай-ақ,
ол
ескірген
бағдарламалық қамсыздандыруды қолдайды. Басқарылатын және
басқарылмайтын кодтардың өзара әрекеттестігі құрастырушыларға
COM қажетті компоненттерін және DLL кітапханасын пайдалануға
мүмкіндік береді. .NET Framework платформасы орындаудың бірнеше
негізгі ортасын беріп қана қоймай, сонымен қатар тәуелсіз өндірушілер
орындаудың негізгі құралдарын құрастыруды қолданады.
Достарыңызбен бөлісу: