Jarayonni boshqarish. Ilovalarning yadro bilan o'zaro ta'siri standart tizimli qo'ng'iroqlar interfeysi orqali sodir bo'ladi. Syscall interfeysi - bu yadro xizmatlari to'plami va xizmat so'rovlarining formatini belgilaydi. Jarayon mo'ylovni so'raydi

Jarayonni boshqarish

UNIXda jarayonlar fork () deb nomlangan yadro tizimining funktsiyasini chaqirish orqali yaratiladi. Bu funksiya jarayon orqali chaqirilganda, operatsion tizim quyidagi amallarni bajaradi [WASN86].

1. Yangi jarayon uchun jarayonlar jadvalida joy ajratadi.

2. Bu jarayonga o'ziga xos identifikator tayinlaydi.

3. Umumiy xotira maydonlarini hisobga olmaganda, asosiy jarayon tasvirining nusxasini yaratadi.

4. Bosh jarayonga tegishli bo'lgan barcha fayllar hisoblagichlarini ko'paytiradi, bu yangi jarayon ham o'sha fayllarga tegishli ekanligini ko'rsatadi.

5. Jarayonga ishga tayyor holatini belgilaydi.

Bola jarayonining identifikatorini ota -ona jarayoniga va 0 -ni bola jarayoniga qaytaradi.

Ehtimol, jarayonlarni yaratishning bu usulini tasavvur qilish qiyin, chunki ota -ona jarayonlari ham, bola yaratilish jarayonida ham kod orqali bir xil o'tishni amalga oshiradilar. Ular fork () funktsiyasi tomonidan qaytarilgan qiymatdan farq qiladi: agar u nol bo'lsa, bu bola jarayonidir. Shunday qilib, siz bola dasturini bajaradigan yoki asosiy bo'limning bajarilishini davom ettiradigan tarmoq buyrug'ini bajarishingiz mumkin.

Xulosa, kalit va nazorat masalalari

Zamonaviy operatsion tizimlarning asosiy elementi - bu jarayon. Operatsion tizimning asosiy vazifasi - jarayonlarni yaratish, boshqarish va tugatish. Operatsion tizim har bir faol jarayon protsessorda ishlash, jarayonlar faoliyatini muvofiqlashtirish, nizolarni hal qilish va jarayonlarga tizim resurslarini ajratish uchun vaqt ajratilishini ta'minlashi kerak.

Operatsion tizim jarayonlarni boshqarishi uchun u har bir jarayonning tavsifini yoki jarayon tasvirini saqlaydi. Jarayon tasviri jarayon ishlaydigan manzil maydonini va jarayonni boshqarish blokini o'z ichiga oladi. Boshqaruv bloki operatsion tizim jarayonni boshqarishi uchun zarur bo'lgan barcha ma'lumotlarni, shu jumladan uning hozirgi holatini, ajratilgan resurslarni, ustuvorligini va boshqa kerakli ma'lumotlarni o'z ichiga oladi.

Jarayon mavjud bo'lganda, bir holatdan ikkinchisiga o'tishi mumkin. Barcha shtatlar ichida eng muhimi - tayyor holat, ishlayotgan jarayon holati va blokirovka qilingan holat. Ishga tayyor jarayon-bu ishga kirmaydigan jarayon bu lahza, lekin uning bajarilishini operatsion tizim boshqaruvni unga o'tkazishi bilanoq boshlash mumkin. Ishlayotgan jarayon - bu hozirda protsessor tomonidan bajariladigan jarayon. Ko'p protsessorli tizimda bir vaqtning o'zida bir nechta jarayonlar shu holatda bo'lishi mumkin. Bloklangan jarayon - bu hodisani kutish jarayoni, masalan, kiritish -chiqarish operatsiyasining tugashi.

Vaqti -vaqti bilan jarayonlar to'xtatiladi. Tanaffus protsessor tomonidan tan olingan jarayondan tashqaridagi biron bir hodisa natijasida yoki operatsion tizimni boshqarish dasturiga qo'ng'iroq natijasida yuzaga keladi. Bunday holatlarning har birida protsessor boshqa ish rejimiga o'tadi va boshqaruv operatsion tizim dasturiga o'tkaziladi. Operatsion tizim o'z vazifalarini bajarib bo'lgach, uzilgan jarayonni davom ettirishi yoki boshqa jarayonning bajarilishiga o'tishi mumkin.

Asosiy shartlar

O'chirish dasturining holat so'zini o'chirish

Bola jarayoni imtiyozli blokirovka holati

Jarayonni tugatish rejimi Ijro holati

Ish jarayonining tayyor holati

Yadro rejimini tuzating yangi jarayonning holati

Jarayon tasvirining asosiy jarayon holati

Jarayon almashinuvi to'xtatildi

Kommutatsiya rejimlari Tizim rejimi Boshqarish birligi

Foydalanuvchi rejimi Jarayonni kuzatish

Nazorat savollari

3.1. Jarayon izi nima?

3.2. Qanday hodisalar jarayonlarni yaratishga olib keladi?

3.3. Ber qisqa Tasvir rasmda ko'rsatilgan jarayonni qayta ishlash modelida ko'rinadigan har bir holat. 3.3.

3.4. Jarayonni oldindan belgilash nima?

3.5. Almashtirish nima va u qachon ishlatiladi?

3.6. Nega anjirda. 3.6.6 ikkita bloklangan davlat bormi?

3.7. To'rtinchi ro'yxat xarakterli xususiyatlari to'xtatilgan jarayonlar.

3.8. Qaysi ob'ektlar uchun operatsion tizim boshqaruv ma'lumotlari bo'lgan jadvallarni qo'llab -quvvatlaydi?

3.9. Jarayonni boshqarish blokida uchta umumiy toifadagi axborotni sanab bering.

3.10. Nima uchun ikkita protsessor rejimi mavjud (foydalanuvchi rejimi va yadro rejimi)?

3.11. Operatsion tizim yangi jarayonni yaratishda qanday harakatlarni amalga oshiradi?

3.12. Oddiy uzilish va tuzoq o'rtasidagi farq nima?

3.13. Uzilishlarga uchta misol keltiring.

Protsessor rejimini almashtirish va jarayonni almashtirish o'rtasidagi farq nima?

Bu bobdagi materiallar darsliklarning 2.9 bo'limida keltirilgan. UNIX operatsion tizimlarida jarayonlarni boshqarishning tavsifini va. Jarayonlarni va operatsion tizimning jarayonlarini dispetcherlikda ishlatiladigan holatlarini muhokama qiladi.

Yaxshi 94 Yaxshi yurak B., Sox J. Tushuntirilgan sehrli bog ': UNIX System V ning 4 -chi ichki qismi.- Englevud Cliffs, NJ: Prentice Hall, 1994 yil.

Kulrang 97 Kulrang J. UNIXda jarayonlararo aloqa: Nooks va burilishlar.- Yuqori Egar daryosi, NJ: Prentice zali, 1997.

NEHM75 Nehmer J. Operatsion tizim yadrolarini qurish uchun dispetcher ibtidoiylari. - Ma'lumotlar, jild 5, 1975 yil.

VAZIFALAR

Jarayonlarni boshqarishda operatsion tizimning beshta asosiy vazifasi nimadan iborat; ularning zarurligini umumiy ma'noda asoslaydi.

3.1. Jarayonlarning quyidagi holatlari aniqlangan: ishlayotgan, ishga tayyor, bloklangan va to'xtatilgan. Agar resursdan foydalanishga ruxsat kutilsa, jarayon bloklangan holatda bo'ladi; agar u ozod bo'lish uchun foydalanishni so'ragan manbani kutayotgan bo'lsa, jarayon to'xtatiladi. Ko'pgina operatsion tizimlar bu ikki holatni birlashtiradi va qulflangan holat deb ataladi. Bunday holda, to'xtatilgan holat ta'rifi ushbu bobda ishlatilgani bilan bir xil bo'ladi. Ushbu ikkita davlat to'plamidan foydalanishning afzalliklarini solishtiring.

3.2. Rasmda ko'rsatilgan etti holatli model uchun navbatlardan foydalanib, diagramma tuzing. 3.6.6. Shaklda ko'rsatilgan diagramani oling. 3.5.6.

3.3. Rasmda ko'rsatilgan holatning o'tish sxemasini ko'rib chiqing. 3.6.6. Aytaylik, operatsion tizim jarayonni o'zgartirishi kerak. Aytaylik, bizda ham tayyor holatda, ham bajarishga tayyor jarayonlar to'xtatilgan. Bundan tashqari, ishga tayyor bo'lgan to'xtatilgan jarayonlarning hech bo'lmaganda bittasi tayyor holatdagi har qanday jarayonning ustuvorligidan yuqori. Siz quyidagi ikkita strategiyadan biriga muvofiq harakat qilishingiz mumkin.

1. Minimal darajada almashtirish uchun doimo tayyor jarayonni tanlang.

2. Har doim ustuvorligi yuqori bo'lgan jarayonga ustunlik bering, hattoki almashtirish kerak bo'lmasa ham.

Ustuvorlik va ishlash tushunchalarini muvozanatlashtirishga harakat qiladigan vaqtinchalik strategiyani taklif qiling.

3.5. Jadval 3.13 VAX / VMS operatsion tizimida ishlatiladigan jarayon holatlarini sanab o'tadi.

a. Bunga ega bo'lish uchun bahona topa olasizmi katta raqam har xil kutish holatlari?

b. Nega shtatlarning doimiy va to'xtatilgan versiyalari yo'q, masalan, sahifaning asosiy xotiraga yuklanishini kutish, sahifaga kirish ziddiyatini hal qilishni kutish, umumiy hodisani kutish, bepul sahifani kutish va manba kutish.

v. Vaziyat o'tish sxemasini tuzing va unda ko'rsatilgan o'tishlarning har biriga olib keladigan harakat yoki hodisani ko'rsating.

3.13 -jadval. VAX / VMS operatsion tizimidagi jarayon holatlari

Yugurish Yugurish jarayoni

Bajariladigan (rezident) Asosiy xotirada ishlashga tayyor jarayon

Bajarilishi mumkin (yuklanmagan) Asosiy xotiradan yuklangan ishga tayyor jarayon

Kutish holati

sahifa yuklanishi Jarayon asosiy xotirada bo'lmagan sahifaga kirdi va uni o'qilishini kutish kerak

Kutish holati

nizolarni hal qilish

sahifaga kirish Jarayon boshqa jarayon yuklanishni kutayotgan umumiy sahifaga yoki o'qiladigan yoki yoziladigan shaxsiy sahifaga kirdi.

Kutish holati

umumiy hodisa-umumiy bayroqni almashtirishni kutish (hodisa bayroqlari-bu bir jarayondan ikkinchisiga signal berishning bir bitli mexanizmlari)

Kutish holati

bo'sh sahifa Jarayon, unga ajratilgan va asosiy xotirada joylashgan (jarayonning ishchi to'plami) asosiy xotirasining bo'sh sahifasi qo'shilguncha kutiladi.

Kutish holati Jarayon o'zini uyqu holatiga o'tkazadi.

(rezident)

Uyqu holati

(yuklanmagan) Uyqu holatidagi jarayon asosiy xotiradan tushiriladi

Mahalliy kutish

Voqealar (rezident) Jarayon asosiy xotirada saqlanadi va mahalliy voqea sodir bo'lishini kutadi (odatda bu voqea I / U tugashi)

Mahalliy kutish

hodisalar (yuklanmagan) Mahalliy hodisani kutayotgan jarayon asosiy xotiradan tushiriladi

To'xtatilgan

(rezident) boshqa jarayon tomonidan kutish holatiga qo'yilgan jarayon

To'xtatilgan

(yuklanmagan) To'xtatilgan jarayon asosiy xotiradan tushiriladi

Resurs kutilmoqda Tizim resursining ajratilishini kutayotgan jarayon

