SlideShare a Scribd company logo
JARAYONLAR VA
IPLAR
JARAYON
• Jarayonlar va iplar kabi asosiy tushunchalarni ko'rib chiqing . Keling,
bularning barchasi tarixan qanday rivojlanganligini va hozir nimaga olib
kelganini ko'rib chiqaylik. Keling, OTdagi eng asosiy tushunchadan
boshlaylik - jarayon, qolgan hamma narsa uning ustiga qurilgan.
• Jarayon -
– Bu davom etayotgan dastur
– Protsessorda ishlaydigan ba'zi ob'ektlar
Aslini olganda, bizning shaxsiy kompyuterimizda OT ostida ishlaydigan barcha
dasturiy ta'minot, hatto ba'zan OTning o'zi ham, jarayonlar to'plami sifatida
tashkil etilgan. Jarayonlar - minimal ibtidoiy bo'lib, u qandaydir ko'p vazifani
tashkil qilish imkonini beradi .
• Bajariladigan fayl sifatida jarayon tizimdagi bir nechta dasturlarni parallel
ravishda bajarishga imkon beradi (protsessor dasturlar o'rtasida almashinadi)
• Kompyuterda ishlaydigan barcha dasturiy ta'minot, shu jumladan OT ning
o'zi ham jarayonlar to'plami sifatida tashkil etilgan.
Keling, jarayon nimadan iboratligini ko'rib chiqaylik.
JARAYON
Jarayon uchta asosiy komponentdan iborat:
• 1) bajariladigan kod
• 2) Ushbu dasturni bajarish uchun zarur bo'lgan u bilan bog'liq ma'lumotlar
• 3) Kontekst - jarayonni boshqarish uchun zarur bo'lgan OT uchun ma'lumot.
Ushbu ma'lumotlar jarayonlar o'rtasida almashish, jarayonning holatini saqlash va
tiklash uchun ishlatiladi.
– Jarayon raqami
– CPU registrlari
– Stak tarkibi
• BU. Kontekst jarayonni almashtirish uchun asosdir
• OT tizimdagi barcha jarayonlar ro'yxatini yuritadi. Bu murakkabroq yoki eng
oddiy bo'lishi mumkin.
JARAYON
(JISMONIY TASVIR)
Pastki 0 manzil, yuqori maksimal.
Maksimalda stek, keyin qarama-
qarshi yo'nalishda o'sadigan uyum,
ma'lumotlar va dastur kodi.
Har bir jarayonning o'z manzil maydoni
borligini tushunish muhimdir.
Diagrammada virtual manzil
maydoni noldan boshlanadi va
ma'lum bir maksimal bilan tugaydi,
u segmentlardan iborat: kod,
ma'lumotlar va stek.
Stak


