O‟ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA
KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT
TEXNOLOGIYALARI UNIVERSITETI QARSHI FILIALI
“ KI ” FAKULTETI
III – BOSQICH KI-13-20 GURUH TALABASI
ASLANOV SHOHJAHON UZOQOVICHNING
OPERATSİON TİZİMLAR
FANIDAN TAYYORLAGAN
4-Mustaqil ishi
Bajardi
Sh.U.Aslanov
Qabul qildi M.F.To„rayev
QARSHI-2022
Mavzu:
Zamonaviy operatsion tizimlar ilovalari.Operatsion tizimlarda virtual xotira
tushunchasi.Operatsion tizimlarda hisoblash jarayoni. ―Tupiklar‖ muammosi va ular bilan kurashish
usullari.Multidasturlash.Ajratilgan vaqt tizimlarida ko‘p foydalanuvchi rejimi.
Reja:
1. Zamonaviy operatsion tizimlar ilovalari.Operatsion tizimlarda virtual xotira
tushunchasi
2. Operatsion tizimlarda hisoblash jarayoni. ―Tupiklar‖ muammosi va ular
bilan kurashish usullari.
3. Multidasturlash.Ajratilgan vaqt tizimlarida ko‘p foydalanuvchi rejimi.
4. Foydalanilgan adabiyotlar.
Zamonaviy kompyuter tarmog‗i har bir kompyuterga o‗rnatilgan bir qator tarmoq
operatsion tizimlari nazorati ostida ishlaydi. Ushbu operatsion tizimlar bir xil yoki
boshqacha bo‗lishi mumkin. Masalan, bir xil Unix operatsion tizimlar tarmoqdagi
barcha kompyuterlarda ishlashi mumkin. Yana ham aniqroq variant - bu turli xil
operatsion tizimlarga ega tarmoqdir, masalan, ba‘zi kompyuterlar Unix FreeBSD,
boshqalari CentOS, qolganlari Windows Server-da ishlaydi. Ushbu operatsion
tizimlarning barchasi bir-biridan mustaqil ravishda ishlaydi, ularning har biri o‗z
jarayonlarini yaratish, yakunlash va mahalliy resurslarni 210 boshqarish bo‗yicha
mustaqil qarorlar qabul qiladi. Ammo har qanday holatda ham, tarmoq orqali
ishlaydigan kompyuterlarning operatsion tizimlari tarmoqdagi turli xil
kompyuterlarda ishlaydigan jarayonlarning o‗zaro ta‘sirini tashkil qilish va ushbu
kompyuterlarning resurslarini tarmoq foydalanuvchilari o‗rtasida almashish uchun
o‗zaro kelishilgan aloqa protokollar to‗plamini o‗z ichiga olishi kerak.
Farzand jarayon resurslari ajratilgandan so‗ng unga dasturiy kod manzili,
ma‘lumot belgilari, dastur hisoblagichni o‗rnatish kerak bo‗ladi. Bu yerda ikki xil
yechim mavjud. Farzand jarayon birinchi Jarayon 2 Jarayon 4 Jarayon 23 Jarayon
1 Jarayon 12 Jarayon 255 Jarayon 3 Jarayon 14 Jarayon 15 Jarayon 24 Jarayon 128
59 holatida registr va foydalanuvchi konteksti bo‗yicha ona jarayon nusxasi bo‗lib
shakllanadi, shu sababli qaysi biri ona jarayoni nusxasi ekanligini aniqlash kerak
bo‗ladi. Ikkinchi holatda farzand jarayon istalgan biror fayli yangi dasturni
yuklaydi. Unix operatsion tizimi faqat birinchi usuldagi jarayon tug‗ilishiga ruhsat
beradi; ya‘ni ona jarayon nusxasini yaratish uchun dastlab yangi dasturni yuklaydi,
so‗ng farzand jarayoni maxsus chaqiriq tizimi yordami bilan o‗zining
foydalanuvchi kontekstini almashtirishi kerak bo‗ladi. VAX/VMS operatsion
tizimi faqat ikkinchi usuldan foydalanadi. Windows NT ikki xil rejimdan ham
foydalanadi (API turlariga qarab). Ona jarayon nusxasiga o‗xshab yangi jarayonni
paydo bo‗lishi bittadan ko‗proq jarayonni tashkil qilishda ishlatish uchun mavjud
dastur imkoniyatlaridan foydalanadi. Uning ishi bo‗yicha foydalanuvchi kontekst
jarayonini almashtirishi mumkin. Ya‘ni bir jarayon doirasida turli xil bir nechta
dasturlarni bajarilish ketmaketligiga o‗tkazish mumkin. Jarayonlar taqsimlanib
berilgandan so‗ng, PCBda qolgan axborotlar yozib qo‗yiladi va yangi jarayon
holati tayyorlilik holatiga o‗tkaziladi. Endi farzand jarayonlari paydo bo‗lgandan
so‗ng ona jarayoni holatini aytib o‗tish qoldi. Ona jarayoni farzand jarayonlarini
bajarish bilan bir vaqtda o‗z ishini ham bajarishi mumkin, ayrim ishlarni
yakunlashni yoki barcha farzand jarayonlarning paydo bo‗lishini kutishi mumkin.
Biz jarayon hayot davrini tugashini batafsil ko‗rib chiqmaymiz. Jarayon o‗z ishini
tugatgandan so‗ng operatsion tizim uni bajarish yakunlangan holatga o‗tkazadi va
jarayon boshqaruv blokidagi yozuvlarga muvofiq u bilan bog‗liq barcha resurslarni
bo‗shatadi. Bu yerda PCB yo‗q qilinmaydi, tizimda ma‘lum bir vaqtgacha
saqlanadi. Bu ona jarayonidan farzand jarayoni tug‗ilishi yakunlangandan so‗ng
operatsion tizim jarayonning tugallanishi ―o‗limi‖ to‗g‗risida va/yoki uning
ishlashi to‗g‗risida statistik axborotlarni so‗rashi mumkin. Ona jarayoni
so‗rovigacha qayta ishlovchi jarayonlar yoki uning faoliyatining oxirigacha, ya‘ni
tizimda jarayonlarning tugashigacha bo‗lgan batafsil axborot PCB da saqlanadi.
Unix operatsion tizimlarida jarayonlar bajarilishi tugallangan holatida bo‗ladi.
Shuni aytib o‗tish kerakki ko‗plab operatsion tizimlarda (masalan, VAX/VMS da)
ona jarayonlari o‗zining ―farzandlari‖ uchun yakunlangan ko‗rinishga o‗tadi.
Boshqa operatsion tizimlarda 60 (masalan, Unix) ona jarayon vazifasi tugagandan
so‗ng farzand jarayonlari o‗zining mavjudligini davom etiradi. Shu sababli farzand
jarayon o‗z ishini davom ettirishi uchun PCB da axborotlarni o‗zgartirish zarurati
paydo bo‗ladi. 20 raqamli jarayondan 25 raqamli jarayon tug‗ilgan bo‗lsin, va
uning vazifasi tugagandan so‗ng uzoq vaqt hisoblash tizimida saqlanib qoladi. 20
raqamli jarayon operatsion tizimda boshqa jarayonda qatnashishi bundan mustasno
emas. Agar 25 jarayonining ona jarayoni to‗g‗risida axborot o‗zgartirilmasa, u
holda jarayon geneologik daraxti noto‗g‗ri deb hisoblaniladi – 25 jarayoni yangi 20
jarayonini o‗zining onasi deb hisoblaydi, 20 jarayon ochilganda esa kutilmagan
holat yuz beradi. ―Yetim qolish‖ jarayonini ―asrab qolish‖ qoidasi bo‗yicha
operatsion tizim ishini davom ettiradi va butun vaqt davomida ishlaydi. Ko‗p
marotabalik operatsiyalar Bir martalik operatsiyalar operatsion tizim boshqaruvi
ostida joylashgan jarayonlar sonining o‗zgarishiga olib keladi va har doim
ajratilgan yoki belgilangan resurslarni ozod qilish jarayonlariga bog‗liq bo‗ladi.
Ko‗p martalik operatsiyalar operatsion tizimlarda jarayonlar sonini o‗zgartirmaydi
va ajratilgan yoki bo‗shatilgan resurslarga bog‗liq emas. Jarayonni ishga tushirish.
Operatsion tizim tayyorlilik holatida bo‗lgan jarayon sonlaridan birini keyingi
vazifani bajarish uchun tanlab oladi. Operatsion tizim tanlagan jarayonlar
axborotlarni tezkor xotirada mavjud bo‗lishini ta‘minlaydi. So‗ng jarayon holati
ushbu jarayon uchun registr belgilarini tiklaydi, bajarilishini o‗zgartiradi va
jarayon buyruqlarini hisoblagich ko‗rsatishiga muvofiq boshqaruv buyruqlarini
uzatadi. Kontekstni qayta tiklash uchun kerakli barcha ma‘lumotlar, operatsiyani
amalga oshiradigan PCB jarayonidan olinadi. Jarayonni ma‘lum bir vaqtga
to‗xtatish. Bajarish holatida bo‗lgan jarayon ishini istalgan biror bir uzilish
natijasida to‗xtatish mumkin. Protsessor buyruq hisoblagichini avtomatik ravishda
saqlaydi va bajarilayotgan jarayonda bir yoki bir nechta registr bo‗lishi mumkin,
so‗ng esa joriy uzilishni qayta ishlash uchun maxsus manzil bo‗yicha boshqaruvga
uzatiladi. Uzilishni qayta ishlash bo‗yicha ishni qurilma (hardware) oxiriga
yetkazadi. Odatda ko‗rsatilgan manzilda operatsion tizimning bir qismi joylashgan
61 bo‗ladi. U tayyorlilik holatidagi jarayonga o‗tkazishda uning PCB da tizimli va
registrli kontekst jarayoni dinamik qismida saqlanadi va uzilishlarni qayta ishlaydi,
u holda paydo bo‗lgan uzilish bilan bog‗liq belgilangan ishlar bajariladi. Jarayonni
bloklash. Jarayon biror bir hisoblash tizimlarida paydo bo‗lishi kutilmayotganda va
ishini davom ettirish mumkin bo‗lmaganda bloklanib qo‗yiladi. Buning uchun
belgilangan chaqiriq tizimi yordami bilan operatsion tizimga murojaat qiladi.
Operatsion tizim chaqiriq tizimini qayta ishlaydi (kiritish/chiqarish operatsiyalarini
nomlaydi, jarayonlar navbatiga jarayonni qo‗shadi, qurilmada kutayotganlarni
bo‗shatadi va boshqalar) va bajarish holatidan kutish holatiga o‗tkazib uning PCB
si kontekst jarayoni kerakli qismiga yozib qo‗yadi. Jarayonni qayta ochish. Istalgan
biron bir operatsion tizimda paydo bo‗lgan biror bir holatda aynan qanday hodisa
yuz berganini aniqlash zarur bo‗ladi. So‗ng operatsion tizim ushbu holat uchun
kutish holatida ayrim jarayonlar joylashganmi yoki yo‗qligini tekshiradi va agar
topilsa, hodisa bilan bog‗liq bo‗lgan ishlarni bajarish uchun uni tayyorlilik holatiga
o‗tkazadi. Jarayonni yaratish Jarayonni yaratish – jarayonlardagi asosiy
operatsiyalardan biridir. Ona jarayoni farzand jarayonlarini yaratadi, bu esa o‗z
navbatida boshqa jarayonlarni keltirib chiqaradi va shu bilan jarayon daraxtini
shakllantiradi. Jarayonlarni yaratishda turli xil yondashuvlar mavjud, ona va
farzand jarayoni tomonidan resurslardan birgalikda foydalanish (almashish), ularni
parallel ravishda bajarish va manzillar va xotiradan foydalanish. Resurslarni
taqsimlash Quyidagi yondashuvlar bo‗lishi mumkin:
Ona va farzand jarayoni
barcha resurslarni almashadi (bo‗lishadi);
Farzand jarayonlari ona jarayonlari
resurslarining bir qismini almashadi;
Ona va farzand jarayonlari umumiy
resurslarga ega emas. Bajarish Quyidagi yondashuvlar bo‗lishi mumkin: 62
Ona
jarayoni va farzand jarayonlari birgalikda bajariladi;
Ona jarayoni farzand
jarayonining tugashini kutmoqda. Manzil va xotiradan foydalanish Quyidagi
yondashuvlar bo‗lishi mumkin:
Farzand jarayonining manzil maydoni ona
jarayonining manzil maydonidan nusxa ko‗chiradi;
Farzand jarayoni unga
yuklangan dasturga ega.
Farzand jarayoni ona jarayoni (yengil jarayon) bilan bir
xil xotira maydonida ishlaydi. Unix operatsion tizimda bu quyidagicha amalga
oshiriladi: fork – bu yangi jarayonni yaratadigan tizim chaqiruvi. Ona jarayonining
xotirasini nusxalashtiradi va farzand jarayoni uchun yangi virtual manzillar
maydonini yaratadi. Shundan so‗ng, tizim xotirasida yangi dastur bilan
almashtirish uchun yana bir tizim chaqiruvi amalga oshiriladi - exec (execve) tizim
chaqiruvi. Farzand jarayoni ona jarayonining o‗rniga davom etadi.
Jarayon - bu foydalanuvchi tomonidan ishga tushurilgan dastur, jarayon
buyruqlarni bajaruvchi to‗plam majmui (xotirani bajarish uchun ajratish va fayllar
va kiritish/chiqarish qurilmalaridan foydalaniladigan manzil va boshqalar) va
operatsion tizim boshqaruvida joylashgan joriy vaqtda uni bajarilishini (registr,
dastur hisoblagich, stek holati va qo‗llash belgilari) tavsiflaydi. Ish paytida
operatsion tizim ko‗plab dasturlarni bajaradi: paketli vazifalar, vaqtni taqsimlash
rejimida foydalanuvchi dasturlari, tizim dasturlari va jarayonlari. Foydalanuvchi
dasturlarini tavsiflovchi bir nechta o‗xshash atamalar (terminlar) mavjud: jarayon
(process), vazifa (job), 37 topshiriq (task). Ushbu atamalarni sinonim deb
hisoblashimiz mumkin. Jarayonning muhim xususiyati: bu ketma-ket bajarilishi
kerak bo‗lgan hisoblash birligi, ya‘ni, har bir jarayon o‗zining ketma-ket
boshqarish oqimiga (control flow) ega - bu jarayon tomonidan bajariladigan
buyruqlar
ketma-ketligidir.
Operatsion
tizim
tomonidan
yaratilgan
va
boshqariladigan jarayon quyidagi asosiy ma‘lumotlarni o‗z ichiga oladi:
dastur
hisoblagichi (program counter - PC) - bajarilayotgan joriy buyruq manzili; odatda
qurilmalarning maxsus tizim registrida saqlanadi;
Stek - bu operatsion tizim
tomonidan jarayon protseduralarining lokal ma‘lumotlari, ularning parametrlari
(argumentlari) va hisob-kitoblarni tashkil qilish uchun zarur bo‗lgan ma‘lumotlar
o‗rtasida saqlanadigan, jarayonni yaratishda operatsion tizim tomonidan ajratilgan
asosiy xotiraning doimiy maydoni. Keyingi protsedurani ishga tushirishda,
faollashtirish
yozuvi
(activation
record)
stekda
beriladi,
shuningdek,
protseduraning hozirgi avlodining lokal ma‘lumotlarini saqlash uchun stek kadri
(stack frame) va lokal ma‘lumotlar maydoni (local data area) deb ataladi.
Ma‘lumotlar bo‗limi (data section) – bu operatsion tizim tomonidan global
o‗zgaruvchilar, massivlar, tuzilmalar, obyektlar saqlanadigan jarayonga ajratilgan
asosiy xotiraning statik (doimiy ravishda ajratilgan, doimiy o‗lchamdagi) maydoni.
Jarayonning bajariladigan kodi (buyruqlar) dastlab ikkilamchi xotirada (diskda)
saqlanadi va unga kirishda to‗liq yoki qisman asosiy xotiraga yuklanadi. Jarayon
holatlari Jarayon ishga tushganda, jarayon o‗z holatini quyidagicha o‗zgartirishi
mumkin:
Yangi (new): jarayon operatsion tizim tomonidan yaratilgan, ammo
hali ishga tushmagan;
Bajarish (running): Jarayon buyruqlari protsessorda
bajariladi yoki OT ishlaydigan kompyuter tizimining protsessorida;
Kutish
(waiting): jarayon qandaydir hodisa sodir bo‗lishini kutmoqda, masalan,
kiritish/chiqarishni (I/O) tugallanishini. Kutish holatida jarayon protsessorni
egallamaydi; 38
Tayyorlilik (ready):jarayon bajarilishi uchun protsessor
resurslarini olishni kutmoqda. Jarayon odatda u yaratilganda ham, yoki
kiritish/chiqarish (I/O) tugagandan so‗ng ham (kutish holatidan) bajarilishga tayyor
holatga keladi;
Tugatish (finished): Jarayonni bajarish tugallandi. Jarayon holat
diagrammasi Kiritilgan topshiriqlarni hisoblash tizimlarda bajarilishi (faqat
foydalanuvchi dasturlari emas, balki operatsion tizimning belgilangan qismi
bo‗lishi mumkin) jarayon majmuini tashkil qiladi. Shubxasiz, har bir vaqt
momentida bir protsessorli kompyuter tizimida faqat bitta jarayon bajarilishi
mumkin. Multidasturli hisoblash tizimlarida protsessordagi bir jarayonni
boshqasiga ulash orqali bir nechta jarayonlarni parallel qayta ishlanadi. Bitta
jarayon bajarilgunga qadar qolganlari o‗z navbatini kutadi. Har bir jarayon kamida
ikki holatdan iborat bo‗lishi mumkin: bajariluvchi jarayonlar va bajarilmaydigan
jarayonlar. 2.1- rasmda jarayon holat diagrammasi modeli ifodalangan. 2.1- rasm.
Jarayon holat diagrammasi modeli Bajariluvchi jarayon holatida joylashgan
jarayon ma‘lum vaqtdan so‗ng operatsion tizimni tugatishi yoki ma‘lum vaqtga
to‗xtashi va bajarilmaydigan jarayon holatiga o‗tishi mumkin. Ma‘lum vaqtga
to‗xtash jarayoni ikki sabab tufayli yuz berishi mumkin: ishni davom ettirish uchun
qandaydir harakat (masalan, kiritish/chiqarish operatsiyasini yakunlash) yoki
ushbu jarayonda ishlash uchun operatsion tizimda ajratilgan vaqt oralig‗ining
tugashi. Shundan so‗ng belgilangan algoritm bo‗yicha operatsion tizim
bajarilmaydigan jarayon holatida joylashgan jarayonlardan birini bajarish uchun
Bajarishga olindi Jarayon bajarilmayapti Jarayon bajarilmoqda To‗xtatildi 39
bittasini tanlaydi. Va uni bajariluvchi jarayon holatiga o‗tkazadi. Tizimda paydo
bo‗lgan yangi jarayon dastlab bajarilmaydigan jarayon holatida joylashadi. Bu juda
ham qo‗pol model bo‗lib bajarish uchun jarayonlarni tanlashda u ma‘lum vaqtga
to‗xtashi va real holatda bajarish uchun tayyor bo‗lmasligi bois kutish holatida
bo‗lishi mumkin. Bajarilmaydigan jarayon holatidan chiqib ketish uchun ikkita
yangi holatdan foydalaniladi: tayyorlilik va kutish (2.2- rasm). 2.2- rasm.
Tayyorlilik va kutish holatlari Tizimda paydo bo‗lgan har qanday jarayon
tayyorlilik holatida bo‗ladi. Operatsion tizim tayyor jarayonlardan birini tanlab
foydalanadigan algoritmni rejalashtiradi va uni bajarish holatiga o‗tkazadi.
Bajarish holatida jarayonni dasturiy kodini bevosita bajarishga o‗tkaziladi. Bu
jarayon holatidan chiqish uchun uchta sabab bo‗lishi mumkin:
operatsion tizim
uning mavjudligini tugatishi;
ayrim voqealar sodir bo‗lmasligi uchun u o‗z ishini
davom ettirmasligi mumkin va operatsion tizim uni kutish holatiga o‗tkazadi;
uni tayyorlilik holatiga qaytishda hisoblash tizimlarida uzilishlarning paydo
bo‗lishi natijasida (masalan, bajarilish uchun ajratilgan vaqtni tugab qolishi sababli
vaqtni uzilishi). Jarayon kutish holatidan tayyorlilik holatiga o‗tgandan so‗ng u
qaytadan bajarish uchun tanlanishi mumkin. 2.3- rasmda yana ikkita jarayon holati
kiritilgan: yangi (jarayon tug‗ilishi) va tugatish (bajarishni tugallanishi).
Tayyorlilik Bajarish Kutish Kirish Uzilish Bajarish uchun tanlandi K/Ch yoki
hodisani kutish K/Ch yoki hodisani yakunlash 40 2.3- rasm. Tug‗ilish va bajarishni
yakunlash Endilikda jarayon hisoblash tizimida paydo bo‗lishi uchun tug‗ilish
holati orqali o‗tishi kerak bo‗ladi. 2.3- rasmdan ko‗rinib turibdiki, tizimda
yaratilgan yangi jarayon rejalash-tirishga ruhsat etish bosqichidan o‗tadi. OT
tizimdagi barcha jarayonlarning navbatiga kiradi, shundan so‗ng OT uni bajarishga
tayyor holatga keltiradi. Shuni belgilaymizki, bajarishga tayyor bo‗lgan jarayonlar
navbati – jarayonlarni boshqarish uchun eng ko‗p ishlatiladigan tizim
tuzilmalaridan biri. Bajarilishga tayyor holatdan bajarilish holatiga o‗tish jarayoni
rejalashtirish asosida protsessorga vaqt kvantini ajratish natijasida OT
rejalashtiruvchisi tomonidan uzatiladi. Jarayon bajarilish paytida to‗xtatilishi
mumkin (taymer tomonidan, xatolik natijasida va hokazo) va uzilishni qayta
ishlaganidan so‗ng, operatsion tizim yana ishlashga tayyor holatga qaytadi. Agar
jarayonda sinxron kiritish-chiqirish amalga oshirilsa yoki jarayon biron bir hodisa
sodir bo‗lishini kutishi kerak bo‗lsa (masalan, ma‘lum bir vaqtda), jarayon kutish
holatiga o‗tadi. Kiritish/chiqarish (I/O) tugallanganda yoki kutilayotgan hodisa yuz
berganda, protsessor vaqt kvantini darhol qabul qilmaydi, lekin bajarishga tayyor
holatga o‗tadi. Jarayon dasturi tugashi bilan jarayon tugallangan holatga kiradi,
masalan, exit(c) tizim chaqirig‗ining natijasida, c - chiqish kodi. Agar c=0 bo‗lsa,
jarayon muvaffaqiyatli yakunlandi deb hisoblanadi. Masalan, Windows NT
operatsion tizimi Yangi Tayyorlilik Tugatish Bajarish Kutish Rejalashtirishga
ruhsat etildi Chiqish Uzilish Bajarish uchun tanlandi K/Ch yoki hodisani kutish
K/Ch yoki hodisani yakunlash 41 uchun jarayon holati modeli 7 ta, Unix
operatsion tizimi esa 9 ta turli xil jarayon holati modelini o‗z ichiga oladi. Jarayon
ichidagi operatsiyalar va ular bilan bog‗liq tushunchalar Jarayon bir holatdan
boshqa bir holatga mustaqil ravishda o‗ta olmaydi. Jarayon holatlarini o‗zgartirish,
operatsion tizimga kiradigan operatsiyalarda amalga oshiriladi. Bizning modelimiz
bunday operatsiyalarning soni hozirchalik holat diagrammasidagi strelkalar soniga
teng. Operatsiyani uchta juft bilan bog‗lash mumkin:
jarayonni yaratish –
jarayonni
tugatish;
jarayonnima‘lumbirvaqtgato‗xtatish
(bajarilishholatidantayyorlilikholatigao‗tish
)
–
jarayonniishgatushirish
(tayyorlilikholatidanbajarilishholatigao‗tish).
Jarayonni bloklash (bajarilish
holatidan kutish holatiga o‗tish) – bloklangan jarayonni ochish (kutish holatidan
tayyorlilik holatiga o‗tish).
Many to one modeli ko‗p foydalanuvchi darajasidagi oqimlarni bitta yadro
darajasidagi oqimlar bilan taqqoslaydi. Oqimlarni boshqarish foydalanuvchi
maydonida oqimlar kutubxonasi tomonidan amalga oshiriladi. Agar oqim bloklash
tizim chaqiruvini amalga oshirsa, butun jarayon bloklanadi. Bir vaqtning o‗zida
faqat bitta oqim yadroga kirishi mumkin, shuning uchun ko‗p protsessorli
tizimlarda bir nechta oqimlar parallel ravishda ishlay olmaydi. Agar foydalanuvchi
darajasidagi oqimlar kutubxonalari operatsion tizimda tizim ularni 49 qo‗llab-
quvvatlamaydigan tarzda amalga oshirilsa, unda yadro oqimi many to one modelini
qo‗llaydi. 2.8- rasm. Many to One modeli One to One Modeli Foydalanuvchi
darajasidagi oqim va yadro darajasidagi oqim o‗rtasida one to one munosabatlar
mavjud. Ushbu model many to one modelga qaraganda ko‗proq parallellashni
ta‘minlaydi. Bundan tashqari, u bloklash tizim chaqirig‗i amalga oshirilganda,
boshqa oqimni ishga tushirishga imkon beradi. Mikroprotsessorlarda parallel
bajarilishi uchun bir nechta oqimlarni qo‗llab-quvvatlaydi. Ushbu modelning
kamchiligi shundaki, foydalanuvchi oqimini yaratish uchun yadroga mos keladigan
oqim kerak bo‗ladi. OS/2, Windows NT va Windows 2000 OTlari one to one
modelidan foydalanadi. 50 2.9- rasm. One to One modeli Foydalanuvchi darajasi
va yadro darajasidagi oqim o‗rtasidagi farq 2.2- jadval № Foydalanuvchi
darajasidagi oqimlar Yadro darajasidagi oqimlar 1 Foydalanuvchi darajasidagi
oqimlar
tezroq
yaratiladi
va
boshqariladi
Yadrodarajasidagioqimlars
ekinroqyaratiladivaboshqari ladi 2 Foydalanuvchi darajasidagi oqim kutubxonasi
tomonidan amalga oshiriladi Operatsion tizim yadro oqimlarini yaratishni qo‗llab-
quvvatlaydi 3 Foydalanuvchi darajasidagi oqim umumiydir va har qanday
operatsion tizimda ishlashi mumkin Operatsion tizim uchun o‗ziga xos yadro
darajasidagi
oqim
4
Ko‗poqimliilovalarko‗pprotsessorliqa
ytaishlashimkoniyatidanfoydalanaolm
aydi
Yadromodulinio‗ziko‗poqi
mlibo‗lishimumkin 51 2.3. Operatsion tizimda vazifalar va jarayonlarni
rejalashtirish Bir jarayondan boshqasiga o‗tish Jarayonlarni boshqarishda
operatsion tizim ularning ketma-ket bajarilishini ta‘minlaydi. Ushbu vazifa OT
rejalashtiruvchisi tomonidan hal qilinadi. Protsessorni bir jarayondan boshqa
jarayonga o‗tkazish sxemasi 2.10- rasmda keltirilgan. Rasmda ikkita jarayon
ko‗rsatilgan - J0 va J1. J0 jarayonida uzilishlar yoki tizim chaqirig‗i bo‗lsa,
operatsion tizim o‗z holatini PCBda saqlaydi va protsessorni J1 jarayoniga
o‗tkazadi (J1 jarayoni ham shunga o‗xshash tarzda ishlanadi). Har bir jarayonning
bajarilish va to‗xtash muddatlari ko‗rsatilgan. 2.10- rasm. Protsessorni bir
jarayondan boshqa jarayonga o‗tkazish sxemasi Jarayonlarni rejalashtirish bilan
bog‗liq navbatlar Jarayonlarni boshqarish uchun OT quyidagi navbatlarni tashkil
qiladi: 52
Vazifalar navbati (job queue) – tizimdagi barcha jarayonlar to‗plamini
o‗z ichiga oladi. Har bir yangi jarayon unga kelib tushadi va butun tizim davomida
unda qoladi.
Tayyor jarayonlar navbati (ready queue) – asosiy xotirada
joylashgan, tayyor va bajarilishini kutayotgan barcha jarayonlar to‗plamini o‗z
ichiga olgan, eng ko‗p ishlatiladigan va o‗zgartiriladigan navbat. Unga har bir
yangi jarayon, shuningdek, kiritish/chiqarishni tugallanishini kutayotgan har bir
jarayon kelib tushadi.
Qurilmalar navbati (device queue) – kiritish/chiqarish
qurilmalarini ishini tugallanishini kutayotgan jarayonlar navbati (har bir qurilma
o‗z navbatiga ega). Operatsion tizim tomonidan jarayonlarni boshqarish va
tizimdagi jarayonlarning xatti-harakatlari turli navbatlar orasidagi ko‗chish sifatida
ko‗rib chiqilishi mumkin. 2.11- rasmda tayyor jarayonlar va kiritish/chiqarish
qurilmalari uchun navbat-ning diagrammasi ko‗rsatilgan. 2.11- rasm. Tayyor
jarayonlar navbati va kiritish/chiqarish qurilmalari navbati 53 Jarayonlarni
rejalashtirish va navbatlar bilan ishlashi quyidagi 2.12- rasmda keltirilgan. Har bir
to‗rtburchak navbatni anglatadi. Ikki turdagi navbatlar mavjud: tayyor jarayonlar
navbati va qurilmalar navbati. Doiralar navbatlarga xizmat qiladigan resurslarni
anglatadi va strelkalar tizimdagi jarayonlar oqimini ko‗rsatadi. Dastlab yangi
jarayon tayyorlilik navbatiga qo‗yiladi. U bajarilgunga qadar yoki ubajarilish
uchun yuborilgunga qadar u yerda kutadi. Jarayon protsessor (CPU) bajarilgandan
so‗ng, bir nechta hodisalardan biri sodir bo‗lishi mumkin:
Jarayon so‗rovni
K/Ch qurilmasiga yuborishi, va keyin uni K/Ch navbatiga qo‗yishi mumkin.
Jarayon yangi farzand jarayonini yaratishi va uning tugatilishini kutishi mumkin.
Jarayon uzilishlar natijasida protsessordan majburiy ravishda olib tashlanishi va
yana tayyorlilik navbatiga qo‗yilishi mumkin. 2.12- rasm. Jarayonni
rejalashtirishning grafik ko‗rinishi 54 Tayyor jarayonlarning navbatidan boshlab,
har bir jarayon oxiroqibat protsessorga kelib tushadi va bajariladi. Bajarishda
quyidagi holatlar yuzaga kelishi mumkin, ya‘ni, bajarilish to‗xtatilishi mumkin:
sinxron kiritish/chiqarish so‗rovi, jarayonga ajratilgan vaqt miqdorining tugashi,
uzilish yoki farzand jarayonini yaratilishi. Klassik UNIX sxemasida, farzand
jarayoni tizimni fork bilan chaqirish orqali yaratilganda, farzand jarayoni uchun
yangi virtual xotira maydoni yaratiladi, unga ona xotirasi tarkibi ko‗chiriladi.
Shundan so‗ng, ona jarayoni farzand jarayoniga yo‗l beradi. Farzand jarayonini
yaratish uchun bunday sxema, albatta, har doim ham qulay emas. Jarayonlarni
rejalashtirishni amalga oshiradigan rejalashtiruvchilar Operatsion tizimda
jarayonlarni rejalashtirish odatda bir nechta rejalashtiruvchilar tomonidan amalga
oshiriladi, ularning har biri o‗z chaqiruvlar davriga va o‗zi hal qiladigan o‗ziga xos
vazifasiga ega. Rejalashtiruvchi (scheduler)bu – maxsus tizim dasturi bo‗lib,
jarayonlarni turli usullar bilan rejalshtirishni amalga oshiradi. Asosiy maqsadi
vazifani tizimga taqdim qilish uchun tanlash va qaysi jarayonlarni bajarishni hal
qiladi. Rejalashtiruvchilar 3 turda bo‗ladi:
Uzoq muddatli rejalashtiruvchi
(Long-Term Scheduler);
O‗rta muddatli rejalashtiruvchi (Medium-Term
Scheduler);
Qisqa muddatli rejalashtiruvchi (Short-Term Scheduler). Uzoq
muddatli rejalashtiruvchi (vazifalarni rejalashtiruvchi) – qaysi jarayonlarni tayyor
jarayonlar navbatiga o‗tkazish kerakligini belgilaydi
Qisqa muddatli rejalashtiruvchi (protsessorni rejalashtiruvchi) – keyingi bajarilishi
kerak bo‗lgan jarayon va qaysi jarayonlar protsessor bilan ta‘minlanishi kerakligini
belgilaydi. O‗rta muddatli rejalashtiruvchi (jarayonlarni almashtirishni
rejalashtiradi) – vaqtni taqsimlash rejimini amalga oshirish uchun tizimga yozishni
va almashtirishni rejalashtiruvchi qo‗shilishi mumkin, u qaysi foydalanuvchi
jarayonlarini xotiraga va diskka ko‗chirish (swapping) kerakligini belgilaydi. 55
Rejalashtiruvchilar va jarayonlarning xususiyatlari. Har bir rejalashti-ruvchining,
shuningdek har bir jarayonning o‗ziga xos xususiyatlari bor. Qisqa muddatli
rejalashtiruvchi juda tez-tez chaqiriladi, masalan, kamida keyingi protsessor kvant
vaqtining tugashi, shuning uchun u juda tez va samarali amalga oshirilishi kerak.
Uzoq muddatli rejalashtiruvchi nisbatan kamdan-kam hollarda chaqiriladi, chunki
tizim jarayonni tayyor jarayonlar holatiga o‗tkazish to‗g‗risida qaror qabul
qilmaydi. Shuning uchun u nisbatan sekin bajarilishi mumkin, unchalik samarali
amalga oshirilmaydi. Bunday rejalashtiruvchini o‗z ichiga olgan tizimning sxemasi
quyidagi 2.13- rasmda keltirilgan. 2.13- rasm. Foydalanuvchi jarayonlarini
xotiraga va diskka ko‗chirish sxemasi Ammo, umuman olganda tizimning asosiy
vazifasi - iloji boricha ko‗proq jarayonlarga xizmat ko‗rsatish, aynan uzoq
muddatli rejalashtirish multidasturlash darajasini (koeffisientini) – tizimning vaqt
birligida xizmat qiladigan jarayonlar sonini aniqlaydi. Jarayonlarning o‗zi ham
ularni rejalashtirish nuqtai nazaridan boshqacha harakat qilishi mumkin. Jarayonlar
quyidagicha bo‗lishi mumkin: 56
Kiritish/chiqarishga yo‗naltirilgan (I/O bilan
bog‗langan - (I/O bound)) – hisoblashga qaraganda kiritish/chiqarishga ko‗proq
vaqt sarflaydigan jarayonlar. Bunday jarayonlar odatda protsessor vaqtining
ko‗pgina qisqa kvantlarini sarflaydi.
Protsessordan foydalanishga yo‗naltirilgan
(CPU bilan bog‗langan – CPU bound) - bu ko‗p vaqtini hisoblash uchun
sarflaydigan
Har qanday tarmoq tizimidagi saytlar ma‘lum bir topologiyada, tugunlarni
bog‗laydigan ulanishlarning (kabellar, simsiz tarmoqlar yoki ikkalasi) geometrik
joylashuvida bir-biriga fizik yoki mantiqan ulanishi mumkin. Eng keng tarqalgan
topologiyalar shina, yulduz, xalqa, daraxtdir. Har bir topologiyada barcha saytlar
o‗rtasida tezkor aloqa zarurligi, sayt yoki aloqa liniyasi ishlamay qolish
(nosozliklar tufayli) holatlari, uzun aloqa liniyalarining narxi va bitta saytni boshqa
ko‗plab saytlarga ulashning qiyinligi o‗rtasida o‗zaro bog‗liqliklar mavjud.
Tarmoqni loyihalashtiruvchisi uchun juda ko‗p yechimlar mavjud va ularning
barchasi mijozning talablariga javob berishi mumkin. Loyihalashtiruvchilar qaysi
konfiguratsiyani ishlatishni tanlashda to‗rtta mezonni hisobga olishlari kerak:
Asosiy xarajat - tizimdagi turli saytlarni bog‗lash uchun zarur bo‗lgan xarajatlar;
Aloqa narxi - xabarni bir saytdan boshqasiga yuborish uchun ketadigan vaqt;
Ishonchlilik - tizimda havola yoki sayt ishlamay qolgan taqdirda ham ko‗plab
saytlar bir-biri bilan aloqada bo‗lishining kafolati;
Foydalanuvchi muhiti -
biznesni muvaffaqiyatli investitsiyalash uchun tarmoq javob berishi kerak bo‗lgan
muhim parametrlar. Har bir mijoz uchun bir nechta yechimlar bo‗lishi mumkin.
Eng yaxshi tanlov barcha to‗rtta mezonni hisobga olishi kerak. Shina topologiyasi
Shina topologiyasida barcha tugunlar 6.1- rasmda ko‗rsatilga-nidek tarmoqning
butun uzunligi bo‗ylab ishlaydigan bitta aloqa liniyasiga 211 ulanadi. Qurilmalar
kabellar bilan fizik bir-biriga bog‗langan, lekin kabellar markazlashtirilgan
boshqaruv mexanizmi orqali o‗tmaydi. Barcha topologiya oxirida signallarni
ifodolovchi terminatorlar joylashadi. Xabarlar bitta mashina orqali hammaga
jo‗natiladi va faqat u kimga mo‗ljallangan bo‗lsa o‗sha uni qabul qiladi. Bunday
tarmoq juda arzon va sozlash oson hisoblanadi. Kamchiligi umumiy kabel va
terminator tizimidan chiqishda ishni rad etishi hisoblanadi. Shuningdek tarmoqni
shikastlangan joyini topish qiyin.
FOYDALANILGAN ADABIYOTLAR
1. Abraham Silberschatz, Peter Baer Galvin, Greg Gagne. Operating system
concepts Ninth edition, 2013. – 944 p. ISBN: 9781118063330, ISBNBRV:
9781118129388. 2. Ann McIver McHoes Ida M. Flynn. Understanding operating
systems. Sixth edition, 2011. – 591 p. Library of Congress Control Number:
2010920344. 3. Э.Таненбаум, Х.Бос. Современные операционные системы 4-е
издание — СПб.: Питер, 2015. — 1120 с.: ил. — (Серия «Классика computer
science»). 4. В.Г.Олифер, Н.А.Олифер. Сетевые операционные системы:
Учебник для вузов. 2-е изд. — СПб.: Питер, 2009. — 669 с.: ил. 5. С.В.
Назаров, А.И. Широков. Современные операционные системы Учебное
пособие — М.: Национальный Открытый Университет «ИНТУИТ», 2012. —
367 с.: ил., табл. — (Основы информационных технологий)., 2012.
|