Operatsion tizim nazoratchisining ishi va resurslarni taqsimlash va boshqarishni ifodalovchi tizimni boshqarish jarayonlarini boshqa barcha jarayonlardan: operatsion tizim yadrosi tarkibiga kirmaydigan tizimni qayta ishlash jarayonlarini va foydalanuvchi jarayonlarini ajratib ko'rsatish kerak. Ko'pgina operatsion tizimlarda tizimni boshqarish jarayonlari uchun resurslar dastlab va bir xilda taqsimlanadi. Bu jarayonlar tizim resurslarini boshqaradi, ulardan foydalanish uchun boshqa barcha jarayonlar o'rtasida raqobat mavjud. Shuning uchun tizimni boshqarish dasturlarining bajarilishi odatda jarayon deb atalmaydi. Vazifa atamasi faqat foydalanuvchi jarayonlari va tizimni qayta ishlash jarayonlari uchun ishlatilishi mumkin. Biroq, bu barcha operatsion tizimlar uchun to'g'ri emas. Masalan, "mikro yadro" deb nomlangan operatsion tizimlarda (misol sifatida, Quantum Software tizimidan QNX real vaqtda operatsion tizimini keltirishimiz mumkin), operatsion tizimning boshqaruv dasturlari modullarining ko'pchiligi, hatto drayverlarga ham ega. tegishli resurslar ajratilishi kerak bo'lgan ustuvor jarayonlarning holati. Xuddi shunday, UNIX tizimlarida tizim dasturlari modullarining bajarilishi ham maqomga ega tizimli jarayonlar ularni bajarish uchun resurslarni oladiganlar.

Agar biz oddiy umumiy maqsadli operatsion tizimlarni emas, balki, masalan, real vaqtda operatsion tizimlarni ham umumlashtirsak va ko'rib chiqsak, bu jarayon faol va passiv (harakatsiz) holatda bo'lishi mumkin deb ayta olamiz. V faol holat Jarayon hisoblash tizimining resurslaridan foydalanish uchun tanlovda ishtirok etishi mumkin, va passiv holda - bu faqat tizimga ma'lum, lekin u raqobatda qatnashmaydi (garchi uning tizimda mavjudligi RAM bilan ta'minlangan bo'lsa ham). va / yoki tashqi xotira). O'z navbatida, jarayon quyidagi holatlardan birida faol bo'lishi mumkin:

  • bajarish- jarayon talab qilgan barcha resurslar ajratilgan. Bu jarayonda faqat bitta jarayon bo'lishi mumkin, agar biz protsessorsiz hisoblash tizimi haqida gapiradigan bo'lsak;
  • bajarishga tayyorlik- resurslar berilishi mumkin, keyin jarayon bajarilish holatiga o'tadi;
  • blokirovka qilish yoki kutish- Talab qilingan resurslarni taqdim etib bo'lmadi yoki kiritish -chiqarish jarayoni yakunlanmadi.

Ko'pgina operatsion tizimlarda, oxirgi holat, o'z navbatida, ma'lum turdagi resurslarga mos keladigan kutish holatlari to'plamiga bo'linadi, chunki ular yo'qligi sababli jarayon bloklangan holatga o'tadi.



Oddiy operatsion tizimlarda, qoida tariqasida, jarayon dasturni ishga tushirganda paydo bo'ladi. Operatsion tizim jarayonning yangi jarayoni uchun tegishli tavsifchini tashkil qiladi (ochadi yoki ajratadi) va jarayon (vazifa) rivojlana boshlaydi (bajariladi). Shuning uchun passiv holat mavjud emas. Haqiqiy vaqtda operatsion tizimda (RTOS) vaziyat boshqacha. Odatda, real vaqtda tizimni loyihalashda, bajarilishi kerak bo'lgan dasturlarning (vazifalarning) tarkibi oldindan ma'lum. Ularning ko'pgina parametrlari ham ma'lum, ular resurslarni taqsimlashda e'tiborga olinishi kerak (masalan, xotira hajmi, ustuvorlik, bajarilishning o'rtacha davomiyligi, ochilgan fayllar, ishlatilgan qurilmalar va boshqalar). Shuning uchun, deskriptorni tartibga solishga va keyinchalik kerakli resurslarni topishga qimmatli vaqtni boy bermaslik uchun, ular uchun vazifa deskriptorlari oldindan tuzilgan. Shunday qilib, RTOSda ko'p jarayonlar (vazifalar) harakatsiz holatda bo'lishi mumkin, biz buni rasmda ko'rsatdik. 1.3, bu holatni boshqa shtatdan nuqta chiziq bilan ajratib turadi.

Jarayon mavjud bo'lganda bir necha bor bir holatdan ikkinchisiga o'tishi mumkin. Bu operatsion tizimga resurslar so'ralishi va operatsion tizim tomonidan ta'minlangan tizim funktsiyalarining bajarilishi, boshqa jarayonlar bilan o'zaro aloqa, taymer, kanallar va kirish / chiqish qurilmalaridan uzilish signallarining paydo bo'lishi bilan bog'liq. qurilmalar. Jarayonning bir holatdan ikkinchisiga mumkin bo'lgan o'tishlari grafik]) va shakllar shaklida ko'rsatilgan. 1.3. Keling, bir davlatdan ikkinchi holatga o'tishni batafsil ko'rib chiqaylik.

Bo'sh holatda bo'lgan jarayon quyidagi holatlarda tayyor holatga o'tishi mumkin:

  • operator (foydalanuvchi) buyrug'i bilan. Dastur vazifa holatiga ega bo'lishi mumkin bo'lgan (va ayni paytda passiv) bo'lishi mumkin bo'lgan dialogli operatsion tizimlarda paydo bo'ladi, faqat bajariladigan fayl bo'lishi mumkin emas va faqat bajarilish muddati uchun vazifa maqomini oladi (aksariyat zamonaviylarda bo'lgani kabi). Shaxsiy kompyuter operatsion tizimlari);
  • rejalashtiruvchi tomonidan navbatdan tanlanganida (ommaviy rejimda ishlaydigan operatsion tizimlar uchun odatiy);
  • boshqa vazifadan chaqiruv bo'yicha (rahbar bilan bog'lanish orqali bitta jarayon boshqa jarayonni yaratishi, boshlashi, to'xtatib turishi, to'xtatishi, yo'q qilishi mumkin);
  • tashqi boshlovchi qurilmaning uzilishi bilan 1 (biron bir hodisaning bajarilishi haqidagi signal tegishli vazifani ishga solishi mumkin);

1 Qurilma chaqiriladi "Faol" agar uzilish so'rovining signaliga ko'ra, qandaydir ishni boshlash kerak.

  • dasturning rejalashtirilgan boshlanish vaqtida.

Guruch. 1.3. Jarayon holati grafigi

Vazifani boshlashning oxirgi ikkita usuli, bunda bo'sh turgan holatdan tayyor holatga o'tadi, real vaqtda operatsion tizimlar uchun xosdir.

Jarayon protsessor bilan ta'minlanishi bilan bajarilishi mumkin bo'lgan jarayon, va ba'zi tizimlar va operativ xotiradagi disk -rezident vazifalari tayyor holatda. Bunday jarayonga protsessordan tashqari barcha zarur resurslar allaqachon ajratilgan deb hisoblanadi.