uyum
ma'lumotlar
Dastur kodi
Stak
segmenti
Ma'lumot
lar
segmenti
kod
segmenti
0
Maks.
JARAYON
(JISMONIY TASVIR)
OTda dasturni (masalan , MS Word) ishga tushirganingizda , quyidagilar
sodir bo'ladi:
1. Xotirada joy ajrating .
Har bir jarayon o'zining virtual manzil maydonida ishlaydi, u
quyidagilardan iborat:
1. Stek segmenti - funksiya chaqiruvlari va tizim chaqiruvlari uchun
ishlatiladi
2. Ma'lumotlar segmenti - to'pdan ajratilgan statik va dinamik
o'zgaruvchilar (ishlash uchun kerak bo'lgan hamma narsa)
3. Kod segmenti - dastur kodi, odatda faqat o'qish uchun ruxsat beriladi
Xuddi shu dasturni bir necha marta ishga tushirish har biri o'z virtual
manzil maydoni va muhitiga ega bo'lgan yangi jarayonlarni keltirib
chiqaradi. Bular. bu sxema har bir ishlaydigan jarayon uchun bo'ladi.
BULARNING BARCHASINI QANDAY
BOSHQARISH KERAK?
OT JARAYONLARINI BOSHQARISH TUZILISHI
OT jarayonlar ro'yxatini yuritadi
• Jarayon jadvali - bu jadvalda har bir jarayon uchun bitta yozuv
mavjud;
• Har bir jarayon uchun jarayon bilan bog'liq bo'lgan barcha narsalarni
(ma'lum bir kontekst) o'z ichiga oladigan ma'lum bir ma'lumotlar
tuzilishi kerak. Bularning barchasi ma'lum bir universal
kontseptsiyada OSda saqlanadi
Jarayonni boshqarish bloki (PCB) . Uning jarayonini, u tegishli
ekanligini va hozirgi holatini tavsiflaydi
• Jarayon tasviri - oldingi diagrammada - jarayon uchun ajratilgan
xotira
JARAYONNI BOSHQARISH BLOKI (PCB) .
Ushbu blok OTdagi barcha jarayonlar uchun doimiy hajmga ega.
Jarayon bo'yicha har qanday harakatni bajarish uchun zarur bo'lgan barcha
ma'lumotlarni o'z ichiga oladi - jarayonni to'xtatib turish, keyin qayta tiklash,
diskka yuklash va diskdan yuklash.
Jarayon identifikatorlari
• Jarayon raqami ( PID - Process ID entifikator deb ataladi )
• Foydalanuvchi ma'lumotlari
Jarayon holati - registrlar, stek ko'rsatkichlari.
Jarayon holati
• Rejalashtiruvchi uchun ma'lumot - bu jarayonning ustuvorligi
• Imtiyozlar - xotiraga kirish, joriy ko'rsatmalar
• Jarayonga tayinlangan virtual xotira haqida ma'lumot
• Statistik ma'lumotlar va cheklovlar (bajarilish muddati chegaralari, protsessorning
o'tgan vaqti statistikasi)
• I / O - resurs egaligi, ochiq fayllar, ajratilgan qurilmalar.
JO'NATISH
• Dispetcher - jarayonlarni ishga tushirish
uchun yuboradi, protsessor vaqtini ajratadi va
protsessorni bir jarayondan ikkinchisiga
o'tkazadi. Vaqtning istalgan lahzasida har
qanday jarayon istalgan holatda bo'lishi
mumkin: hech bo'lmaganda u kiritish -
chiqarishni kutmoqda, bajarilmoqda,
bajarishga tayyor va siz bir qator qo'shimcha
oraliq holatlarni ham o'ylab topishingiz
mumkin.
JARAYON HOLATI MODELI
1. I/U uchun jarayon bloklangan
2. Dispetcher boshqa jarayonni rejalashtiradi
3. Dispetcher bu jarayonni rejalashtiradi
4. I/U sodir bo'ldi, jarayon ijroni davom
ettiradi
JARAYON HOLATI MODELI
Har qanday OT ning yakuniy maqsadi ba'zi ishni, vazifani bajarish,
foydalanuvchi so'roviga javob berishdir ...
Jarayonning uchta asosiy bosqichi mavjud
• Amallar (CPUda ishlaydi)
• Tayyor (vaqtinchalik to'xtatilgan)
• Qulflar (tashqi hodisani kutish)
ishlash
blokirovka qilish
tayyorlik
jo'natish
Voqea sodir bo'ldi
1- voqea kutilmoqda
2
3
4
taym-aut; turib
qolish; tanaffus
JARAYON HOLATI MODELI
Har qanday jarayon bir nechta holatda bo'ladi, eng oddiy versiyada 3 ta holatni ajratish mumkin:
1) Faraz qilaylik, har qanday jarayon “ hayotini ” davlatdan boshlaydi
"Ishlash".
2) Agar kiritish-chiqarish so'rovi amalga oshirilgan bo'lsa, u biroz kechikish bilan amalga oshiriladi (I/U
protsessorga qaraganda sekinroq), shuning uchun hodisani kutish (ya'ni, kiritish / chiqishni kutish)
mavjud. Jarayon hozirda bloklangan holatda "Bloklangan". Dispetcher unga protsessor vaqtini
ajratmaydi, chunki u foydasiz, kiritish-chiqarish tugamaguncha jarayon hech qanday ishni bajara
olmaydi.
3) Bundan tashqari, kiritish / chiqish sodir bo'lganda, jarayon allaqachon biror narsani qayta ishlashi mumkin,
uning holati "Tayyor" holatiga o'zgaradi (jarayon dispetcherga ishlashga tayyorligini ko'rsatishi
kerak). Dispetcher m/y jarayonlar o'rtasida keyingi almashuvda jarayonning "Tayyor" holatida
ekanligini ko'radi va uni "Bajarilish" holatiga o'tkazadi. Ushbu "Ishlayotgan" holatda dispetcher
jarayonga protsessor vaqtini beradi - to'g'ridan-to'g'ri bajarish boshlanadi. Bu doira yopiq.
Jarayon "Tayyor" holatiga kirgandagi yana bir holat - bajarish uchun ajratilgan protsessor vaqtining kvanti
tugashi bilan, "Bajarish" holatidan jarayon "Tayyor" holatiga o'tadi va dispetcher bu vaqtda
boshqaruvni boshqasiga o'tkazadi. boshqa jarayon.
Tizim menejeri umumiy hodisalar bilan nima sodir bo'layotganini bilishi kerak: kiritish-chiqarish, sinxronlash
va h.k.
JARAYON HOLATI MODELI 2
yangi
bloklangan
tayyor
jo'natish
amalga oshirildi yakunlash
taym-aut; turib
qolish; tanaffus
Kutish
voqealar
Voqea sodir
bo'ldi
Yangi model 5 shtatdan iborat bo'lib, bu model bugungi OTga juda yaqin
1. " Yangi " - jarayon yaratilgan, lekin u hali OS tomonidan ishlaydigan jarayonlar havzasiga
joylashtirilmagan. PCB tuzilishi yaratilgan, lekin jarayon hali xotiraga yuklanmagan (ya'ni, PCB
yaratilgan va bo'sh manzil maydoni)
2. Tayyor " holatiga joylashtiriladi : jarayon to'liq bajarishga tayyor.
JARAYON HOLATI MODELI №2
Yangi model 5 ta holatdan iborat bo'lib , bu model bugungi OTga juda yaqin
1. " Yangi " - jarayon yaratilgan, lekin u hali OS tomonidan ishlaydigan jarayonlar havzasiga
joylashtirilmagan. PCB tuzilishi yaratilgan, lekin jarayon xotiraga hali yuklanmagan (ya'ni,
PCB yaratilgan va bo'sh manzil maydoni)
2. Tayyor " holatiga joylashtiriladi : jarayon to'liq bajarishga tayyor, ya'ni. nazoratni qo'lga
kiritishi va to'g'ridan-to'g'ri ishlashni boshlashi mumkin. Hamma narsa xotiraga yuklanadi,
ma'lumotlar, stek, to'plam ishga tushiriladi.
3. " Bajarish " - jarayon bajarilmoqda.
4. " Lock " - jarayon tashqi hodisani kutmoqda (I/O).
5. " End " - jarayon bajarilgan jarayonlar havzasidan chiqariladi, u o'z ishini tugatdi. Jarayon
"tugallangan" deb belgilanadi. Dispetcher jarayonni tozalash vazifasini bajaradi. Ushbu
bosqichda xotirani bo'shatish, jarayon resurslarini yopish (i / u, fayllar ...) bo'yicha ishlar
olib borilmoqda.
JARAYONNI REJALASHTIRISH
uchta asosiy jarayon holatiga asoslanib , rejalashtiruvchi qaysi jarayon qaysi holatda
ekanligini bilishi kerak. Agar protsessorda bir nechta ishlov berish yadrolari
mavjud bo'lsa, ishlar yanada murakkablashadi.
jarayonlarni rejalashtirish uchun turli navbatlar (ro'yxatlar) kiritiladi.
Jarayonning uchta holatiga asoslanib, 3 ta navbat kiritiladi:
1. Vazifa navbati : tizimdagi barcha jarayonlar to'plami
2. Tayyor navbat : bajarishga tayyor bo'lgan barcha jarayonlar to'plami, ularga
istalgan vaqtda protsessor vaqtining kvanti berilishi mumkin va ular bajariladi.
3. Kutish navbati : barcha bloklangan jarayonlar to'plami.
Hayotiy tsikl davomida jarayonlar bu navbatlarga ko'chiriladi va bu navbatlardan
chiqariladi.
WINDOWS
OTdagi barcha jarayonlar to'plamini ko'rsatadi.
Tarixan bu vazifa TackMenager deb ataladi - vazifa
menejeri. U OTdagi barcha jarayonlarni
ko'rsatadi, garchi biz jarayon holatlarini (tayyor,
kutish, bajarilish) ko'rmasak ham. Biz faqat
umumiy roʻyxatni koʻramiz.Roʻyxat
ustunlarining koʻrinishini oʻrnatishingiz
mumkin.
Windows -da jarayon qancha xotira olishini aniqlash
juda qiyin (ko'p variantlar).
Windows yadrosi identifikatori 4( PID) ga ega
jarayon sifatida ifodalanadi , eng kichigi 0,
lekin u band.
Linuxda yadro jarayon emas
JARAYONNI BOSHQARISH
Bloklangan navbat _ _
Tayyor navbat _ _
Markaziy protsessor
Vaqt
tugashi t
Qabul Dispetcherlik Ozodlik
sodir bo'ldi
voqea
Voqea kutilmoqda
JARAYONNI BOSHQARISH
Bitta “tayyor” va bitta “bloklangan” jarayonlardan foydalanadi
Biroq, quyidagi kamchiliklar mavjud:
- Voqea sodir bo'lganda, ushbu hodisani kutayotgan barcha jarayonlar "bloklangan"
dan "tayyor" navbatga o'tkazilishi kerak.
- Aynan sodir bo'lgan voqeani kutayotgan barcha jarayonlar uchun navbatda
qarashingiz va keyin ularni "tayyor" navbatga o'tkazishingiz kerak. Shundan so'ng,
ularga dispetcher tomonidan CPU vaqti beriladi va ular bajariladi.
- To'g'ri tanlash uchun OS navbatdagi barcha bloklangan jarayonlarni ko'rib chiqishi
kerak. Buning uchun siz doimo aylana bo'ylab bloklanganlar qatoridan o'tishingiz
kerak bo'ladi.
JARAYONNI BOSHQARISH
Tadbir -
1) I/O kutmoqda
2) Sinxronizatsiya - jarayon boshqa jarayon tomonidan foydalanilayotgan ba'zi
manbalarga kirishi kerak bo'lganda, u kutishi kerak.
Qandaydir tarzda bu sxemani yaxshilash kerak. Eng mantiqiy narsa shundaki, OSdagi
har bir hodisa ushbu hodisa tomonidan bloklanganlarning o'z navbatiga ega
bo'lishi kerak. Keyin, voqealarni tanlab, biz uni kutayotgan barcha jarayonlarni
ko'ramiz, biz darhol hamma narsani "tayyor" navbatga o'tkazamiz va hamma
narsa tez va ajoyib ishlaydi.
Ammo amalda buning iloji yo'q, bloklangan jarayonlarning ko'p navbatlari bo'ladi,
shuning uchun ba'zi murosalar qo'llaniladi - kutilgan hodisalar turi bo'yicha
tartiblangan bir nechta navbatlar qo'llaniladi.
YECHIM: bloklangan jarayonlarning bir nechta navbatlaridan foydalaning. Yukni
kamaytiring va bloklangan jarayonlarning to'liq ro'yxatidan o'tmang.
JARAYON YARATING
Birinchi jarayonlar OS yuklash vaqtida yaratiladi.
1)Tizimni yuklash
Tizimni ishga tushirish jarayonida bir nechta dastlabki jarayonlar yaratiladi
– Unix- da bular Sched(pid0) init(pid1) "daemon" jarayonlari - boshqa
yuqori darajadagi jarayonlar (veb-server, elektron pochta serveri).
Yadro jarayon emas. Unix -dagi identifikatorlar 1 ga oshib ketma-ket
bo'ladi.
– Windows NT da yadro tizim jarayonidir System(Pid4) , keyin smss
quyi tizim boshqaruv tizimi yuklanadi . Win -dagi identifikatorlar 4 ga
oshib boradi , 0 identifikatori saqlangan, tizim jarayoni 4 ga teng.
JARAYON YARATING
2) Joriy jarayon bola jarayonini keltirib chiqaradi
• Operatsion tizimni qurishda qiziqarli xususiyat mavjud - jarayon ierarxiyasi deb
ataladigan narsa, tarixan u Unix sinfidagi OTda mavjud edi . U erda har bir jarayon
qat'iy munosabatlarga ega - ota-ona jarayoni mavjud va ehtimol. bola jarayoni.
– Misol veb-server yangi so'rovni qayta ishlash uchun bola jarayonini yaratishi
mumkin (bu yaxshi emas, sekin)
– Unix da , boshlash jarayoni qobiqni ishga tushirish uchun foydalanuvchi
ruxsatlarini kuzatib boradi (yangi jarayonlar)
3) Foydalanuvchi yangi jarayon yaratadi
• Foydalanuvchi matnli qobiqdan buyruq chaqiradi yoki grafik qobiqdan yangi
dasturni ishga tushiradi. Bu ota-onasi OS qobig'i bo'lgan yangi jarayonni yaratadi.
JARAYONNI YARATISH
BOSQICHLARI
Jarayonni yaratish uchun sizga kerak bo'ladi:
1)Yangi jarayonga noyob identifikatorni tayinlang
2)Buning uchun xotirada joy ajrating (dastur, ma'lumotlar va
stek uchun) - ba'zi sahifalar xotirada jismoniy ajratilgan
(diskda jarayon tasviri yaratiladi)
3)PCBni ishga tushirish (jarayonni boshqarish bloki)
4)Jarayonni bajarish uchun "tayyor" navbatga qo'shing.
JARAYON IERARXIYASI
( UNIX OS )
- Jarayonlar orasidagi qat'iy ierarxiya: bola va ota-ona
doimo o'zaro bog'liqdir
- Buyruqlar qatori identifikatori (foydalanuvchining Shell )
foydalanuvchi buyruq satridan boshlaydigan barcha
jarayonlarning ota-onasi hisoblanadi.
- Jarayonlar guruhi tushunchasi mavjud - har qanday jarayon har
qanday guruhga tegishli bo'lishi mumkin, biz guruhga signal
yuboramiz va guruhdagi barcha jarayonlar uni bajaradi.
- Agar foydalanuvchi jarayon guruhiga signal yuborsa ( masalan ,
tugatish uchun SIGKILL ), u holda signal guruhdagi har bir
jarayonga yetkaziladi. Bu jarayon guruhlari bilan ishlash uchun
juda qulay.
JARAYONNI YARATISH
( UNIX OS )
Fork()/exec()
1)fork() dan boshlanadi , u chaqiruv jarayonining aniq klonini yaratadi,
ya'ni "bolalar" jarayoni
2)exec() ijro menejeri klonning jarayon tasvirini bajariladigan yangi dastur
bilan almashtiradi.
Bu tarixan sodir bo'lgan va jarayonni yaratishning boshqa usuli yo'q,
shuning uchun asoslarning asosi sifatida ierarxiya mavjud.
Yaratilgandan so'ng, ota-ona va bola jarayonlari o'zlarining turli manzil
bo'shliqlariga ega.
Ba'zi manbalar bo'lishi mumkin umumiy (masalan, ochiq fayllar). Shuning
uchun, fork() tizim chaqiruvi ikki marta qaytariladi - bir marta asosiy
jarayonga, ikkinchisi yangi yaratilganiga.
JARAYONNI YARATISH ( UNIX OS )
KALIT MEXANIZMI
Ota-ona RSV
Ota-manzil maydoni
(kod, statistika,
yig'ma, stek)
RSV sho'ba korxonasi
Child jarayon manzil
maydoni (kod,
statistika, yig'ish, stek)
Shunga o'xshash, lekin
nusxasi emas
bir xil
Fork() ni chaqirgandan so'ng deyarli bir xil PCB (boshqaruv bloki) yaratiladi, faqat jarayon
identifikatori boshqacha bo'ladi, manzil maydoni o'xshash.
Identifikator jadvaldan olingan (har bir OTda mavjud).
ning kamchiligi shundaki, Fork() juda sekin ishlaydi, avvalo jarayonning aniq nusxasini
yaratishingiz, keyin esa uni yangi jarayon bilan almashtirishingiz kerak.
JARAYONNI YARATISH
( UNIX OS ) LINEX
Eski dasturning boshqa nusxasini emas, balki yangi dasturni qanday
yaratish mumkin?
• Osonlik bilan. Avval fork() , keyin exec() .
E xec () yangi jarayon yaratmaydi, balki joriy jarayonning ma'lumotlarini yangi
ma'lumotlar bilan almashtiradi
Ushbu modelning kamchiliklari bor:
- Folk() juda sekin ishlaydi, siz hamma narsaning to'liq nusxasini yaratishingiz
va keyin uni almashtirishingiz kerak
vfolk () copy-on-write funksiyalarida topilgan
Linuxda xususiyatlar mavjud
Clone() - fork()/ vfork ()
Clone() qo'shimcha imkoniyatlarga ega. Exec () ichida Linex bu
tizim chaqiruvi emas
execve () funksionalligi bo'yicha exec()
1. Windows -da jarayonlar NtCreatProcess() tizim chaqiruvi
orqali yaratiladi - bu qo'ng'iroq juda ko'p parametrlarga ega,
ularning aksariyati "standart". Jarayon to'g'ridan-to'g'ri o'z
xohishiga ko'ra ishlab chiqariladi, u joriy nusxaning majburiy
nusxasi bo'lishi shart emas, shuning uchun munosabatlar
hurmat qilinmaydi.
• Jarayon dastagi - ot (so'zma-so'z tarjima qilingan "tutqich")
Bu jarayonga kirishning mohiyati - ma'lum bir jadvaldagi
indeks bo'lgan va ushbu jarayonni aniqlashga imkon
beradigan ba'zi bir butun son - kirishni boshqarish, huquqlar,
meros.
• Pid - jarayon jadvalidagi ofset (indeks).
JARAYON YARATISH ( WINDOWS
OS )
WINDOWS OPERATSION
TIZIMIDA
• Hech kim yo'q, hamma teng. Shuning uchun o'zaro ta'sir
haqida savol tug'iladi.
• Jarayon tutqichi - ota-ona tomonidan yangi jarayon
yaratilganda, ota-ona bola jarayonining dastagini oladi va
hokazo. boshqarishi mumkin
• Ushbu tutqich boshqa jarayonlarga o'tkazilishi mumkin (
Unix dan farqli o'laroq , bu erda asosiy jarayon bir nechta
bolalar jarayonlarini o'zgartira olmaydi).
• Jarayon dastagi - jarayon ob'ekti identifikatori
JARAYONLAR O'RTASIDA ALMASHISH (ENG
OSON VARIANT)
Boshqa jarayonga o'tish kerak bo'lganda, OS "kontekstni almashtirish"
ni amalga oshiradi .
• Eski jarayonning holati uning tenglikni saqlash tizimida saqlanadi
• Yangi jarayonning holati PCB ga tiklanadi
Kontekstga o'tish vaqti - OS qo'shimcha xarajatlari (qanchalik kam
bo'lsa, u tezroq ishlaydi)
Uskunaning amalga oshirilishiga bog'liq (ya'ni, "kompyuterning
apparat ta'minoti" dan, u apparat tomonidan optimallashtirilgan).
Kalitlarga nima sabab bo'ladi?
Kontekstni almashtirishga olib keladigan hodisalar:
o Xalaqit beradi
o Istisnolar
o Tizim qo'ng'iroqlari
OQIMLAR (MAVLAR)
Jarayon kamida quyidagilardan iborat:
- 1) Manzil maydoni (ko'rsatmalar to'plami - dastur kodi, ma'lumotlar)
- 2) Ijro etilish holati
Oqim holati CPU registrlari bilan tavsiflanadi
- Dastur hisoblagichi ( IP registr )
- Stack Pointer ( SP)
- CPU registrlari
- Hozirgi vaqtda jarayonga tegishli bo'lgan OS resurslari to'plami (ochiq
fayllar, tarmoq ulanishlari).
Bularning barchasi jarayonning bir kontseptsiyasida. Lekin bu yaxshi emas.
Bir-biriga bog'liq bo'lmagan 3 ta jarayonni 3 ta sohaga bo'lish yaxshi bo'lardi.
OQIM tushunchasi yordamga keladi .
OQIMLAR (MAVLAR)
iplar kerak - parallellik va parallellik uchun.
Parallellik - bu eng yaxshi ishlashga erishish uchun jismoniy jihatdan bir vaqtning
o'zida bajarilishi (masalan, ikkita yadro o'rtasida)
Simultanelik - bir vaqtning o'zida mantiqiy va / yoki jismoniy bajarish (bitta
protsessor mavjud, bir vaqtning o'zida bir nechta dastur ishlaydi - ko'p vazifali
OT).
Ikkala tushunchadan ham samarali foydalanish uchun oqimlar kerak. Parallelizmga
erishishning eng oddiy usuli - bir nechta jarayonlar yordamida - dasturlar turli
jarayonlarda bir-biridan ajratilgan, shuning uchun parallelizm mavjud.
Mavzular - parallellikka erishishning yana bir usuli. Mavzular bir xil jarayon
doirasida ishlaydi. Jarayondagi barcha oqimlar bir xil manzil maydoniga va bir xil
OS resurslariga ega. Mavzular o'z stekiga va o'zlarining CPU holatiga ega.
PARALLELLIK
Misollar:
Har bir foydalanuvchi jarayoni uchun yangi jarayon yaratadigan veb-server
, ya'ni. parallel ravishda bir nechta so'rovlarga xizmat qilishi kerak.
Ma'lumotlar bazasidan mijozning so'roviga ko'ra ma'lumotlarni kutish
paytida server bir vaqtning o'zida boshqa mijoz uchun diskdan
ma'lumotlarni yuklashi va uchinchi mijozning so'roviga ishlov berishi
mumkin.
Veb-brauzer - veb-sahifaga kirish paytida u turli manbalardan
ma'lumotlarni parallel ravishda yuklab olishi mumkin.
ba'zi kompyuter dasturlari - masalan, katta hajmdagi ma'lumotlarni qayta
ishlash kerak bo'lganda.
PARALLELLIK
Ushbu parallellik misollarining har birida umumiy narsa bor:
• Bitta kod
• Yagona ma'lumotlarga kirish
• Bitta kirish darajasi
• Resurslarning bir to'plami.
har xil:
• Stack va stack ko'rsatkichi ( SP registri )
• Keyingi ko'rsatmani ko'rsatuvchi ko'rsatmalar hisoblagichi ( IP registri).
• Ko'p CPU registrlari
PARALLELLIK
Parallellikka qanday erishish mumkin?
Jarayon bilimlaridan foydalanib, siz :
• Fork () bir nechta jarayonlar (ya'ni, bir vaqtning o'zida bir nechtasini
tug'diradi)
• Ularning har birini o'z manzil maydonini bir xil jismoniy xotiraga
moslashtiring
Samarasiz: PCB xarajatlari , sahifa jadvallari, ma'lumotlar tuzilmalarini
OS yaratish, manzil maydonini nusxalash, sinxronlashtirilgan kirish.
Yechim FLOWS tushunchasini joriy qilishdir
Jarayonning kontseptsiyasini (manzil maydoni, OS resurslari) minimal
ipdan ajratib oling, nazorat oqimi , ya'ni. protsessor stek va
registrlarining holati.
Bu holat ba'zan "engil" jarayon yoki ip deb ataladi.
JARAYONLAR VA MAVZULAR
Ko'pgina zamonaviy operatsion tizimlar ikkita ob'ektni qo'llab-quvvatlaydi:
Jarayonning manzil maydoni va umumiy atributlarini belgilaydigan jarayon.
Jarayon ichidagi ketma-ket bajarilish oqimini belgilaydigan ip.
Tarmoq bitta jarayonga bog'langan (bitta manzil maydoni)
- Ammo bir xil manzil maydonida ko'plab mavzular bo'lishi mumkin
- Umumiy ma'lumotlarga oson kirish
- Ip yaratish juda oz vaqtni oladi
OQIMLAR rejalashtirish birligiga aylandi
Jarayonlar faqat iplar ishlaydigan konteynerdir .
Jarayon konteynerning o'zi, ip esa uning ichida bo'lgan ijro iplari.
KO'P TARMOQLI
Ko'p ish zarralari quyidagilar uchun foydalidir:
- bir vaqtning o'zida sodir bo'lgan voqealarni boshqarish
- parallel dasturlarni qurish.
Ko'p ish zarralarini qo'llab-quvvatlash - jarayon tushunchasini
boshqarishning minimal oqimidan ajratish.
- Parallel bajarish uchun yangi jarayonlarni yaratishga hojat
yo'q.
- Tezroq ishlaydi, kamroq xotira talabi.
Ilgari: "Jarayon" = manzil maydoni + OS resurslari + bitta
ipni qabul qildi
Ilgari: "Jarayon" = manzil maydoni + OS resurslari + barcha
oqimlar jarayonga tegishli
OQIMLAR NIMA?
Ular buni ikki usulda qilishadi:
1) Yadro darajasida (yangi ip yaratish uchun yadro funktsiyalari mavjud)
- jarayonning manzillar maydonining ichki qismida ijro steklari ajratiladi -
Thread Control Blokni (jarayonni boshqarish bloki) yaratadi va ishga tushiradi.
2) Foydalanuvchi darajasida
-
yadro
Jarayon 1
Jarayon 2
3 ta oqim. Maxsus bor
Yadro tashqarisidagi
iplarni mustaqil ravishda
boshqaradigan Pthreads
kutubxonasi
Yadro iplarni
boshqaradi
OQIMLAR
Ikkalasida + va - bor
1) var. "-" ip yaratishda tizim chaqiruviga muhtoj va bu
protsessor vaqti. Foydalanuvchi darajasida tizim chaqiruvi
kerak emas, hamma narsa maxsus kutubxona tomonidan
nazorat qilinadi.
Pthreads kutubxonasi (ijobiy)
• Har bir ip protsessor registrlari, stek va kichik TCB bilan
ifodalanadi .
• Mavzuni yaratish, iplar o'rtasida almashish va ipni
sinxronlashtirish yadro ishtirokisiz amalga oshiriladi
• Foydalanuvchi darajasidagi iplar yadro rejimidagi iplardan
10-100 marta tezroq bo'lishi mumkin
OQIMLAR
• Bitta manzil maydonida bir nechta mavzular yaxshi
• Yadro rejimidagi iplar jarayonlarga qaraganda ancha samaraliroq, ammo
tizim chaqiruvi uchun ortiqcha yuk mavjud
• Foydalanuvchi rejimidagi iplarning afzalliklari va kamchiliklari mavjud:
• yaratilishning yuqori tezligi va "arzonligi"
• yadro bu iplar haqida bilmasligi sababli, kiritish/chiqarish va qulflar
bilan bog'liq muammolar bo'lishi mumkin.
Shuning uchun foydalanuvchi oqimlari unchalik mashhur bo'lmagan.
Ushbu muammolarni rejalashtiruvchi darajasida hal qilish mumkin .
WinNT- da iplar yadro darajasida amalga oshiriladi, bu hodisalarni yanada
nozik nazorat qilish imkonini beradi.
Taqdim etilgan tola - preemptive multitasking.
IPLAR VA JARAYONLAR
O'RTASIDAGI FARQ
Ijro oqimlari an'anaviydan farq qiladi
Ko'p vazifali operatsion tizim jarayonlari, bunda:
• jarayonlar odatda mustaqil, bajarilish iplari esa jarayonlarning tarkibiy elementlari
sifatida mavjud
• jarayonlar ko'proq holat ma'lumotlarini o'z ichiga oladi, shu bilan birga jarayon
ichidagi bir nechta bajarilish oqimlari holat ma'lumotlarini, shuningdek, xotira va
boshqa hisoblash resurslarini almashadi.
• jarayonlar alohida manzil bo'shliqlariga ega, bajarilish iplari esa o'zlarining manzil
maydonini bo'lishadi
• jarayonlar o'rtasidagi aloqa
• bir xil jarayonda bajarilish iplari orasidagi kontekstni almashtirish odatda jarayonlar
o'rtasida kontekstni almashtirishga qaraganda tezroq.
• Windows NT va OS/2 kabi tizimlar "arzon" iplar va "qimmat" jarayonlarga ega deb
aytiladi. Boshqa operatsion tizimlarda bajarilish iplari va jarayonlar o'rtasidagi farq
unchalik katta emas, manzil maydonini almashtirish narxi bundan mustasno.
WWW.ZNANIO.RU

