Jarayon holati - Jarayon quyidagi holat larda bo’lishi mumkin:
- Yangi yaratilish (new) – jarayon yangi yaratilgan
- Tayyor (ready) – jarayon operatsion tizim tomonidan protsessorga chaqirilishi uchun tayyor holatda
- Bajarilyapti (running) – jarayon instruksiya asosida bajarilyapti
- Kutish (waiting) – jarayon bajarilishi uchun kutish holatida (misol uchun kiritish/chiqarish operatsiyasi to’xtashini kutyapti)
- Tugallandi (terminated) – jarayon bajarildi va ish faoliyatini tugatdi
Jarayon holatining diagrammasi
tayyor
bajarilyapti
kutish
Kirish
Bajarilish uchun tayyor
Uzilish
Jarayon kutish
holatida
Jarayon bajarildi
Jarayon prioritetini o’zgartirish
OT ni to’xtatadi
Kutishga o’tadi
Uzilish
Tayyor holatga o’tadi
bajarilishi
Chiqish
tugadi
Yangi jarayon Jarayon holatining to’liq diagrammasi
yaratilish
tayyor
bajarilyapti
tugatildi
kutish
Ruxsat berish
uzilish
tugatish
I/O or event completion
(tugallangan xodisa)
I/O or event wait
(xodisani kutish)
Rejalashtirish
jo’natish jejimi
Jarayonlarni yaratish - Jarayonlarni yaratishda quyidagi 4 ta ketma-ketlik (hodisa) amalga oshiriladi
- Tizimni initsializatsiya qilish
- Mazkur jarayonni yaratish uchun tizimning chaqiruv jarayonlarini ishga tushirish
- Yangi jarayon yaratish haqidagi so’rovni foydalanuvchiga yuborish
- Paketli topshiriqlar initsializatsiyasi
- Unix tizimida yangi jarayonlarni yaratish uchun fork() operatori (tizimning chaqiruv operatori [metodi])
jarayon boshqaruv bloki - Jarayon holati
- Jarayon dasturli hisoblagichi, (jarayon uchun keyingi bajariladigan komanda adresi.
- Protsessor registr tarkibi.
- Xotirani boshqarish va protsessordan foydalanishni rejalashtirish uchun zarur ma’lumotlar (jarayon prioriteti, adres makoni, o’lchami va joylashgan o’rni va h.k.lar.)
- Hisob(qayd) ma’lumotlari: jarayon identifikatsiya raqami, qaysi foydalanuvchi uning ishini initsializatsiya qildi, jarayonning protsessordan foydalanish vaqti va h.k.lar
- Kiritish – chiqarish qurilmalari bilan bog’liq qurilmalar(masalan, jarayonga qanday qurilmalar bog’langan, ochiq fayllar jadvali va h.k.lar).
Process Control Block (PCB) CPU tominidan jarayondan jarayonga o’tishni boshqarish Jarayonni rejalashtirish holati - Navbat ishi
- Tayyor navbat
- Navbat qurilmasi
winword.exe, notepad.exe, TOTAL64.exe Jarayon – adreslari maydoni
0x00000000
0xFFFFFFFF
Virtual
address space
code
(text)
static data
heap
(ajratilgan dinamik xotira)
Kernel Code and Data
PC
SP
User Space
stack
(dynamically allocated)
Kernel Space
32-bit Linux & Win XP – 3G/1G user space/kernel space
Jarayonlarni rejalashtirish - Uzoq muddatli
- O’rta muddatli
- Qisqa muddatli
- First Come First Serve (FCFS) Scheduling – birinchi kirganga birinchi xizmat
- Shortest-Job-First (SJF) Scheduling – Vaqtni qisqartirish
- Priority Scheduling – prioritetga mos rejalashtirish
- Round Robin(RR) Scheduling – Har bir jarayon uchun aniq vaqt belgilanadi va shu vaqtda bajariladi
- Multilevel Queue Scheduling – har bir jarayonlar to’plamining o’z algoritmi va shunga mos prioriteti mavjud bo’ladi
Rejalashtirish algoritmlari - Rejalashtirish algoritmlaridan biri ko’p bosqichli navbat (Multilevel Queue Scheduling) 1950-60-yillardan beri qo’llanilib keladi. Bu strategiya jarayonlarni bir necha guruhga klassifikatsiyalash imkoni bo’lganda qo’llaniladi.
- Navbatlar quyidagi qoida asosida ishlaydi: birorta ham kichik prioritetga ega jarayon to undan prioriteti katta bo’lgan jarayon tugallanmaguncha ishga tushmaydi
Multilevel Queue Scheduling – Ko’p bosqichli navbat - Ko’p bosqichli navbat(Multilevel Queue)da har xil navbatdagi jarayonlar 2 ga ajratiladi:
- Interaktiv jarayonlar navbati (kam vaqt talab qiluvchi);
- Fon rejimidagi jarayonlar navbati (ko’p resurs talab qiluvchi, ammo tez bajarilishi shart bo’lmagan).
Har bir navbatning balansni saqlab turuvchi o’z rejalashtirish navbatlari mavjud: - Interaktiv jarayonlarda RR(Round Robin);
- Fon rejimdagi jarayonlarda FIFO(First in First Out).
Ko’p bosqichli navbat jarayonlari
Interaktiv jarayonlar
Fon rejimidagi jarayonlar
Navbatlar orasidagi rejalashtirish - Prioritetlar asosida rejalashtirish:
- birinchi bo’lib barcha interaktiv jarayonlar bajariladi keyin fon rejimidagilari. - Vaqtlarni bo’lish asosida:
- o’zining jarayonlari orasida rejalastirish uchun har bir navbatga MP vaqtining bir qismi ajratiladi, masalan, MP vaqtining 80 % interaktiv jarayonlar uchun RR (Round Robin) orqali, 20 % fon rejimidagi jarayonlar uchun FIFO orqali. - Ko’p bosqichli navbat qayta aloqa bilan
Tizimli
Interaktiv (“aynan”)
Interaktiv (“joriy”)
Paketli jarayonlar
Foydalanuvchi ishga tushirgan
Ko’p bosqichli navbat qayta aloqa bilan (Multilevel Feedback Queue Scheduling) Sarflangan vaqt asosida rejalastirish, agar jarayon aniq kvant vaqt sarflagan bo’lsa, u dinamik qayta rejalshtiriluvchi navbatga joylashtiriladi. Agar keraklicha tez bajarilsa unda u birinchi “tezkor” jarayonlar navbatiga tushadi. Agar o’rtacha vaqt talab qilsa, unda o’rta navbatga tushadi. Agar ko’p vaqt talab etsa, unda FIFO ning oxirgi navbatiga tushadi. Buning hisobiga jarayonlar doim navbatlar orasida ko’chib yuradi. Shuning uchun ham jarayonlarni joylashtirish va uning holatini o’zgartirish kerak emas.
Kvant 32 ms
Kvant 64 ms
FIFO
First Come First Serve (FCFS) rejalashtirish algoritmi - 1. Jarayon nima?
- 2. Jarayon komponentalari nimalar va ularga izoh bering?
- 3. Jarayon holatlari qaysilar?
- 4. Jarayonlarni yaratish uchun UNIX tizimida qanday operatordan foydalaniladi
- 5. Jarayonlarni yaratishda qanday ketma-ketlik amalga oshiriladi
Foydalanilgan adabiyotlar - 1. Andrew S. Tanenbaum, Albert S. Woodhull. Modern Operating Systems: Third Edition, Chapter 2, Procces and Streams, 2.1. Proccesses
- 2. Гордеев А.В. Операционные системы, Глава 2
- 3.http://www.tutorialspoint.com/operating_system/os_processes.htm
- 4.http://www.tutorialspoint.com/operating_system/os_process_scheduling.htm
Do'stlaringiz bilan baham: |