Jarayon quyidagi sabablardan biri bilan ish holatidan chiqishi mumkin:

  • jarayon tugaydi, shu bilan birga u nazoratchi bilan bog'lanib boshqaruvni operatsion tizimga o'tkazadi va uning tugallanganligi to'g'risida hisobot beradi. Bu harakatlar natijasida nazoratchi uni bo'sh jarayonlar ro'yxatiga o'tkazadi (jarayon passiv holatga o'tadi) yoki yo'q qiladi (dasturning o'zi emas, balki bajarilishiga mos keladigan vazifa). ba'zi dasturlar). Jarayonni bo'sh holatga o'tkazib qo'yish mumkin: operator buyrug'i bilan (bu va boshqa operator buyruqlarining harakati tizimli jarayon orqali amalga oshiriladi, bu esa buyruqni boshqaruvchiga ko'rsatilgan jarayonni o'tkazish talabi bilan "tarjima qiladi". harakatsiz holatga) yoki boshqa jarayondan operatsion tizim nazoratchisiga bu jarayonni to'xtatish talabi bilan bog'lanish orqali;
  • jarayon operatsion tizim nazoratchisi tomonidan yuqori darajadagi vazifaning paydo bo'lishi yoki unga ajratilgan vaqt tugashi munosabati bilan bajarishga tayyor holatga o'tkaziladi;
  • jarayon blokirovka qilinadi (kutish holatiga o'tkaziladi) kirish -chiqish so'rovi tufayli (uni bajarishni davom ettirishdan oldin bajarilishi kerak) yoki uni hozirda so'ralayotgan resurs bilan ta'minlay olmaslik tufayli (o'tish sababi) Virtual xotira mexanizmlarini tashkil qilishda segment yoki sahifaning yo'qligi bo'sh holatda bo'lishi mumkin, 2-bobning "Segment, sahifa va segmentli sahifa xotirasini tashkil qilish" bo'limiga qarang), shuningdek operator buyrug'i bilan. topshiriqni nazoratchi orqali boshqa vazifadan to'xtatib qo'yish.
  • tegishli hodisa ro'y berganda (kiritish -chiqarish operatsiyasi tugadi, so'ralgan resurs chiqarildi, virtual xotiraning kerakli sahifasi operativ xotiraga yuklandi va hokazo), jarayon blokdan chiqariladi va tayyor holatga o'tkaziladi. ijro uchun.

Shunday qilib, hodisalar jarayonlarning holatini o'zgartiruvchi harakatlantiruvchi kuchdir. Voqealarning asosiy turlaridan biri uzilishlardir.

Yaxshi ishlaringizni bilimlar bazasiga yuborish juda oddiy. Quyidagi formadan foydalaning

Yaxshi ish saytiga ">

Bilimlar bazasidan o'qish va ishda foydalanadigan talabalar, aspirantlar, yosh olimlar sizga juda minnatdor bo'lishadi.

Http://www.allbest.ru/ saytida joylashtirilgan

1 . Jarayonlar

Jarayon (jarayon) kontseptsiyasi 60 -yillardan boshlab OS ishlab chiquvchilari tomonidan ish vaqtida dastur sifatida kiritilgan. E'tibor bering, dastur faqat diskda saqlanadigan yuklash formatidagi fayl va jarayon ish vaqtida xotirada joylashgan.

Jarayon holatlari

Jarayon bir qator diskret holatlar bilan tavsiflanadi va bu holatlarning o'zgarishiga turli hodisalar sabab bo'lishi mumkin. Dastlab biz jarayonning uchta asosiy holatini ko'rib chiqish bilan cheklanamiz.

Agar unga markaziy protsessor birligi ajratilgan bo'lsa, jarayon ish holatida bo'ladi.

Agar jarayon zudlik bilan ixtiyorida bo'lgan markaziy protsessor blokidan foydalana olsa, u tayyor holatda bo'ladi.

Agar biror voqea bajarilishini davom ettira oladigan bo'lsa, jarayon blokirovka qilingan holatda bo'ladi.

E'tibor bering, protsessorli mashinada istalgan vaqtda faqat bitta jarayon bajarilish holatida bo'lishi mumkin. Bir nechta jarayonlar tayyor va blokirovka holatida bo'lishi mumkin, ya'ni. tayyor va bloklangan jarayonlar ro'yxatini tuzish mumkin.

Tayyor jarayonlar ro'yxati ustuvorlik bo'yicha buyurtma qilinadi, ro'yxatning birinchi jarayoni birinchi bo'lib CPU oladi. Tayyor jarayonlar ro'yxatini tuzishda har bir yangi jarayon ro'yxatning oxiriga qo'yiladi va oldingi jarayonlarning bajarilishi tugashi bilan u ro'yxat boshiga o'tadi. Bloklangan jarayonlar ro'yxati buyurtma qilinmagan, chunki jarayonlar kutilgan hodisalar sodir bo'ladigan tartibda blokdan chiqariladi.

X jarayonining holatdan holatga o'tishi sxemasini ko'rib chiqaylik - jarayon holatining o'zgarishi.

Ishga tushadigan jarayonni boshlash yoki tanlash - bu protsessorni tayyor jarayonlar ro'yxatidagi birinchi jarayonga berish. Ishga tushirish dastur yordamida amalga oshiriladi - dispetcher. Keling, bunday holat o'zgarishini quyidagicha belgilaymiz: linux operatsion tizimi

CPU resurslarini eksklyuziv qo'lga kiritishni oldini olish uchun, OS maxsus uzilish taymerida bu jarayon uchun ajratilgan ma'lum vaqt oralig'ini o'rnatadi, vaqt tugagandan so'ng, taymer uzilish signalini yaratadi, u orqali boshqaruv uzatiladi. operatsion tizimga o'tkaziladi va jarayon bajarilish holatidan tayyor holatga o'tkaziladi va ishga tayyor jarayonlar ro'yxatidagi birinchi jarayon ish holatida bo'ladi.

Jarayonni blokirovka qilish - bu protsessor tomonidan unga ajratilgan vaqt oralig'ining tugashidan oldin, ya'ni. ishlayotgan jarayon, masalan, kiritish -chiqarish operatsiyasini boshlaganida va shu bilan belgilangan operatsiyani bajarilishini kutib, CPUni ixtiyoriy ravishda qo'yib yuboradi.

Jarayon, jarayon kutayotgan voqea sodir bo'lganda va u blokirovka holatidan tayyor holatga o'tganda uyg'onadi. Shunday qilib, yuqoridagi holatda, kiritish -chiqarish operatsiyasi tugagandan so'ng.

Shunday qilib, biz jarayonning holatida to'rtta mumkin bo'lgan o'zgarishlarni aniqladik.

E'tibor bering, jarayonning o'zi boshlagan yagona holat o'zgarishi blokirovka qilinadi, qolganlari bu jarayonga tashqi ob'ektlar tomonidan boshlanadi.

Jarayonlar bo'yicha operatsiyalar

Jarayonlarni boshqaruvchi tizimlar ular ustida bir qancha operatsiyalarni bajarishi kerak.

Jarayonni yaratish. Linux operatsion tizimi

Jarayon yaratish jarayonga nom berishni o'z ichiga oladi; uning nomini jarayon nomlari ro'yxatiga kiritish; jarayonning birinchi ustuvorligini aniqlash; PCB jarayonini boshqarish blokini shakllantirish; jarayonga dastlabki resurslarni taqsimlash.

Jarayon yangi jarayonni vujudga keltirishi mumkin va bu holda, birinchisi ota -ona, ikkinchisi - bola jarayoni va bitta ota -ona jarayonining bir nechta bolasi bo'lishi mumkin, bolada esa faqat bitta ota -ona bor. Shunday qilib, jarayonlarning ierarxik tuzilishi yaratiladi.

UNIX OS, asosan, jarayonlarni boshqarish vositasi bo'lib, o'zini daraxt tuzilishi bilan jarayonlarning parallel o'zaro ta'siri tizimi deb hisoblash mumkin. UNIX operatsion tizimidagi barcha jarayonlarning umumiy ajdodlari - bu oilaviy daraxtning yuqori qismida joylashgan boshlang'ich jarayon, bu jarayon tizimda doimiy ravishda mavjud bo'lib, qolgan barcha jarayonlar fork () tizim chaqiruvi yordamida birlashtirilgan tarzda ishlab chiqariladi.

Har bir yaratilgan UNIX jarayoniga jarayonning o'ziga xos identifikatori - PID beriladi, bu jarayonni OS uchun aniqlaydi. Bundan tashqari, har bir jarayonda PPID (ota -ona jarayoni) mavjud, bu ota -onasining PIDidan boshqa narsa emas.

UNIX ps buyrug'i yordamida siz tizimdagi joriy jarayonlarning identifikatorlarini ko'rishingiz mumkin.

Jarayonni o'ldirish.

Jarayon o'ldirilganda, unga ajratilgan resurslar tizimga o'tkaziladi, nom har qanday ro'yxat va jadvallardan o'chiriladi va jarayonni boshqarish bloki bo'shatiladi.

Jarayonning to'xtatilishi.

To'xtatilgan jarayon, boshqa jarayon uni faollashtirganda, bajarilishini davom ettirishi mumkin.

Jarayonni qayta boshlash.

Jarayon to'xtatilgan paytdan boshlab qayta boshlash uchun tayyorgarlik jarayoni qayta boshlash deb ataladi.

Jarayonning ustuvorligini o'zgartirish.

Bu operatsiya PCBda jarayonning ustuvor qiymatini o'zgartirishni bildiradi.

Bundan tashqari, blokirovka qilish, uyg'onish va jarayonni boshlash operatsiyalari qo'llaniladi.

Jarayonning to'xtatilishi va qayta boshlanishi haqidagi kiritilgan tushunchalarni hisobga olgan holda, 1 -rasmda ko'rsatilgan jarayonlar holatining o'zgarishi tasvirini biroz to'ldirish mumkin.

Masalan, UNIX dispetcheri - bu jarayonlar bir -biri bilan CPU vaqtida raqobatlashishiga imkon beruvchi dastur. Jarayonlarning to'xtatilishi va tiklanishi sekundiga ko'p marta sodir bo'ladi, shuning uchun uzluksiz jarayonning ta'siri paydo bo'ladi. CPU vaqt sxemasi quyidagicha ifodalanishi mumkin:

Jarayonni boshqarish bloki

Jarayonni boshqarish bloki (PCB - jarayonlarni boshqarish bloki) - bu operatsion tizim uchun jarayonni belgilaydigan va jarayon haqidagi barcha asosiy ma'lumotlarni jamlaydigan ma'lumotlar tuzilmasi:

jarayonning hozirgi holati;

yagona jarayon identifikatori;

jarayonning ustuvorligi;

jarayon xotirasi ko'rsatkichlari;

jarayonga ajratilgan resurslarga ko'rsatma;

ro'yxatga olish maydonini saqlash (OS protsessorni jarayondan jarayonga o'tkazganda, har bir jarayonni qayta ishga tushirish uchun zarur bo'lgan ma'lumotlarni eslab qolish uchun PCBda ko'rsatilgan registrni saqlash joylaridan foydalanadi).

Jarayonlar kontseptsiyasi UNIX uchun asosiy hisoblanadi. Aslida, har qanday jarayonni yaratish - bu qandaydir virtual mashinani yaratishdir. U protsessual segment va ma'lumotlar segmenti joylashtirilgan o'z manzil maydoniga ega.

Jarayon tavsifi va kontekst. Butun umr davomida mavjud bo'lgan jarayonni aniqlash uchun ishlatiladigan tizim ma'lumotlari jarayonning dastagini (tavsiflovchisini) tashkil qiladi. Ko'pgina tavsiflovchilar jarayonlar jadvalini tashkil qiladi - zamonaviy UNIX versiyalarida bir necha yuz jarayonlar mavjud.

Jarayon tavsifi quyidagi jarayon parametrlarini o'z ichiga oladi:

joy (xotira manzili);

jarayon tasvirining yuklanmagan qismining o'lchami;

jarayon va foydalanuvchi identifikatori.

Jarayon haqidagi boshqa muhim ma'lumotlar bu erda yozilgan foydalanuvchi jadvalida (jarayon konteksti deb ham ataladi) saqlanadi:

faylga kirish huquqini aniqlash uchun foydalanuvchi identifikatsiya raqamlari;

jarayon tomonidan ochilgan barcha fayllar uchun tizim fayllar jadvaliga havolalar;

inodlar jadvalidagi joriy katalog inodiga ko'rsatgich;

turli signallarga reaktsiyalar ro'yxati.

To'xtatib turish

Uzilish ( uzilish) - bu protsessor bajaradigan buyruqlarning oddiy ketma -ketligini o'zgartiradigan hodisa. Agar uzilish sodir bo'lsa, demak

boshqaruv OSga o'tkaziladi;

OS uzilgan jarayonning holatini eslab qoladi;

OS uzilish turini tahlil qiladi va boshqaruvni tegishli uzilish ishlovchisiga o'tkazadi.

Keling, uzilishlarning asosiy turlarini ko'rib chiqaylik.

SVC (supervayzerni chaqirish bo'yicha ko'rsatma) uziladi.

Bu uzilishlarning tashabbuskori SVC buyrug'ini bajaruvchi ishlaydigan jarayondir, ya'ni. ma'lum bir tizim xizmatini ko'rsatish uchun foydalanuvchi dasturi tomonidan ishlab chiqarilgan so'rov (masalan, kiritish -chiqarish operatsiyasini bajarish, ajratilgan xotira hajmini oshirish va hk). SVC mexanizmi OSni foydalanuvchilardan himoya qilishga imkon beradi.

I / U uzilishlari.

I / U apparati tomonidan ishga tushirildi va protsessorga kanal yoki kirish moslamasining holatida o'zgarish, masalan, kirish -chiqish operatsiyasi tugashi, xato yuz berishi yoki qurilma tayyor holatga kirganligi to'g'risida signal berish. davlat

Tashqi uzilishlar.

Bunday uzilishlarga turli tashqi hodisalar sabab bo'lishi mumkin, masalan, uzilish taymerida belgilangan vaqt bo'lagi.

Tanaffuslarni qayta ishga tushiring.

Bu uzilishlar OSni qayta ishga tushirish buyrug'ida sodir bo'ladi.

Dasturni boshqarish uchun uzilishlar.

Bu uzilishlar ishlaydigan jarayonda yuzaga keladigan turli xil xatolar, masalan, nolga bo'lishga urinish natijasida yuzaga keladi.

Mashinani boshqarish to'xtatiladi.

Bu uzilishlar apparat xatolaridan kelib chiqadi.

Kontekstni almashtirish

Uzilishlarni boshqarish tartibi, ularning turiga qarab, OT tarkibiga kiruvchi tegishli dasturlar tomonidan amalga oshiriladi - IH - uzilishlarni boshqaruvchi).

Agar uzilish sodir bo'lsa, OS to'xtatilgan jarayon holatining saqlanishini va boshqaruv tegishli uzilish ishlovchisiga o'tkazilishini ta'minlashi kerak. Buni kontekstni almashtirish texnikasi yordamida amalga oshirish mumkin.

Bu usulni amalga oshirishda buyruqlar bajarilish tartibini boshqaruvchi va jarayonning holati haqida bir qancha ma'lumotlarni o'z ichiga oluvchi dastur holati so'zlari (PSW) ishlatiladi.

Yagona protsessorli mashinada keyingi bajariladigan ko'rsatmaning manzilini, shuningdek, hozirda yoqilgan va o'chirilgan uzilishlar turlarini o'z ichiga olgan bitta PSW mavjud. Tegishli uzilish ishlovchilarining manzillarini o'z ichiga oltita yangi PSW va har bir uzilish turi uchun bitta oltita eski PSW.

Agar uzilish sodir bo'lsa, avval uning taqiqlanganligi tekshiriladi (keyin u kechiktiriladi yoki e'tiborga olinmaydi). Agar uzilish yoqilgan bo'lsa, quyidagi PSW kaliti qo'shimcha qurilmalarda bajariladi:

joriy PSW bu turdagi uzilishlar uchun eski PSWga aylanadi;

bu uzilish turi uchun yangi PSW joriy PSWga aylanadi.

Vaziyat so'zlari bunday almashtirilgandan so'ng, joriy PSW tegishli uzilish ishlovchisining manzilini o'z ichiga oladi, u bu uzilishni qayta ishlay boshlaydi. To'xtatib ishlov berish tugagandan so'ng, CPU uzilish vaqtida ishlagan jarayonga yoki eng yuqori ustuvorlikka ega bo'lgan tayyor jarayonga xizmat qila boshlaydi.

Ta'riflangan uzilishlarni boshqarish sxemasi yagona mumkin emas.

Operatsion tizim yadrosi

Jarayonlar bilan bog'liq barcha operatsiyalar OTning yadro deb nomlangan qismi nazorati ostida amalga oshiriladi.

Yadro odatda RAMda joylashgan, OSning boshqa qismlari esa kerak bo'lganda tashqi xotiraga ko'chiriladi.

Yadro funktsiyalari

OS yadrosi, qoida tariqasida, quyidagi funktsiyalarni amalga oshirish dasturlarini o'z ichiga olishi kerak:

uzilishlar bilan ishlash;

jarayonlar bo'yicha operatsiyalar;

jarayonlarni sinxronlashtirish;

jarayonlarning o'zaro ta'sirini tashkil etish;

jarayonlarni boshqarish bloklari bilan ishlash;

kirish-chiqish operatsiyalarini qo'llab-quvvatlash;

fayl tizimini qo'llab -quvvatlash;

protseduralarga murojaat qilishda qo'ng'iroqni qaytarish mexanizmini qo'llab-quvvatlash;

bir qator buxgalteriya funktsiyalari.

OSni loyihalash jarayoniga ierarxik yondashuv quyidagicha.

Ierarxiya "toza mashina" deb nomlangan kompyuter uskunalariga asoslangan.

Ierarxiyaning keyingi darajasida yadroning turli funktsiyalari joylashgan bo'lib, ular bilan birgalikda kompyuter "kengaytirilgan mashinaga" aylanadi.

Yadro tomonidan bajariladigan bu qo'shimcha funktsiyalarni ko'pincha ibtidoiy deb atashadi.

Ierarxiya yadrosi ustida foydalanuvchi jarayonlarini qo'llab -quvvatlaydigan turli xil OT jarayonlari - masalan, tashqi qurilmalarni boshqarish jarayonlari.

Ierarxiyaning yuqori qismida foydalanuvchi o'zi ishlov beradi.

Operatsion tizimni ishlab chiqish tajribasi shuni ko'rsatadiki, bunday ierarxik tizimlar yadro funktsiyasidan ko'ra disk raskadrovka qilish, o'zgartirish va sinovdan o'tkazish osonroq.

ierarxiyaning bir necha darajalarida taqsimlangan.

OS arxitekturasi Linux

Linux hozirda keng tarqalgan (Linus Torvalds tomonidan, asosiy versiya). Linuxning kuchayib borayotgan ta'siri 2000 yil fevral oyining boshida Nyu -Yorkda LinuxWorldExpo ko'rgazmasida yana bir bor tasdiqlandi. IBM Linux uchun ilovalarni faol ishlab chiqmoqda, bu OSning yuqori bahosini tasdiqlaydi. IBM Enterprise Systems Group vitse-prezidenti Irving Vladawski-Berger: "Linux bugungi kunda 1990-yillar boshida Internet kabi tez sur'atlar bilan o'sib bormoqda va hatto elektron biznesdan ham mashhur." Linux uskunalariga talablar minimal, balki faqat MS DOS kompyuter texnikasiga Linuxga qaraganda kamroq talabchan. Siz hatto Linuxni 386SX / 16, 1MB operativ xotirada ham ishga tushirishingiz mumkin, lekin bu tizimning ishlayotganiga ishonch hosil qilish imkonini beradigan minimal darajadir. Asosiy buyruqlar to'plami, ma'muriy yordamchi dasturlar va buyruqlar tarjimoni 10 MB ni egallaydi.

Linux kompyuterda boshqa tizimlar bilan "yashashi" mumkin, masalan, MS DOS, MS Windows yoki OS / 2, bu holda har bir tizim diskning alohida bo'limida joylashgan bo'lishi kerak va kompyuter ishga tushganda, u yoki bu OSni ishga tushirishning muqobil varianti taklif qilinadi.

Linux-UNIX-ga o'xshash tizim, shuning uchun uning arxitekturasi printsiplari UNIX standartidan unchalik farq qilmaydi. Eng umumiy ko'rinish, rasmda ko'rsatilgandek, tizimning ikki darajali modelini ko'rish imkonini beradi. A.

Markazda tizimning yadrosi joylashgan. Yadro to'g'ridan -to'g'ri kompyuter texnikasi bilan o'zaro aloqada bo'lib, amaliy dasturlarni uning arxitektura xususiyatlaridan ajratib turadi. Yadroda ilovalarga ko'rsatiladigan xizmatlar to'plami mavjud. Yadro xizmatlariga quyidagilar kiradi:

I / U operatsiyalari (fayllarni ochish, o'qish, yozish va boshqarish),

jarayonlarni yaratish va boshqarish, ularning sinxronizatsiyasi va jarayonlararo o'zaro ta'siri.

Barcha ilovalar tizim qo'ng'iroqlari orqali yadro xizmatlarini so'raydi.

Ikkinchi daraja - bu tizimning funktsional imkoniyatlarini aniqlaydigan tizim vazifalari va Linux foydalanuvchi interfeysini ta'minlovchi ilovalar. Modelning ikkinchi darajasini tashkil etuvchi ilovalar to'plami ma'lum Linux tarqatilishini aniqlaydi.

Tizim yadrosi

Yadro OTning asosiy funksionalligini ta'minlaydi: u jarayonlarni yaratadi va boshqaradi, xotirani ajratadi, fayllar va tashqi qurilmalarga kirishni ta'minlaydi.

Ilovalarning yadro bilan o'zaro ta'siri standart tizimli qo'ng'iroqlar interfeysi orqali sodir bo'ladi. Tizimli qo'ng'iroqlar interfeysi - bu yadro xizmatlari to'plami va xizmat so'rovlarining formatini belgilaydi. Jarayon xizmatni tizim yadrosi orqali ma'lum bir yadro protsedurasiga talab qiladi, tashqi ko'rinishi oddiy kutubxona funktsiyasiga o'xshash.

Yadro uchta asosiy quyi tizimdan iborat:

fayl quyi tizimi;

jarayon va xotirani boshqarish quyi tizimi;

kirish / chiqish quyi tizimi.

Fayl quyi tizimi

Fayl quyi tizimi disklar va periferik qurilmalarda joylashgan ma'lumotlarga kirish uchun yagona interfeysni ta'minlaydi. Xuddi shu funktsiyalarni ochish (2), o'qish (2), yozish (2) diskdagi ma'lumotlarni o'qish yoki yozishda ham, printer yoki terminalga matn chiqarishda ham ishlatilishi mumkin.

Fayl quyi tizimi fayllarga kirish huquqlarini boshqaradi, fayllarni joylashtirish va o'chirish operatsiyalarini bajaradi va fayl ma'lumotlarini yozadi / o'qiydi. Ko'pgina dastur funktsiyalari fayl tizimi interfeysi orqali bajarilganligi sababli, fayl ruxsatnomalari tizimdagi foydalanuvchining imtiyozlarini belgilaydi.

Fayl quyi tizimi periferik qurilmalarga yuborilgan so'rovlarni kirish -chiqish quyi tizimining tegishli modullariga yo'naltirishni ta'minlaydi.

Jarayonni boshqarish quyi tizimi

Ijro etish uchun ishga tushirilgan dastur tizimda bir yoki bir nechta jarayonlarni keltirib chiqaradi, jarayonlarni boshqarish quyi tizimining vazifalari quyidagilardan iborat:

jarayonlarni yaratish va o'chirish;

jarayonlar o'rtasida tizim resurslarini (xotira, hisoblash resurslari) taqsimlash;

jarayonlarni sinxronlashtirish;

jarayonlararo aloqa.

Rejalashtiruvchi - bu yadrolar uchun maxsus modul bo'lib, u jarayonlar o'rtasidagi ziddiyatlarni va tizim resurslari uchun tortishuvlarni hal qiladi. Rejalashtiruvchi jarayonni faqat umumiy resurslarni qabul qilmasligiga ishonch hosil qilib, jarayonni boshlaydi. Jarayon kirish -chiqish operatsiyasini uzoq kutish yoki bir muncha vaqt o'tgach, protsessorni bo'shatadi. Bunday holda, rejalashtiruvchi keyingi ustuvor jarayonni tanlaydi.

Xotirani boshqarish moduli joylashishni ta'minlaydi tasodifiy kirish xotirasi amaliy vazifalar uchun. Agar barcha jarayonlar uchun RAM etarli bo'lmasa, yadro jarayonning bir qismini yoki bir nechta jarayonlarni, qoida tariqasida, maxsus maydonga o'tkazadi. qattiq disk, ishlaydigan jarayon uchun resurslarni bo'shatish. Barcha zamonaviy operatsion tizimlar virtual xotirani amalga oshiradi: jarayon o'z mantiqiy manzil maydonida ishlaydi, bu esa mavjud jismoniy xotiradan sezilarli darajada oshib ketadi. Jarayonni virtual xotirani boshqarish ham xotira boshqaruv moduli zimmasiga yuklangan.

Jarayonlararo aloqa moduli signallar yordamida hodisalar haqida xabar berish uchun javobgardir va turli jarayonlar o'rtasida ma'lumotlar almashish imkoniyatini beradi.

I / O quyi tizimi

I / U quyi tizimi fayllar quyi tizimi va jarayonlarni boshqarish quyi tizimidan periferik qurilmalarga (disklar, terminallar va h.k.) kirish uchun so'rovlarni bajaradi. U kerakli ma'lumotlarni buferlashni ta'minlaydi va qurilma drayverlari bilan o'zaro ta'sir o'tkazadi - tashqi qurilmalarga bevosita xizmat ko'rsatadigan maxsus yadro modullari.

2. Savollar

Quyidagi atamalarni aniqlang: dastur, protsedura, jarayon, protsessor.

Nima uchun bloklangan jarayonlar ro'yxatini birinchi o'ringa qo'yish maqsadga muvofiq emas?

Jarayonning to'rtta asosiy holatini tasvirlab bering.

Faoliyatni to'xtatib turish va davom ettirishni hisobga olgan holda jarayonning holatidagi o'zgarishlarni tasvirlab bering.

PCB qanday jarayon ma'lumotlarini o'z ichiga oladi?

Asosiy uzilish turlarini sanab bering va har bir uzilish turiga misol keltiring.

Kontekstni almashtirish usulining mohiyatini aytib bering.

OS yadrosini aniqlang va uning asosiy funktsiyalarini nomlang.

Linux yadrosining tuzilishini aniqlang.

Fayl quyi tizimining maqsadi nima?

Jarayonni boshqarish quyi tizimining maqsadi nima?

I / U quyi tizimining asosiy vazifalari nimalardan iborat?

Tushunchani aniqlang - ibtidoiylar.

OS dizayniga ierarxik yondashuvning o'ziga xos xususiyati nimada?

Allbest.ru saytida joylashtirilgan

Shunga o'xshash hujjatlar

    Yaratilish tarixi, operatsion tizim arxitekturasi va Linuxda qo'llaniladigan xususiyatlar ro'yxati. Asboblar va rivojlanish aylanishi yangi versiya yadrolar. Patch hayot aylanishi. Yadroga yangi xususiyatlar (yamalar) qo'shganda qaror qabul qilish tuzilishi.

    ma'ruza 29.07.2012 da qo'shilgan

    Linux yadrosi asosida server operatsion tizimlarini tahlil qilish. Marshrutni yaratish va natijalarni baholashga yondashuvlar. CentOS 6.6 operatsion tizimini o'rnatish va uning konfiguratsiyasi namunalari. Yaratilgan shlyuzni sinovdan o'tkazish tamoyillari va asosiy bosqichlari.

    davriy ish 19.11.2015 yil qo'shilgan

    Umumiy tashkilot fayl tizimi... Virtual sahifalar. FS bilan ishlash buyruqlari. Fayllarni tartibga solish usullari. Qo'ng'iroqlar jarayonini boshqarish. Jarayonni rejalashtirish algoritmi. OSning ko'p dasturli ishlash rejimi. Tizim yadrosining tuzilishi.

    muddatli ish, 23.03.2015 yil qo'shilgan

    Dasturiy vositalar qanday ishlashini o'rganish disk raskadrovka jarayonining qiyin qismidir. Foydalanuvchi rejimida tuzatuvchilar, ularning asosiy turlari. Avtomatik ishga tushirish tuzatuvchida ilovalar. To'xtatish yorliqlari. Operatsion tizim yadrosini tuzatish.

    abstrakt 25/11/2016 da qo'shilgan

    Har xil dasturiy modullarga asoslangan operatsion tizimning strukturaviy tashkil etilishi. Yadro modullari bajaradigan vazifalar. Operatsion tizim modullari yordamchi dastur sifatida yaratilgan. Yadro imtiyozli rejimda. Tizim yadrosining ko'p qatlamli tuzilishi.

    taqdimot 16.01.2012 da qo'shilgan

    Linux operatsion tizimi platformasida ishini optimallashtirish bilan kichik tarmoq uchun mo'ljallangan dasturiy mahsulotni yaratish; ma'muriyat. Boshqaruv protokollari modulini ishlab chiqish; quyi tizimni tekshirish texnikasi; tizim tahlillari.

    tezis, 27.06.2012 yil qo'shilgan

    Linux operatsion tizimini o'rganish: fayl elementlari, katalog tuzilishi va ularga kirish huquqlari. Ushbu OSning ba'zi buyruqlari bilan ishlash bo'yicha amaliy ko'nikmalarga ega bo'lish. Nazariy ma'lumotlar va Linux jarayonlari bilan ishlashning amaliy ko'nikmalari.

    laboratoriya ishlari, 16.06.2011 yil qo'shilgan

    Operatsion tizimlarni bog'lash tarixining muhim voqealari Uskuna va amaliy dasturlar... Operatsion tizimning xususiyatlari Microsoft Windows Etti, Linux operatsion tizimining tahlili. Har bir operatsion tizimning afzalliklari va kamchiliklari.

    muddatli ish, 05/07/2011 qo'shilgan

    Linuxning rivojlanish tarixi va versiyalari. Operatsion tizimning asosiy xususiyatlari, afzalliklari va qiyosiy xususiyatlari. Linuxning muvaffaqiyat va tez rivojlanishining asosiy sabablari, dasturiy ta'minot xususiyatlari. Operatsion tizimni tarqatishning asosiy muammolari.

    muddatli ish, 13.12.2011 yil qo'shilgan

    MIPS texnologiyasi bo'yicha MIPS arxitekturasining xususiyatlari. Xotira ierarxiyasi. O'tish buyruqlarini qayta ishlash. Manzil navbat. Registrlarning nomini o'zgartirish. Operatsion tizimni tanlash uchun asos. Perl emulyatori va yadro qurilishi. Elektr va yong'in xavfsizligi.

Tizimda paydo bo'ladigan har qanday yangi jarayon tayyor holatga keladi. Operatsion tizim ba'zi rejalashtirish algoritmidan foydalanib, tayyor jarayonlardan birini tanlab, uni bajarilish holatiga qo'yadi. Ijro holatida jarayonning dastur kodining bevosita bajarilishi amalga oshadi. Jarayon uchta sababga ko'ra bu holatdan chiqib ketishi mumkin:

operatsion tizim o'z faoliyatini to'xtatadi;

u biron bir voqea sodir bo'lmaguncha o'z ishini davom ettira olmaydi va operatsion tizim uni kutish holatiga o'tkazadi;

hisoblash tizimidagi uzilish natijasida (masalan, belgilangan bajarish vaqti o'tgandan keyin taymer uzilishi) tayyor holatga qaytariladi.

Kutish holatidan jarayon kutilgan voqea sodir bo'lgandan keyin tayyor holatga o'tadi va uni yana ijro uchun tanlash mumkin.

Bizning yangi model jarayonlar mavjud bo'lgan davrdagi xatti -harakatlarini yaxshi tasvirlaydi, lekin u tizimda jarayonning paydo bo'lishi va uning yo'q bo'lib ketishiga e'tibor qaratmaydi. Rasmni to'ldirish uchun biz jarayonlarning yana ikkita holatini kiritishimiz kerak: tug'ilish va tugallangan ijro (2.3 -rasmga qarang).

Guruch. 2.3. Kursda qabul qilingan jarayonlar holati diagrammasi

Endi, hisoblash tizimida paydo bo'lishi uchun, jarayon tug'ilish holatidan o'tishi kerak. Tug'ilganda, jarayon o'z ixtiyoriga yuklangan manzil maydonini oladi dastur kodi jarayon; unga to'plam va tizim resurslari ajratilgan; bu jarayonning dastur hisoblagichining boshlang'ich qiymati o'rnatiladi va hokazo.Yangi tug'ilgan jarayon tayyor holatga o'tkaziladi. Faoliyati tugagach, bajarilish holatidan jarayon tugallangan ijro holatiga o'tadi.

Muayyan operatsion tizimlarda jarayonning holatlari batafsilroq bo'lishi mumkin, bir holatdan ikkinchisiga o'tishning ba'zi yangi variantlari paydo bo'lishi mumkin. Masalan, operatsiya xonasining jarayon holati modeli Windows tizimlari NT 7 xil holatni o'z ichiga oladi va Unix operatsion tizimi uchun - 9. Shunday bo'lsa -da, u yoki bu tarzda, barcha operatsion tizimlar yuqoridagi modelga bo'ysunadi.

Jarayon operatsiyalari va ular bilan bog'liq tushunchalar

Operatsiyalar to'plami

Jarayon bir davlatdan ikkinchisiga o'z -o'zidan o'tishi mumkin emas. Operatsion tizim jarayonlar holatini o'zgartirish, ular ustida operatsiyalarni bajarish uchun javobgardir. Bizning modelimizda bunday operatsiyalar soni hozircha holat diagrammasidagi o'qlar soniga to'g'ri keladi. Ularni uchta juftlikka birlashtirish qulay:

jarayon yaratish - jarayonni tugatish;

Operatsion tizim asoslari

jarayonni to'xtatib turish (ijro holatidan tayyor holatga o'tkazish) - jarayonni boshlash (tayyorlik holatidan ijro holatiga o'tkazish);

jarayonni blokirovka qilish (bajarilish holatidan kutish holatiga o'tkazish) - jarayonni blokdan chiqarish (kutish holatidan tayyor holatga o'tkazish).

V Bundan tashqari, biz algoritmlarni rejalashtirish haqida gapirganda, bizning modelimizda juftlik bo'lmagan yana bir operatsiya bo'ladi: jarayonning ustuvorligini o'zgartirish.

Jarayonni yaratish va tugatish operatsiyalari bir martalik, chunki ular jarayonga bir martadan ortiq qo'llanilmaydi (ba'zi tizimli jarayonlar hisoblash tizimi ishlayotganda hech qachon tugamaydi). Jarayonlarning holatini o'zgartirish bilan bog'liq boshqa barcha operatsiyalar, boshlanish yoki blokirovka bo'lsin, odatda qayta ishlatilishi mumkin. Keling, operatsion tizim jarayonlar bo'yicha operatsiyalarni qanday bajarishini batafsil ko'rib chiqaylik.

Jarayonni boshqarish bloki va jarayon konteksti

Operatsion tizim jarayonlar bo'yicha operatsiyalarni bajarishi uchun har bir jarayon unda ba'zi ma'lumotlar tuzilmasi bilan ifodalanadi. Ushbu tuzilma ushbu jarayonga xos ma'lumotlarni o'z ichiga oladi:

jarayonning holati;

jarayonning dasturiy hisoblagichi yoki boshqacha aytganda, keyingi bajarilishi kerak bo'lgan buyruq manzili;

protsessor registrlarining tarkibi;

protsessorni ishlatish va xotirani boshqarishni rejalashtirish uchun zarur bo'lgan ma'lumotlar (jarayonning ustuvorligi, manzil maydonining o'lchami va joylashuvi va boshqalar);

hisobga olish ma'lumotlari (foydalanuvchi o'z ishini boshlagan jarayon identifikatsiya raqami, bu jarayonda CPUdan umumiy foydalanish va boshqalar);

qurilma haqida ma'lumot Jarayon bilan bog'liq kirish -chiqish (masalan, jarayonga qaysi qurilmalar tayinlangan, ochiq fayllar jadvali).

Uning tarkibi va tuzilishi, albatta, muayyan operatsion tizimga bog'liq. Ko'pgina operatsion tizimlarda jarayon ma'lumotlari bitta emas, balki bir nechta tegishli ma'lumotlar tuzilmalarida saqlanadi. Bu tuzilmalar har xil nomlarga ega bo'lishi mumkin Qo'shimcha ma'lumot yoki aksincha, tasvirlangan ma'lumotlarning faqat bir qismi. Biz uchun bu muhim emas. Biz uchun yagona muhim narsa shundaki, hisoblash tizimidagi har qanday jarayon uchun u bilan operatsiyalarni bajarish uchun zarur bo'lgan barcha ma'lumotlar operatsion tizimda mavjud. Oddiylik uchun, biz uni bitta ma'lumotlar tuzilmasida saqlangan deb hisoblaymiz. Biz uni PCB (Process Control Block) yoki Process Control Block deb ataymiz. Jarayonni boshqarish bloki - operatsion tizim uchun jarayon modeli. Jarayonda operatsion tizim tomonidan bajariladigan har qanday operatsiya PCBda ma'lum o'zgarishlarni keltirib chiqaradi. Qabul qilingan jarayon holati modelida, operatsiyalar orasidagi tenglikni tarkibi doimiy bo'lib qoladi.

Jarayonni boshqarish bloki saqlash uchun mo'ljallangan ma'lumotni keyingi taqdimot uchun qulay tarzda ikki qismga bo'lish mumkin. Barcha protsessor registrlarining tarkibi (shu jumladan dastur hisoblagichining qiymati) jarayonning registri konteksti, qolganlari esa jarayonning tizim konteksti deb nomlanadi. Jarayonning reestri va tizim kontekstlarini bilish uning operatsion tizimidagi ishini boshqarish, undagi operatsiyalarni bajarish uchun etarli. Biroq, bu jarayonni to'liq tavsiflash uchun etarli emas. Operatsion tizim bu jarayon qanday hisob -kitoblar bilan shug'ullanishi, ya'ni uning manzil maydonida qanday kod va qanday ma'lumotlar borligi bilan qiziqmaydi. Foydalanuvchi nuqtai nazaridan, aksincha, jarayonlarning manzil maydonining mazmuni, ehtimol, ma'lumotlarni konvertatsiya qilish ketma -ketligini va olingan natijalarni belgilaydigan registr konteksti bilan bir qatorda katta qiziqish uyg'otadi. Jarayonning manzil maydonida joylashgan kod va ma'lumotlar foydalanuvchi konteksti deb nomlanadi. Qisqalik uchun registr, tizim va foydalanuvchi jarayonining kontekstlarini yig'ish odatda jarayon konteksti deb ataladi. Har qanday vaqtda, jarayon uning mazmuni bilan to'liq tavsiflanadi.


Operatsion tizim asoslari

Bir martalik operatsiyalar

Kompyuterda jarayonning murakkab hayot yo'li uning tug'ilishidan boshlanadi. Jarayonlar kontseptsiyasini qo'llab -quvvatlaydigan har qanday operatsion tizim ularni yaratish vositalariga ega bo'lishi kerak. Juda ham oddiy tizimlar(masalan, faqat bitta maxsus dasturni ishga tushirish uchun mo'ljallangan tizimlarda) barcha jarayonlar tizimni ishga tushirish bosqichida boshlanishi mumkin. Murakkab operatsion tizimlar kerak bo'lganda jarayonlarni dinamik ravishda yaratadi. Operatsion tizim ishga tushirilgandan keyin yangi jarayonning tug'ilishining tashabbuskori maxsus tizimli qo'ng'iroqni amalga oshirgan foydalanuvchi jarayoni yoki operatsion tizimning o'zi bo'lishi mumkin. Yangi jarayonni yaratishni boshlagan jarayon odatda ota -ona jarayoni, yangi tashkil etilgan jarayon esa bola jarayoni deb ataladi. Bolalar jarayonlari, o'z navbatida, tizimda genealogik daraxtlar majmuini - oilaviy o'rmonni hosil qilib, yangi bolalarni vujudga keltirishi mumkin. Oilaviy o'rmonga misol 2.4 -rasmda ko'rsatilgan. Shuni ta'kidlash kerakki, barcha foydalanuvchi jarayonlari, ba'zi operatsion tizim jarayonlari bilan bir qatorda, xuddi shu o'rmon daraxtiga tegishli. Bir qator hisoblash tizimlarida o'rmon odatda bitta daraxtga aylanadi.

Guruch. 2.4. Soddalashtirilgan oilaviy jarayon o'rmon. Ok-ota-ona munosabatlarini bildiradi

Jarayon tug'ilganda, tizim tug'ilish jarayonining holati bilan yangi tenglikni ishga tushiradi va uni to'ldirishni boshlaydi. Yangi jarayon o'ziga xos identifikatsiya raqamini oladi. Operatsion tizimda jarayon identifikatsiya raqamini saqlash uchun cheklangan miqdordagi bitlar ajratilganligi sababli, raqamlarning o'ziga xosligini saqlab qolish uchun, unda bir vaqtning o'zida mavjud bo'lgan jarayonlar soni cheklangan bo'lishi kerak. Jarayon tugagandan so'ng, uning bo'shatilgan identifikatsiya raqami boshqa jarayon uchun qayta ishlatilishi mumkin.

Odatda, bola jarayoni o'z vazifalarini bajarish uchun ma'lum resurslarni talab qiladi: xotira, fayllar, kiritish -chiqarish qurilmalari va boshqalar. Ularni ajratishning ikkita yondashuvi mavjud. Yangi jarayon ota -ona resurslarining bir qismini o'z ixtiyoriga olishi mumkin, ehtimol ularga huquqlarni ota -ona va boshqa bola jarayonlari bilan bo'lishishi yoki o'z resurslarini to'g'ridan -to'g'ri operatsion tizimdan olishi mumkin. Ajratilgan resurslar haqidagi ma'lumotlar PCBga kiritiladi.

Bola jarayonini resurslar bilan ta'minlagandan so'ng, dastur kodini, ma'lumotlar qiymatlarini uning manzil maydoniga kiritish va dastur hisoblagichini o'rnatish zarur. Bu erda ikkita echim ham mumkin. Birinchi holda, bola jarayoni reestrda va foydalanuvchi kontekstida ota -ona jarayonining dublikatiga aylanadi va egizak jarayonlarning qaysi biri uchun ota -ona ekanligini aniqlashning bir usuli bo'lishi kerak. Ikkinchi holda, bola jarayoni qandaydir fayldan yangi dastur bilan yuklanadi. Unix operatsion tizimi faqat birinchi usulda urug'lanishga ruxsat beradi; boshlash uchun yangi dastur avval ota -ona jarayonining nusxasini yaratishingiz kerak, keyin bola jarayoni o'z foydalanuvchi kontekstini maxsus tizim chaqiruvi bilan almashtirishi kerak. VAX / VMS operatsion tizimi faqat ikkinchi yechimga ruxsat beradi. Windows NT -da ikkalasi ham mumkin (har xil APIda).

Ota -ona jarayonining dublikati sifatida yangi jarayonning yaratilishi bir nechta jarayonlar tashkil etiladigan dasturlarning (ya'ni bajariladigan fayllar) mavjud bo'lish imkoniyatiga olib keladi. Ish jarayonida jarayonning foydalanuvchi kontekstini almashtirish qobiliyati (ya'ni bajarish uchun yuk)

Operatsion tizim asoslari

Yangi dastur) shuni ko'rsatadiki, xuddi shu jarayonda bir nechta turli dasturlar ketma -ket bajarilishi mumkin.

Jarayon tarkib bilan ta'minlanganidan so'ng, qolgan ma'lumotlar PCBga qo'shiladi va yangi jarayonning holati tayyor holatga o'tkaziladi. Bola tug'ilgandan keyin ota -ona jarayonlari o'zini qanday tutishi haqida bir necha so'z aytish kerak. Ota -ona jarayoni o'z jarayonini bola jarayoni bilan bir vaqtda davom ettirishi mumkin yoki uning "bolalari" ning bir qismini yoki hammasini tugashini kutishi mumkin.

Biz jarayonning hayot tsiklining tugashiga olib kelishi mumkin bo'lgan sabablar haqida to'xtalmaymiz. Jarayon tugagandan so'ng, operatsion tizim uni tugallangan bajarilish holatiga o'tkazadi va jarayonni boshqarish blokiga tegishli yozuvlarni kiritib, u bilan bog'liq bo'lgan barcha resurslarni chiqaradi. Bunday holda, tenglikni o'zi yo'q qilinmaydi, lekin tizimda bir muncha vaqt qoladi. Buning sababi shundaki, ota -ona jarayoni, bola jarayoni tugagandan so'ng, operatsion tizimdan u paydo bo'lgan jarayonning "o'limi" sababi va / yoki uning ishi haqidagi statistik ma'lumotlarni so'rashi mumkin. Bunday ma'lumotlar ota -jarayon so'ralgunga qadar yoki uning faoliyati tugagunga qadar tugallangan jarayonning PCB -da saqlanadi, shundan so'ng tugallangan jarayonning barcha izlari tizimdan yo'qoladi. Unix operatsion tizimida tugallangan bajarilish jarayonlari odatda zombi jarayonlari deb yuritiladi.

Ta'kidlash joizki, bir qator operatsion tizimlarda (masalan, VAX / VMSda) ota -ona jarayonining o'limi uning barcha "bolalari" ning tugatilishiga olib keladi. Boshqa operatsion tizimlarda (masalan, Unix -da), ota -ona jarayoni tugagandan so'ng, bola jarayonlari mavjud bo'lishda davom etadi. Bunday holda, jarayonlarning genealogik o'rmoni ajralmas bo'lib qolishi uchun, PCB -dagi bolalar jarayonlari haqidagi ma'lumotlarni o'zgartirish zarurati tug'iladi. Quyidagi misolni ko'rib chiqing. 2515 raqamli jarayonni 2001 raqami bilan ishlab chiqarishga ruxsat bering va u o'z ishini tugatgandan so'ng, hisoblash tizimida uzoq vaqt qoladi. Shunda operatsion tizim tomonidan 2001 raqami butunlay boshqa jarayon uchun ishlatilishi mumkin. Agar siz 2515 -jarayon uchun ota -ona jarayonining ma'lumotlarini o'zgartirmasangiz, u holda jarayonlarning oilaviy daraxti noto'g'ri bo'ladi - 2515 -jarayonda 2001 -yilgi yangi jarayon ota -ona sifatida ko'rib chiqiladi va 2001 -jarayon kutilmagan boladan voz kechadi. Qoida tariqasida, "etim" jarayonlar operatsion tizimning boshlanishida paydo bo'ladigan va u doimo ishlayotgan tizimli jarayonlardan biri tomonidan "qabul qilinadi".

Qayta foydalanish mumkin bo'lgan operatsiyalar

Bir martalik operatsiyalar operatsion tizim nazoratidagi jarayonlar sonining o'zgarishiga olib keladi va har doim ma'lum resurslarni ajratish yoki chiqarish bilan bog'liq. Qayta foydalanish mumkin bo'lgan operatsiyalar, aksincha, operatsion tizimdagi jarayonlar sonini o'zgartirmaydi va resurslarni taqsimlash yoki chiqarish bilan bog'liq bo'lishi shart emas.

Bu bo'limda biz jarayonlarda qayta ishlatiladigan operatsiyalarni bajarishda operatsion tizim bajaradigan harakatlarni qisqacha tasvirlab beramiz. Bu harakatlar keyinroq tegishli ma'ruzalarda batafsil muhokama qilinadi.

Jarayonni boshlash. Tayyor holatdagi jarayonlar orasidan operatsion tizim keyinchalik bajarish uchun bitta jarayonni tanlaydi. Bunday tanlovning mezonlari va algoritmlari 3 - "Jarayonni rejalashtirish" ma'ruzasida batafsil muhokama qilinadi. Tanlangan jarayon uchun operatsion tizim RAMda ma'lumotlarning mavjudligini ta'minlaydi, bu uning keyingi bajarilishi uchun zarurdir. U buni qanday qilgani 8-10-darslarda batafsil bayon qilinadi. Bundan tashqari, jarayonning holati bajarishga o'zgartiriladi, bu jarayon uchun registrlarning qiymatlari tiklanadi va boshqaruv jarayonning buyruq hisoblagichi ko'rsatgan buyruqqa o'tkaziladi. Kontekstni tiklash uchun zarur bo'lgan barcha ma'lumotlar operatsiya qilinayotgan jarayonning PCB -dan olinadi.

Jarayonning to'xtatilishi. Ijro holatida bo'lgan jarayonning ishi qandaydir uzilishlar natijasida to'xtatiladi. Protsessor dastur hisoblagichini avtomatik ravishda saqlaydi va, ehtimol, bajariladigan jarayonlar to'plamida bir yoki bir nechta registrlarni saqlaydi, so'ngra boshqaruvni maxsus bo'limga o'tkazadi.

Operatsion tizim asoslari

bu uzilishni boshqarish uchun manzil. Bu uskuna bilan ishlashni to'xtatadi. Operatsion tizim qismlaridan biri odatda ko'rsatilgan manzilda joylashgan. U tizimning dinamik qismini saqlaydi va jarayonning kontekstini o'z tenglikni kartasida saqlaydi, jarayonni tayyor qiladi va uzilishni qayta ishlashni boshlaydi, ya'ni sodir bo'lgan uzilish bilan bog'liq muayyan harakatlarni bajaradi.

Jarayonni blokirovka qilish. Hisoblash tizimida voqea sodir bo'lishini kutmasdan ishlashni davom ettira olmaydigan jarayon bloklanadi. Buning uchun u ma'lum bir tizim qo'ng'irog'i yordamida operatsion tizimga kiradi. Operatsion tizim tizim chaqiruvini qayta ishlaydi (kirish -chiqish operatsiyasini ishga tushiradi, jarayonni kutish jarayonini kutadi, qurilmaning chiqarilishini yoki hodisani kutadi va hokazo) va agar kerak bo'lsa, jarayon kontekstining kerakli qismini saqlaydi. PCB -da jarayonni bajarilish holatidan kutish holatiga o'tkazadi. Bu operatsiya 13 -darsda batafsilroq muhokama qilinadi.

Jarayon qulfini ochish. Tizimda voqea sodir bo'lganidan so'ng, operatsion tizim aynan qaysi voqea sodir bo'lganligini aniqlab olishi kerak. Keyin operatsion tizim jarayonning kutish holatida ekanligini tekshiradi va agar shunday bo'lsa, u voqea sodir bo'lishi bilan bog'liq zarur harakatlarni bajarib tayyor qiladi (keyingi kutish jarayoniga kirish -chiqish operatsiyasini boshlash). va boshqalar) ... Bu operatsiya, blokirovka qilish kabi, 13 -bobda batafsil tasvirlangan bo'ladi.

Kontekstni almashtirish

Hozirgacha biz jarayonlar bo'yicha operatsiyalarni bir -biridan mustaqil ravishda ko'rib chiqdik. Aslida, ko'p dasturli operatsion tizimning faoliyati har xil jarayonlarda bajariladigan operatsiyalar zanjiridan iborat bo'lib, protsessorning bir jarayondan ikkinchisiga o'tishi bilan birga keladi.

Keling, kiritish -chiqarish jarayonini kutayotgan jarayonni blokdan chiqarish jarayoni qanday amalga oshishi haqida soddalashtirilgan misolni olaylik (2.5 -rasmga qarang). Protsessor jarayonni bajarganda (rasmda - 1 -jarayon), kirish -chiqish qurilmasidan uzilish paydo bo'lib, u qurilmadagi operatsiyalar tugaganligini bildiradi. Ishlab chiqarish jarayonida to'xtatib turish operatsiyasi amalga oshiriladi. Keyinchalik, operatsion tizim kirish -chiqish so'rovini boshlagan jarayonni blokdan chiqaradi (rasmdagi 2 -jarayon) va rejalashtirish paytida tanlangan to'xtatilgan yoki yangi jarayonni boshlaydi (rasmda qulfdan chiqarilgan jarayon tanlangan). Ko'rib turganimizdek, kiritish -chiqarish operatsiyasining tugashi haqidagi ma'lumotlarni qayta ishlash natijasida jarayonni bajarilish holatida o'zgartirish mumkin.

Guruch. 2.5. Blokdan chiqarish jarayonini bajarish. "Foydalanuvchi kodi" atamasidan foydalanish rasmning umumiyligini faqat foydalanuvchi jarayonlari bilan chegaralamaydi.


Operatsion tizim asoslari

Protsessorni bir jarayondan ikkinchisiga to'g'ri o'tkazish uchun ishlayotgan jarayonning kontekstini saqlash va protsessor almashtiriladigan jarayonning kontekstini tiklash kerak. Jarayonlarning sog'lig'ini saqlash / tiklash jarayoni kontekstni almashtirish deb ataladi. Kontekstni almashtirishga sarflangan vaqt hisoblash tizimi tomonidan foydali ishlarni bajarish uchun ishlatilmaydi va bu tizim ishini pasaytiradigan qo'shimcha xarajat hisoblanadi. Bu mashinadan mashinaga farq qiladi va odatda 1 dan 1000 mikrosaniyagacha o'zgaradi. Kengaytirilgan protsessual model, bajarilish iplari kontseptsiyasini o'z ichiga oladi. Biz 4 -darsda "Jarayonlarning hamkorligi va uni mantiqiy tashkil etishning asosiy jihatlari" mavzusida batafsilroq gaplashamiz.

Xulosa

Jarayon kontseptsiyasi ma'lum bir bajariladigan buyruqlar majmuini, ular bilan bog'liq resurslarni va operatsion tizim nazorati ostida bo'lgan uni bajarilishining hozirgi momentini tavsiflaydi. Istalgan vaqtda jarayon registr, tizim va foydalanuvchi qismlaridan tashkil topgan kontekst bilan to'liq tavsiflanadi. Operatsion tizimda jarayonlar ma'lum bir ma'lumotlar tuzilmasi - reestr va tizim kontekstini aks ettiruvchi PCB bilan ifodalanadi.

Jarayonlar beshta asosiy holatda bo'lishi mumkin: tug'ilish, tayyorlik, ijro, kutish, tugallangan ijro. Operatsion tizim jarayonni shtatdan shtatga o'tkazadi, unda bajarilgan operatsiyalar natijasida. Operatsion tizim jarayonlar bo'yicha quyidagi operatsiyalarni bajarishi mumkin: jarayon yaratish, jarayonni tugatish, jarayonni to'xtatib turish, jarayonni boshlash, blokirovka qilish, blokdan chiqarish, jarayonning ustuvorligini o'zgartirish. PCB tarkibi operatsiyalar o'rtasida o'zgarmaydi. Ko'p dasturli operatsion tizimning faoliyati har xil jarayonlarda bajariladigan ro'yxatga olingan operatsiyalar zanjiridan iborat bo'lib, jarayonlarning sog'lig'ini saqlash / tiklash, ya'ni kontekstni almashtirish protseduralari bilan birga keladi. Kontekstni almashtirish jarayonlar bajaradigan foydali ishlarga ahamiyat bermaydi va unga sarflangan vaqt protsessorning foydali vaqtini qisqartiradi.

3. Ma'ruza: Jarayonni rejalashtirish

Bu ma'ruzada operatsion tizimlarda jarayonlarni rejalashtirishning turli darajalari bilan bog'liq masalalar muhokama qilinadi. Rejalashtirishning asosiy maqsadlari va mezonlari, shuningdek, unga asoslangan parametrlar tasvirlangan. Har xil rejalashtirish algoritmlari keltirilgan.

Menga rejalarimiz juda yoqadi ...

V.V. Mayakovskiy Biz o'z faoliyatimizni qanchalik puxta rejalashtirsak, uni amalga oshirish uchun kamroq vaqt qoladi.

Davlat rejalash komissiyasi yilnomalaridan

Qachonki biz cheklangan miqdordagi resurslar va ularning oz sonli iste'molchilari bilan shug'ullanishimiz kerak bo'lsa, bu ishchi jamoadagi ish haqi yoki bir nechta pivo ichadigan talabalar partiyasi bo'ladimi, biz iste'molchilarga mavjud resurslarni taqsimlash bilan shug'ullanishimiz kerak. so'zlar, resurslarni rejalashtirish. Bunday rejalashtirish aniq maqsadlarga ega bo'lishi kerak (biz resurslarni taqsimlash orqali erishmoqchimiz) va maqsadlarga mos keladigan va iste'molchilar parametrlariga asoslangan algoritmlar. Faqat mezon va algoritmlarni to'g'ri tanlash bilan siz: "Nega men xo'jayindan o'n baravar kam olaman?" Kabi savollardan qochishingiz mumkin. yoki "Mening pivom qani?" Bu ma'ruza ko'p dasturli hisoblash tizimlarida jarayonlarning bajarilishini rejalashtirishga yoki boshqacha aytganda, jarayonlarni rejalashtirishga bag'ishlangan.

Rejalashtirish darajalari

Birinchi ma'ruzada, biz kompyuter tizimlarining evolyutsiyasini ko'rib chiqqanimizda, biz hisoblash tizimlarida rejalashtirishning ikki turi haqida gaplashdik: ishlarni rejalashtirish va protsessorlardan foydalanishni rejalashtirish. Ishlarni rejalashtirish partiyalar tizimlarida magnit disklar ishlab chiqarilgan partiyalar ishlarini saqlash uchun ishlatilgandan keyin paydo bo'ldi. Magnit disklar to'g'ridan -to'g'ri

Operatsion tizim asoslari

Ular sizga vazifalarni faqat diskka yozilgan tartibda emas, balki istalgan tartibda yuklash imkonini beradi. Ishlarni hisoblash tizimiga yuklash tartibini o'zgartirib, siz undan foydalanish samaradorligini oshirishingiz mumkin. Mashinaga yuklash uchun keyingi vazifani tanlash tartibi, ya'ni tegishli jarayonni yaratish uchun biz vazifalarni rejalashtirish deb atadik. Protsessorlarni rejalashtirish birinchi navbatda bir nechta jarayonlar bir vaqtning o'zida tayyor holatda bo'lishi mumkin bo'lgan ko'p dasturli hisoblash tizimlarida paydo bo'ladi. Bu ulardan bitta protsessorni tanlash protsedurasi uchun, u protsessorni ixtiyoriga oladi, ya'ni ijro holatiga o'tkaziladi, biz bu iborani ishlatganmiz. Endi, hisoblash tizimlaridagi jarayonlar kontseptsiyasi bilan tanishib, biz rejalashtirishning ikkala turini ham jarayonlarni rejalashtirishning turli darajalari sifatida ko'rib chiqamiz.

Ishni rejalashtirish jarayonlarni uzoq muddatli rejalashtirish sifatida ishlatiladi. U tizimda yangi jarayonlarning paydo bo'lishi, uning ko'p dasturlash darajasini, ya'ni bir vaqtning o'zida unda bo'lgan jarayonlar sonini aniqlash uchun javobgardir. Agar tizimni ko'p dasturlash darajasi doimiy saqlanib tursa, ya'ni kompyuterdagi jarayonlarning o'rtacha soni o'zgarmasa, yangi jarayonlar faqat ilgari yuklanganlar tugagandan so'ng paydo bo'lishi mumkin. Shuning uchun uzoq muddatli rejalashtirish juda kamdan-kam hollarda amalga oshiriladi, yangi jarayonlarning paydo bo'lishi o'rtasida bir necha daqiqa yoki hatto o'nlab daqiqalar o'tishi mumkin. Muayyan jarayonni tanlash to'g'risida qaror uzoq vaqt davomida hisoblash tizimining ishlashiga ta'sir qiladi. Shuning uchun bu darajadagi rejalashtirishning nomi - uzoq muddatli. Ba'zi operatsion tizimlarda uzoq muddatli rejalashtirish kam yoki umuman yo'q. Masalan, vaqtni taqsimlashning ko'p interaktiv tizimlarida, jarayonning paydo bo'lishi tegishli so'rov paydo bo'lgandan so'ng darhol sodir bo'ladi. Ko'p dasturlashning oqilona darajasini saqlab turish tizimda ishlay oladigan foydalanuvchilar sonini va inson psixologiyasining o'ziga xos xususiyatlarini cheklash orqali amalga oshiriladi. Agar tugmachani bosish va ekranda belgi paydo bo'lishi o'rtasida 20-30 soniya o'tib ketsa, ko'p foydalanuvchilar ishlashni to'xtatib, tizim kamroq yuklanganda uni davom ettirishni afzal ko'rishadi.

Protsessorlarni rejalashtirish jarayonlarni qisqa muddatli rejalashtirish sifatida ishlatiladi. Bu, masalan, ishlaydigan jarayon kiritish -chiqarish qurilmalariga kirganda yoki ma'lum vaqt oralig'idan so'ng amalga oshiriladi. Shuning uchun, qisqa muddatli rejalashtirish, qoida tariqasida, har 100 millisekundda kamida bir marta amalga oshiriladi. Amalga oshirish uchun yangi jarayonni tanlash keyingi shunga o'xshash voqea boshlanishidan oldin, ya'ni qisqa vaqt ichida, bu darajadagi rejalashtirishning nomini tushuntiruvchi tizimning ishlashiga ta'sir qiladi - qisqa muddatli.

Ba'zi hisoblash tizimlarida, qisman bajarilgan jarayonni operativ xotiradan diskka vaqtincha olib tashlash va keyinchalik uni keyingi ishlash uchun qaytarish uchun ishlashni yaxshilash foydali bo'lishi mumkin. Ingliz tilidagi adabiyotda bunday protsedura svoping deb ataladi, uni rus tiliga "almashtirish" deb tarjima qilish mumkin, lekin maxsus adabiyotlarda u tarjimasiz - almashtirishda ishlatiladi. Qachon va qaysi jarayonlarni diskka quyish va orqaga qaytarish jarayonni rejalashtirishning qo'shimcha oraliq darajasi bilan belgilanadi - o'rta muddatli.

Rejalashtirish mezonlari va algoritm talablari

Jarayonni rejalashtirishning har bir darajasi uchun juda ko'p turli xil algoritmlarni taklif qilish mumkin. Muayyan algoritmni tanlash hisoblash tizimi tomonidan hal qilinadigan muammolar sinfi va rejalashtirish yordamida erishmoqchi bo'lgan maqsadlarimiz bilan belgilanadi. Bu maqsadlarga quyidagilar kiradi:

Adolatlilik - har bir ish yoki jarayon kompyuter tizimida protsessor vaqtining ma'lum foiziga ega bo'lishini ta'minlash, shu bilan birga, bir foydalanuvchining jarayoni protsessorni doimiy ravishda egallab turadigan vaziyatni oldini olishga urinib, boshqa birovning jarayoni aslida bajarila boshlamaydi.

Samaradorlik - protsessorni ish vaqtining 100 foizini egallashga harakat qiling, jarayonlar ishga tayyor bo'lguncha kutib turing. Haqiqiy hisoblash tizimlarida protsessor yuki 40 dan 90%gacha.

Qayta ishlashning umumiy vaqtini qisqartirish - jarayonni boshlash yoki ishni yuklash uchun navbatga qo'yish va uni tugatish o'rtasidagi minimal vaqtni ta'minlash.

Operatsion tizim asoslari

Qisqa kutish vaqti - yuklanish uchun navbatdagi tayyor holatdagi jarayonlar va ish vaqtini qisqartirish.

Qisqartirilgan javob vaqti - interaktiv tizimlar jarayoniga foydalanuvchi so'roviga javob berish vaqtini kamaytiring.

Rejalashtirish maqsadlaridan qat'i nazar, algoritmlar quyidagi xususiyatlarga ega bo'lishi maqsadga muvofiqdir.

Ularni oldindan aytish mumkin edi. Xuddi shu vazifa taxminan bir vaqtning o'zida bajarilishi kerak. Rejalashtirish algoritmidan foydalanish, masalan, 4 -sonli kvadrat ildizni sekundning yuzdan bir qismiga, bir ishga tushirish bilan va bir necha kun ichida - ikkinchi ishga tushirishga olib kelmasligi kerak.

Minimal qo'shimcha xarajatlar bilan bog'liq. Agar protsessorni ishlatish uchun har 100 millisekundga ajratilgan bo'lsa, protsessor qaysi jarayonga kirishini aniqlash va kontekstni o'zgartirish uchun 200 millisekund bo'ladi, demak, bunday algoritmni ishlatmaslik kerak.

Biz hisoblash tizimining resurslarini teng ravishda yukladik va kam ishlatiladigan resurslarni egallaydigan jarayonlarga ustunlik berdik.

Ularda o'lchov qobiliyati bor edi, ya'ni yuk ko'tarilganda ular darhol ishlashini yo'qotmagan. Masalan, tizimdagi jarayonlar sonini ikki barobarga oshirish jarayonlarning umumiy bajarilish vaqtini kattalik tartibiga ko'payishiga olib kelmasligi kerak.

Yuqoridagi maqsadlar va xususiyatlarning aksariyati bir -biriga ziddir. Algoritmning ish faoliyatini bitta mezon nuqtai nazaridan yaxshilash orqali biz uni boshqa nuqtai nazardan yomonlashtiramiz. Algoritmni muammolarning bir sinfiga moslashtirish orqali biz boshqa sinfdagi muammolarni kamsitamiz. "Siz bitta aravaga ot va qaltiragan itni bog'lay olmaysiz." Bu shunday. Bu hayot.

Rejalashtirish imkoniyatlari

Ushbu maqsadlarga erishish uchun oqilona rejalashtirish algoritmlari tizimdagi jarayonlarning ba'zi xususiyatlariga, yuklanish uchun navbatdagi ishlarga, hisoblash tizimining holatiga, boshqacha qilib aytganda, rejalashtirish parametrlariga tayanishi kerak. Bu bo'limda biz o'zimizni to'liq deb hisoblamasdan shunday bir qancha parametrlarni tasvirlab beramiz.

Rejalashtirishning barcha parametrlarini ikkiga bo'lish mumkin katta guruhlar: statik parametrlar va dinamik parametrlar. Statik parametrlar hisoblash tizimi ishlayotganda o'zgarmaydi, dinamik ko'rsatkichlar esa, aksincha, doimiy o'zgarishlarga uchraydi.

TO Hisoblash tizimining statik parametrlari uning resurslarining chegaralangan qiymatlarini o'z ichiga oladi (RAM hajmi, maksimal miqdor almashtirish uchun disk maydoni, ulangan qurilmalar soni kirish-chiqish va boshqalar). Tizimning dinamik parametrlari hozirgi vaqtda bo'sh resurslar miqdorini tavsiflaydi.

TO Statik jarayon parametrlari odatda yuklash bosqichidagi vazifalarga xos bo'lgan xususiyatlarni o'z ichiga oladi.

Qaysi foydalanuvchi jarayonni boshlagan yoki vazifani yaratgan.

Vazifa qanchalik muhim, ya'ni uni amalga oshirishning ustuvorligi.

Muammoni hal qilish uchun foydalanuvchi qancha protsessor vaqtini talab qiladi.

Protsessor vaqtining operatsiyalarni bajarish uchun zarur bo'lgan vaqtga nisbati qanday? kirish-chiqish.

Hisoblash tizimining resurslari qanday (RAM, qurilmalar) I / U, maxsus kutubxonalar va tizimli dasturlar va boshqalar) va ishga qancha ehtiyoj borligi.

Uzoq muddatli rejalashtirish algoritmlari o'z ishlarida hisoblash tizimining statik va dinamik parametrlaridan va jarayonlarning statik parametrlaridan foydalanadi (yuklash vazifalari bosqichidagi jarayonlarning dinamik parametrlari hozircha noma'lum). Qisqa va o'rta muddatli rejalashtirish algoritmlari


Operatsion tizim asoslari

Tadqiqotlar qo'shimcha ravishda jarayonlarning dinamik xususiyatlarini hisobga oladi. O'rta muddatli rejalashtirish uchun quyidagi ma'lumotlardan foydalanish mumkin:

jarayon diskka tushirilgandan yoki RAMga yuklanganidan beri qancha vaqt o'tdi;

jarayonga qancha RAM kerak;

jarayonga qancha CPU vaqti ajratilgan.

Guruch. 3.1. Protsessordan uzluksiz foydalanish oralig'ini ajratish va kirish -chiqish kutish jarayon jarayonining bo'lagi

Qisqa muddatli rejalashtirish uchun biz yana ikkita dinamik parametrni kiritishimiz kerak. Har qanday jarayonning faolligini protsessor yordamida va kiritish -chiqarish operatsiyalari tugashini kutayotgan davrlar ketma -ketligi deb hisoblash mumkin. Protsessorni uzluksiz ishlatish davri protsessor portlashi, uzluksiz kirish -chiqish tanaffusi kirish -chiqish portlashi deb ataladi. 3.1 -rasm. ko'rsatilgan intervallarni tanlash bilan dasturlashning soxta tilidagi jarayonning bir qismini ko'rsatadi. Qisqalik uchun biz foydalanamiz CPU shartlari burst va I / U tarjimasiz portladi. Oxirgi va keyingi protsessor va kirish -chiqish jarayonlarining davomiyligi jarayonning muhim dinamik parametrlari hisoblanadi.

Oldindan rejalashtirilgan va ko'p bo'lmagan

Rejalashtirish jarayoni operatsion tizimning rejalashtiruvchi deb nomlangan qismi tomonidan amalga oshiriladi. Rejalashtiruvchi quyidagi to'rt holatda tayyor holatda bo'lganlar orasidan yangi jarayonni tanlash to'g'risida qaror qabul qilishi mumkin.

1. Jarayon bajarilish holatidan tugallangan ijro holatiga o'tganda.

2. Jarayon bajariladigan holatdan kutish holatiga o'tkazilganda.

3. Jarayon bajarilish holatidan tayyor holatga o'tkazilganda (masalan, taymer uzilishidan keyin).

4. Jarayon kutish holatidan tayyor holatga o'tkazilganda (operatsiya yakunlandi I / U yoki boshqa voqea yuz berdi). Bunday o'tkazish tartibi 2 -ma'ruzada ("Kontekstni almashtirish" bo'limi) batafsil muhokama qilingan, bu erda biz nima uchun bu bajarilish holatida bo'lgan jarayonni o'zgartirish imkoniyatini tug'dirishini ko'rsatdik.

V 1 va 2 -holatlarda, bajarilish holatida bo'lgan jarayonni endi bajarib bo'lmaydi va operatsion tizim yangi jarayonni tanlab, rejalashtirishni bajarishga majbur bo'ladi. 3 va 4 -holatlarda, rejalashtirish amalga oshirilishi mumkin yoki bo'lmasligi mumkin, rejalashtiruvchi ijro jarayonini tanlash to'g'risida qaror qabul qilishga majburlanmaydi, bajarilish holatida bo'lgan jarayon o'z ishini davom ettirishi mumkin. Agar operatsion tizim faqat majburiy holatlarda rejalashtirishni amalga oshirsa, u oldindan rejalashtirilmagan deb aytiladi. Agar rejalashtiruvchi majburiy va majburiy bo'lmagan qarorlar qabul qilsa, oldindan rejalashtirish haqida gapiriladi. "Oldindan rejalashtirish" atamasi vujudga keldi, chunki ishlayotgan jarayon, uning irodasiga qarshi, boshqa jarayon tomonidan bajarilish holatidan chiqarilishi mumkin.