More Related Content

What's hot

Learn Verbs In Modern Standard Arabic
Learn Verbs In Modern Standard Arabic Learn Verbs In Modern Standard Arabic
Learn Verbs In Modern Standard Arabic
Arabeya Arabic Language Center
 
Operating System-Process Scheduling
Operating System-Process SchedulingOperating System-Process Scheduling
Operating System-Process Scheduling
Shipra Swati
 
Homework solution1
Homework solution1Homework solution1
Homework solution1
Ignåciø Såråviå
 
Basic arabic grammar
Basic arabic grammarBasic arabic grammar
Basic arabic grammar
AdeelMushtaq
 
Window scheduling algorithm
Window scheduling algorithmWindow scheduling algorithm
Window scheduling algorithm
Binal Parekh
 
The process states
The process statesThe process states
The process states
Ajay Singh Rana
 
TOC 9 | Pushdown Automata
TOC 9 | Pushdown AutomataTOC 9 | Pushdown Automata
TOC 9 | Pushdown Automata
Mohammad Imam Hossain
 
Program design and problem solving techniques
Program design and problem solving techniquesProgram design and problem solving techniques
Program design and problem solving techniques
Dokka Srinivasu
 
5 variable kmap questions
5 variable kmap questions5 variable kmap questions
5 variable kmap questions
NANDINI SHARMA
 
Divide and Conquer
Divide and ConquerDivide and Conquer
Divide and Conquer
Melaku Bayih Demessie
 
السيرة النبوية 770 تغريدة
السيرة النبوية 770 تغريدةالسيرة النبوية 770 تغريدة
السيرة النبوية 770 تغريدة
م . محمد سليم محمد
 
Modern Standard Arabic Verbs (Part 2)
Modern Standard Arabic Verbs (Part 2)Modern Standard Arabic Verbs (Part 2)
Modern Standard Arabic Verbs (Part 2)
Arabeya Arabic Language Center
 
「プライベート版 Heroku」の "dokku" は Cloud Foundry 代替としてどこまで使えるか?
「プライベート版 Heroku」の "dokku" は Cloud Foundry 代替としてどこまで使えるか?「プライベート版 Heroku」の "dokku" は Cloud Foundry 代替としてどこまで使えるか?
「プライベート版 Heroku」の "dokku" は Cloud Foundry 代替としてどこまで使えるか?
K Kimura
 
Operating system - Deadlock
Operating system - DeadlockOperating system - Deadlock
Operating system - Deadlock
Shashank Yenurkar
 
Madinah Arabic Reader Book 4
Madinah Arabic Reader Book 4 Madinah Arabic Reader Book 4
Madinah Arabic Reader Book 4
Sonali Jannat
 
Process Synchronization And Deadlocks
Process Synchronization And DeadlocksProcess Synchronization And Deadlocks
Process Synchronization And Deadlocks
tech2click
 
Theory of computation Lec7 pda
Theory of computation Lec7 pdaTheory of computation Lec7 pda
Theory of computation Lec7 pda
Arab Open University and Cairo University
 
Chapter 1 nested control structures
Chapter 1 nested control structuresChapter 1 nested control structures
Chapter 1 nested control structures
Khirulnizam Abd Rahman
 
Fundamentals of Computer Design including performance measurements & quantita...
Fundamentals of Computer Design including performance measurements & quantita...Fundamentals of Computer Design including performance measurements & quantita...
Fundamentals of Computer Design including performance measurements & quantita...
Gaditek
 
Protocols and Reference models CCNAv7-1
Protocols and Reference models  CCNAv7-1Protocols and Reference models  CCNAv7-1
Protocols and Reference models CCNAv7-1
Mukesh Chinta
 

What's hot (20)

Learn Verbs In Modern Standard Arabic
Learn Verbs In Modern Standard Arabic Learn Verbs In Modern Standard Arabic
Learn Verbs In Modern Standard Arabic
 
Operating System-Process Scheduling
Operating System-Process SchedulingOperating System-Process Scheduling
Operating System-Process Scheduling
 
Homework solution1
Homework solution1Homework solution1
Homework solution1
 
Basic arabic grammar
Basic arabic grammarBasic arabic grammar
Basic arabic grammar
 
Window scheduling algorithm
Window scheduling algorithmWindow scheduling algorithm
Window scheduling algorithm
 
The process states
The process statesThe process states
The process states
 
TOC 9 | Pushdown Automata
TOC 9 | Pushdown AutomataTOC 9 | Pushdown Automata
TOC 9 | Pushdown Automata
 
Program design and problem solving techniques
Program design and problem solving techniquesProgram design and problem solving techniques
Program design and problem solving techniques
 
5 variable kmap questions
5 variable kmap questions5 variable kmap questions
5 variable kmap questions
 
Divide and Conquer
Divide and ConquerDivide and Conquer
Divide and Conquer
 
السيرة النبوية 770 تغريدة
السيرة النبوية 770 تغريدةالسيرة النبوية 770 تغريدة
السيرة النبوية 770 تغريدة
 
Modern Standard Arabic Verbs (Part 2)
Modern Standard Arabic Verbs (Part 2)Modern Standard Arabic Verbs (Part 2)
Modern Standard Arabic Verbs (Part 2)
 
「プライベート版 Heroku」の "dokku" は Cloud Foundry 代替としてどこまで使えるか?
「プライベート版 Heroku」の "dokku" は Cloud Foundry 代替としてどこまで使えるか?「プライベート版 Heroku」の "dokku" は Cloud Foundry 代替としてどこまで使えるか?
「プライベート版 Heroku」の "dokku" は Cloud Foundry 代替としてどこまで使えるか?
 
Operating system - Deadlock
Operating system - DeadlockOperating system - Deadlock
Operating system - Deadlock
 
Madinah Arabic Reader Book 4
Madinah Arabic Reader Book 4 Madinah Arabic Reader Book 4
Madinah Arabic Reader Book 4
 
Process Synchronization And Deadlocks
Process Synchronization And DeadlocksProcess Synchronization And Deadlocks
Process Synchronization And Deadlocks
 
Theory of computation Lec7 pda
Theory of computation Lec7 pdaTheory of computation Lec7 pda
Theory of computation Lec7 pda
 
Chapter 1 nested control structures
Chapter 1 nested control structuresChapter 1 nested control structures
Chapter 1 nested control structures
 
Fundamentals of Computer Design including performance measurements & quantita...
Fundamentals of Computer Design including performance measurements & quantita...Fundamentals of Computer Design including performance measurements & quantita...
Fundamentals of Computer Design including performance measurements & quantita...
 
Protocols and Reference models CCNAv7-1
Protocols and Reference models  CCNAv7-1Protocols and Reference models  CCNAv7-1
Protocols and Reference models CCNAv7-1
 

protsessy-i-potoki (1).pptx

  • 2. JARAYON • Jarayonlar va iplar kabi asosiy tushunchalarni ko'rib chiqing . Keling, bularning barchasi tarixan qanday rivojlanganligini va hozir nimaga olib kelganini ko'rib chiqaylik. Keling, OTdagi eng asosiy tushunchadan boshlaylik - jarayon, qolgan hamma narsa uning ustiga qurilgan. • Jarayon - – Bu davom etayotgan dastur – Protsessorda ishlaydigan ba'zi ob'ektlar Aslini olganda, bizning shaxsiy kompyuterimizda OT ostida ishlaydigan barcha dasturiy ta'minot, hatto ba'zan OTning o'zi ham, jarayonlar to'plami sifatida tashkil etilgan. Jarayonlar - minimal ibtidoiy bo'lib, u qandaydir ko'p vazifani tashkil qilish imkonini beradi . • Bajariladigan fayl sifatida jarayon tizimdagi bir nechta dasturlarni parallel ravishda bajarishga imkon beradi (protsessor dasturlar o'rtasida almashinadi) • Kompyuterda ishlaydigan barcha dasturiy ta'minot, shu jumladan OT ning o'zi ham jarayonlar to'plami sifatida tashkil etilgan. Keling, jarayon nimadan iboratligini ko'rib chiqaylik.
  • 3. JARAYON Jarayon uchta asosiy komponentdan iborat: • 1) bajariladigan kod • 2) Ushbu dasturni bajarish uchun zarur bo'lgan u bilan bog'liq ma'lumotlar • 3) Kontekst - jarayonni boshqarish uchun zarur bo'lgan OT uchun ma'lumot. Ushbu ma'lumotlar jarayonlar o'rtasida almashish, jarayonning holatini saqlash va tiklash uchun ishlatiladi. – Jarayon raqami – CPU registrlari – Stak tarkibi • BU. Kontekst jarayonni almashtirish uchun asosdir • OT tizimdagi barcha jarayonlar ro'yxatini yuritadi. Bu murakkabroq yoki eng oddiy bo'lishi mumkin.
  • 4. JARAYON (JISMONIY TASVIR) Pastki 0 manzil, yuqori maksimal. Maksimalda stek, keyin qarama- qarshi yo'nalishda o'sadigan uyum, ma'lumotlar va dastur kodi. Har bir jarayonning o'z manzil maydoni borligini tushunish muhimdir. Diagrammada virtual manzil maydoni noldan boshlanadi va ma'lum bir maksimal bilan tugaydi, u segmentlardan iborat: kod, ma'lumotlar va stek. Stak   uyum ma'lumotlar Dastur kodi Stak segmenti Ma'lumot lar segmenti kod segmenti 0 Maks.
  • 5. JARAYON (JISMONIY TASVIR) OTda dasturni (masalan , MS Word) ishga tushirganingizda , quyidagilar sodir bo'ladi: 1. Xotirada joy ajrating . Har bir jarayon o'zining virtual manzil maydonida ishlaydi, u quyidagilardan iborat: 1. Stek segmenti - funksiya chaqiruvlari va tizim chaqiruvlari uchun ishlatiladi 2. Ma'lumotlar segmenti - to'pdan ajratilgan statik va dinamik o'zgaruvchilar (ishlash uchun kerak bo'lgan hamma narsa) 3. Kod segmenti - dastur kodi, odatda faqat o'qish uchun ruxsat beriladi Xuddi shu dasturni bir necha marta ishga tushirish har biri o'z virtual manzil maydoni va muhitiga ega bo'lgan yangi jarayonlarni keltirib chiqaradi. Bular. bu sxema har bir ishlaydigan jarayon uchun bo'ladi.
  • 6. BULARNING BARCHASINI QANDAY BOSHQARISH KERAK? OT JARAYONLARINI BOSHQARISH TUZILISHI OT jarayonlar ro'yxatini yuritadi • Jarayon jadvali - bu jadvalda har bir jarayon uchun bitta yozuv mavjud; • Har bir jarayon uchun jarayon bilan bog'liq bo'lgan barcha narsalarni (ma'lum bir kontekst) o'z ichiga oladigan ma'lum bir ma'lumotlar tuzilishi kerak. Bularning barchasi ma'lum bir universal kontseptsiyada OSda saqlanadi Jarayonni boshqarish bloki (PCB) . Uning jarayonini, u tegishli ekanligini va hozirgi holatini tavsiflaydi • Jarayon tasviri - oldingi diagrammada - jarayon uchun ajratilgan xotira
  • 7. JARAYONNI BOSHQARISH BLOKI (PCB) . Ushbu blok OTdagi barcha jarayonlar uchun doimiy hajmga ega. Jarayon bo'yicha har qanday harakatni bajarish uchun zarur bo'lgan barcha ma'lumotlarni o'z ichiga oladi - jarayonni to'xtatib turish, keyin qayta tiklash, diskka yuklash va diskdan yuklash. Jarayon identifikatorlari • Jarayon raqami ( PID - Process ID entifikator deb ataladi ) • Foydalanuvchi ma'lumotlari Jarayon holati - registrlar, stek ko'rsatkichlari. Jarayon holati • Rejalashtiruvchi uchun ma'lumot - bu jarayonning ustuvorligi • Imtiyozlar - xotiraga kirish, joriy ko'rsatmalar • Jarayonga tayinlangan virtual xotira haqida ma'lumot • Statistik ma'lumotlar va cheklovlar (bajarilish muddati chegaralari, protsessorning o'tgan vaqti statistikasi) • I / O - resurs egaligi, ochiq fayllar, ajratilgan qurilmalar.
  • 8. JO'NATISH • Dispetcher - jarayonlarni ishga tushirish uchun yuboradi, protsessor vaqtini ajratadi va protsessorni bir jarayondan ikkinchisiga o'tkazadi. Vaqtning istalgan lahzasida har qanday jarayon istalgan holatda bo'lishi mumkin: hech bo'lmaganda u kiritish - chiqarishni kutmoqda, bajarilmoqda, bajarishga tayyor va siz bir qator qo'shimcha oraliq holatlarni ham o'ylab topishingiz mumkin.
  • 9. JARAYON HOLATI MODELI 1. I/U uchun jarayon bloklangan 2. Dispetcher boshqa jarayonni rejalashtiradi 3. Dispetcher bu jarayonni rejalashtiradi 4. I/U sodir bo'ldi, jarayon ijroni davom ettiradi
  • 10. JARAYON HOLATI MODELI Har qanday OT ning yakuniy maqsadi ba'zi ishni, vazifani bajarish, foydalanuvchi so'roviga javob berishdir ... Jarayonning uchta asosiy bosqichi mavjud • Amallar (CPUda ishlaydi) • Tayyor (vaqtinchalik to'xtatilgan) • Qulflar (tashqi hodisani kutish) ishlash blokirovka qilish tayyorlik jo'natish Voqea sodir bo'ldi 1- voqea kutilmoqda 2 3 4 taym-aut; turib qolish; tanaffus
  • 11. JARAYON HOLATI MODELI Har qanday jarayon bir nechta holatda bo'ladi, eng oddiy versiyada 3 ta holatni ajratish mumkin: 1) Faraz qilaylik, har qanday jarayon “ hayotini ” davlatdan boshlaydi "Ishlash". 2) Agar kiritish-chiqarish so'rovi amalga oshirilgan bo'lsa, u biroz kechikish bilan amalga oshiriladi (I/U protsessorga qaraganda sekinroq), shuning uchun hodisani kutish (ya'ni, kiritish / chiqishni kutish) mavjud. Jarayon hozirda bloklangan holatda "Bloklangan". Dispetcher unga protsessor vaqtini ajratmaydi, chunki u foydasiz, kiritish-chiqarish tugamaguncha jarayon hech qanday ishni bajara olmaydi. 3) Bundan tashqari, kiritish / chiqish sodir bo'lganda, jarayon allaqachon biror narsani qayta ishlashi mumkin, uning holati "Tayyor" holatiga o'zgaradi (jarayon dispetcherga ishlashga tayyorligini ko'rsatishi kerak). Dispetcher m/y jarayonlar o'rtasida keyingi almashuvda jarayonning "Tayyor" holatida ekanligini ko'radi va uni "Bajarilish" holatiga o'tkazadi. Ushbu "Ishlayotgan" holatda dispetcher jarayonga protsessor vaqtini beradi - to'g'ridan-to'g'ri bajarish boshlanadi. Bu doira yopiq. Jarayon "Tayyor" holatiga kirgandagi yana bir holat - bajarish uchun ajratilgan protsessor vaqtining kvanti tugashi bilan, "Bajarish" holatidan jarayon "Tayyor" holatiga o'tadi va dispetcher bu vaqtda boshqaruvni boshqasiga o'tkazadi. boshqa jarayon. Tizim menejeri umumiy hodisalar bilan nima sodir bo'layotganini bilishi kerak: kiritish-chiqarish, sinxronlash va h.k.
  • 12. JARAYON HOLATI MODELI 2 yangi bloklangan tayyor jo'natish amalga oshirildi yakunlash taym-aut; turib qolish; tanaffus Kutish voqealar Voqea sodir bo'ldi Yangi model 5 shtatdan iborat bo'lib, bu model bugungi OTga juda yaqin 1. " Yangi " - jarayon yaratilgan, lekin u hali OS tomonidan ishlaydigan jarayonlar havzasiga joylashtirilmagan. PCB tuzilishi yaratilgan, lekin jarayon hali xotiraga yuklanmagan (ya'ni, PCB yaratilgan va bo'sh manzil maydoni) 2. Tayyor " holatiga joylashtiriladi : jarayon to'liq bajarishga tayyor.
  • 13. JARAYON HOLATI MODELI №2 Yangi model 5 ta holatdan iborat bo'lib , bu model bugungi OTga juda yaqin 1. " Yangi " - jarayon yaratilgan, lekin u hali OS tomonidan ishlaydigan jarayonlar havzasiga joylashtirilmagan. PCB tuzilishi yaratilgan, lekin jarayon xotiraga hali yuklanmagan (ya'ni, PCB yaratilgan va bo'sh manzil maydoni) 2. Tayyor " holatiga joylashtiriladi : jarayon to'liq bajarishga tayyor, ya'ni. nazoratni qo'lga kiritishi va to'g'ridan-to'g'ri ishlashni boshlashi mumkin. Hamma narsa xotiraga yuklanadi, ma'lumotlar, stek, to'plam ishga tushiriladi. 3. " Bajarish " - jarayon bajarilmoqda. 4. " Lock " - jarayon tashqi hodisani kutmoqda (I/O). 5. " End " - jarayon bajarilgan jarayonlar havzasidan chiqariladi, u o'z ishini tugatdi. Jarayon "tugallangan" deb belgilanadi. Dispetcher jarayonni tozalash vazifasini bajaradi. Ushbu bosqichda xotirani bo'shatish, jarayon resurslarini yopish (i / u, fayllar ...) bo'yicha ishlar olib borilmoqda.
  • 14. JARAYONNI REJALASHTIRISH uchta asosiy jarayon holatiga asoslanib , rejalashtiruvchi qaysi jarayon qaysi holatda ekanligini bilishi kerak. Agar protsessorda bir nechta ishlov berish yadrolari mavjud bo'lsa, ishlar yanada murakkablashadi. jarayonlarni rejalashtirish uchun turli navbatlar (ro'yxatlar) kiritiladi. Jarayonning uchta holatiga asoslanib, 3 ta navbat kiritiladi: 1. Vazifa navbati : tizimdagi barcha jarayonlar to'plami 2. Tayyor navbat : bajarishga tayyor bo'lgan barcha jarayonlar to'plami, ularga istalgan vaqtda protsessor vaqtining kvanti berilishi mumkin va ular bajariladi. 3. Kutish navbati : barcha bloklangan jarayonlar to'plami. Hayotiy tsikl davomida jarayonlar bu navbatlarga ko'chiriladi va bu navbatlardan chiqariladi.
  • 15. WINDOWS OTdagi barcha jarayonlar to'plamini ko'rsatadi. Tarixan bu vazifa TackMenager deb ataladi - vazifa menejeri. U OTdagi barcha jarayonlarni ko'rsatadi, garchi biz jarayon holatlarini (tayyor, kutish, bajarilish) ko'rmasak ham. Biz faqat umumiy roʻyxatni koʻramiz.Roʻyxat ustunlarining koʻrinishini oʻrnatishingiz mumkin. Windows -da jarayon qancha xotira olishini aniqlash juda qiyin (ko'p variantlar). Windows yadrosi identifikatori 4( PID) ga ega jarayon sifatida ifodalanadi , eng kichigi 0, lekin u band. Linuxda yadro jarayon emas
  • 16. JARAYONNI BOSHQARISH Bloklangan navbat _ _ Tayyor navbat _ _ Markaziy protsessor Vaqt tugashi t Qabul Dispetcherlik Ozodlik sodir bo'ldi voqea Voqea kutilmoqda
  • 17. JARAYONNI BOSHQARISH Bitta “tayyor” va bitta “bloklangan” jarayonlardan foydalanadi Biroq, quyidagi kamchiliklar mavjud: - Voqea sodir bo'lganda, ushbu hodisani kutayotgan barcha jarayonlar "bloklangan" dan "tayyor" navbatga o'tkazilishi kerak. - Aynan sodir bo'lgan voqeani kutayotgan barcha jarayonlar uchun navbatda qarashingiz va keyin ularni "tayyor" navbatga o'tkazishingiz kerak. Shundan so'ng, ularga dispetcher tomonidan CPU vaqti beriladi va ular bajariladi. - To'g'ri tanlash uchun OS navbatdagi barcha bloklangan jarayonlarni ko'rib chiqishi kerak. Buning uchun siz doimo aylana bo'ylab bloklanganlar qatoridan o'tishingiz kerak bo'ladi.
  • 18. JARAYONNI BOSHQARISH Tadbir - 1) I/O kutmoqda 2) Sinxronizatsiya - jarayon boshqa jarayon tomonidan foydalanilayotgan ba'zi manbalarga kirishi kerak bo'lganda, u kutishi kerak. Qandaydir tarzda bu sxemani yaxshilash kerak. Eng mantiqiy narsa shundaki, OSdagi har bir hodisa ushbu hodisa tomonidan bloklanganlarning o'z navbatiga ega bo'lishi kerak. Keyin, voqealarni tanlab, biz uni kutayotgan barcha jarayonlarni ko'ramiz, biz darhol hamma narsani "tayyor" navbatga o'tkazamiz va hamma narsa tez va ajoyib ishlaydi. Ammo amalda buning iloji yo'q, bloklangan jarayonlarning ko'p navbatlari bo'ladi, shuning uchun ba'zi murosalar qo'llaniladi - kutilgan hodisalar turi bo'yicha tartiblangan bir nechta navbatlar qo'llaniladi. YECHIM: bloklangan jarayonlarning bir nechta navbatlaridan foydalaning. Yukni kamaytiring va bloklangan jarayonlarning to'liq ro'yxatidan o'tmang.
  • 19. JARAYON YARATING Birinchi jarayonlar OS yuklash vaqtida yaratiladi. 1)Tizimni yuklash Tizimni ishga tushirish jarayonida bir nechta dastlabki jarayonlar yaratiladi – Unix- da bular Sched(pid0) init(pid1) "daemon" jarayonlari - boshqa yuqori darajadagi jarayonlar (veb-server, elektron pochta serveri). Yadro jarayon emas. Unix -dagi identifikatorlar 1 ga oshib ketma-ket bo'ladi. – Windows NT da yadro tizim jarayonidir System(Pid4) , keyin smss quyi tizim boshqaruv tizimi yuklanadi . Win -dagi identifikatorlar 4 ga oshib boradi , 0 identifikatori saqlangan, tizim jarayoni 4 ga teng.
  • 20. JARAYON YARATING 2) Joriy jarayon bola jarayonini keltirib chiqaradi • Operatsion tizimni qurishda qiziqarli xususiyat mavjud - jarayon ierarxiyasi deb ataladigan narsa, tarixan u Unix sinfidagi OTda mavjud edi . U erda har bir jarayon qat'iy munosabatlarga ega - ota-ona jarayoni mavjud va ehtimol. bola jarayoni. – Misol veb-server yangi so'rovni qayta ishlash uchun bola jarayonini yaratishi mumkin (bu yaxshi emas, sekin) – Unix da , boshlash jarayoni qobiqni ishga tushirish uchun foydalanuvchi ruxsatlarini kuzatib boradi (yangi jarayonlar) 3) Foydalanuvchi yangi jarayon yaratadi • Foydalanuvchi matnli qobiqdan buyruq chaqiradi yoki grafik qobiqdan yangi dasturni ishga tushiradi. Bu ota-onasi OS qobig'i bo'lgan yangi jarayonni yaratadi.
  • 21. JARAYONNI YARATISH BOSQICHLARI Jarayonni yaratish uchun sizga kerak bo'ladi: 1)Yangi jarayonga noyob identifikatorni tayinlang 2)Buning uchun xotirada joy ajrating (dastur, ma'lumotlar va stek uchun) - ba'zi sahifalar xotirada jismoniy ajratilgan (diskda jarayon tasviri yaratiladi) 3)PCBni ishga tushirish (jarayonni boshqarish bloki) 4)Jarayonni bajarish uchun "tayyor" navbatga qo'shing.
  • 22. JARAYON IERARXIYASI ( UNIX OS ) - Jarayonlar orasidagi qat'iy ierarxiya: bola va ota-ona doimo o'zaro bog'liqdir - Buyruqlar qatori identifikatori (foydalanuvchining Shell ) foydalanuvchi buyruq satridan boshlaydigan barcha jarayonlarning ota-onasi hisoblanadi. - Jarayonlar guruhi tushunchasi mavjud - har qanday jarayon har qanday guruhga tegishli bo'lishi mumkin, biz guruhga signal yuboramiz va guruhdagi barcha jarayonlar uni bajaradi. - Agar foydalanuvchi jarayon guruhiga signal yuborsa ( masalan , tugatish uchun SIGKILL ), u holda signal guruhdagi har bir jarayonga yetkaziladi. Bu jarayon guruhlari bilan ishlash uchun juda qulay.
  • 23. JARAYONNI YARATISH ( UNIX OS ) Fork()/exec() 1)fork() dan boshlanadi , u chaqiruv jarayonining aniq klonini yaratadi, ya'ni "bolalar" jarayoni 2)exec() ijro menejeri klonning jarayon tasvirini bajariladigan yangi dastur bilan almashtiradi. Bu tarixan sodir bo'lgan va jarayonni yaratishning boshqa usuli yo'q, shuning uchun asoslarning asosi sifatida ierarxiya mavjud. Yaratilgandan so'ng, ota-ona va bola jarayonlari o'zlarining turli manzil bo'shliqlariga ega. Ba'zi manbalar bo'lishi mumkin umumiy (masalan, ochiq fayllar). Shuning uchun, fork() tizim chaqiruvi ikki marta qaytariladi - bir marta asosiy jarayonga, ikkinchisi yangi yaratilganiga.
  • 24. JARAYONNI YARATISH ( UNIX OS ) KALIT MEXANIZMI Ota-ona RSV Ota-manzil maydoni (kod, statistika, yig'ma, stek) RSV sho'ba korxonasi Child jarayon manzil maydoni (kod, statistika, yig'ish, stek) Shunga o'xshash, lekin nusxasi emas bir xil Fork() ni chaqirgandan so'ng deyarli bir xil PCB (boshqaruv bloki) yaratiladi, faqat jarayon identifikatori boshqacha bo'ladi, manzil maydoni o'xshash. Identifikator jadvaldan olingan (har bir OTda mavjud). ning kamchiligi shundaki, Fork() juda sekin ishlaydi, avvalo jarayonning aniq nusxasini yaratishingiz, keyin esa uni yangi jarayon bilan almashtirishingiz kerak.
  • 25. JARAYONNI YARATISH ( UNIX OS ) LINEX Eski dasturning boshqa nusxasini emas, balki yangi dasturni qanday yaratish mumkin? • Osonlik bilan. Avval fork() , keyin exec() . E xec () yangi jarayon yaratmaydi, balki joriy jarayonning ma'lumotlarini yangi ma'lumotlar bilan almashtiradi Ushbu modelning kamchiliklari bor: - Folk() juda sekin ishlaydi, siz hamma narsaning to'liq nusxasini yaratishingiz va keyin uni almashtirishingiz kerak vfolk () copy-on-write funksiyalarida topilgan Linuxda xususiyatlar mavjud Clone() - fork()/ vfork () Clone() qo'shimcha imkoniyatlarga ega. Exec () ichida Linex bu tizim chaqiruvi emas execve () funksionalligi bo'yicha exec()
  • 26. 1. Windows -da jarayonlar NtCreatProcess() tizim chaqiruvi orqali yaratiladi - bu qo'ng'iroq juda ko'p parametrlarga ega, ularning aksariyati "standart". Jarayon to'g'ridan-to'g'ri o'z xohishiga ko'ra ishlab chiqariladi, u joriy nusxaning majburiy nusxasi bo'lishi shart emas, shuning uchun munosabatlar hurmat qilinmaydi. • Jarayon dastagi - ot (so'zma-so'z tarjima qilingan "tutqich") Bu jarayonga kirishning mohiyati - ma'lum bir jadvaldagi indeks bo'lgan va ushbu jarayonni aniqlashga imkon beradigan ba'zi bir butun son - kirishni boshqarish, huquqlar, meros. • Pid - jarayon jadvalidagi ofset (indeks). JARAYON YARATISH ( WINDOWS OS )
  • 27. WINDOWS OPERATSION TIZIMIDA • Hech kim yo'q, hamma teng. Shuning uchun o'zaro ta'sir haqida savol tug'iladi. • Jarayon tutqichi - ota-ona tomonidan yangi jarayon yaratilganda, ota-ona bola jarayonining dastagini oladi va hokazo. boshqarishi mumkin • Ushbu tutqich boshqa jarayonlarga o'tkazilishi mumkin ( Unix dan farqli o'laroq , bu erda asosiy jarayon bir nechta bolalar jarayonlarini o'zgartira olmaydi). • Jarayon dastagi - jarayon ob'ekti identifikatori
  • 28. JARAYONLAR O'RTASIDA ALMASHISH (ENG OSON VARIANT) Boshqa jarayonga o'tish kerak bo'lganda, OS "kontekstni almashtirish" ni amalga oshiradi . • Eski jarayonning holati uning tenglikni saqlash tizimida saqlanadi • Yangi jarayonning holati PCB ga tiklanadi Kontekstga o'tish vaqti - OS qo'shimcha xarajatlari (qanchalik kam bo'lsa, u tezroq ishlaydi) Uskunaning amalga oshirilishiga bog'liq (ya'ni, "kompyuterning apparat ta'minoti" dan, u apparat tomonidan optimallashtirilgan). Kalitlarga nima sabab bo'ladi? Kontekstni almashtirishga olib keladigan hodisalar: o Xalaqit beradi o Istisnolar o Tizim qo'ng'iroqlari
  • 29. OQIMLAR (MAVLAR) Jarayon kamida quyidagilardan iborat: - 1) Manzil maydoni (ko'rsatmalar to'plami - dastur kodi, ma'lumotlar) - 2) Ijro etilish holati Oqim holati CPU registrlari bilan tavsiflanadi - Dastur hisoblagichi ( IP registr ) - Stack Pointer ( SP) - CPU registrlari - Hozirgi vaqtda jarayonga tegishli bo'lgan OS resurslari to'plami (ochiq fayllar, tarmoq ulanishlari). Bularning barchasi jarayonning bir kontseptsiyasida. Lekin bu yaxshi emas. Bir-biriga bog'liq bo'lmagan 3 ta jarayonni 3 ta sohaga bo'lish yaxshi bo'lardi. OQIM tushunchasi yordamga keladi .
  • 30. OQIMLAR (MAVLAR) iplar kerak - parallellik va parallellik uchun. Parallellik - bu eng yaxshi ishlashga erishish uchun jismoniy jihatdan bir vaqtning o'zida bajarilishi (masalan, ikkita yadro o'rtasida) Simultanelik - bir vaqtning o'zida mantiqiy va / yoki jismoniy bajarish (bitta protsessor mavjud, bir vaqtning o'zida bir nechta dastur ishlaydi - ko'p vazifali OT). Ikkala tushunchadan ham samarali foydalanish uchun oqimlar kerak. Parallelizmga erishishning eng oddiy usuli - bir nechta jarayonlar yordamida - dasturlar turli jarayonlarda bir-biridan ajratilgan, shuning uchun parallelizm mavjud. Mavzular - parallellikka erishishning yana bir usuli. Mavzular bir xil jarayon doirasida ishlaydi. Jarayondagi barcha oqimlar bir xil manzil maydoniga va bir xil OS resurslariga ega. Mavzular o'z stekiga va o'zlarining CPU holatiga ega.
  • 31. PARALLELLIK Misollar: Har bir foydalanuvchi jarayoni uchun yangi jarayon yaratadigan veb-server , ya'ni. parallel ravishda bir nechta so'rovlarga xizmat qilishi kerak. Ma'lumotlar bazasidan mijozning so'roviga ko'ra ma'lumotlarni kutish paytida server bir vaqtning o'zida boshqa mijoz uchun diskdan ma'lumotlarni yuklashi va uchinchi mijozning so'roviga ishlov berishi mumkin. Veb-brauzer - veb-sahifaga kirish paytida u turli manbalardan ma'lumotlarni parallel ravishda yuklab olishi mumkin. ba'zi kompyuter dasturlari - masalan, katta hajmdagi ma'lumotlarni qayta ishlash kerak bo'lganda.
  • 32. PARALLELLIK Ushbu parallellik misollarining har birida umumiy narsa bor: • Bitta kod • Yagona ma'lumotlarga kirish • Bitta kirish darajasi • Resurslarning bir to'plami. har xil: • Stack va stack ko'rsatkichi ( SP registri ) • Keyingi ko'rsatmani ko'rsatuvchi ko'rsatmalar hisoblagichi ( IP registri). • Ko'p CPU registrlari
  • 33. PARALLELLIK Parallellikka qanday erishish mumkin? Jarayon bilimlaridan foydalanib, siz : • Fork () bir nechta jarayonlar (ya'ni, bir vaqtning o'zida bir nechtasini tug'diradi) • Ularning har birini o'z manzil maydonini bir xil jismoniy xotiraga moslashtiring Samarasiz: PCB xarajatlari , sahifa jadvallari, ma'lumotlar tuzilmalarini OS yaratish, manzil maydonini nusxalash, sinxronlashtirilgan kirish. Yechim FLOWS tushunchasini joriy qilishdir Jarayonning kontseptsiyasini (manzil maydoni, OS resurslari) minimal ipdan ajratib oling, nazorat oqimi , ya'ni. protsessor stek va registrlarining holati. Bu holat ba'zan "engil" jarayon yoki ip deb ataladi.
  • 34. JARAYONLAR VA MAVZULAR Ko'pgina zamonaviy operatsion tizimlar ikkita ob'ektni qo'llab-quvvatlaydi: Jarayonning manzil maydoni va umumiy atributlarini belgilaydigan jarayon. Jarayon ichidagi ketma-ket bajarilish oqimini belgilaydigan ip. Tarmoq bitta jarayonga bog'langan (bitta manzil maydoni) - Ammo bir xil manzil maydonida ko'plab mavzular bo'lishi mumkin - Umumiy ma'lumotlarga oson kirish - Ip yaratish juda oz vaqtni oladi OQIMLAR rejalashtirish birligiga aylandi Jarayonlar faqat iplar ishlaydigan konteynerdir . Jarayon konteynerning o'zi, ip esa uning ichida bo'lgan ijro iplari.
  • 35. KO'P TARMOQLI Ko'p ish zarralari quyidagilar uchun foydalidir: - bir vaqtning o'zida sodir bo'lgan voqealarni boshqarish - parallel dasturlarni qurish. Ko'p ish zarralarini qo'llab-quvvatlash - jarayon tushunchasini boshqarishning minimal oqimidan ajratish. - Parallel bajarish uchun yangi jarayonlarni yaratishga hojat yo'q. - Tezroq ishlaydi, kamroq xotira talabi. Ilgari: "Jarayon" = manzil maydoni + OS resurslari + bitta ipni qabul qildi Ilgari: "Jarayon" = manzil maydoni + OS resurslari + barcha oqimlar jarayonga tegishli
  • 36. OQIMLAR NIMA? Ular buni ikki usulda qilishadi: 1) Yadro darajasida (yangi ip yaratish uchun yadro funktsiyalari mavjud) - jarayonning manzillar maydonining ichki qismida ijro steklari ajratiladi - Thread Control Blokni (jarayonni boshqarish bloki) yaratadi va ishga tushiradi. 2) Foydalanuvchi darajasida - yadro Jarayon 1 Jarayon 2 3 ta oqim. Maxsus bor Yadro tashqarisidagi iplarni mustaqil ravishda boshqaradigan Pthreads kutubxonasi Yadro iplarni boshqaradi
  • 37. OQIMLAR Ikkalasida + va - bor 1) var. "-" ip yaratishda tizim chaqiruviga muhtoj va bu protsessor vaqti. Foydalanuvchi darajasida tizim chaqiruvi kerak emas, hamma narsa maxsus kutubxona tomonidan nazorat qilinadi. Pthreads kutubxonasi (ijobiy) • Har bir ip protsessor registrlari, stek va kichik TCB bilan ifodalanadi . • Mavzuni yaratish, iplar o'rtasida almashish va ipni sinxronlashtirish yadro ishtirokisiz amalga oshiriladi • Foydalanuvchi darajasidagi iplar yadro rejimidagi iplardan 10-100 marta tezroq bo'lishi mumkin
  • 38. OQIMLAR • Bitta manzil maydonida bir nechta mavzular yaxshi • Yadro rejimidagi iplar jarayonlarga qaraganda ancha samaraliroq, ammo tizim chaqiruvi uchun ortiqcha yuk mavjud • Foydalanuvchi rejimidagi iplarning afzalliklari va kamchiliklari mavjud: • yaratilishning yuqori tezligi va "arzonligi" • yadro bu iplar haqida bilmasligi sababli, kiritish/chiqarish va qulflar bilan bog'liq muammolar bo'lishi mumkin. Shuning uchun foydalanuvchi oqimlari unchalik mashhur bo'lmagan. Ushbu muammolarni rejalashtiruvchi darajasida hal qilish mumkin . WinNT- da iplar yadro darajasida amalga oshiriladi, bu hodisalarni yanada nozik nazorat qilish imkonini beradi. Taqdim etilgan tola - preemptive multitasking.
  • 39. IPLAR VA JARAYONLAR O'RTASIDAGI FARQ Ijro oqimlari an'anaviydan farq qiladi Ko'p vazifali operatsion tizim jarayonlari, bunda: • jarayonlar odatda mustaqil, bajarilish iplari esa jarayonlarning tarkibiy elementlari sifatida mavjud • jarayonlar ko'proq holat ma'lumotlarini o'z ichiga oladi, shu bilan birga jarayon ichidagi bir nechta bajarilish oqimlari holat ma'lumotlarini, shuningdek, xotira va boshqa hisoblash resurslarini almashadi. • jarayonlar alohida manzil bo'shliqlariga ega, bajarilish iplari esa o'zlarining manzil maydonini bo'lishadi • jarayonlar o'rtasidagi aloqa • bir xil jarayonda bajarilish iplari orasidagi kontekstni almashtirish odatda jarayonlar o'rtasida kontekstni almashtirishga qaraganda tezroq. • Windows NT va OS/2 kabi tizimlar "arzon" iplar va "qimmat" jarayonlarga ega deb aytiladi. Boshqa operatsion tizimlarda bajarilish iplari va jarayonlar o'rtasidagi farq unchalik katta emas, manzil maydonini almashtirish narxi bundan mustasno.