Jarayonni boshqarish tillari


Download 23.42 Kb.
Sana28.12.2022
Hajmi23.42 Kb.
#1020909
Bog'liq
Языки управления процессами


Языки управления процессами
Jarayonni boshqarish tillari

Operatsion tizimlar (OT) ishlash darajasida axborotni qayta ishlash muammolarini hal qilish, alohida topshiriqlarni bajarish va "fayl" tushunchasidan faol foydalanadigan axborot tizimlarini ishlab chiqishning asosiy vositalarini ko'rib chiqamiz. Ko'pincha jarayonlar va fayllarning tasviri unifikatsiya qilinishi mumkin, buni fayllarni qayta ishlash va jarayonlarni manipulyatsiya qilish uchun buyruqlar xaritasidan ko'rish mumkin.


22-jadval


Fayllar va jarayonlardagi buyruqlar o'rtasida parallel



Harakat

Fayllar

Jarayonlar

Ro'yxatni ko'rsatish

Ls

PS

Holatni o'zgartirish

chmod

Bg Fg

Oʻchirish

Rm

O'ldiring

ketma-ket zanjir

mushuk

| konveyer

Kontekst/vazifalarni ko'rsatish

Env

Ishlar

Fayl/jarayon yaratish

cp - yangi faylga

Vilka

Katalog/jarayonni o'zgartirish

CD

Exec

Tekshiring / kuting

sinov

Kutmoq

Natijaga o'tish

aks-sado

Baholash

Fayl/jarayon formati

Jadval
chiziqlar/yozuvlar

bilan buyruqlar ro'yxati
parametrlari

Jarayonning tavsifi ishtirok etuvchi sub'ektlarni qiziqtiradigan hodisalar sinfini aniqlashdan boshlanadi. Jarayon yoki ob'ektni tavsiflash uchun ishlatiladigan hodisa nomlari to'plami odatda oldindan belgilanadi.


Jarayonni modellashtirishda birinchi abstraksiya vaqtni istisno qilish, ya'ni hodisalar qat'iy birin-ketin sodir bo'ladimi degan savolga javob berishdan bosh tortishdir. Bu quyidagi kelishuvlar bilan ta'minlanadi:
elementar harakatlar bir zumda amalga oshiriladi;
kengaytirilgan harakat: har doim bir nechta voqealar - boshlanishi va oxiri;
harakatlarning bir vaqtning o'zida aniq bog'lanishi yo'q;
munosabatlar "ilgari - keyinroq", "bir vaqtning o'zida",
"mustaqil ravishda";
hodisalarning uyg'unligi "sinxronizatsiya" munosabati sifatida tushuniladi;
bitta mustaqil hodisa har qanday tartibda, sababiy bog‘lanishsiz sodir bo‘ladi.

Operatsion tizim (OT) darajasida axborotni qayta ishlash alohida dasturlar - fayllarga joylashtirilgan vazifalar yoki skriptlar tomonidan bajariladigan o'zaro ta'sir qiluvchi jarayonlar oilasiga o'xshaydi. OT tillari qatorlar yoki fayllar sifatida ko'rsatilishi mumkin bo'lgan navbatlar bilan ishlaydi. Ishning konteksti va uning skripti xotirada saqlanadi.


Kontekst mavjud fayllar ro'yxatini o'z ichiga oladi. Vazifalarni bajarish jarayonlarini boshqarishda tayyorlik shartlari qo'llaniladi va harakatlarning muvaffaqiyatli bajarilishini anglatuvchi signallar ishlab chiqariladi. Signallar kontekstda ham saqlanadi. Harakatlar quvurlar yoki ketma-ketlikda tashkil etilishi mumkin va oldingi harakatlarning muvaffaqiyati bilan bog'liq. Navbatni to'ldirish mumkin.
OTning ishlashi quyidagi hodisalar va mezonlarni ta'minlaydi:
yo'lda yangi fayllar va jarayonlarni ishlab chiqarish;
fayllar va jarayonlarning ishlash muddati o'zboshimchalik bilan - kafolatlar yo'q;
hodisalarning cheksiz dinamikasi;
tarkib to'liq bo'lmasligi mumkin;
tarkib va ​​tarkibning o'zgarishi;
tayyor sharoitlar bilan jarayon navbat.