Operatsion tizim asoslari

O'zgarishsiz rejalashtirish, masalan, MS Windows 3.1 va Apple Macintosh OS-da qo'llaniladi. Ushbu rejalashtirish rejimi bilan jarayon kerak bo'ladigan darajada CPU vaqtini oladi. Bunday holda, jarayonlarning almashinuvi faqat bajariladigan jarayonning o'zi nazoratni o'tkazishni xohlaganida sodir bo'ladi (kirish -chiqish operatsiyasining tugashini yoki ish oxirida kutish uchun). Rejalashtirishning bu usuli nisbatan sodda va juda samarali, chunki bu sizga protsessor vaqtining ko'p qismini jarayonlarning o'zi uchun ajratish va kontekstni almashtirish xarajatlarini minimal darajaga tushirish imkonini beradi. Ammo, oldindan rejalashtirilmagan holda, protsessorni biron bir sababga ko'ra (masalan, dasturdagi xatolik tufayli) aylanib o'tadigan va jarayonni boshqa jarayonga o'tkaza olmaydigan jarayon bilan to'liq band qilish muammosi mavjud. . Bunday holatda, faqat butun hisoblash tizimini qayta ishga tushirish sizni qutqaradi.

Vaqtni taqsimlash tizimlarida odatda oldindan rejalashtirish ishlatiladi. Ushbu rejalashtirish rejimida jarayonni bajarish vaqtida istalgan vaqtda to'xtatib qo'yish mumkin. Operatsion tizim ma'lum vaqt oralig'idan keyin uzilish signalini yaratish uchun maxsus taymerni o'rnatadi - kvant. Tanaffusdan keyin protsessor keyingi jarayonga o'tkaziladi. Vaqtinchalik uzilishlar onlayn foydalanuvchilar uchun jarayonga javob berishning maqbul vaqtini ta'minlashga yordam beradi va dasturlar aylanishi tufayli kompyuter tizimining muzlashini oldini oladi.

Algoritmlarni rejalashtirish

Har xil maqsadlarga erishish uchun mo'ljallangan va har xil toifadagi muammolar uchun samarali bo'lgan juda ko'p turli xil rejalashtirish algoritmlari to'plami mavjud. Ularning ko'pchiligi rejalashtirishning turli darajalarida ishlatilishi mumkin. Bu bo'limda biz qisqa muddatli rejalashtirish jarayonida qo'llaniladigan eng keng tarqalgan algoritmlarni ko'rib chiqamiz.

Birinchi kelgan, birinchi xizmat ko'rsatgan (FCFS)

Rejalashtirishning eng oddiy algoritmi bu algoritm bo'lib, u odatda inglizcha ismining birinchi harflaridan keyin-FCFS qisqartmasi bilan belgilanadi-Birinchi kelsa, birinchi bo'lib xizmat qilsa (birinchi kelsa, birinchi xizmat qilsa). Tasavvur qiling, tayyor holatdagi jarayonlar bir qatorda. Jarayon tayyor bo'lganda, bu navbatning oxiriga, aniqrog'i, uning PCB -ga havola qo'yiladi. Bajarish uchun yangi jarayonni tanlash navbatning boshidan boshlab, uning PCB -ga havolani u erdan olib tashlash bilan amalga oshiriladi. Bu turdagi navbat dasturlashda alohida nomga ega

- FIFO1), qisqasi Birinchi kirish, birinchi chiqish (birinchi kirish, birinchi chiqish).

Bu jarayonni tanlash algoritmi oldindan belgilanmagan rejalashtirishni amalga oshiradi. Protsessorni olgan protsessor protsessorning amal qilish muddati tugaguncha uni egallaydi. Shundan so'ng, navbatning boshidan boshlab bajarish uchun yangi jarayon tanlanadi.

3.1 -jadval.

FCFS algoritmining afzalligi uning bajarilish qulayligidadir, lekin ayni paytda uning ko'p kamchiliklari bor. Quyidagi misolni ko'rib chiqing. P0, p1 va p2 uchta jarayon tayyor holatda bo'lsin, ular uchun keyingi CPU portlash vaqti ma'lum. Bu vaqtlar 3.1 -jadvalda ko'rsatilgan. ba'zi an'anaviy birliklarda. Oddiy qilib aytganda, biz barcha jarayonlar faqat bitta protsessor portlashi bilan cheklangan, jarayonlar kirish -chiqish operatsiyalarini bajarmaydi va kontekstni almashtirish vaqti shunchalik qisqa, uni e'tiborsiz qoldirish mumkin.

Agar jarayonlar bajarishga tayyor jarayonlar navbatida, p0, p1, p2 tartibda joylashgan bo'lsa, u holda ularning bajarilishining rasmlari 3.2 -rasmda ko'rsatilgandek ko'rinadi. P0 jarayoni birinchi bo'lib bajarilishi uchun tanlanadi, u protsessorni butun protsessor portlashi davomida, ya'ni 13 birlik vaqtga oladi. Tugallangach, p1 jarayoni bajarilish holatiga o'tkaziladi, u protsessorni 4 birlik vaqtga egallaydi. Nihoyat, p2 jarayoni ishlash imkoniyatini oladi. P0 jarayonining kutish vaqti 0 ga teng