Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Операционные среды АСОИУ / L09
.TXT Ѓ®«ҐҐ Їа ЄвЁзл¬ пў«пҐвбп б«Ґ¤го饥 ®ЇаҐ¤Ґ«ҐЁҐ Ї®пвЁп
ЏђЋ–…‘‘.
ЏаЁ ўлЇ®«ҐЁЁ Їа®Ја ¬¬л ¬ иЁ ЇҐаҐе®¤Ёв Ё§ ®¤®Ј®
б®бв®пЁп ў ¤агЈ®Ґ, ®ЇЁблў Ґ¬лҐ б®бв®пЁҐ¬ ॣЁбва®ў Ё Ї ¬пвЁ.
‘®бв®пЁҐ ¬ҐпҐвбп ЇаЁ ЇҐаҐе®¤Ґ ®в ®¤®© ЁбвагЄжЁЁ Їа®Ја ¬¬л Є
¤агЈ®©. ‘зЁв Ґвбп, зв® ў Їа®жҐбᥠўлЇ®«ҐЁп ЁбвагЄжЁЁ б®бв®пЁҐ
¬ иЁл Ґ ¬ҐпҐвбп Ё Ґ Ў«о¤ Ґ¬®. ’.Ґ. ЁбвагЄжЁп
а бб¬ ваЁў Ґвбп Є Є я3Ґ¤Ґ«Ё¬®Ґя0 ¤Ґ©бвўЁҐ. € нв® ¤Ґ©бвўЁвҐ«м® а -
§г¬®, в.Є. ўбЇ®¬Ё¬, зв® Їа®жҐбб®а Їа®ўҐапҐв «ЁзЁҐ бЁЈ «
бў®Ґ¬ ўе®¤Ґ ЇаҐалў Ё© int, в®«мЄ® Ї®б«Ґ ўлЇ®«ҐЁп Є ¦¤®© Ёб-
вагЄжЁЁ.
Њ®¬Ґвл ўаҐ¬ҐЁ, Є®Ј¤ б®бв®пЁҐ ¬ иЁл ¬ҐпҐвбп Ё
®Є §лў Ґвбп Ў«о¤ Ґ¬л¬, §лў овбп я3в®зЄ ¬Ё Ў«о¤ҐЁп.я0 ’.Ґ. нв®
¬®¬Ґвл ®Є®з Ёп ®¤®© Ё з « б«Ґ¤го饩 ЁбвагЄжЁЁ. ‘ ¬Ё
б®бв®пЁп ¬ иЁл ⮦Ґ §лў овбп в®зЄ ¬Ё Ў«о¤ҐЁп.
” Єв Ё§¬ҐҐЁп б®бв®пЁп ¬ иЁл §лў Ґвбп я3б®ЎлвЁҐ¬.
…б«Ё Ґбвм Ґ¤Ґ«Ё¬®Ґ ¤Ґ©бвўЁҐ Ђ, в® ЌЂ—(Ђ) Ё ЉЋЌ(Ђ) - нв®
б®ЎлвЁп. ЏаЁ н⮬,
ЪДДДДДДДДДї
’ < ’ ДДДґ ГДДД
ЌЂ—(Ђ) ЉЋЌ(Ђ) ЌЂ—(Ђ) ЉЋЌ(Ђ)
‚лЇ®«ҐЁҐ Їа®Ја ¬¬л ЇаҐ¤бв ў«пҐвбп Ї®б«Ґ¤®ў ⥫м®бвмо
¤Ґ©бвўЁ©
Ђ , Ђ , ... , Ђ , ... ,
1 2 i
¤«п Є®в®а®©
’ < ’
ЉЋЌ(Ђ ) ЌЂ—(Ђ )
i i+1
’ Є п Ї®б«Ґ¤®ў ⥫м®бвм ¤Ґ©бвўЁ© §лў Ґвбп я3Ї®б«Ґ¤®ў ⥫м-
я3л¬ Їа®жҐбᮬя0 Ё«Ё Їа®бв® Їа®жҐбᮬ.
„ «ҐҐ а бᬮваЁ¬ б®ў®ЄгЇ®бвм ¤ўге (¤«п Їа®бв®вл) Ї®б«Ґ¤®ў -
⥫мле Їа®жҐбб®ў.
Њ®¦Ґв Ўлвм ваЁ ў аЁ в ўлЇ®«ҐЁп б®ў®ЄгЇ®бвЁ Їа®жҐбб®ў:
p
1) ДДДДДДДДДДДДДДДДДД q
ДДДДДДДДДДДДДДДДДДДД
’ < ’
ЉЋЌ(а) ЌЂ—(q)
p p p p p
2) ДДДД q ДДДД q ДДДД q ДДДД q ДДДД q
ДДДД ДДДД ДДДД ДДДД ДДДД
p
3) ДДДДДДДДДДДДДДДДДД q
ДДДДДДДДДДДДДДДДДДДДДД
„«п б奬 2) Ё 3) ’ > ’
ЉЋЌ(а) ЌЂ—(q)
‘奬 1) Ї®б«Ґ¤®ў ⥫쮥 ўлЇ®«ҐЁҐ;
2) ЇбҐў¤®Ї а ««Ґ«м®Ґ ўлЇ®«ҐЁҐ;
3) Ї а ««Ґ«м®Ґ ўлЇ®«ҐЁҐ - 㦮 ¤ў Їа®жҐбб®а .
ђ §«ЁзЁҐ ¬Ґ¦¤г б奬 ¬Ё ®ЇаҐ¤Ґ«пҐвбп га®ўҐ¬ Ў«о¤ҐЁп. …б«Ё
ў Є зҐб⢥ ЁвҐаў « Ў«о¤ҐЁп ў§пвм ®зҐм Ў®«ми®© ЁвҐаў «, в®
б奬 1) Ґ Ўг¤Ґв ®в«Ёз вмбп ®в б奬 2) Ё 3), в.Є. ®Ў Їа®жҐбб
§ Є®з в ўлЇ®«ҐЁҐ ўгваЁ нв®Ј® ЁвҐаў « .
…б«Ё ў Є зҐб⢥ га®ўп Ў«о¤ҐЁп ў§пвм га®ўҐм ЁбвагЄжЁ©,
в® б奬л 1) Ё 2) Ўг¤гв Ї®б«Ґ¤®ў ⥫мл¬Ё.
ЏаЁўҐ¤Ґл© п§лЄ ®ЇЁб Ёп Їа®жҐбб®ў ЁбЇ®«м§гҐвбп, я2Ё®Ј¤ ,
¤«п д®а¬ «Ё§ жЁЁ Ї®бв ®ўЄЁ § ¤ з бЁеа®Ё§ жЁЁ Ё ў§ Ё¬®¤Ґ©бвўЁп
Їа®жҐбб®ў.
я13.2. ‘।бвў ®ЇЁб Ёп Ї а ««Ґ«Ё§¬
‘।бвў , Є®в®алҐ ¬®Јгв Ўлвм ЁбЇ®«м§®ў л ¤«п ®ЇЁб Ёп Ї -
а ««Ґ«Ё§¬ ў Їа®Ја ¬¬ е, ¬®¦® а §¤Ґ«Ёвм ¤ў ўЁ¤ : Ја дЁзҐбЄЁҐ
Ё п§лЄ®ўлҐ.
я_3.2.1. ѓа дЁзҐбЄЁҐ б।бвў
ѓа дЁзҐбЄЁҐ б।бвў ЇаҐ¤бв ў«Ґл ѓЋ‘’ 19701.90, Є®в®ал© -
§лў Ґвбп "‘еҐ¬л «Ј®аЁв¬®ў, Їа®Ја ¬¬, ¤ ле Ё бЁб⥬".
‚ н⮬ ѓЋ‘’-Ґ Ґбвм ЇгЄв Ї.3.2.2.5, §лў Ґ¬л© "Џ а ««Ґ«млҐ
¤Ґ©бвўЁп".
‚ н⮬ ЇгЄвҐ Ґбвм б«Ґ¤гойЁҐ ЇаЁ¬Ґал:
1) і і ‘Ёеа®Ё§ жЁп ¤ўге Ё«Ё Ў®«ҐҐ
ННННПНСНПНННН Ї а ««Ґ«мле ®ЇҐа жЁ©
і
_______
2) (_______) ЪДДДДБДДДДї
і і A і
ЪДДДБДДДї АДДДДВДДДДЩ
і B і ННННСННННННННПНННСННННННННННННСНННН
АДДДВДДДЩ ЪДДДДБДДДДї ЪДДДДБДДДДї ЪДДДДБДДДДї
і і C і і D і і E і
і АДДДДВДДДДЩ АДДДДВДДДДЩ АДДДДВДДДДЩ
ННННПННННННННСННПННННННННННННПНННН _______
ЪДДДДБДДДДї (_______)
і F і
АДДДДВДДДДЩ
‚ ¤ ®© б奬Ґ C, D, E зЁ овбп в®«мЄ® Ї®б«Ґ § ўҐа襨п A,
F зЁ Ґвбп в®«мЄ® Ї®б«Ґ § ўҐа襨п B, C, D.
‚ Ї.3.3.2.1 Ґбвм § 祪 - бЁ¬ў®« ЇҐаҐ¤ зЁ гЇа ў«ҐЁп ®в ®¤-
®Ј® Їа®жҐбб Є ¤агЈ®¬г.
|\
_____| \______
| /
|/
я_я2SDL - ¤Ё Ја ¬¬л
…йҐ ®¤Ё¬ б।бвў®¬ ®ЇЁб Ёп Їа®жҐбб®ў пў«повбп
SDL-¤Ё Ја ¬¬л.
SDL - нв® "specification and description language". ќв®в
п§лЄ иЁа®Є® ЇаЁ¬ҐпҐвбп ¤«п ®ЇЁб Ёп Їа®жҐбб®ў ў бЁб⥬ е
ॠ«м®Ј® ўаҐ¬ҐЁ. ‘ ¬ п§лЄ ®ЇЁб ў ЊҐ¦¤г தле ђҐЄ®¬Ґ¤ жЁпе
ЊЉЉ’’ Z.101 - Z.104.
‘«Ґ¤гойЁҐ бЁ¬ў®«л ¬®Јгв Ўлвм ЁбЇ®«м§®ў л:
______
(______) state
"state" - б®бв®пЁҐ, ў Є®в®а®¬ ¤Ґ©бвўЁҐ Їа®жҐбб
ЇаЁ®бв ®ў«Ґ® ў ®¦Ё¤ ЁЁ ўў®¤ ;
_______
і / ўҐиЁ© ўў®¤ (external input)
і______\
_______
є / ўгв२© ўў®¤ (internal input)
є______\
"input" - ўе®¤пйЁ© бЁЈ «, Є®в®ал© а бЇ®§ Ґвбп Їа®жҐбᮬ;
_____
і \ ўҐиЁ© ўлў®¤ (external output)
і_____/
_____
є \ ўгв२© ўлў®¤ (internal output)
є_____/
"output" - ¤Ґ©бвўЁҐ, Є®в®а®Ґ ЈҐҐаЁагҐв бЁЈ «, Є®в®ал© ў
бў®о ®зҐаҐ¤м ¤Ґ©бвўгҐв ў ¤агЈ®¬ ¬Ґб⥠Є Є ўў®¤;
/\
/ \ аҐиҐЁҐ (decision)
\ /
\/
"decision" - ¤Ґ©бвўЁҐ, Є®в®а®Ґ § ¤ Ґв ў®Їа®б, Є®в®ал©
®вўҐв ¬®¦Ґв Ўлвм Ї®«гзҐ ў в®в ¦Ґ ¬®¬Ґв, Ё Є®в®а®Ґ ўлЎЁа Ґв ®¤Ё
Ё§ ҐбЄ®«мЄЁе Їг⥩ ¤«п Їа®¤®«¦ҐЁп Ї®в®Є ;
ЪДДДДДДДДї
і і § ¤ з (task)
АДДДДДДДДЩ
"task" - «оЎ®Ґ ¤Ґ©бвўЁҐ, Є®в®а®Ґ Ґ пў«пҐвбп Ё аҐиҐЁҐ¬ Ё
ўлў®¤®¬.
ђ бᬮваЁ¬ ЇаЁ¬Ґа ЁбЇ®«м§®ў Ёп SDL ¤Ё Ја ¬¬л ¤«п ®ЇЁб Ёп
Їа®жҐбб®ў.
ЏаЁ¬Ґа ў§пв Ё§ ®Ў« бвЁ бЁб⥬ ЇҐаҐ¤ зЁ Ёд®а¬ жЁЁ (‘Џ€).
Џгбвм ‘Џ€ а Ў®в Ґв Ї® б«Ґ¤го饬㠫Ј®аЁв¬г.
‚ ®ЇаҐ¤Ґ«ҐлҐ ¬®¬Ґвл ўаҐ¬ҐЁ ® ®¦Ё¤ Ґв ЇаЁҐ¬ Ў«®Є®ў
Ёд®а¬ жЁЁ Ё Ёе ЇҐаҐ¤ Ґв ЄўЁв жЁЁ.
…б«Ё ‘Џ€ ҐЇа ўЁ«м® ЇаЁЁ¬ Ґв ҐбЄ®«мЄ® Ў«®Є®ў Ї®¤ап¤ Ё«Ё ў
вҐзҐЁҐ ҐЄ®в®а®Ј® ўаҐ¬ҐЁ Ґ ЇаЁЁ¬ Ґв Ёе ў®®ЎйҐ, в® ‘Џ€
®вЄ«оз Ґвбп. …б«Ё ‘Џ€ ЇаЁЁ¬ Ґв ®¦Ё¤ Ґ¬л© Ў«®Є, в® ® ўл¤ Ґв
ЄўЁв жЁо Ё б®ў ЇҐаҐе®¤Ёв Є ®¦Ё¤ Ёо.
‚६Ґ п ¤Ё Ја ¬¬ «Ј®аЁв¬ ¬®¦Ґв ўлЈ«п¤Ґвм б«Ґ¤гойЁ¬
®Ўа §®¬:
ЪДДДДДДї ЪДДДДДДДї Ў«®ЄЁ
ДДБДДДДДДБДДДДДДДДДДБДДДДДДДБДДДДДДДДДДДДДДДДДДДД
ЪДї ЪДї ЄўЁв жЁЁ
ДДДДДДДДДДДДДБДБДДДДДДДДДДДДДДДДБДБДДДДДДДДДДДДДД
”а Ј¬Ґв SDL-¤Ё Ја ¬¬л, ®ЇЁблў о饩 ЇаЁўҐ¤Ґл© ўлиҐ
«Ј®аЁв¬, ¬®¦Ґв ўлЈ«п¤Ґвм б«Ґ¤гойЁ¬ ®Ўа §®¬:
ЪДДДДДДДДДДДДДДДДДДДДДДДДї
і _______і________
і ( ®¦Ё¤ ЁҐ Ў«®Є )
і ДДДДДДДВДДДДДДДД
і ЪДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДї
і ЪДДБДДДД / ЪДДДБДДД / ЦДДДДДБДДДДДДДД /
і і Ў«®Є / і®иЁЎЄ / є ЇҐаҐЇ®«ҐЁҐ /
і АДДВДДДД\ АДДДВДДД\ є ўгв॥Ј® /
і і і є бзҐвзЁЄ \
і ЦДДБДДДДДДДДД\ і УДДДДДВДДДДДДДД\
і є бЎа®б \ і _____і______
і є ¤ўге \ і ( ®вЄ«о票Ґ )
і є бзҐвзЁЄ®ў / і ДДДДДДДДДДДД
і УДДВДДДДДДДДД / і
і ЪДДБДДДДДДДї / \ ¤ "¤®бвЁЈгв «Ё Ї®а®Ј
і і®Ўа Ў®вЄ і / \ДДДДДДДДї Ї® зЁб«г ®иЁЎ®з®
і АДДВДДДДДДДЩ \ / і ЇаЁпвле Ї®¤ап¤
і ЪДДБДДДДДД\ \ / ЦДДДБДДДДД Ў«®Є®ў"
і іўл¤ з \ Ґв і є®бв ®ў \
і іЄўЁв жЁЁ / і єбзҐвзЁЄ \
і АДДВДДДДДД/ і є®иЁЎ®Є /
АДДДДДДДБДДДДДДДДДДДДДДДДЩ УДДДВДДДДД/
____і_____
( ®вЄ«о票Ґ )
ДДДДДДДДДДД
‚६ҐлҐ б®®в®иҐЁп ў бЁб⥬Ґ Ї®¤¤Ґа¦Ёў Ґв бЁб⥬
ЇаҐалў Ё©.
я_3.2.2. џ§лЄ®ўлҐ б।бвў ®ЇЁб Ёп Ї а ««Ґ«Ё§¬
‚ ва ¤ЁжЁ®® ЁбЇ®«м§гҐ¬ле п§лЄ е Їа®Ја ¬¬Ёа®ў Ёп б।бвў
®ЇЁб Ёп Ї а ««Ґ«Ё§¬ ®вбгвбвўгов, в.Є. нвЁ п§лЄЁ Ё§ з «м® б®§-
¤ ў «Ёбм ¤«п Ї®б«Ґ¤®ў ⥫쮣® Їа®Ја ¬¬Ёа®ў Ёп.
‘гйҐбвўгов ¤ў п§лЄ , ў Є®в®але б।бвў ®ЇЁб Ёп Ї а ««Ґ-
«Ё§¬ бгйҐбвўгов Є Є бв ¤ авлҐ.
‚ п§лЄҐ Ђ„Ђ бгйҐбвўгҐв б«Ґ¤го饥 б।бвў® - Ґб«Ё ®ЇЁб вм Ґ-
Є®в®алҐ Їа®Ја ¬¬лҐ Ґ¤ЁЁжл Є Є § ¤ зЁ - TASK, в® б ¬®¬Ґв з -
« ўлЇ®«ҐЁп ўбҐ© Їа®Ја ¬¬л нвЁ Ґ¤ЁЁжл згв ўлЇ®«пвмбп Ї -
а ««Ґ«м®. ’.Ґ. ®Ўа Ў®взЁЄ ЇаҐалў Ё© Ё б।бвў § ¬Ґл Є®вҐЄбв
§ иЁвл ў Ђ„… га®ўҐ п§лЄ . Ља®¬Ґ в®Ј®, Ђ„Ђ ЇаҐ¤« Ј Ґв ҐЄ®в®-
ал© ¬Ґе Ё§¬ ў§ Ё¬®¤Ґ©бвўЁп § ¤ з, Є®в®ал© §лў Ґвбп ђЂЌ„…‚“,
⮦Ґ бгйҐбвўгойЁ© га®ўҐ п§лЄ .
‚ п§лЄҐ ЊЋ„“‹Ђ-2, Є®в®ал© ўҐбм Ї®бв஥ ЎЁЎ«Ё®вҐзле ¬®-
¤г«пе ў ᮮ⢥вбвўЁҐ б® бў®Ё¬ §ў ЁҐ¬, Ґбвм ¬®¤г«м Process, Є®-
в®ал© аҐ «Ё§гҐв ўаҐ¬Ґ®Ґ а §¤Ґ«ҐЁҐ б Ї®¬®ймо ®Ўа Ў®взЁЄ ЇаҐал-
ў Ё© Ё ᮤҐа¦Ёв Їа®в®Є®« Ё Ў®а Їа®жҐ¤га-ЇаЁ¬ЁвЁў®ў, Ї®§ў®«по-
йЁ© ᮧ¤ ў вм Ё§ Їа®жҐ¤га Ї а ««Ґ«м® ўлЇ®«пҐ¬лҐ Їа®жҐббл Ё ®а-
Ј Ё§®ўлў вм Ёе ў§ Ё¬®¤Ґ©бвўЁҐ. Њ®¤г«м Process ЇаҐ¤« Ј Ґв б«Ґ¤го-
йЁҐ ў®§¬®¦лҐ ¤Ґ©бвўЁп
StartProcess: ᮧ¤ вм Їа®жҐбб;
StartScheduler: § ЇгбЄ Ї« Ёа®ўйЁЄ § ¤ з б ўаҐ¬Ґл¬ а §¤Ґ-
«ҐЁҐ¬;
StopScheduler: ®бв ®ў Ї« Ёа®ўйЁЄ § ¤ з;
WAIT: ¦¤ вм бЁЈ «;
SEND: Ї®б« вм бЁЈ «.
Џа®жҐббл ў Њ®¤г«Ґ-2 ᮧ¤ овбп Ё§ б®Їа®Ја ¬¬ «®ЈЁз® а б-
¬ ваЁў Ґ¬л¬ ў « Ў®а в®але а Ў®в е.
‘®ўаҐ¬ҐлҐ баҐ¤л ЇаҐ¤®бв ў«пов ЇаЁ¬ЁвЁўл - API, Ї®§ў®«пойЁҐ
ॠ«Ё§®ўлў вм ¬®Ј®§ ¤ з®бвм. ќвЁ ЇаЁ¬ЁвЁўл ®в«Ёз овбп бЁв ЄбЁ-
ᮬ ў § ўЁбЁ¬®бвЁ ®в баҐ¤л Ё ¬®Јгв ва Єв®ў вмбп Є Є а биЁаҐЁп
п§лЄ Їа®Ја ¬¬Ёа®ў Ёп, ў в®з®б⨠ᮮ⢥вбвўгп Ї®пвЁо ‚›‡Ћ‚ ‘“-
Џ…ђ‚€‡ЋђЂ.
я2ЏаЁ¬Ґал
UnixWare
Fork() - ᮧ¤ ЁҐ ®ў®Ј® Їа®жҐбб . ‚л§лў ойЁ© Їа®жҐбб ¤гЎ«Ё-
агҐвбп Ё ᮧ¤ Ґвбп в®з п ҐЈ® Є®ЇЁп, ®в«Ёз ой пбп ®в Ї®а®¦¤ о饣®
Їа®жҐбб в®«мЄ® Ё¤ҐвЁдЁЄ в®а®¬.
Sleep(sec) - ЇаЁ®бв ®ў Їа®жҐбб sec ᥪг¤.
Exit - § ўҐа襨Ґ ўл§лў о饣® Їа®жҐбб .
Windows NT
CreateProcess - ᮧ¤ ЁҐ Їа®жҐбб .
ExitProcess - § ўҐа襨Ґ ⥪г饣® Їа®жҐбб .
CreateThread - § ЇгбЄ нЄ§Ґ¬Ї«па ЁвЁ.
ExitThread - § ўҐа襨Ґ а Ў®вл ЁвЁ.
Sleep(ms) - ЇаЁ®бв ®ў Їа®жҐбб ms ¬Ё««ЁбҐЄг¤.
OS/2
DosExecPgm - ᮧ¤ ЁҐ Їа®жҐбб .
DosExit - § ўҐа襨Ґ Їа®жҐбб .
DosCreateThread - ᮧ¤ ЁҐ ЁвЁ.
DosSleep(ms) - ЇаЁ®бв ®ў Їа®жҐбб .
NetWare
spawnlp - § Јаг§Є ўлЇ®«пҐ¬®Ј® д ©« (NLM NetWare loadable
Module) Ё ЁЁжЁ «Ё§ жЁп ҐЈ® ўлЇ®«ҐЁп.
delay(ms) - ЇаЁ®бв ®ў Їа®жҐбб .
BeginThread - ᮧ¤ вм Ёвм Ё Ї®¬ҐбвЁвм ҐҐ ў ®зҐаҐ¤м ўлЇ®«Ґ-
Ёп.
ThreadSwitch - пў п ЇҐаҐ¤ з гЇа ў«ҐЁп (в.Є. NetWare 3 Ё 4
- ®ЇҐа жЁ®лҐ баҐ¤л ЎҐ§ ўлвҐбҐЁп)
ExitThread - § ўҐа襨Ґ ўлЇ®«ҐЁп ЁвЁ Ё«Ё NLM.
‚ Є ¦¤®© Ё§ ЇҐаҐзЁб«Ґле б। Ґбвм ҐйҐ ЇаЁ¬ЁвЁўл ¤«п а Ў®вл
б Їа®жҐбб ¬Ё Ё Ёвп¬Ё. ќв® Ўл«Ё в®«мЄ® ЇаЁ¬Ґал, ЇаЁзҐ¬ ў ЇаЁ¬Ґа е
Ґ ЇаЁўҐ¤Ґл ЇҐаҐ¤ ў Ґ¬лҐ Ї а ¬Ґвал.
‘гйҐбвўгҐв ҐйҐ Ў®а Ўбва Євле (Ґ ®в®бпйЁебп Є Є®ЄаҐв-
®¬г п§лЄг Їа®Ја ¬¬Ёа®ў Ёп), ® Џ бЄ «Ґ-Ї®¤®Ўле п§лЄ®ўле Є®б-
вагЄжЁ©, ЇаҐ¤«®¦Ґле ‚Ёа⮬ ¤«п ®ЇЁб Ёп Ї а ««Ґ«Ё§¬ , Є®в®алҐ
¬л ᥩз б Ё а бᬮваЁ¬.
1) Ќ®в жЁп "and" Ї®§ў®«пҐв Їа®Ја ¬¬Ёбвг гЄ §лў вм ЇаҐ¤«®¦Ґ-
Ёп, Є®в®алҐ ўлЇ®«повбп Ї а ««Ґ«м®. Ќ ЇаЁ¬Ґа,
Begin і
P ЪДДДДДДБДДДДДДї
End ЪДДБДДї ЪДДБДДї
and і P і і Q і
Begin АДДВДДЩ АДДВДДЩ
Q АДДДДДДВДДДДДДЩ
End; і
2) (“¦Ґ Ґ ‚Ёав) "fork w" Є®¬ ¤ , ўлЇ®«Ґ п Їа®жҐбᮬ p,
ўл§лў Ґв з «® а §ўЁвЁп ®ў®Ј® Їа®жҐбб q б Є®¬ ¤л, Ї®¬ҐзҐ®©
w. „ «ҐҐ Їа®жҐббл p Ё q а §ўЁў овбп ®¤®ўаҐ¬Ґ®.
3) "quit" - § ўҐа襨Ґ Їа®жҐбб .
4) "join t, w" ўл§лў Ґв б«Ґ¤гойЁҐ ¤Ґ©бвўЁп:
---------------------
t := t - 1;
if t = 0 then goto w;
---------------------
–Ґ«м нв®© Є®¬ ¤л - ®ЎҐбЇҐзЁвм бЁеа®Ё§ жЁо Їа®жҐбб®ў, в.Ґ.
з вм ўлЇ®«ҐЁҐ б ¬ҐвЄЁ w в®«мЄ® Ї®б«Ґ в®Ј® Є Є ҐбЄ®«мЄ® Їа®-
жҐбб®ў (Ёе зЁб«® ®ЇаҐ¤Ґ«пҐв ў Є Є®Ґ з «м®Ґ § 票Ґ ЁЁжЁ «Ё-
§ЁагҐвбп t) ўлЇ®«пв Є®¬ ¤г join. Џ®б«Ґ ҐҐ ®Ўлз® бв ўЁвбп Є®-
¬ ¤ quit. ’®«мЄ® Ї®б«Ґ¤Ё© Ё§ ЇҐаҐзЁб«Ґле Їа®жҐбб®ў Ї®©¤Ґв
¬ҐвЄг, ®бв «млҐ § ўҐаи вбп.
ЏгЄвЁа®¬ ®в¬ҐзҐ в®в д Єв, зв® ЇаЁўҐ¤ҐлҐ ¤Ґ©бвўЁп ўлЇ®«-
повбп Є Є Ґ¤Ґ«Ё¬лҐ.
€««обва жЁп ЋЎ®§ 票Ґ Ї® ѓЋ‘’
ЪДДБДДї ЪДДБДДї
і P0 і і P0 і
АДДВДДЩ АДДВДДЩ
ЪДДДДДДДДДЕДДДДДДДДДї НСНННННННННШНННННННННСН
ЪДДБДДї ЪДДБДДї ЪДДБДДї ЪДДБДДї ЪДДБДДї ЪДДБДДї
і P1 і і P2 і і P3 і і P1 і і P2 і і P3 і
АДДВДДЩ АДДВДДЩ АДДВДДЩ АДДВДДЩ АДДВДДЩ АДДВДДЩ
АДДДДДДДДДґ і НПНННННННННШН і
ЪДДБДДї і ЪДДБДДї і
і P4 і і і P4 і і
АДДВДДЩ і АДДВДДЩ і
ГДДДДДДДДДЩ ННШНННННННННПНН
ЪДДБДДї ЪДДБДДї
і P5 і і P5 і
АДДВДДЩ АДДВДДЩ
ЋЇЁб ЁҐ б Ї®¬®ймо ўл襯ਢҐ¤Ґле п§лЄ®ўле Є®бвагЄжЁ©:
‚ўҐ¤Ґ¬ ЇҐаҐ¬ҐлҐ ’1 Ё ’2.
’1 := 2; w1: P1; join T2, w5;
T2 := 2; join T1, w4; quit;
P0; quit; w4: P4;
fork w1; w2: P2; join T2, w5;
fork w2; join T1, w4; quit;
fork w3; quit; w5: P5;
quit; w3: P3; quit;
ЏђЋ–…‘‘.
ЏаЁ ўлЇ®«ҐЁЁ Їа®Ја ¬¬л ¬ иЁ ЇҐаҐе®¤Ёв Ё§ ®¤®Ј®
б®бв®пЁп ў ¤агЈ®Ґ, ®ЇЁблў Ґ¬лҐ б®бв®пЁҐ¬ ॣЁбва®ў Ё Ї ¬пвЁ.
‘®бв®пЁҐ ¬ҐпҐвбп ЇаЁ ЇҐаҐе®¤Ґ ®в ®¤®© ЁбвагЄжЁЁ Їа®Ја ¬¬л Є
¤агЈ®©. ‘зЁв Ґвбп, зв® ў Їа®жҐбᥠўлЇ®«ҐЁп ЁбвагЄжЁЁ б®бв®пЁҐ
¬ иЁл Ґ ¬ҐпҐвбп Ё Ґ Ў«о¤ Ґ¬®. ’.Ґ. ЁбвагЄжЁп
а бб¬ ваЁў Ґвбп Є Є я3Ґ¤Ґ«Ё¬®Ґя0 ¤Ґ©бвўЁҐ. € нв® ¤Ґ©бвўЁвҐ«м® а -
§г¬®, в.Є. ўбЇ®¬Ё¬, зв® Їа®жҐбб®а Їа®ўҐапҐв «ЁзЁҐ бЁЈ «
бў®Ґ¬ ўе®¤Ґ ЇаҐалў Ё© int, в®«мЄ® Ї®б«Ґ ўлЇ®«ҐЁп Є ¦¤®© Ёб-
вагЄжЁЁ.
Њ®¬Ґвл ўаҐ¬ҐЁ, Є®Ј¤ б®бв®пЁҐ ¬ иЁл ¬ҐпҐвбп Ё
®Є §лў Ґвбп Ў«о¤ Ґ¬л¬, §лў овбп я3в®зЄ ¬Ё Ў«о¤ҐЁп.я0 ’.Ґ. нв®
¬®¬Ґвл ®Є®з Ёп ®¤®© Ё з « б«Ґ¤го饩 ЁбвагЄжЁЁ. ‘ ¬Ё
б®бв®пЁп ¬ иЁл ⮦Ґ §лў овбп в®зЄ ¬Ё Ў«о¤ҐЁп.
” Єв Ё§¬ҐҐЁп б®бв®пЁп ¬ иЁл §лў Ґвбп я3б®ЎлвЁҐ¬.
…б«Ё Ґбвм Ґ¤Ґ«Ё¬®Ґ ¤Ґ©бвўЁҐ Ђ, в® ЌЂ—(Ђ) Ё ЉЋЌ(Ђ) - нв®
б®ЎлвЁп. ЏаЁ н⮬,
ЪДДДДДДДДДї
’ < ’ ДДДґ ГДДД
ЌЂ—(Ђ) ЉЋЌ(Ђ) ЌЂ—(Ђ) ЉЋЌ(Ђ)
‚лЇ®«ҐЁҐ Їа®Ја ¬¬л ЇаҐ¤бв ў«пҐвбп Ї®б«Ґ¤®ў ⥫м®бвмо
¤Ґ©бвўЁ©
Ђ , Ђ , ... , Ђ , ... ,
1 2 i
¤«п Є®в®а®©
’ < ’
ЉЋЌ(Ђ ) ЌЂ—(Ђ )
i i+1
’ Є п Ї®б«Ґ¤®ў ⥫м®бвм ¤Ґ©бвўЁ© §лў Ґвбп я3Ї®б«Ґ¤®ў ⥫м-
я3л¬ Їа®жҐбᮬя0 Ё«Ё Їа®бв® Їа®жҐбᮬ.
„ «ҐҐ а бᬮваЁ¬ б®ў®ЄгЇ®бвм ¤ўге (¤«п Їа®бв®вл) Ї®б«Ґ¤®ў -
⥫мле Їа®жҐбб®ў.
Њ®¦Ґв Ўлвм ваЁ ў аЁ в ўлЇ®«ҐЁп б®ў®ЄгЇ®бвЁ Їа®жҐбб®ў:
p
1) ДДДДДДДДДДДДДДДДДД q
ДДДДДДДДДДДДДДДДДДДД
’ < ’
ЉЋЌ(а) ЌЂ—(q)
p p p p p
2) ДДДД q ДДДД q ДДДД q ДДДД q ДДДД q
ДДДД ДДДД ДДДД ДДДД ДДДД
p
3) ДДДДДДДДДДДДДДДДДД q
ДДДДДДДДДДДДДДДДДДДДДД
„«п б奬 2) Ё 3) ’ > ’
ЉЋЌ(а) ЌЂ—(q)
‘奬 1) Ї®б«Ґ¤®ў ⥫쮥 ўлЇ®«ҐЁҐ;
2) ЇбҐў¤®Ї а ««Ґ«м®Ґ ўлЇ®«ҐЁҐ;
3) Ї а ««Ґ«м®Ґ ўлЇ®«ҐЁҐ - 㦮 ¤ў Їа®жҐбб®а .
ђ §«ЁзЁҐ ¬Ґ¦¤г б奬 ¬Ё ®ЇаҐ¤Ґ«пҐвбп га®ўҐ¬ Ў«о¤ҐЁп. …б«Ё
ў Є зҐб⢥ ЁвҐаў « Ў«о¤ҐЁп ў§пвм ®зҐм Ў®«ми®© ЁвҐаў «, в®
б奬 1) Ґ Ўг¤Ґв ®в«Ёз вмбп ®в б奬 2) Ё 3), в.Є. ®Ў Їа®жҐбб
§ Є®з в ўлЇ®«ҐЁҐ ўгваЁ нв®Ј® ЁвҐаў « .
…б«Ё ў Є зҐб⢥ га®ўп Ў«о¤ҐЁп ў§пвм га®ўҐм ЁбвагЄжЁ©,
в® б奬л 1) Ё 2) Ўг¤гв Ї®б«Ґ¤®ў ⥫мл¬Ё.
ЏаЁўҐ¤Ґл© п§лЄ ®ЇЁб Ёп Їа®жҐбб®ў ЁбЇ®«м§гҐвбп, я2Ё®Ј¤ ,
¤«п д®а¬ «Ё§ жЁЁ Ї®бв ®ўЄЁ § ¤ з бЁеа®Ё§ жЁЁ Ё ў§ Ё¬®¤Ґ©бвўЁп
Їа®жҐбб®ў.
я13.2. ‘।бвў ®ЇЁб Ёп Ї а ««Ґ«Ё§¬
‘।бвў , Є®в®алҐ ¬®Јгв Ўлвм ЁбЇ®«м§®ў л ¤«п ®ЇЁб Ёп Ї -
а ««Ґ«Ё§¬ ў Їа®Ја ¬¬ е, ¬®¦® а §¤Ґ«Ёвм ¤ў ўЁ¤ : Ја дЁзҐбЄЁҐ
Ё п§лЄ®ўлҐ.
я_3.2.1. ѓа дЁзҐбЄЁҐ б।бвў
ѓа дЁзҐбЄЁҐ б।бвў ЇаҐ¤бв ў«Ґл ѓЋ‘’ 19701.90, Є®в®ал© -
§лў Ґвбп "‘еҐ¬л «Ј®аЁв¬®ў, Їа®Ја ¬¬, ¤ ле Ё бЁб⥬".
‚ н⮬ ѓЋ‘’-Ґ Ґбвм ЇгЄв Ї.3.2.2.5, §лў Ґ¬л© "Џ а ««Ґ«млҐ
¤Ґ©бвўЁп".
‚ н⮬ ЇгЄвҐ Ґбвм б«Ґ¤гойЁҐ ЇаЁ¬Ґал:
1) і і ‘Ёеа®Ё§ жЁп ¤ўге Ё«Ё Ў®«ҐҐ
ННННПНСНПНННН Ї а ««Ґ«мле ®ЇҐа жЁ©
і
_______
2) (_______) ЪДДДДБДДДДї
і і A і
ЪДДДБДДДї АДДДДВДДДДЩ
і B і ННННСННННННННПНННСННННННННННННСНННН
АДДДВДДДЩ ЪДДДДБДДДДї ЪДДДДБДДДДї ЪДДДДБДДДДї
і і C і і D і і E і
і АДДДДВДДДДЩ АДДДДВДДДДЩ АДДДДВДДДДЩ
ННННПННННННННСННПННННННННННННПНННН _______
ЪДДДДБДДДДї (_______)
і F і
АДДДДВДДДДЩ
‚ ¤ ®© б奬Ґ C, D, E зЁ овбп в®«мЄ® Ї®б«Ґ § ўҐа襨п A,
F зЁ Ґвбп в®«мЄ® Ї®б«Ґ § ўҐа襨п B, C, D.
‚ Ї.3.3.2.1 Ґбвм § 祪 - бЁ¬ў®« ЇҐаҐ¤ зЁ гЇа ў«ҐЁп ®в ®¤-
®Ј® Їа®жҐбб Є ¤агЈ®¬г.
|\
_____| \______
| /
|/
я_я2SDL - ¤Ё Ја ¬¬л
…йҐ ®¤Ё¬ б।бвў®¬ ®ЇЁб Ёп Їа®жҐбб®ў пў«повбп
SDL-¤Ё Ја ¬¬л.
SDL - нв® "specification and description language". ќв®в
п§лЄ иЁа®Є® ЇаЁ¬ҐпҐвбп ¤«п ®ЇЁб Ёп Їа®жҐбб®ў ў бЁб⥬ е
ॠ«м®Ј® ўаҐ¬ҐЁ. ‘ ¬ п§лЄ ®ЇЁб ў ЊҐ¦¤г தле ђҐЄ®¬Ґ¤ жЁпе
ЊЉЉ’’ Z.101 - Z.104.
‘«Ґ¤гойЁҐ бЁ¬ў®«л ¬®Јгв Ўлвм ЁбЇ®«м§®ў л:
______
(______) state
"state" - б®бв®пЁҐ, ў Є®в®а®¬ ¤Ґ©бвўЁҐ Їа®жҐбб
ЇаЁ®бв ®ў«Ґ® ў ®¦Ё¤ ЁЁ ўў®¤ ;
_______
і / ўҐиЁ© ўў®¤ (external input)
і______\
_______
є / ўгв२© ўў®¤ (internal input)
є______\
"input" - ўе®¤пйЁ© бЁЈ «, Є®в®ал© а бЇ®§ Ґвбп Їа®жҐбᮬ;
_____
і \ ўҐиЁ© ўлў®¤ (external output)
і_____/
_____
є \ ўгв२© ўлў®¤ (internal output)
є_____/
"output" - ¤Ґ©бвўЁҐ, Є®в®а®Ґ ЈҐҐаЁагҐв бЁЈ «, Є®в®ал© ў
бў®о ®зҐаҐ¤м ¤Ґ©бвўгҐв ў ¤агЈ®¬ ¬Ґб⥠Є Є ўў®¤;
/\
/ \ аҐиҐЁҐ (decision)
\ /
\/
"decision" - ¤Ґ©бвўЁҐ, Є®в®а®Ґ § ¤ Ґв ў®Їа®б, Є®в®ал©
®вўҐв ¬®¦Ґв Ўлвм Ї®«гзҐ ў в®в ¦Ґ ¬®¬Ґв, Ё Є®в®а®Ґ ўлЎЁа Ґв ®¤Ё
Ё§ ҐбЄ®«мЄЁе Їг⥩ ¤«п Їа®¤®«¦ҐЁп Ї®в®Є ;
ЪДДДДДДДДї
і і § ¤ з (task)
АДДДДДДДДЩ
"task" - «оЎ®Ґ ¤Ґ©бвўЁҐ, Є®в®а®Ґ Ґ пў«пҐвбп Ё аҐиҐЁҐ¬ Ё
ўлў®¤®¬.
ђ бᬮваЁ¬ ЇаЁ¬Ґа ЁбЇ®«м§®ў Ёп SDL ¤Ё Ја ¬¬л ¤«п ®ЇЁб Ёп
Їа®жҐбб®ў.
ЏаЁ¬Ґа ў§пв Ё§ ®Ў« бвЁ бЁб⥬ ЇҐаҐ¤ зЁ Ёд®а¬ жЁЁ (‘Џ€).
Џгбвм ‘Џ€ а Ў®в Ґв Ї® б«Ґ¤го饬㠫Ј®аЁв¬г.
‚ ®ЇаҐ¤Ґ«ҐлҐ ¬®¬Ґвл ўаҐ¬ҐЁ ® ®¦Ё¤ Ґв ЇаЁҐ¬ Ў«®Є®ў
Ёд®а¬ жЁЁ Ё Ёе ЇҐаҐ¤ Ґв ЄўЁв жЁЁ.
…б«Ё ‘Џ€ ҐЇа ўЁ«м® ЇаЁЁ¬ Ґв ҐбЄ®«мЄ® Ў«®Є®ў Ї®¤ап¤ Ё«Ё ў
вҐзҐЁҐ ҐЄ®в®а®Ј® ўаҐ¬ҐЁ Ґ ЇаЁЁ¬ Ґв Ёе ў®®ЎйҐ, в® ‘Џ€
®вЄ«оз Ґвбп. …б«Ё ‘Џ€ ЇаЁЁ¬ Ґв ®¦Ё¤ Ґ¬л© Ў«®Є, в® ® ўл¤ Ґв
ЄўЁв жЁо Ё б®ў ЇҐаҐе®¤Ёв Є ®¦Ё¤ Ёо.
‚६Ґ п ¤Ё Ја ¬¬ «Ј®аЁв¬ ¬®¦Ґв ўлЈ«п¤Ґвм б«Ґ¤гойЁ¬
®Ўа §®¬:
ЪДДДДДДї ЪДДДДДДДї Ў«®ЄЁ
ДДБДДДДДДБДДДДДДДДДДБДДДДДДДБДДДДДДДДДДДДДДДДДДДД
ЪДї ЪДї ЄўЁв жЁЁ
ДДДДДДДДДДДДДБДБДДДДДДДДДДДДДДДДБДБДДДДДДДДДДДДДД
”а Ј¬Ґв SDL-¤Ё Ја ¬¬л, ®ЇЁблў о饩 ЇаЁўҐ¤Ґл© ўлиҐ
«Ј®аЁв¬, ¬®¦Ґв ўлЈ«п¤Ґвм б«Ґ¤гойЁ¬ ®Ўа §®¬:
ЪДДДДДДДДДДДДДДДДДДДДДДДДї
і _______і________
і ( ®¦Ё¤ ЁҐ Ў«®Є )
і ДДДДДДДВДДДДДДДД
і ЪДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДї
і ЪДДБДДДД / ЪДДДБДДД / ЦДДДДДБДДДДДДДД /
і і Ў«®Є / і®иЁЎЄ / є ЇҐаҐЇ®«ҐЁҐ /
і АДДВДДДД\ АДДДВДДД\ є ўгв॥Ј® /
і і і є бзҐвзЁЄ \
і ЦДДБДДДДДДДДД\ і УДДДДДВДДДДДДДД\
і є бЎа®б \ і _____і______
і є ¤ўге \ і ( ®вЄ«о票Ґ )
і є бзҐвзЁЄ®ў / і ДДДДДДДДДДДД
і УДДВДДДДДДДДД / і
і ЪДДБДДДДДДДї / \ ¤ "¤®бвЁЈгв «Ё Ї®а®Ј
і і®Ўа Ў®вЄ і / \ДДДДДДДДї Ї® зЁб«г ®иЁЎ®з®
і АДДВДДДДДДДЩ \ / і ЇаЁпвле Ї®¤ап¤
і ЪДДБДДДДДД\ \ / ЦДДДБДДДДД Ў«®Є®ў"
і іўл¤ з \ Ґв і є®бв ®ў \
і іЄўЁв жЁЁ / і єбзҐвзЁЄ \
і АДДВДДДДДД/ і є®иЁЎ®Є /
АДДДДДДДБДДДДДДДДДДДДДДДДЩ УДДДВДДДДД/
____і_____
( ®вЄ«о票Ґ )
ДДДДДДДДДДД
‚६ҐлҐ б®®в®иҐЁп ў бЁб⥬Ґ Ї®¤¤Ґа¦Ёў Ґв бЁб⥬
ЇаҐалў Ё©.
я_3.2.2. џ§лЄ®ўлҐ б।бвў ®ЇЁб Ёп Ї а ««Ґ«Ё§¬
‚ ва ¤ЁжЁ®® ЁбЇ®«м§гҐ¬ле п§лЄ е Їа®Ја ¬¬Ёа®ў Ёп б।бвў
®ЇЁб Ёп Ї а ««Ґ«Ё§¬ ®вбгвбвўгов, в.Є. нвЁ п§лЄЁ Ё§ з «м® б®§-
¤ ў «Ёбм ¤«п Ї®б«Ґ¤®ў ⥫쮣® Їа®Ја ¬¬Ёа®ў Ёп.
‘гйҐбвўгов ¤ў п§лЄ , ў Є®в®але б।бвў ®ЇЁб Ёп Ї а ««Ґ-
«Ё§¬ бгйҐбвўгов Є Є бв ¤ авлҐ.
‚ п§лЄҐ Ђ„Ђ бгйҐбвўгҐв б«Ґ¤го饥 б।бвў® - Ґб«Ё ®ЇЁб вм Ґ-
Є®в®алҐ Їа®Ја ¬¬лҐ Ґ¤ЁЁжл Є Є § ¤ зЁ - TASK, в® б ¬®¬Ґв з -
« ўлЇ®«ҐЁп ўбҐ© Їа®Ја ¬¬л нвЁ Ґ¤ЁЁжл згв ўлЇ®«пвмбп Ї -
а ««Ґ«м®. ’.Ґ. ®Ўа Ў®взЁЄ ЇаҐалў Ё© Ё б।бвў § ¬Ґл Є®вҐЄбв
§ иЁвл ў Ђ„… га®ўҐ п§лЄ . Ља®¬Ґ в®Ј®, Ђ„Ђ ЇаҐ¤« Ј Ґв ҐЄ®в®-
ал© ¬Ґе Ё§¬ ў§ Ё¬®¤Ґ©бвўЁп § ¤ з, Є®в®ал© §лў Ґвбп ђЂЌ„…‚“,
⮦Ґ бгйҐбвўгойЁ© га®ўҐ п§лЄ .
‚ п§лЄҐ ЊЋ„“‹Ђ-2, Є®в®ал© ўҐбм Ї®бв஥ ЎЁЎ«Ё®вҐзле ¬®-
¤г«пе ў ᮮ⢥вбвўЁҐ б® бў®Ё¬ §ў ЁҐ¬, Ґбвм ¬®¤г«м Process, Є®-
в®ал© аҐ «Ё§гҐв ўаҐ¬Ґ®Ґ а §¤Ґ«ҐЁҐ б Ї®¬®ймо ®Ўа Ў®взЁЄ ЇаҐал-
ў Ё© Ё ᮤҐа¦Ёв Їа®в®Є®« Ё Ў®а Їа®жҐ¤га-ЇаЁ¬ЁвЁў®ў, Ї®§ў®«по-
йЁ© ᮧ¤ ў вм Ё§ Їа®жҐ¤га Ї а ««Ґ«м® ўлЇ®«пҐ¬лҐ Їа®жҐббл Ё ®а-
Ј Ё§®ўлў вм Ёе ў§ Ё¬®¤Ґ©бвўЁҐ. Њ®¤г«м Process ЇаҐ¤« Ј Ґв б«Ґ¤го-
йЁҐ ў®§¬®¦лҐ ¤Ґ©бвўЁп
StartProcess: ᮧ¤ вм Їа®жҐбб;
StartScheduler: § ЇгбЄ Ї« Ёа®ўйЁЄ § ¤ з б ўаҐ¬Ґл¬ а §¤Ґ-
«ҐЁҐ¬;
StopScheduler: ®бв ®ў Ї« Ёа®ўйЁЄ § ¤ з;
WAIT: ¦¤ вм бЁЈ «;
SEND: Ї®б« вм бЁЈ «.
Џа®жҐббл ў Њ®¤г«Ґ-2 ᮧ¤ овбп Ё§ б®Їа®Ја ¬¬ «®ЈЁз® а б-
¬ ваЁў Ґ¬л¬ ў « Ў®а в®але а Ў®в е.
‘®ўаҐ¬ҐлҐ баҐ¤л ЇаҐ¤®бв ў«пов ЇаЁ¬ЁвЁўл - API, Ї®§ў®«пойЁҐ
ॠ«Ё§®ўлў вм ¬®Ј®§ ¤ з®бвм. ќвЁ ЇаЁ¬ЁвЁўл ®в«Ёз овбп бЁв ЄбЁ-
ᮬ ў § ўЁбЁ¬®бвЁ ®в баҐ¤л Ё ¬®Јгв ва Єв®ў вмбп Є Є а биЁаҐЁп
п§лЄ Їа®Ја ¬¬Ёа®ў Ёп, ў в®з®б⨠ᮮ⢥вбвўгп Ї®пвЁо ‚›‡Ћ‚ ‘“-
Џ…ђ‚€‡ЋђЂ.
я2ЏаЁ¬Ґал
UnixWare
Fork() - ᮧ¤ ЁҐ ®ў®Ј® Їа®жҐбб . ‚л§лў ойЁ© Їа®жҐбб ¤гЎ«Ё-
агҐвбп Ё ᮧ¤ Ґвбп в®з п ҐЈ® Є®ЇЁп, ®в«Ёз ой пбп ®в Ї®а®¦¤ о饣®
Їа®жҐбб в®«мЄ® Ё¤ҐвЁдЁЄ в®а®¬.
Sleep(sec) - ЇаЁ®бв ®ў Їа®жҐбб sec ᥪг¤.
Exit - § ўҐа襨Ґ ўл§лў о饣® Їа®жҐбб .
Windows NT
CreateProcess - ᮧ¤ ЁҐ Їа®жҐбб .
ExitProcess - § ўҐа襨Ґ ⥪г饣® Їа®жҐбб .
CreateThread - § ЇгбЄ нЄ§Ґ¬Ї«па ЁвЁ.
ExitThread - § ўҐа襨Ґ а Ў®вл ЁвЁ.
Sleep(ms) - ЇаЁ®бв ®ў Їа®жҐбб ms ¬Ё««ЁбҐЄг¤.
OS/2
DosExecPgm - ᮧ¤ ЁҐ Їа®жҐбб .
DosExit - § ўҐа襨Ґ Їа®жҐбб .
DosCreateThread - ᮧ¤ ЁҐ ЁвЁ.
DosSleep(ms) - ЇаЁ®бв ®ў Їа®жҐбб .
NetWare
spawnlp - § Јаг§Є ўлЇ®«пҐ¬®Ј® д ©« (NLM NetWare loadable
Module) Ё ЁЁжЁ «Ё§ жЁп ҐЈ® ўлЇ®«ҐЁп.
delay(ms) - ЇаЁ®бв ®ў Їа®жҐбб .
BeginThread - ᮧ¤ вм Ёвм Ё Ї®¬ҐбвЁвм ҐҐ ў ®зҐаҐ¤м ўлЇ®«Ґ-
Ёп.
ThreadSwitch - пў п ЇҐаҐ¤ з гЇа ў«ҐЁп (в.Є. NetWare 3 Ё 4
- ®ЇҐа жЁ®лҐ баҐ¤л ЎҐ§ ўлвҐбҐЁп)
ExitThread - § ўҐа襨Ґ ўлЇ®«ҐЁп ЁвЁ Ё«Ё NLM.
‚ Є ¦¤®© Ё§ ЇҐаҐзЁб«Ґле б। Ґбвм ҐйҐ ЇаЁ¬ЁвЁўл ¤«п а Ў®вл
б Їа®жҐбб ¬Ё Ё Ёвп¬Ё. ќв® Ўл«Ё в®«мЄ® ЇаЁ¬Ґал, ЇаЁзҐ¬ ў ЇаЁ¬Ґа е
Ґ ЇаЁўҐ¤Ґл ЇҐаҐ¤ ў Ґ¬лҐ Ї а ¬Ґвал.
‘гйҐбвўгҐв ҐйҐ Ў®а Ўбва Євле (Ґ ®в®бпйЁебп Є Є®ЄаҐв-
®¬г п§лЄг Їа®Ја ¬¬Ёа®ў Ёп), ® Џ бЄ «Ґ-Ї®¤®Ўле п§лЄ®ўле Є®б-
вагЄжЁ©, ЇаҐ¤«®¦Ґле ‚Ёа⮬ ¤«п ®ЇЁб Ёп Ї а ««Ґ«Ё§¬ , Є®в®алҐ
¬л ᥩз б Ё а бᬮваЁ¬.
1) Ќ®в жЁп "and" Ї®§ў®«пҐв Їа®Ја ¬¬Ёбвг гЄ §лў вм ЇаҐ¤«®¦Ґ-
Ёп, Є®в®алҐ ўлЇ®«повбп Ї а ««Ґ«м®. Ќ ЇаЁ¬Ґа,
Begin і
P ЪДДДДДДБДДДДДДї
End ЪДДБДДї ЪДДБДДї
and і P і і Q і
Begin АДДВДДЩ АДДВДДЩ
Q АДДДДДДВДДДДДДЩ
End; і
2) (“¦Ґ Ґ ‚Ёав) "fork w" Є®¬ ¤ , ўлЇ®«Ґ п Їа®жҐбᮬ p,
ўл§лў Ґв з «® а §ўЁвЁп ®ў®Ј® Їа®жҐбб q б Є®¬ ¤л, Ї®¬ҐзҐ®©
w. „ «ҐҐ Їа®жҐббл p Ё q а §ўЁў овбп ®¤®ўаҐ¬Ґ®.
3) "quit" - § ўҐа襨Ґ Їа®жҐбб .
4) "join t, w" ўл§лў Ґв б«Ґ¤гойЁҐ ¤Ґ©бвўЁп:
---------------------
t := t - 1;
if t = 0 then goto w;
---------------------
–Ґ«м нв®© Є®¬ ¤л - ®ЎҐбЇҐзЁвм бЁеа®Ё§ жЁо Їа®жҐбб®ў, в.Ґ.
з вм ўлЇ®«ҐЁҐ б ¬ҐвЄЁ w в®«мЄ® Ї®б«Ґ в®Ј® Є Є ҐбЄ®«мЄ® Їа®-
жҐбб®ў (Ёе зЁб«® ®ЇаҐ¤Ґ«пҐв ў Є Є®Ґ з «м®Ґ § 票Ґ ЁЁжЁ «Ё-
§ЁагҐвбп t) ўлЇ®«пв Є®¬ ¤г join. Џ®б«Ґ ҐҐ ®Ўлз® бв ўЁвбп Є®-
¬ ¤ quit. ’®«мЄ® Ї®б«Ґ¤Ё© Ё§ ЇҐаҐзЁб«Ґле Їа®жҐбб®ў Ї®©¤Ґв
¬ҐвЄг, ®бв «млҐ § ўҐаи вбп.
ЏгЄвЁа®¬ ®в¬ҐзҐ в®в д Єв, зв® ЇаЁўҐ¤ҐлҐ ¤Ґ©бвўЁп ўлЇ®«-
повбп Є Є Ґ¤Ґ«Ё¬лҐ.
€««обва жЁп ЋЎ®§ 票Ґ Ї® ѓЋ‘’
ЪДДБДДї ЪДДБДДї
і P0 і і P0 і
АДДВДДЩ АДДВДДЩ
ЪДДДДДДДДДЕДДДДДДДДДї НСНННННННННШНННННННННСН
ЪДДБДДї ЪДДБДДї ЪДДБДДї ЪДДБДДї ЪДДБДДї ЪДДБДДї
і P1 і і P2 і і P3 і і P1 і і P2 і і P3 і
АДДВДДЩ АДДВДДЩ АДДВДДЩ АДДВДДЩ АДДВДДЩ АДДВДДЩ
АДДДДДДДДДґ і НПНННННННННШН і
ЪДДБДДї і ЪДДБДДї і
і P4 і і і P4 і і
АДДВДДЩ і АДДВДДЩ і
ГДДДДДДДДДЩ ННШНННННННННПНН
ЪДДБДДї ЪДДБДДї
і P5 і і P5 і
АДДВДДЩ АДДВДДЩ
ЋЇЁб ЁҐ б Ї®¬®ймо ўл襯ਢҐ¤Ґле п§лЄ®ўле Є®бвагЄжЁ©:
‚ўҐ¤Ґ¬ ЇҐаҐ¬ҐлҐ ’1 Ё ’2.
’1 := 2; w1: P1; join T2, w5;
T2 := 2; join T1, w4; quit;
P0; quit; w4: P4;
fork w1; w2: P2; join T2, w5;
fork w2; join T1, w4; quit;
fork w3; quit; w5: P5;
quit; w3: P3; quit;
Соседние файлы в папке Операционные среды АСОИУ