Ishni boshqarish tili modelini yaratish navbatlar bilan ishlash uchun qo'shimcha operatsiyalarni talab qiladi, ular "dangasa" ro'yxat sifatida tartibga solinishi mumkin, ularning oxirida Conc funktsiyasi bilan yangi elementlarni kiritish mumkin. Bash mos yozuvlar tili sifatida qabul qilinadi, uning mavhum mashinasi sifatida belgilanishi mumkin, bu erda:


E - process_context - qayd vektor nomi: Data + stdin stdout; C - joriy_jarayon - buyruqlar qatori;
D – deferred_processes queue – rekord vektor nomi: Ma’lumotlar.

OT tarjimoni buyruqlari jarayonlar va kontekst o'rtasida ma'lumotlar almashinuvini, ishlov berish navbatini, fayllarni va kontekstni, ma'lumotlar, kontekst va navbat bo'yicha bir qator shartlarni tekshirishni, signallarni yaratishni, shu jumladan jarayonning tugashi haqida signalni o'rnatishni amalga oshiradi.


23-jadval


Jarayonni boshqarish tili buyruqlarining odatiy to'plami



SCQ

Jamoa tavsifi

Eslatma

ECHO

Argument chiqishi

Vizualizatsiya

PWD

Joriy ishchining ismini ko'rsatadi
katalog

LS

Joriy katalogdagi fayllarni ro'yxatlash

CAT | KO'PROQ

Matn fayli mazmunini ko'rish

CD

Katalogni o'zgartirish

bilan manipulyatsiyalar
fayllar

CP

Fayllarni nusxalash




MV

Faylni ko'chiring yoki nomini o'zgartiring




RM

Fayllarni o'chirish

LN

Ramziy havola yarating

EVAL

Tezda jamoa qurish va uning
ishlash

Hisoblash

EXEC

Boshqa jarayonni chaqirish

LET

Ifodani baholash

O'QING

O'zgaruvchan qiymatni kiritish

O'rnatishqiymatlar

SET

O'zgarishlar qiymatlar ichki
skript o'zgaruvchilari

TEST

Vaziyatni tekshirish

TO'G'RI

Muvaffaqiyat kodini qaytaradi =
nol

FALSE

qaytadi kod tugatish,muvaffaqiyatsiz

Jarayonni boshqarish

PS

(chop etish holati) bilan joriy jarayonlar ro'yxati
ularning identifikatorlari (PID)

Vizualizatsiya

FG

Faollashtirish fon yoki
to'xtatilgan jarayon

Jarayon faoliyatini boshqarish.

BG

Do jarayon fon. Teskari
fg dan funksiya.

KUTMOQ

Bola jarayonining chiqishi kutilmoqda

O'LDIR

"O'ldirish" jarayon. PID "o'ldirilgan"
jarayon PS beradi

Belgilar:


stdin standart kirish hisoblanadi. Foydalanuvchi konsolda nimani yozadi. stdout - bu dasturning standart chiqishi.
stderr standart xato chiqishi.
(Expr) – ifodani baholash natijasi yoki jarayonning muvaffaqiyatli bajarilishi.
$ jarayonning muvaffaqiyati/natija kodi uchun o'zgaruvchidir.
$* - barcha argumentlar skriptga uzatiladi (satr sifatida ko'rsatiladi).
$! – Fonda ishlaydigan oxirgi jarayonning PID.
$$ - bu skriptning o'zi PID.
NN(d) - navbat elementlarining raqamlari va nomlari ro'yxati[, … ]-jarayon navbatlari.
NULL - bo'sh fayl.
H(d) - navbatning boshlig'i, aniqrog'i, eng yuqori ustuvor jarayon. T (d) - navbatning dumi, boshni olib tashlaganidan keyin qolgan. d = H(d) • T(d). PN - joriy jarayonning nomi.

24-jadval


Jarayonni boshqarish buyruqlarining spetsifikatsiyasi





RQ

RQ'

Eslatma

e (ECHO String. c) d

→ (e[stdout] | String) ekd

Standart qurilmaga chiqish

(e[PWD]=DName) (PWD . c) d

→ (e[stdout] | DName) cd

(e[PWD]=DName) (LS . c) d

→ (e[stdout] | [DName]) cd

e (CAT Fname . c) d

→ (e[stdout] | [Fname]) cd

e (CD Yangi. c) d

→ (e[PWD] := Yangi) cd

O'rnatish
o'zgaruvchan

(e[F1]=Datum)
(cp F1 F2. c) d

→ (e[F1]=Datum; e[F2]=Datum) cd

Nusxa olish uchun havola
fayl

(e[Fname]=Datum) (RM Fname . c) d

→ (e[Fname]=NULL) cd

Bo'sh joyga havola
fayl

e (EVAL T1 ... TK . c) d

→ e (T1 | ... | TK . c) d = e ($*.c) d

Skriptning bajarilishi

e (EXEC Fname . c) d

→ e ([Fname] c) d

Fayl ijrosi

e (TEST Expr. c) d

→ (e[$] := (Expr) ) cd

Muvaffaqiyatli tekshiruv

e (TRUE . c) d

→ (e[$] := 0 ) cd

Funktsiyani sozlash
muvaffaqiyat

e (FALSE. c) d

→ (e[$] := 1 ) cd

e[stdin=Matn] (O'QING X . c) d

→ (e[X] := Matn ) cd

Matnni qabul qilish

e (PS. c) d

→ (e[stdout] | NN(d)) cd

Jarayon raqamlari

e (BG . c) d

→ e H(d) (T(d) | <$$, e[PN], c >)

O'zgartirish
jarayon holati

e (FG raqami. c) (d[Son]=Matn)

→ e (Matn | c) (d[Num]:=NULL)

e (O'ldir. c)
(d[Num]=Matn)

→ ec (d[Num]:=NULL)

Ramka tuzilmalari qo'llab-quvvatlanadiko'p bosqichli sharoitlar va tsikllarni qurish uchun.OS darajasidagi jarayonlarni boshqarish haqida qo'shimcha ma'lumot olish uchun OS kitoblariga qarang.



Fragmentlar

Eslatma

$ ls doc[cd]

$ 0 noclobber o'rnating


$ cat newletter1 newletter2 >!
eski harflar
$ 8:15 da ish joylari

Niqobga mos keladigan nomli fayllar ro'yxati Ma'lumotlar oqimini boshqarish tizimi o'zgaruvchisini o'rnating

Ishni boshlash vaqtini belgilash



13-misol. Ish nazorat qilish dasturi namunasi

Tashqi tomondan, jarayonni boshqarish tillari makro assemblerlar va yuqori darajadagi tillar o'rtasidagi xochga o'xshaydi. Farqi qayta ishlanayotgan ma'lumotlar va ishlov berish jarayonlari qisqartiriladigan buyruqlarni tushunishda namoyon bo'ladi:


ma'lumotlar rolini fayllar - o'z xatti-harakatlariga ega bo'lgan va tashqi dunyo ta'siriga duchor bo'lgan ob'ektlar bajaradi. Qayta ishlash jarayonida fayllarning mavjudligi har doim ham aniq emas. Fayllar bir vaqtning o'zida turli jarayonlarda ishtirok etishi mumkin;
buyruqning bajarilishi muvaffaqiyatli yoki muvaffaqiyatsiz bo'lishi mumkin bo'lgan hodisa sifatida ko'rib chiqiladi. Bundan tashqari, tashqi hodisalar mavjud;
hodisaga munosabat boshqa ishlov beruvchilardan mustaqil ravishda ishlaydigan hodisa ishlovchisi sifatida dasturlashtirilgan (bu alohida jarayon);
jarayon dasturi cheklangan vaqt ichida natija olishga emas, balki ob'ektlarni qayta ishlash bo'yicha vazifalarga uzluksiz xizmat ko'rsatishni ta'minlashga qaratilgan bo'lishi mumkin;
jarayon faol yoki kechiktirilishi mumkin;
jarayonlar umumiy ob'ektlar uchun raqobatlasha oladi;
jarayonlarni sinxronlashtirish va bo'ysunuvchi jarayonlarni yaratish mumkin;
jarayon dasturi ob'ektga o'xshaydi va ma'lumotlar elementi sifatida yaratiladi va undan keyin buyruqlar bilan teng ravishda foydalanish mumkin;
dasturdagi buyruqlarning ketma-ket joylashishi ularni aynan bir xil tartibda bajarish uchun asos hisoblanmaydi. Buyruqning bajarilishi bir qancha vaqt oralig'ini olishi mumkin, ular orasida boshqa buyruqlar bajariladi.
OS darajasida asosiy ish umumiy apparat va boshqa resurslarni samarali yuklashga qaratilgan vazifalarni boshqarishdir. Umumiy resurslarga kirish odatda protsessor emas, balki mavjud qurilmalar va resurslarning xizmat so'rovi navbatlari bilan boshqariladi. Xizmat asinxrondir. Sifatning asosiy mezoni - asosiy ma'lumotni yo'qotmasdan vazifalarni bajarishni davom ettirish qobiliyati.
Har qanday dastur ishlab chiqish va disk raskadrovka paytida ma'lumotlarni qayta ishlash jarayonini namoyish qilish uchun ma'lumotlarni kiritish / chiqarish jarayonlarini boshqaradigan operatsion tizim fonida ishlaydi. Shuning uchun, disk raskadrovka qilinayotgan dastur uchun minimal kontekst standart kiritish-chiqarish bo'lib, u sukut bo'yicha mavjud. Jarayonni boshqarish tili darajasida joriy qiymatlar yoki tizim o'zgaruvchilari nuqtai nazaridan oshkor qilinadigan standart sozlamalar faol qo'llaniladi. Asosiy farq - ma'lumotlarni kengaytirish, hujayralar va chiziqlardan uzoq muddatli fayllarga o'tish. Bundan tashqari, chaqiruv jarayonlarining ketma-ketligiga va ularning boshlanishi vaqtiga bog'liqlik yumshatiladi. Jarayonlarni boshqarish muammolariga o'tish "natija" tushunchasini tubdan o'zgartirishga olib keladi. Bu tugallangan jarayonning muvaffaqiyat/muvaffaqiyat kodidan boshqa narsa emas. Kechiktirilgan jarayonlarning ustuvorliklarini hisobga olish mumkin. Skriptlar ichida mahalliylashtirilgan nomlar paydo bo'ladi.
25-jadval

Jarayonni boshqarish tillarining paradigmatik xarakteristikasi





Parametr

xususiyatlari

OperatsionPL pragmatikasi

Uskunadan ma'lumot olish, dasturiy vositalardan so'rovlarga xizmat ko'rsatish, ta'minlash
uzluksizuskunaning ishlashi va ishlashi.

Mavhum mashina registrlari

ECD
E - jarayon_konteksti; C - joriy_jarayon;
D - kechiktirilgan_jarayonlarning navbati.
Natijada jarayonni tugatish muvaffaqiyatli yoki muvaffaqiyatsizlik kodi.

Kategoriyalarmavhum mashina buyruqlari

Fayllarni nusxalash.
Fayl holatini yoki uning fayl ierarxiyasidagi o'rnini o'zgartiring.
Qiymatlarni o'rnatish yoki kiritisho'zgaruvchilar. Tekshirish shartlari.
Jarayonni boshlash. Ifodani baholash.
Tezda buyruqlar yaratish. Jarayon faoliyatini boshqarish. Jarayonning o'zaro ta'siri davomida kutish.

Amalga oshirishpragmatika

Jarayonni boshqarish avtomati ob'ektlarga kirishni tartibga soluvchi navbatlar uchun ma'lumotlar strukturasini amalga oshirishni talab qiladi. Ko'pincha ikkita modeldan foydalaniladi - jarayonlar oilasining o'zaro ta'sirini boshqaruvchi supervayzer yoki jarayonlar tarmoqqa bo'linganda o'zini takrorlashi mumkin bo'lgan avtomat. Ikkala holatda ham avtomatning ishlashi sodir bo'lgan hodisalarni tahlil qilishning cheksiz tsikliga qisqartiriladi, ularning paydo bo'lishi hodisalarga mos keladigan ishlov beruvchilarni kiritishni talab qiladi. Muammoni to'xtating
tildan tashqarida asosiy vositalar darajasida yoki tashqarida uzilishlar orqali hal qilinadi.

Paradigmatikxususiyatlari

Har qanday dastur ishlab chiqish va disk raskadrovka paytida ma'lumotlarni qayta ishlash jarayonini namoyish qilish uchun ma'lumotlarni kiritish / chiqarish jarayonlarini boshqaradigan operatsion tizim fonida ishlaydi. Shuning uchun, disk raskadrovka qilinayotgan dasturning minimal konteksti standart kirish/chiqish,
sukut bo'yicha mavjud.

LNU uchun paradigmalarning ta'rifi qiyinchiliklarga olib kelmaydi - asosiy g'oya ularda aniq ko'rinadi va tilni aniqlashda semantik tizimlar nisbatan izolyatsiya qilingan. Asosiy farqlar dasturni tayyorlashda "ma'no" tushunchasini va mazmunli birliklarni kengaytirish vositalarining doirasini konkretlashtirishga qaratilgan.


YNUning funktsional modellari juda oddiy. Murakkablik nuqtai nazaridan ular SECD yoki SECM ga qaraganda oddiyroq, chunki kontekst himoyasini kafolatlamaydi. LNUning amalga oshirish semantikasi, qoida tariqasida, dastur sxemalari va dasturchi terminologiyasi darajasida yuzaga keladigan qo'shimcha tushunchalarni (navbat, mantiq, lug'at, qaytish nuqtasi, stekdagi pozitsiya, uzilishlar shkalasi va boshqalar) kiritishni talab qiladi.
YaNUda to'plangan ma'lumotlarni taqdim etish va qayta ishlash mexanizmlari asosan DLni amalga oshirish usullari bilan meros bo'lib o'tadi, bu esa bunday mexanizmlarni o'rganishni mahalliylashtirishga imkon beradi. YNUda dasturlash amaliyoti tarbiyaviy ahamiyatga ega. Yuqori malakali dasturchilarni tayyorlashni qadrlaydigan va xalqaro dasturlash chempionatlari g'oliblarini tayyorlaydigan universitetlar boshlang'ich ta'limda assembler tilida dasturlash va Linux jarayonlarini boshqarishni o'z ichiga oladi.

26-jadval


NLD paradigmalari bo'yicha LNU usullarini meros qilib olish





Mexanizm

Paradigma

Eslatma

assembler

IP OOP

Assemblerdagi kabi imperativ dasturlash uslubi har qanday protsessual-imperativ yoki ob'ektga yo'naltirilgan bo'lishi mumkin. til,vositalarini ifodalarning murakkabligi bilan cheklash va ierarxiyani bartaraf etish orqali
ma'lumotlar tuzilmalari va ob'ektlar sinflari

Stakmashina

NED

Stack mashinalari aksariyat HLLlarda ifodalar, funktsiyalar va protseduralarni saqlashning asosiy mexanizmi bo'lib xizmat qiladi.
hisoblangan parametrlar

Makrotexnika

LP FP
oldindan ishlov berishora

Makrotexnika uslubida ishlab chiqarishni dasturlash mantiqiy meros bo'lib qoladi dasturlash,funktsional dasturlashuni ma'lumotlar tuzilmalari bilan ishlash darajasiga o'tkazadi.







Ko'pgina HL dasturlash tizimlari ushbu texnikani oldingi protsessorlarda va ichki sifatida ishlatadi
kod yaratish vositasi.

Boshqaruv

OOP

Mexanizm boshqaruv jarayonlar

jarayonlar




meros qilib olingan paradigma OOP,







bilan ob'ektlarning o'zaro ta'siridan foydalanish







xabarlardan foydalanish. U mohiyatan







parallel paradigmasi tomonidan ham qo'llaniladi







dasturlash uchun tavsiflar







asinxron jarayonlar

Download 23.42 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling