Lecture72. Процесс Процесс (даалгавар) – гүйцтгэх горимд байгаа программ. Процесс бүртэй хаягийн хэсэг холбогдоно. Хаягийн хэсэгт: Программ өөрөө Программын өгөгдөл Программын стек байж болно. Процесс бүртэй регистрийн багц холбогдоно:: Командын тоолуур (процессорт) - Стек заагч гэх мэт Ихэнх үйлдлийн системд процесс бүрийн тухай мэдээлэл процессийн хүснэгтэд хадгалагдана. 4. Процессийн загвар Multi task системд процессор процессоос процесс руу залгагдах ч параллель (псевдопараллель) загвар хэрэглэнэ Хугацааны эхэн бүрд нэг л процесс идэвхтэй 5. Процесс үүсгэх Процесс үүсгэх 3 event ( forkдуудлага эсвэл CreateProcess): - Систем ачаалах - Ажиллаж буй процесс системийн дуудлага хийн шинэ процесс үүсгэх - Хэрэглэгч процесс үүсгэх request явуулах Бүх тохиолдолд идэвхтэй байгаа процесс системийн дуудлага хийн шинэ процесс үүсгэнэ UNIX – процесс бүрд процессийн идентификатор харгалзана( PID - Process IDentifier) 6. Процесс дуусгах Процесс дуусгах 4 event(exitдуудлага эсвэлExitProcess): Төлөвлөсөн төгсгөл (гүйцэтгэл дуусахад) Тодорхой алдаанаас төлөвлөсөн төгсгөл (файл байхгүй байх) Замагдахгүй алдаанаас (программын алдаа) Өөр процессоор устгагдах Дууссан процесс өөрийн хаяг (core image) процессийн хүснэгтийн компонент (компонент ба регистрүүд). 7. Процессийн иерархи UNIX – хатуу иерархитай Fork-оор дуудагдман шинэ процесс бүр өмнөх процессийн охин процесс болно Охин процесст parent процессийн хувьсагч регистры харгалзана. Fork дуудлагын дараа parent процессийн өгөгдөл хуулагдманы дараа нэг процессийн өөрчлөлт нөгөө процесст нөлөөлөхгүй. Гэхдээ процессууд аль нт parent гэдгийг санана. Иймээс UNIX –д бүх процессийн эцэг - процесс initбайна 9. Процессийн төлөв Процессийн 3 төлөв: гүйцэтгэх (процессор) Бэлэн байдал (процесс түр зогсон өөр процесс гүйцэтгэгдэхийг зөвшөөрнө) Хүлээлт (процесс дотоод шалтгаанаас ачаалагдахгүй жишээ нь орол/гаралтын үйлдлийн хүлээх) 10. Төлөвүүдийн хоорондох шилжилт: 1. Процесс оролтын өгөгдөл хүлээн блоклогдох 2. төлөвлөгч өөр процесс сонгох 3. төлөвлөгч энэ процессийг сонгох 4. оролтын өгөгдөл хүлээн авах 2 ба 3 шилжилтийг үйлдлийн системийн төлөвлөгч дуудах тул процесс энэ тухай мэдэхгүй. Процессийн зүгээс гүйцэтгэх хүлээх 2 төлөв байна. Серверт request-ийн хариу хүлээхийг хурдасгахын тулд хэд хэдэн процессийг зэрэг ачаалж хүлээлтийн горимд оруулна. Серверrequest хүлээн авмагц “хүлээлт“-ээс “гүйцэтгэлд“ шилжинэ. Энэ нь шинэ процесс ачаалахаас хурдан 11. Урсгал Процесс бүрд хаяг ба нэгж гүйцэтгэх командын урсгал харгалзана Олон хэрэглэгчтэй системд нэг сервист хандах бүрд клиентэд үйлчлэх шинэ процесс үүсгэнэ. Энэ нь энэ процесс дотроо квазипараллель процесс үүсгэхээс дээр биш 12. Урсгалын загвар Урсгал бүртэй: - Команд гүйцэтгэх тоолуур - Current хувьсагч хадгалах регистр - Стек - төлөв Урсгалууд өөрийн процессийн элементүүдийг хоорондоо хуваана: Хаягийнорон зай Глобал хувьсагч Нээлттэй файл Таймер Семафор Статистик мэдээлэл. 13. Процессийг төлөвлөх Төлөвлөлт– нэг процессорт процессуудыг дараалан хандуулах. Төлөвлөгч – OS-ийн төлөвлөлт хариуцсан хэсэг. Төлөвлөлтийн алгоритм – төлөвлөлтөд хэрэглэж буй алгоритм. Төлөвлөлт хэрэгтэй болох нөхцлүүд: Процесс үүсгэх Процесс ажлаа дуусгах Процесс оролт/гаралт, семафоре блоклох г.м. Орол/гаралтын тасалдалт 14. Төлөвлөлтийн алгоритм: приоритетный биш - аппаратын таймер хэрэглэхгүй, процесс блоклогдох болон дуусахад л зогсоно. Төлөвлөлтийн алгоритм: приоритетный - аппаратын таймерын тасалдалт хэрэглэнэ, процесс тодорхой хугацаанд ажиллаад таймераар зогсон ьөлөвлөгчид удиралагыг өгнө. Үндсэн 3 систем: Пакетын боловсруулалтын систем - могут использовать приоритетный биш ба приоритетный алгоритм хэрэглэнэ (жигээ нь: тооцоолох программ). Интерактивный систем – зөвхөн приоритетный алгоритм хэрэглэнэ. Нэг процесс процессорыг удаан хэрэглэж болохгүй (жишээ нь: сервер, персональ компьютер). Real time систем- приоритетный биш ба приоритетный алгоритм (жишээ нь: автомашин удирдах). 15. Төлөвлөгчийг үүрэг: Бүр системдСправедливость – процесс бүрд процессорын хугацааны ихжил дольБаланс – ситемийн бүх хэсэг ачаалагдах (жишээ нь: процессор баорол/гаралт) Пакетын боловсруулалтын систем Нэвтрүүлэх чадвар- цагт гүйцэтгэх даалгаварХугацааны урвуу- хүлээлт болон даалгавар боловсруулж үйлчлэх хугацааг багасгах.Процесс ашиглах - процессор үргэлж завшүй байх. Интерактивный системResponse time- request-д хурдан хариулахСоразмерность – хэрэглэгчийн хүлээлтийг гүйцэтгэх (жишээ нь : хэрэглэгч систем ачаалахад бэлэн биш байх) Real time систем ажлыг цагт нь дуусгах- өгөгдлийн алдагдлыг арилгахурьдчилж хэлэх - мультимеа системын деградацийг арилгах (жишээ нь : дууны алдагдал видеоноос бага байх) 16. Пакетийн боловсруулалтыг төлөвлөх Эхэлж орсон- эхэлж үйлчлүүлнэ" (FIFO - First In Fist Out) Процессуудыг ирсэн дарааллаар нь байрлуулах Давуу тал: - Хялбар - Шударга Дутагдалтай тал: Процесс процессоорын арай хурдан процессйг хязгаарлана, орол/гаралтын хязгаарлана 17. Богино даалгавар – эхнийх Давуу тал: Урвуу хугацаа багасана Шударга Дутагдалтай тал: Урт процесс сүүлдэж ирсэн богино процессийг эхлүүлэхгүй 18. Хамгийн бага үйлдсэн хугацаа – шинэ процесс ирэхэд гүйцэтгэж байгаа процессийг үлдсэн хугацаатай харьцуулна 19. Интерактив системийн төлөвлөлт Циклэн төлөвлөлт Процесс бүрд процессторын хугацааны квант ноогдоно. Квант дуусахад төлөвлөгч процессийг дарааллын сүүлд аваачна. Процессор блоклогдоход дарааллаас гарна 20. Приоритеттэй төлөвлөлт Процессбүрд приоритетолгон хамгийн приоритеттэй нь удирдлагыг авна. Приоритет : динамик ба статик Динамик приоритет : П=1/Т, энд Т- хамгийн сүүлд хэрэглэгдсэн квантын хэсэг Хэрэв 1/50 квант ашиглагдсан бол приоритет 50. Бүх квант ашиглагдсан бол приоритет 1. Оролт/гаралтаар хязгаарлагдсан процесс процессороор хязгаарлагдсан процессоос приоритет ихтэй байж болно. 22. Процессийг группэд хуваах Өөр квантын хугацаатай групп:эхлээд процесс бага приоритеттэй бүлэгт орон бүх квантаа ашигласан бол дараагийн группэд орно. Хамгийн урт процессхамгийн бага приоритеттэй группэд орно 24. Баталгаатай төлөвлөлт n-процесстой системд процесс бүрд процессорын 1/n хугацаа ноогдоно. Лотерейн төлөвлөлт Процессуудад ресурсэд хандах “сугалаа" тараана. Төлөвлөгч альч билетийг авч болно. Процесс хэр их билеттнй байна нөөц ашиглах шанс ихсэнэ. Шударга төлөвлөлт Процессорын хугацаапроцессод биш хэрэглэгчид хуваарилагдана. 25. Real time системийн төлөвлөлт Real time систем: - хатуу (даалгавар бүрийн хугацаа хатуу) – хөдөлгөөн удиирдах - Уян хатуу (хугацааны график зөрчигдөх тохиодол байж болно) - видео ба аудио удирдах Систем хариу өгөх ёстой гадаад event: үечилсэн - видео ба аудио урсгал Үечилсэн биш (тааварлашгүй) – галын дохио 26. Төлөвлөлт хийхийн тулд: m – үечилсэн event-ийн тоо i - event-ийн дугаар P(i) - event- болох хугацаа T(i) - event- боловсруулах хугацаа 27. Real time төлөвлөлт Процесс бүр өөрийн гүйцэтгэлийн хойноос тэмцэх. Төлөвлөгч мэдэх ёстой зүйлс: Процесс бүрийн ажиллах давтамж Гүйцэтгэх ажлын хэмжээ Дараагийн порцийг гүйцтэгэх ойрын хугацаа 3 процесстой систем: Процесс А 30мс бүрд ачаалагдана, кадр боловруулалт 10мс Процесс В давтамж 25 кадр, буюу 40мс бүрд , кадр боловруулалт 15мс Процесс С давтамж 20 кадр, буюу 50мс бүрд , кадр боловруулалт 5мс 28. Энэ процессийг төлөвлөж болох эсэхийг шалгавал: 10/30+15/40+5/50=0.808<1 Нөхцөл биелэх тул төлөвлөж болно. Энэ процессийг статик (процесс бүрийн приоритетийг эхэлж өгнө) бадинамикаргаар төлөвлөвөл: . 29. Төлөвлөлтийн статик алгоритм RMS (Rate Monotonic Scheduling) Процесс дараах нөхцлийг биелүүлнэ: Процесс хугацаандаа дуусна (үендээ) Нэг процесс нөгөөгөөсөө хамаарахгүй Процесс бүрд процессорын ижил хугацаа шаардагдана Үечилсэн биш процесст хатуу хугацаа байхгүй Процессын тасалдалт шууд явагдана Приоритет нь давтамжтай пропорционал Процесс А -д 33 (кадрын частот) Процесс В-д 25 Процесс С-д 20 Процессы приоритетоор гүйцэтгэгдэнэ. 31. Динамик төлөвлөлтийн алгоритм EDF (Earliest Deadline First) Хамгийн өндөр приоритет – хамгийн бага гүйцэтгэх хугацаатай процесс. Систем ачаалал ихтэй үед EDF давуу талтай. Жишээ: процесс А кадр боловсруулах хугацаа - 15мс. Төлөвлөж болох эсэхийг шалгавал: 15/30+15/40+5/50=0.975<1 Системийн ачаалал 97.5%