Wednesday, 19 November 2025

Ifloslangan havoda yugurish bilan shug’ullanish: xavflar, maslahatlar va Toshkentdagi vaziyat

 

Bugun(19.11.2025) Toshkentning havo ifloslanish darajasi — AQI 200–250oralig’ida bo’ldi

Yugurish paytida o‘pka orqali o‘tadigan havo hajmi bir necha baravar ortadi. Shuning uchun, yugurish tezlashgan sari o‘pkaga kiradigan zararli zarrachalar ham ko‘payadi va ular qon orqali tanaga kiradi. Natijada yurak va o‘pka tizimida o‘tkir yallig‘lanish xavfi oshadi. Agar bunday zo‘riqish muntazam takrorlansa, bu holat surunkali kasalliklarga olib kelishi mumkin

Toshkent va ko’pgina shaharlarimiz havo ifloslanishi darajasi yuqori bo‘lgan bir paytda, sevimli mashg‘ulot — yugurishni davom ettirish masalasi ko‘pchilikni o‘ylantirishi tabiiy. Zero, harakat — bu hayot, degan naqlni takrorlar ekanmiz, avvalo yashashimiz uchun bizga havo kerakligini, va u shunchaki havo emas, balki sog‘liqqa xavf solmaydigan va nafas olish uchun yoqimli bo‘lgan havo bo‘lishi zarurligini unutmaslik lozim.

Katta shaharlar va sanoatlashgan hududlar aholisi atrof-muhitdagi havo sifatiga katta ta’sir ko‘rsata olmaydi — avtomobillar harakatlanadi, zavod quvurlari yoki parniklar osmonga tutun chiqaradi. Ammo siz kamida havo sifati bizning holatimizga va sport natijalarimizga qanday ta’sir qilishini biroz ko‘proq bilishingiz muhim. Ayniqsa, yuguruvchilar uchun bu ma’lumotlar katta amaliy ahamiyatga ega.

Havo sifatining xavfli indeksi (AIQ) nima?

Sog‘lom odam uchun xavfsiz havo sifati indeksi (AIQ) darajasi — 100–150 dan oshmasligi kerak. Sog‘lig‘i zaif odamlarga AIQ ko‘rsatkichi 100 ga yetganda ko‘chaga chiqish tavsiya etilmaydi. Shu bilan birga, AIQ 200 dan yuqori bo‘lishi mutlaqo barcha uchun xavfli hisoblanadi.

AIQ sakkizta ifloslantiruvchi moddaning konsentratsiyasini ko‘rsatadi: yer yuzasi ozoni, qattiq zarrachalar bilan ifloslanish (PM 2,5 va PM 10), is gazi, oltingugurt dioksidi va azot dioksidi, ammiak, qo‘rg‘oshin.

Sog‘liq muammolarini odatda havodagi xafli zarrachalar (PM 2,5) keltirib chiqaradi. Ularning o‘lchami juda kichik: mayda qum zarrachasidan tortib diametri 2,5 mikrometrdan (PM 2,5) kichik bo‘lgan zarrachagacha. Bu mikroskopik zarrachalar shu qadar kichikki, ular organizmning himoya mexanizmlaridan o‘tib keta oladi. Inson chuqur nafas olganda, ular o‘pka ichiga kirib, qon oqimiga o‘tadi. Bularning barchasi yig‘ilib boruvchi (kumulyativ) ta’sirga ega bo‘lib, jiddiy sog‘liq muammolarini darhol emas, sekin asta vaqt o’tib keltirib chiqarishi mumkin.

Toshkentdagi vaziyat va yugurishdagi xavflar

Afsuski, ayni kunlarda Toshkent shahri havo ifloslanishi bo‘yicha dunyoning yuqori o‘rinlarida turibdi. Qish mavsumida isitish tizimlari, parniklar, avtomobillar va shamolning sustligi sababli, ayniqsa, PM 2,5 zarrachalari miqdori keskin ortadi.

Bunday sharoitda, ayniqsa, tirband prospektlar yaqinida yugurganingizda, siz 10–20 barobar ko‘proq havo yutasiz. Bunday havodan to’g’ridan to’g’ri, himoyasiz chuqur nafas olish esa chang va zaharli moddalarni o‘pkaning eng chekka qismlariga olib boradi. Ular orasida azot dioksidi, benzol, og‘ir metall zarralari bo‘lib, ular tomoqning qichishishi, yo‘tal yoki ko‘krakda og‘riqni keltirib chiqarishi mumkin.

Havo sifati past hududlarda yugurish nimalarga olib kelishi mumkin?

Tadqiqotchilarning aniqlashicha, ifloslangan havo vaqt o‘tishi bilan immunitet tizimini zaiflashtirishi va yurak, o‘pka kasalliklari, astma va semirish xavfini oshirishi mumkin. Vaqtida e’tibor qilinmasa ular surunkali shaklga o’tishi mumkin.

Yugurish paytida havo sog‘liq uchun foydali emasligini maxsus uskunalarsiz quyidagi belgilar orqali ham tushunishingiz mumkin:

  • Nafas yo‘llarining qichishishi, yo‘tal tutishlari va tomoqning qaqrashi paydo bo‘lishi;
  • Nafas olishning qiyinlashishi va hansirashning yuzaga kelishi;
  • Bosh aylanishi va ko‘krakda “siqilish” hissi;
  • Chidamlilikning pasayishi;
  • Yurak urish tezligining (puls) ortishi;
  • Nafas olish bilan bog‘liq kasalliklarning (jumladan, astma, bronxit) qo‘zgalishi;

Qiziqarli fakt: Ifloslangan havo sharoitida yugurish kabi yuqori intensivlikdagi mashg‘ulotlarga nisbatan, piyoda yurish kabi past intensivlikdagi mashqlar kamroq xavfli hisoblanadi. Nafas qanchalik tekis bo‘lsa, inson shuncha kam miqdorda zaharli havoni yutadi.

Yuguruvchilar uchun xavfni kamaytirish bo‘yicha maslahatlar

Havo sifati ideal bo‘lmagan sharoitda sog‘liqqa ziyon yetkazmasdan yugurishni davom ettirish uchun bir nechta oddiy tavsiyalar mavjud. Ularning har birini bajarish qiyin, ammo sanab o‘tilganlardan kamida bittasini nazorat ostida ushlab turish mumkin va bunda indivudial yodashish lozim:

1. Mintaqangiz sharoitlarini yaxshi bilish

Havo ifloslanishi darajasini doimiy kuzatib boring (Masan https://www.iqair.com/air-quality-map/uzbekistan/toshkent-shahri/tashkent orqali). Hozirda Toshkent uchun ham AIQ ko‘rsatkichlarini ko‘rsatadigan maxsus mobil ilovalar (masalan, AirVisual, BreezoMeter) mavjud. Yugurishga chiqishdan oldin bu ko‘rsatkichga e’tibor bering.

  • AIQ 100–150 oralig‘ida: Intensivlikni pasaytirish, marshrutni o‘zgartirish, daraxtlar ko’proq joylarda yugurish tavsiya etiladi.
  • AIQ 150+ dan yuqori: Ko‘chada yugurishni butunlay bekor qilish, sport zal yoki uyda yugurish yo‘lakchasidan foydalanish tavsiya etiladi.

2. Tirbandlik vaqtida yoki havo ifloslanish darajasi juda yuqori vaqtlarda yugurmaslik

Havo sifati tirbandlik soatlari (ertalab 8:00–10:00 va kechqurun 17:00–20:00) davrida, yo‘lda transport ko‘payganda, sezilarli darajada yomonlashadi. Iloji bo‘lsa, ertalab juda erta (quyosh chiqishidan oldin) yoki kechqurun kechroq yugurishga harakat qiling. Bu, ayniqsa, shovqinli prospektlar va magistrallar yaqinidagi shahar hududlariga tegishli.

3. Marshrutni ehtiyotkorlik bilan tanlash

Sanoat zonalarida, shuningdek, shahar markazida yoki yirik avtomagistrallar va chorrahalardan 300 metrdan kam masofada yugurmang. Bu maslahatga amal qilish sanoat shaharlarida yashovchilar uchun qiyin, ammo agar imkoningiz bo‘lsa, park yo‘llari, xiyobonlar va daraxtzorlarni tanlang. Daraxtlar havo filtr vazifasini bajaradi va zarrachalarni qisman ushlab qoladi.

4. Yomg‘irdan qo‘rqmaslik

Yomg‘ir havo ifloslanishini yumshatishi mumkin, shuning uchun yengil yomg‘irda yugurish ko‘pincha foydali va yoqimli bo‘ladi. Ha, ho‘l bo‘lish xavfi bor, ammo o‘pkalaringiz sizga minnatdorchilik bildiradi. Kuchli shamol, momaqaldiroq va muzlamalar bundan mustasno.

5. Yugurishga muqobil variantlarni qidirish

Havo ifloslanishi darajasi o‘ta xavfli bo‘lgan kunlarda yugurish mashg‘ulotlari sog‘liq uchun xavfli bo‘lib qoladi. Mashqlarni butunlay to‘xtatish formani yo’qotishga olib kelishi mumkin, bunday qilish shart emas, chunki yugurish yagona variant emas. Siz aerobik kross-mashg‘ulotlarni bajarishingiz yoki kuch mashqlari bilan shug‘ullanishingiz, moslashuvchanlik va statodinamikani rivojlantirish uchun mashqlarni qilishingiz mumkin. Yoki oddiygina yugurish yo‘lakchalaridan (begovoy dorojka) foydalaning. Qishgi sezon vaqtida eng maqbuli crosfit bilan shug’ullanish

Niqoblar haqida: foyda va noqulaylik

Ayrim shifokorlar havodagi zaharli moddalar uchun to‘siq bo‘lib xizmat qiladigan maxsus yugurish niqoblarini tavsiya qilishadi (masalan N95 kabi). Ammo yugurganlar bilishadi — niqobda nafas olish qiyin, burundan suv oqadi, yuz kondensat bilan qoplanadi va bunday yugurish butunlay noqulaylikka aylanadi.

Shunga qaramay: Agar havo AIQ 200 dan yuqori bo‘lsa, niqob (ayniqsa, PM 2,5 filtrli N95/N99 respirator) past intensivlikda yugurganda foydali bo‘lishi mumkin, chunki u zarrachalarning eng xavfli qismini o‘pkaga kirishiga to‘sqinlik qiladi. Lekin bunday sharoitda eng yaxshi yechim — ko‘chada yugurmaslikdir.

Xulosa

Ko‘pchilik ekologiya haqida ko‘p o‘ylashga arzimaydi deb hisoblaydi. Shu bilan birga, sayyorada havo harorati ko‘tarilmoqda, iqlim o‘zgarmoqda, ba’zi sanoat shaharlari odamlar uchun xavfli bo‘lib bormoqda. Bizning qiladigan ishimiz — o‘z tanamiz haqida ko‘proq bilish, keraksiz xavflardan qochish, o‘zimizga g‘amxo‘rlik qilish va sevimli yugurish mashg‘ulotlari foyda va quvonch keltirishini ta’minlashdir.

Sport bilan aqllilik bilan shug‘ullanishda davom eting, o’zingizni hamisha ehtiyot qiling va sog‘-salomat bo‘ling!

Tuesday, 18 November 2025

Yugurishda motivatsiya va intizom(disiplina)ning o‘rni

 

Yugurish — bu shunchaki jismoniy faoliyat emas; bu o‘z-o‘zini anglash va shaxsiy rivojlanish sari qilingan sayohat. Ko‘pincha, biz yugurishdagi intizomni qattiqqo‘l, shafqatsiz majburiyat deb o‘ylaymiz, ammo aslida u unday emas. Yugurishdagi intizom mukammallik haqida emas, balki tanlov haqidadir — har qanday holatda ham, yugurishni tanlash haqida. Bu chuqur haqiqat bo‘lib, u nafaqat yugurish mashg‘ulotlarimizning, balki butun hayotimizning sifatini belgilaydi. Intizom qachonki biz o‘zimizni charchagan, diqqatimiz tarqoq yoki mashg‘ulotni qoldirishni eng oson yo‘l deb his qilganimizda va oxir oqibat baribir yugurishga qaror qilganimizda namoyon bo‘ladi. Bu — motivatsiya yo‘q bo‘lgan paytda ham yugurishga undaydigan sokin qarordir.

Motivatsiya va intizom qanday farqlanadi?

Motivatsiya — bu shunchaki bir hissiyot, go’zal va jo’shqin, xuddi bayramdagi mushakbozlikka o’xshaydi. U qalbimizni yondiradi, bizga ulkan kuch beradi va butun dunyoni o’zgartira oladiganday his qilishimizga sabab bo’ladi. Aynan shu tuyg’u bizni yangi ishga, sport zaliga yoki kitobning birinchi sahifasiga yetaklaydi. Ammo u o’tkinchi.

Motivatsiya, shamol kabi, kun kelib tinadi. Ertalab turganingizda, o’sha dastlabki ishtiyoqning uzoqlashganini, charchoq va zerikish esa yaqinlashganini his qilasiz. Ana shu paytda barcha boshlangan ishlar to’xtab qolish xavfi ostida turadi.

Motivatsiya bizga nima uchun qilishimiz kerakligini eslatadi, ammo intizom bizga qanday qilishimiz kerakligini aytadi.

Intizom esa mutlaqo boshqa narsa. U hissiyot emas, balki ichki kelishuvdir. U zerikarli, ba’zan esa yoqimsiz bo’lishi mumkin, chunki u sizning kayfiyatingizga qaramay, belgilangan yo’lda harakat qilishni talab qiladi.

Intizom bu — o’sha jismoniy mashqni mushaklaringiz og’riyotgan bo’lsa ham tugatish. Intizom bu — yugurishni xoxlamayotganingizda ham rejadagi yugurishlarni amalga oshirish va hokozo. U his-tuyg’ularga emas, balki maqsadingizga sadoqat va tartibga asoslanadi.

Motivatsiya sizga g’isht beradi, ammo intizom o’sha g’ishtlarni ustma-ust qo’yib, mustahkam bino quradigan usta. Eng katta muvaffaqiyatlar hissiyotlar orqasidan emas, balki aniq reja asosida, izchil, davomli va intizomli harakatlar orqasidan keladi.

Motivatsiya bizni chaqiradi, intizom esa bizni yetkazadi. Shuning uchun, motivatsiya tugashi mumkin, ammo intizom tugamaydi, chunki u — odatga, hayot tarziga aylangan qoidadir.

I. Yugurishda intizomning asl mohiyati

Yugurish bizga hayotning eng muhim saboqlaridan birini o‘rgatadi: doimiylik (konsistensiya) tezlik yoki masofadan ko‘ra muhimroqdir. Yugurishdagi intizomni tushunish uchun, uning qanchalik tez yoki uzoq yugurayotganingizga bog‘liq emasligini qabul qilish kerak.

Yengil (kichik tempda) masofalar uchun yugurishga chiqish, xuddi qiyin masofalar kabi kuch bag‘ishlaydi — ba’zan undan ham ko‘proq. Buning sababi, yengil mashg‘ulotlar jismoniy tiklanishga yordam beradi, ammo eng muhimi, ular ruhiy mustahkamlikni shakllantiradi. Qiyin mashg‘ulotga chiqish uchun motivatsiya bo‘lishi mumkin, chunki biz natijani ko‘rishni xohlaymiz. Ammo intizomni talab qiluvchi narsa — bu zerikarli, muntazam, o‘zini yaxshi his qilmaydigan kunlarda ham ro‘y beradigan jarayonga sodiq qolishdir.

  • Jismoniy foydalar: muntazam, hatto qisqa yugurishlar ham yurak-qon tomir tizimini yaxshilaydi, mushaklarni mustahkamlaydi va jarohat xavfini kamaytiradi.
  • Ruhiy foydalar: eng katta rivojlanish, aynan yugurishni qilishni eng oxirgi narsa deb hisoblaydigan kunlarda sodir bo‘ladi. Chunki bu, “ruhiy chidamlilik (mental toughness)”ni o‘rgatadi — og‘ir vaziyatlarda ham o‘z va’damizga sodiq qolish qobiliyatini.

Intizom — o‘z-o‘ziga berilgan va’dani bajarish

Intizom bu qandaydir tashqi kuch yoki bosim emas, balki shaxsiy majburiyatdir. Bu qattiq yoki shafqatsiz emas. Bu shunchaki o‘z-o‘zingizga bergan va’dani bajarish amaliyoti, bir yugurishda, bir vaqtning o‘zida. Har safar o‘sha va’dani bajarganingizda, siz o‘zingizga quyidagilarni isbotlaysiz:

  1. Ishonchlilik: siz o‘zingizning harakatingizga ishonishingiz mumkin.
  2. Mustaqillik: siz tashqi motivatsiyaga bog‘liq emassiz.
  3. Qat’iyatlilik: siz noqulaylikka dosh bera olasiz.

Intizomning amaliy jihati shundaki, u “yugurish majburiyatini” “yugurish odatiga” aylantiradi. Odatlar esa ongsiz ravishda amalga oshiriladi, bu esa qaror qabul qilish jarayonining charchashini oldini oladi.

II. Intizomdan ishonchga o‘tish

Intizomning yugurishdagi eng yuqori mukofoti bu — “ishonch (konfidensiya)”dir. Lekin bu ishonch tezlikka, rekordlarga yoki masofaga asoslangan emas. Bu o‘z qobiliyatingizga bo‘lgan ishonchdir.

Yugurish tajribasida shunday kunlar bo‘ladiki, sizning oyog‘ingiz og‘riydi, havo sovuq yoki boshqa sabablar yuzaga keladi. Intizomning o‘rni mana shunda namoyon bo‘ladi. Sizning tanangiz yugurishni xohlamaydi, ammo miyangiz aytadi: “Men bu vaziyatda o‘z va’damga qanday sodiq qolishni bilaman, chunki men buni oldin ham qilganman.”

  • Bunday kuch — davom etish qobiliyatiga bo‘lgan ishonch — yugurish tugagandan keyin ham siz bilan qoladi.
  • Bu ishonch ishda qiyin loyihani yakunlashda, shaxsiy muammoni hal qilishda yoki hatto sog‘lom ovqatlanishni tanlashda ham yordam beradi.

Intizomning har bir harakati — bu o‘z-o‘zini hurmat qilishga qaratilgan kichik sarmoyadir. Siz o‘zingizga “men buni qilishga qodirman” degan xabarni yetkazasiz. Bu yugurish shunchaki jismoniy mashq ekanligidan, balki shaxsiy identifikatsiya darajasiga ko‘tarilishini anglatadi.

III. Yugurish intizomi hayotiy ko‘nikma sifatida

Yugurish intizomidan olingan saboqlar faqat yo‘l chetida qolmaydi, ular butun hayotga tarqaladi.

Kichik qadamlarning kuchi (Atomic Habits)

Yugurish intizomi eng yaxshi tarzda kichik, boshqariladigan harakatlarda namoyon bo‘ladi. Yugurishga chiqishdan oldin, butun 10 km haqida o‘ylash shart emas. Intizom shunchaki krossovkalarni kiyish, eshikdan chiqish yoki faqat 5 daqiqa yugurishga qaror qilishdir. Bu harakatlar zanjirini boshqarish intizomning markazida turadi.

  • Hayotiy bog‘liqlik: Bu tamoyil moliyaviy maqsadlarga, o‘rganishga, yoki professional rivojlanishga ham qo‘llaniladi. Katta maqsadlarga erishish, har kuni kichik, intizomli harakatlarni amalga oshirish orqali yuzaga keladi.

Yugurish va ruhiy chidamlilik

Yugurish, ayniqsa uzoq masofalar, noqulaylik bilan yashashni o‘rgatadi. Intizom bizga og‘riq yoki charchoq hissi doimiy emasligini o‘rgatadi. Bu hissiyot o‘tkinchi, lekin bizning qat’iyatimiz bizni u yerdan olib chiqadi. Bu ruhiy chidamlilikdir.

Qattiq yugurishni tanlaganingizda, siz miyangizni noqulaylikka bardosh berishga o‘rgatasiz. Bu esa hayotdagi har qanday vaziyatga tayyorlikni anglatadi.

Bu, intizomning hayotimizning boshqa sohalariga ijobiy ta’sir ko‘rsatishining asosiy sababidir.

Xulosa

Yugurishdagi intizomning o‘rni juda katta. Bu shunchaki jismoniy natijalarga erishish vositasi emas, balki o‘zimiz bilan bo‘lgan munosabatimizni mustahkamlovchi vositadir.

Intizom:

  1. Paydo bo‘lish tanlovini anglatadi, mukammal bo‘lishni emas;
  2. Doimiylikning tezlikdan ustunligini o‘rgatadi;
  3. O‘z-o‘ziga berilgan va’daga sodiq qolishni o‘rgatadi;

Va nihoyat, har bir intizomli harakat natijasida ishonch paydo bo‘ladi. Bu ishonch — o‘z qobiliyatingizga bo‘lgan chuqur, o‘zgarmas e’tiqoddir. Yugurishdagi intizom, bu kuchni uzoq vaqt davomida, hattoki so‘nggi yugurish tugaganidan keyin ham, butun hayotingiz davomida o‘zingiz bilan olib ketadigan merosdir. Yugurishga chiqishga qaror qilish — bu o‘z-o‘zingizga bergan eng kuchli sovg‘adir.

Friday, 14 November 2025

.NET da CLR ning o’rni

 

CLR haqida

.NET (va hozirgi zamonaviy .NET Core) dasturlash platformasi zamonaviy dasturlarni yaratish uchun keng imkoniyatlar yaratuvchi kuchli muhitdir. Bu platformaning markazida, uning “yuragi” hisoblangan CLR (Common Language Runtime) turadi. CLR .NET ilovalarining ishlashini ta’minlaydigan va ularga turli xil muhim xizmatlarni taqdim etadigan ijro etish muhiti (runtime environment) hisoblanadi.

CLR ni C++ kabi an’anaviy kompilyatsiya qilingan tillarning operatsion tizimga bog’liq mahalliy ijro etish muhiti (native runtime) bilan solishtirish mumkin, ammo CLR ancha yuqori darajada va xavfsizroq bo’lib, .NETning eng muhim ustunligi — bir nechta dasturlash tillarining o’zaro mosligi(Language Interoperability)ni ta’minlaydi, ya’ni, C#, VB.NET, F# kabi turli .NET tillarida yozilgan kodni aynan bir muhitda ishga tushirishga imkon beradi.

CLR ning dasturlash siklidagi tuzilishi va vazifalariga quyidagilar kiradi:

ILkodga kompilyatsiya qilish

Dasturchi C#(yoki boshqa .NET tili)da kod yozadi. Bu kod maxsus til kompilyatori tomonidan darhol protsessor tushunadigan mahalliy mashina kodiga (native machine code) emas, balki IL (Intermediate Language — oraliq til) yoki CIL (Common Intermediate Language) deb ataladigan oraliq kodga kompilyatsiya qilinadi.

Masalan, quyudagi rasmda BaseProcessor sinfidagi c# kodning IL kod ko’rinishi keltirilgan:

Press enter or click to view image in full size
IL kodga misol
  • Kompilyatsiyadan keyin kod IL kodiga ega bo’lgan .exe yoki .dll faylga aylanadi.
  • Bu .exe fayl an’anaviy C++ dan farqli o’laroq, CLR siz ishlay olmaydi. Uning ichidagi IL kod hali “qo’shimcha ishlov” talab qiladi. Bu fayli ishga tushirishda operatsion sistema doim CLR yordamiga muhtoj bo’ladi.

Bajariladigan (.exe) faylni ishga tushirish

Foydalanuvchi .exe faylni ishga tushirganda, operatsion tizim (OS) to’g’ridan-to’g’ri kodni ishga tushirish o’rniga, avvalo CLR ni yuklaydi. CLR keyin IL kodni o’zining ijro etish muhitiga oladi.

JIT kompilyatori (Just-In-Time)

CLR ning asosiy vazifalaridan biri IL kodni haqiqiy mashina kodiga aylantirishdir. Bu jarayon JIT (Just-In-Time — Ayni Vaqtida) kompilyatori tomonidan amalga oshiriladi va u CLR tarkibika kiradi.

Qanday Ishlaydi?

JIT kompilyatori satrma-satr emas, balki metod (funktsiya) bo’yicha ishlaydi. Dastur ishga tushganda, CLR IL kodni yuklaydi, lekin metod chaqirilmaguncha uni kompilyatsiya qilmaydi. Metod birinchi marta chaqirilganda, JIT kompilyatori metodning butun IL kodini CPU tushunadigan mahalliy mashina kodiga aylantiradi va bu kodni xotirada (RAM) saqlaydi. Keyingi safar xuddi shu metod chaqirilganda, CLR kompilyatsiyani takrorlamaydi, balki to’g’ridan-to’g’ri xotiradan (RAM) avvalgi JIT kompilyatsiya qilingan mashina kodini ishlatadi. Bu esa keyingi chaqiruvlarni tezlashtiradi. JIT kompilyatsiya qilingan kod faqat joriy jarayon (process) uchun ajratilgan xotirada turadi va dastur tugagach, u yo’qoladi (diskka yozilmaydi).

CLR ning asosiy vazifasi

CLR nafaqat kodni ishga tushiradi, balki .NET dasturining ishonchli, xavfsiz va samarali ishlashini ta’minlaydigan juda muhim vazifalarni bajaradi, bularga:

1. Xotirani boshqarish (Memory Management)

Bu CLR ning eng muhim vazifalaridan biridir. CLR xotirani ikki asosiy maydonga ajratadi:

  • Stack xotira: Kichik va qisqa muddatli ma’lumotlar (primitiv tiplari, metod chaqiruvlari) uchun.
  • Heap xotira: Ob’ektlar va uzoq muddatli ma’lumotlar (referance tiplari) uchun.
  • Garbage Collector: CLR ning xotira boshqaruvi tizimining avtomatik mexanizmi. Dasturchi xotirani qo’lda bo’shatish haqida qayg’urmaydi (C/C++ dan farqli o’laroq). GC foydalanilmayotgan (erishib bo’lmaydigan) ob’ektlarni aniqlaydi va ularni Heap xotirasidan avtomatik ravishda tozalaydi, bu esa xotira sizib chiqishining (memory leak) oldini oladi.

2. Tip xavfsizligi (Type Safety)

CLR kompilyatsiya va ijro vaqtida ma’lumot turlari to’g’ri ishlatilayotganligini qat’iy tekshiradi. Masalan, integer turidagi o’zgaruvchiga string qiymatini saqlashga urinishning oldini oladi. Bu dasturning barqarorligi va ishonchliligini oshiradi.

3. Xatoliklarni boshqarish (Exception Handling)

Dastur ishlayotgan vaqtda yuzaga keladigan xatolarni standartlashtirilgan va xavfsiz tarzda boshqarish mexanizmini ta’minlaydi. Agar metodda xato yuz bersa, CLR bu xatoni ilova bo’ylab yuqoriga yuboradi, bu esa dasturga to’satdan qulab tushish o’rniga xatoni toza ushlab olish va ishlash imkonini beradi.

4. Xavfsizlik (Security)

CLR kodga ruxsat berish darajasini boshqaradi. Kod xavfsizligi (Code Access Security — CAS) kabi mexanizmlar orqali (hozirgi .NETda kamroq qo’llaniladi, lekin tushuncha mavjud) CLR kodning qanday resurslarga (fayl tizimi, tarmoq) kirish huquqiga ega ekanligini cheklaydi. Bu ayniqsa internetdan yuklab olingan ishonchsiz kodning zararli harakatlar qilishiga to’sqinlik qilishda muhim. CLR shuningdek, Reflection kabi xizmatlarning ham xavfsiz ishlashini ta’minlaydi.

5. Boshqa xizmatlar

  • Ko’p oqimlilik (Threading): CLR ilovalarda bir nechta vazifani bir vaqtning o’zida bajarish (paralellik) uchun tishlarni boshqarish xizmatlarini taqdim etadi.
  • Boshqa kodlar bilan hamkorlik (Interoperability): CLR boshqarilmaydigan kod (masalan, C++ DLLlari) bilan ishlash mexanizmlarini (COM Interop, P/Invoke, Marshaling) ta’minlaydi.

Xulosa

CLR (Common Language Runtime) .NET platformasining nafaqat ijro etish muhiti, balki butun tizimning hayotiy kuchidir. U C# kodini samarali va xavsiz tarzda bajarilishini ta’minlaydi, xotirani avtomatik boshqaradi, dasturni xavfsiz qiladi va yuzaga keladigan xatoliklarni bir xil tarzda boshqarish imkonini beradi.

CLR ning asosiy vazifasi — IL kodni JIT orqali mashina kodiga kompilyatsiya qilish va uning butun hayoti davomida yuqori boshqaruv xizmatlarini (xotira, xavfsizlik, xatoliklarni aniqlash) taqdim etishdir. Aynan CLR ning mavjudligi tufayli .NET dasturlari cross platformali, yuqori samarador, barqaror va ko’p til bilan ishlay olish xususiyatiga ega.

CLR

.NET Framework (va hozirgi zamonaviy .NET Core/5+) dasturlash platformasi zamonaviy dasturlarni yaratish uchun keng imkoniyatlar yaratuvchi kuchli muhitdir. Bu platformaning markazida, uning “yuragi” hisoblangan CLR (Common Language Runtime — Umumiy Til Ishlash Muhiti) turadi. CLR .NET ilovalarining ishlashini ta’minlaydigan va ularga turli xil muhim xizmatlarni taqdim etadigan ijro etish muhiti (runtime environment) dir.

CLR ni C++ kabi an’anaviy kompilyatsiya qilingan tillarning operatsion tizimga bog’liq mahalliy ijro etish muhiti (native runtime) bilan solishtirish mumkin, ammo CLR ancha yuqori darajada va xavfsizroq bo’lib, .NETning eng muhim ustunligi — Til Mustaqilligi (Language Interoperability) ni ta’minlaydi. Ya’ni, C#, VB.NET, F# kabi turli .NET tillarida yozilgan kodni aynan bir muhitda ishga tushirishga imkon beradi.

CLR ning dasturlash siklidagi tuzilishi va vazifalariga quyidagilar kiradi:

Koddan ILkodga kompilyatsiya qilish

Dasturchi C# (yoki boshqa .NET tili) da kod yozadi. Bu kod maxsus til kompilyatori tomonidan darhol protsessor tushunadigan mahalliy mashina kodiga (native machine code) emas, balki IL (Intermediate Language — Oraliq Til) yoki CIL (Common Intermediate Language) deb ataladigan oraliq kodga kompilyatsiya qilinadi.

Press enter or click to view image in full size
IL kod
  • Kod IL kodiga ega bo’lgan .exe yoki .dll faylga aylanadi.
  • Bu .exe fayl an’anaviy C++ dan farqli o’laroq, CLR siz ishlay olmaydi. Uning ichidagi IL kod hali “qo’shimcha ishlov” talab qiladi. Bu fayli ishga tushirishda operatsion sistema doim CLR yordamiga muhtoj bo’ladi.

Bajariladigan (.exe) faylni ishga tushirish

Foydalanuvchi .exe faylni ishga tushirganda, operatsion tizim (OS) to’g’ridan-to’g’ri kodni ishga tushirish o’rniga, avvalo CLR ni yuklaydi. CLR keyin IL kodni o’zining ijro etish muhitiga oladi.

JIT kompilyatori (Just-In-Time)

CLR ning asosiy vazifalaridan biri IL kodni haqiqiy mashina kodiga aylantirishdir. Bu jarayon JIT (Just-In-Time — Ayni Vaqtida) kompilyatori tomonidan amalga oshiriladi va u CLR tarkibika kiradi.

Qanday Ishlaydi?

JIT kompilyatori satrma-satr emas, balki metod (funktsiya) bo’yicha ishlaydi. Dastur ishga tushganda, CLR IL kodni yuklaydi, lekin metod chaqirilmaguncha uni kompilyatsiya qilmaydi. Metod birinchi marta chaqirilganda, JIT kompilyatori metodning butun IL kodini CPU tushunadigan mahalliy mashina kodiga aylantiradi va bu kodni xotirada (RAM) saqlaydi. Keyingi safar xuddi shu metod chaqirilganda, CLR kompilyatsiyani takrorlamaydi, balki to’g’ridan-to’g’ri xotiradan (RAM) avvalgi JIT kompilyatsiya qilingan mashina kodini ishlatadi. Bu esa keyingi chaqiruvlarni tezlashtiradi. JIT kompilyatsiya qilingan kod faqat joriy jarayon (process) uchun ajratilgan xotirada turadi va dastur tugagach, u yo’qoladi (diskka yozilmaydi).

CLR ning asosiy vazifasi

CLR nafaqat kodni ishga tushiradi, balki .NET dasturining ishonchli, xavfsiz va samarali ishlashini ta’minlaydigan juda muhim vazifalarni bajaradi, bularga:

1. Xotirani boshqarish (Memory Management)

Bu CLR ning eng muhim vazifalaridan biridir. CLR xotirani ikki asosiy maydonga ajratadi:

  • Stack xotira: Kichik va qisqa muddatli ma’lumotlar (primitiv tiplari, metod chaqiruvlari) uchun.
  • Heap xotira: Ob’ektlar va uzoq muddatli ma’lumotlar (referance tiplari) uchun.
  • Garbage Collector: CLR ning xotira boshqaruvi tizimining avtomatik mexanizmi. Dasturchi xotirani qo’lda bo’shatish haqida qayg’urmaydi (C/C++ dan farqli o’laroq). GC foydalanilmayotgan (erishib bo’lmaydigan) ob’ektlarni aniqlaydi va ularni Heap xotirasidan avtomatik ravishda tozalaydi, bu esa xotira sizib chiqishining (memory leak) oldini oladi.

2. Tip xavfsizligi (Type Safety)

CLR kompilyatsiya va ijro vaqtida ma’lumot turlari to’g’ri ishlatilayotganligini qat’iy tekshiradi. Masalan, integer turidagi o’zgaruvchiga string qiymatini saqlashga urinishning oldini oladi. Bu dasturning barqarorligi va ishonchliligini oshiradi.

3. Xatoliklarni boshqarish (Exception Handling)

Dastur ishlayotgan vaqtda yuzaga keladigan xatolarni standartlashtirilgan va xavfsiz tarzda boshqarish mexanizmini ta’minlaydi. Agar metodda xato yuz bersa, CLR bu xatoni ilova bo’ylab yuqoriga yuboradi, bu esa dasturga to’satdan qulab tushish o’rniga xatoni toza ushlab olish va ishlash imkonini beradi.

4. Xavfsizlik (Security)

CLR kodga ruxsat berish darajasini boshqaradi. Kod xavfsizligi (Code Access Security — CAS) kabi mexanizmlar orqali (hozirgi .NETda kamroq qo’llaniladi, lekin tushuncha mavjud) CLR kodning qanday resurslarga (fayl tizimi, tarmoq) kirish huquqiga ega ekanligini cheklaydi. Bu ayniqsa internetdan yuklab olingan ishonchsiz kodning zararli harakatlar qilishiga to’sqinlik qilishda muhim. CLR shuningdek, Reflection kabi xizmatlarning ham xavfsiz ishlashini ta’minlaydi.

5. Boshqa xizmatlar

  • Ko’p oqimlilik (Threading): CLR ilovalarda bir nechta vazifani bir vaqtning o’zida bajarish (paralellik) uchun tishlarni boshqarish xizmatlarini taqdim etadi.
  • Boshqa kodlar nilan hamkorlik (Interoperability): CLR boshqarilmaydigan kod (masalan, C++ DLLlari) bilan ishlash mexanizmlarini (COM Interop, P/Invoke, Marshaling) ta’minlaydi.

Xulosa

CLR (Common Language Runtime) .NET platformasining nafaqat ijro etish muhiti, balki butun tizimning hayotiy kuchidir. U C# kodini samarali va xavsiz tarzda bajarilishini ta’minlaydi, xotirani avtomatik boshqaradi, dasturni xavfsiz qiladi va yuzaga keladigan xatoliklarni bir xil tarzda boshqarish imkonini beradi.

CLR ning asosiy vazifasi — IL kodni JIT orqali mashina kodiga kompilyatsiya qilish va uning butun hayoti davomida yuqori boshqaruv xizmatlarini (xotira, xavfsizlik, xatoliklarni aniqlash) taqdim etishdir. Aynan CLR ning mavjudligi tufayli .NET dasturlari cross platformali, yuqori samarador, barqaror va ko’p til bilan ishlay olish xususiyatiga ega.

Ifloslangan havoda yugurish bilan shug’ullanish: xavflar, maslahatlar va Toshkentdagi vaziyat

  Bugun(19.11.2025) Toshkentning havo ifloslanish darajasi — AQI 200–250oralig’ida bo’ldi Yugurish paytida o‘pka orqali o‘tadigan havo hajm...