ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² ΡƒΡ‡Ρ‘Π±Π΅, ΠΎΡ‡Π΅Π½ΡŒ быстро...
Π Π°Π±ΠΎΡ‚Π°Π΅ΠΌ вмСстС Π΄ΠΎ ΠΏΠΎΠ±Π΅Π΄Ρ‹

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ для ОБ Linux

ΠšΡƒΡ€ΡΠΎΠ²Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ для Linux ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΡƒΡŽ модСль ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ. Π˜ΠΌΠ΅Π΅Ρ‚ΡΡ заправочная станция с Π΄Π²ΡƒΠΌΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌΠΈ Π·Π°ΠΏΡ€Π°Π²ΠΊΠΈ Π±Π΅Π½Π·ΠΈΠ½ΠΎΠΌ. На ΡΡ‚Π°Π½Ρ†ΠΈΡŽ Π·Π°Π΅Π·ΠΆΠ°ΡŽΡ‚ N Π°Π²Ρ‚ΠΎΠΌΠ°ΡˆΠΈΠ½ ΠΈ Π·Π°ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ся ΠΈΠ· Π»ΡŽΠ±ΠΎΠΉ нСзанятой Π² ΡΡ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ. ПослС Π·Π°ΠΏΡ€Π°Π²ΠΊΠΈ Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ направляСтся Π² ΠΊΠ°ΡΡΡƒ ΠΈ, ΠΏΠΎΠ΄ΠΎΠΆΠ΄Π°Π², Ссли собираСтся ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΎΠΏΠ»Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚ Π±Π΅Π½Π·ΠΈΠ½. Π—Π°Ρ‚Π΅ΠΌ возвращаСтся ΠΊ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŽ ΠΈ ΡƒΠ΅Π·ΠΆΠ°Π΅Ρ‚ со ΡΡ‚Π°Π½Ρ†ΠΈΠΈ, освобоТдая… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ для ОБ Linux (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Π—Π°Π΄Π°Π½ΠΈΠ΅ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ для Linux ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΡƒΡŽ модСль ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ. Π˜ΠΌΠ΅Π΅Ρ‚ΡΡ заправочная станция с Π΄Π²ΡƒΠΌΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌΠΈ Π·Π°ΠΏΡ€Π°Π²ΠΊΠΈ Π±Π΅Π½Π·ΠΈΠ½ΠΎΠΌ. На ΡΡ‚Π°Π½Ρ†ΠΈΡŽ Π·Π°Π΅Π·ΠΆΠ°ΡŽΡ‚ N Π°Π²Ρ‚ΠΎΠΌΠ°ΡˆΠΈΠ½ ΠΈ Π·Π°ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ся ΠΈΠ· Π»ΡŽΠ±ΠΎΠΉ нСзанятой Π² ΡΡ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ. ПослС Π·Π°ΠΏΡ€Π°Π²ΠΊΠΈ Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ направляСтся Π² ΠΊΠ°ΡΡΡƒ ΠΈ, ΠΏΠΎΠ΄ΠΎΠΆΠ΄Π°Π², Ссли собираСтся ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΎΠΏΠ»Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚ Π±Π΅Π½Π·ΠΈΠ½. Π—Π°Ρ‚Π΅ΠΌ возвращаСтся ΠΊ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŽ ΠΈ ΡƒΠ΅Π·ΠΆΠ°Π΅Ρ‚ со ΡΡ‚Π°Π½Ρ†ΠΈΠΈ, освобоТдая мСсто. МодСль Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅Ρ‚ΡŒ минимальноС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ситуации Π² ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ с ΡƒΡΠ»ΠΎΠ²Π½Ρ‹ΠΌΠΈ изобраТСниями ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ ΠΈ ΠΊΠ°ΡΡΡ‹. Π‘Π°ΠΌΠΈ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π½Π° ΡΠΊΡ€Π°Π½Π΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π»Π°Ρ‚инских Π±ΡƒΠΊΠ². ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ условного изобраТСния ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΊ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ водитСля ΠΌΠ΅ΠΆΠ΄Ρƒ кассой ΠΈ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΌ Π½Π΅ Ρ‚рСбуСтся, Π½ΠΎ ΡΠ»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΊΠ°ΠΊ-Ρ‚ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ Π² ΠΊΠ°ΡΡΡƒ. ОТиданиС событий слСдуСт ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ сСмафоров ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ оТидания события. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ числа N. ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Ρ‚Скстовом Ρ€Π΅ΠΆΠΈΠΌΠ΅.

ОписаниС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅

Π’ ΡΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠžΠ‘ ΠΊΡ€ΠΎΠΌΠ΅ собствСнно процСссов Π²Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ ΠΈΡ… Π±ΠΎΠ»Π΅Π΅ элСмСнтарныС ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ нитями (threads — Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΌ). ИноС Π½Π°Π·Π²Π°Π½ΠΈΠ΅ этих ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… Π½Π° Ρ€ΡƒΡΡΠΊΠΎΠΌ языкС — ΠΏΠΎΡ‚ΠΎΠΊΠΈ, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π±ΠΎΠ»Π΅Π΅ староС Π½Π°Π·Π²Π°Π½ΠΈΠ΅ — Π·Π°Π΄Π°Ρ‡ΠΈ (ΠΈΠ»ΠΈ ΠΌΠΈΠ½ΠΈ-Π·Π°Π΄Π°Ρ‡ΠΈ). Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Π½ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ Π±ΠΎΠ»Π΅Π΅ Π±Π»ΠΈΠ·ΠΊΠΎΠ΅ ΠΊ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ тСхничСским названиям Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π² Ρ€ΡΠ΄Π΅ ΠΎΡΠ½ΠΎΠ²ΠΎΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‰ΠΈΡ… ΠžΠ‘ 60−70-Ρ… Π³ΠΎΠ΄ΠΎΠ² ΠΌΠ½ΠΎΠ³ΠΎΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠžΠ‘ ΡΡ‚Ρ€ΠΎΠΈΠ»ΠΎΡΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π° ΠΏΠΎΠ½ΡΡ‚ΠΈΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠΈ процСссов, Π° Π½ΠΈΡ‚ΠΈ ΠΊΠ°ΠΊ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ части процСссов стали ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅Π΄Π°Π²Π½ΠΎ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ тСория Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… процСссов ΡΡ‚Ρ€ΠΎΠΈΠ»Π°ΡΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π° ΠΏΠΎΠ½ΡΡ‚ΠΈΠΈ абстрактного процСсса.

Π’ Π½Π°ΡΡ‚оящСС врСмя Π² Ρ€Π°ΠΌΠΊΠ°Ρ… процСсса ΠΌΠΎΠ³ΡƒΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ нСсколько (ΠΈ Π΄Π°ΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ) Π½ΠΈΡ‚Π΅ΠΉ. Π’ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΡ… случаях Π² ΡΠΎΡΡ‚Π°Π²Π΅ процСсса ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ присутствуСт ΠΎΠ΄Π½Π° Π½ΠΈΡ‚ΡŒ. БобствСнно процСсс Π² ΡΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ… ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡΡ… спСциализирован ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π° Π²Π»Π°Π΄Π΅Π½ΠΈΠΈ рСсурсами Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ систСмы. К Ρ€Π΅ΡΡƒΡ€ΡΠ°ΠΌ процСсса относятся области Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ процСссом (ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ). Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, опСративная ΠΏΠ°ΠΌΡΡ‚ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ процСсс ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΌΡƒ ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΡŽ, распрСдСляСтся процСссу ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ являСтся ΠΊΠ°ΠΊ Π±Ρ‹ Π΅Π³ΠΎ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ. Π’ ΡΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠžΠ‘ такая ΠΏΠ°ΠΌΡΡ‚ΡŒ распрСдСляСтся ΠΈ Π·Π°ΠΊΡ€Π΅ΠΏΠ»ΡΠ΅Ρ‚ся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Ρ… срСдств Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ памяти, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ управляСт ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ подсистСма ΠžΠ‘. Π­Ρ‚Π° подсистСма — ΠΎΠ΄Π½Π° ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹Ρ… ΠΈ ΠΎΡ‚вСтствСнных частСй ΠžΠ‘. К Π΄Ρ€ΡƒΠ³ΠΈΠΌ рСсурсам процСсса относят ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ для процСсса благодаря дСскрипторам (ΡƒΡ‡Π΅Ρ‚Π½ΠΎ-ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌ описатСлям Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»ΠΎΠΌ) ΠΈ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰ΠΈΠΌΠΈ ΠΈΡ… Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΠΈΠΌΠΈ Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌΠΈ хэндлов (handle). Π’ ΠΌΠ½ΠΎΠ³ΠΎΠ·Π°Π΄Π°Ρ‡Π½Ρ‹Ρ… ΠžΠ‘ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ рСсурсов процСсса ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ дСскрипторы ΠΈ Ρ…эндлы ряда Π΅Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ слоТных ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (ΠΎΡ‡Π΅Ρ€Π΅Π΄Π΅ΠΉ, ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ΠΎΠ², ΠΎΠΊΠΎΠ½ ΠΈ Ρ‚. Π΄.).

Π₯отя процСсс ΠΈ Π½Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, Π½ΠΎ Π±Π΅Π· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, которая опрСдСляСт дСйствия процСсса, ΠΎΠ½ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΈ создании процСсса, Π² Ρ‡Π°ΡΡ‚ности ΠΏΡƒΡ‚Π΅ΠΌ заявки Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ процСсса Π½Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ процСсса, ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠžΠ‘ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, ΠΊΠ°ΠΊΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для создания ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ° процСсса. Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π² Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌ процСсс ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠ² Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ систСмный Π²Ρ‹Π·ΠΎΠ².

ΠŸΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ тСкстовыС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ Π² ΡΡ‚ΠΎΠΉ строкС послС ΠΈΠΌΠ΅Π½ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’Π°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки часто Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π°Ρ€Ρ…ΠΈΠ²Π°Ρ‚ΠΎΡ€Ρ‹. Π’ Ρ€ΡΠ΄Π΅ случаСв такая Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌΠ°. Для Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€ΠΈ создании процСсса ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована строка Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΈΡ‚Π΅ΠΉ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅

Π’ ΡΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π½ΠΈΡ‚ΠΈ. Π­Ρ‚ΠΎ понятиС Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ ΠΊΠ°ΠΊ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ развития понятия абстрактного процСсса. Оказалось, Ρ‡Ρ‚ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° цСлСсообразно Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ процСсс Π½Π° Ρ‡Π°ΡΡ‚ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡŒ Π±Ρ‹ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ, конкурируя Π·Π° Π³Π»Π°Π²Π½Ρ‹ΠΉ рСсурс — процСссор, Π½ΠΎ Π² ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΌ выполняли Π±Ρ‹ ΠΎΠ±Ρ‰ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ. МоТно ΠΏΠΎΠ΄ΠΎΠΉΡ‚ΠΈ ΠΊ ΠΎΡΠΎΠ·Π½Π°Π½ΠΈΡŽ понятия процСсса с Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны. АбстрактныС процСссы тСорСтичСски Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ Π½Π° ΠΊΠΎΠ½ΠΊΡƒΡ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ ΠΈ ΠΊΠΎΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅. ΠšΠΎΠ½ΠΊΡƒΡ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²Ρƒ ΠΌΠ΅ΡˆΠ°ΡŽΡ‚ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Ρƒ, Π½ΠΎ Π² ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π±ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. ΠšΠΎΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ — Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΠΏΠΎ Ρ‡Π°ΡΡ‚ям совмСстно ΠΎΠ±Ρ‰ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ. ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½ΠΎ-тСхничСскоС объСдинСниС — ΠΏΠΎΠ΄ ΠΎΠ΄Π½ΠΎΠΉ «ΠΊΡ€Ρ‹ΡˆΠ΅ΠΉ» ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Π½ΠΎΠ³ΠΎ процСсса — Π°Π½Π°Π»ΠΎΠ³ΠΎΠ² ΠΊΠΎΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… процСссов ΠΈ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ сущСство объСдинСния Π½ΠΈΡ‚Π΅ΠΉ Π² ΠΎΠ΄Π½ΠΎΠΌ процСссС.

ΠŸΡ€ΠΎΡ†Π΅ΡΡ Π² ΡΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ОБ — это Π²Π»Π°Π΄Π΅Π»Π΅Ρ† всСх основных рСсурсов ΠΊΠΎΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… Π½ΠΈΡ‚Π΅ΠΉ. Π£ ΡΡ‚ΠΈΡ… Π½ΠΈΡ‚Π΅ΠΉ ΠΎΠ±Ρ‰Π΅Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ адрСсноС пространство, Ρƒ Π½ΠΈΡ… ΠΎΠ±Ρ‰ΠΈΠ΅ дСскрипторы (описатСли Π²Π½ΡƒΡ‚Ρ€ΠΈ слуТСбных областСй ОБ) ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΈΡ… Ρ…эндлы. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ дСскрипторы ΠΈ Ρ…эндлы всСвозмоТных допустимых Π² ΠžΠ‘ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²: Ρ„Π°ΠΉΠ»ΠΎΠ², созданных Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… процСссов, графичСских ΠΎΠΊΠΎΠ½, сСмафоров ΠΈ Ρ‚. ΠΏ. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ Π½ΠΈΡ‚ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ процСсса ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΎΠ±Ρ‰ΠΈΠΉ сСгмСнт Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΡ‚ΠΊΡƒΠ΄Π° каТдая ΠΈΠ· Π½ΠΈΡ… ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ€Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Ρ‚ΡƒΠ΄Π°. ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ΠΎΠΌ Π½ΠΈΡ‚ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΠΎ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π½Π΅ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π½ΠΈΡ…, Π½ΠΎ ΠΎΠ½ Π½Π΅ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ ΠΈ ΡΠ°ΠΌΠΎΠΌΡƒ процСссу.

Π§Π΅ΠΌ ΠΆΠ΅ Π²Π»Π°Π΄Π΅Π΅Ρ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ Π½ΠΈΡ‚ΡŒ? Нити ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ тСкущая ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ… ΠΈ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½Ρ‹ΠΉ стСк. ВСкущая ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ… Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ контСкстом Π·Π°Π΄Π°Ρ‡ΠΈ. Когда происходит ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ запоминаСтся контСкст приостанавливаСмой Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ Π²ΠΎΡΡΡ‚анавливаСтся ΠΈΠ· ΠΌΠ΅ΡΡ‚Π° сохранСния контСкст запускаСмой Π½Π° ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ Π·Π°Π΄Π°Ρ‡ΠΈ. Π’ ΡΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ процСссором ΠΌΠ½ΠΎΠ³ΠΎ внимания удСляСтся Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ сохранСния контСкста, Π΅Π³ΠΎ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡŽ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡŽ ΠΌΠ΅ΠΆΠ΄Ρƒ Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ. Π—Π°Ρ‡Π΅ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒ ΠΈ Π²ΠΎΡΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ контСкст Π·Π°Π΄Π°Ρ‡ΠΈ? По Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ ΠΈ Π²ΠΎΡΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ рСгистры ΠΏΡ€ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ прСрывания.

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π½ΠΈΡ‚ΡŒ своСй Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ дСйствия ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΎΠ±Ρ‰Π΅ΠΉ для всСх Π½ΠΈΡ‚Π΅ΠΉ процСсса ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ВСорСтичСски любой Π½ΠΈΡ‚ΠΈ процСсса доступны всС части ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ процСсса, Π² Ρ‡Π°ΡΡ‚ности всС Π΅Π³ΠΎ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, Π½ΠΎ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° организуСтся Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½ΠΈΡ‚ΠΈ ΠΎΡ‚Π²Π΅Ρ‡Π°Π»Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°. Учитывая, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ для Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊΠ°Π΄Ρ€ стСка, становится понятным Π·Π°ΠΊΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅ Π·Π° Π½ΠΈΡ‚ΡŒΡŽ собствСнного стСка.

ΠžΡ‡Π΅Π½ΡŒ ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π½ΠΎ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Ρ‚ΠΎΡ‡Π½ΠΎ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ процСссом ΠΈ Π½ΠΈΡ‚ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π°Π½Π°Π»ΠΎΠ³ΠΈΠ΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ собствСнником Π·Π΅ΠΌΠ»ΠΈ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΉ Π½Π° Π½Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊΠ°ΠΌΠΈ. Как ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ, собствСнник выполняСт ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ‚ΠΎΡ€ΡΠΊΡƒΡŽ ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΡŽΡ‰ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ (главная Π½ΠΈΡ‚ΡŒ процСсса), Π½ΠΎ Π΄Π»Ρ эффСктивного использования рСсурсов ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΡ€ΠΎΠΌΠ΅ сСбя ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚ΡŒ Π΅Ρ‰Π΅ Π½Π°Π΅ΠΌΠ½Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊΠΎΠ² (ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π½ΠΈΡ‚ΠΈ Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅).

Главная Π½ΠΈΡ‚ΡŒ процСсса создаСтся автоматичСски ΠΏΡ€ΠΈ создании процСсса. Если процСсс нуТдаСтся Π² Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… нитях, Ρ‚ΠΎ Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ систСмныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ создания Π½ΠΈΡ‚ΠΈ.

ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½ΠΈΡ‚ΡŒ

ОписаниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Π’ Π½Π°Ρ‡Π°Π»Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° считываСт ΠΈ Π·Π°Π½ΠΎΡΠΈΡ‚ Π² Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ числа Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ. ВыдСляСтся ΠΏΠ°ΠΌΡΡ‚ΡŒ для хранСния массивов структур, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΡ… ΠΏΠΎΡ‚ΠΎΠΊΠΈ ΠΈ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΡ… состояния. Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ я ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽ восСмь состояний, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π°Π²Ρ‚ΠΎΠΌΠ°ΡˆΠΈΠ½Π°:

1. ΠΠ°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ состояниС (Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ находится Π² Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠ΅)

2. БостояниС, ΠΊΠΎΠ³Π΄Π° Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ ΠΏΠΎΠ΄ΡŠΠ΅Π·ΠΆΠ°Π΅Ρ‚ ΠΊ ΡΡ‚Π°Π½Ρ†ΠΈΠΈ

3. ОТиданиС освобоТдСния ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π΄Π²ΡƒΡ… станций Π·Π°ΠΏΡ€Π°Π²ΠΊΠΈ

4. ΠΠ²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΡΡ‚Π°Π½Ρ†ΠΈΡŽ (ΠΏΡ€ΠΈ этом занимаСтся сСмафор для ΠΏΠ΅Ρ€Π²ΠΎΠΉ станции)

5. ΠΠ²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π²Ρ‚ΠΎΡ€ΡƒΡŽ ΡΡ‚Π°Π½Ρ†ΠΈΡŽ (ΠΏΡ€ΠΈ этом занимаСтся сСмафор для Π²Ρ‚ΠΎΡ€ΠΎΠΉ станции)

ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ссли ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ΅ΠΌΠ°Ρ„ΠΎΡ€ΠΎΠ² занят, Ρ‚ΠΎ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ «ΠΏΠΎΠ΄ΡŠΠ΅Π·ΠΆΠ°Π΅Ρ‚» ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΉ станции, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ занимаСтся Π΄Ρ€ΡƒΠ³ΠΎΠΉ сСмафор. Если ΠΎΠ±Π° сСмафора ΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ заняты, Ρ‚ΠΎ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ находится Π² Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΌ состоянии Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅Ρ‚ся ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ….

6. ОТиданиС кассы

7. ΠΠ²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ кассу (Ρ„Π°Π·Π° ΠΎΠΏΠ»Π°Ρ‚Ρ‹ Π·Π°ΠΏΡ€Π°Π²ΠΊΠΈ). Π’ Π΄Π°Π½Π½ΠΎΠΌ состоянии занимаСтся сСмафор кассы.

8. ΠžΡ‚ΡŠΠ΅Π·Π΄ Π°Π²Ρ‚ΠΎΠΌΠ°ΡˆΠΈΠ½Ρ‹ (освобоТдСниС сСмафора кассы)

Π’ ΠΎΡΠ½ΠΎΠ²Π΅ графичСского отобраТСния процСсса выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π»Π΅ΠΆΠΈΡ‚ функция move (PosX, PosY), Π³Π΄Π΅ PosX ΠΈ PosY ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌΠΈ строки ΠΈ ΡΡ‚ΠΎΠ»Π±Ρ†Π° соотвСтствСнно. Данная функция ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ курсор Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ. Команда addstr («text») добавляСт надпись Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅ PosX начиная с ΡΠΈΠΌΠ²ΠΎΠ»Π° PosY.

Π‘Π΅ΠΌΠ°Ρ„ΠΎΡ€Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ (ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ) с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ sem_init (). ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ sem_init () — ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ‚ΠΈΠΏΠ° sem_t, которая слуТит ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ сСмафора. Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, pshared, Π² Π½Π°ΡΡ‚оящСС врСмя Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ся. ΠœΡ‹ ΠΎΡΡ‚Π°Π²ΠΈΠΌ Π΅Π³ΠΎ Ρ€Π°Π²Π½Ρ‹ΠΌ Π½ΡƒΠ»ΡŽ. Π’ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ пСрСдаСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ инициализируСтся сСмафор. Π”Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ°Ρ Ρ€Π°Π±ΠΎΡ‚Π° с ΡΠ΅ΠΌΠ°Ρ„ΠΎΡ€ΠΎΠΌ осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ sem_wait () ΠΈ sem_post (). ЕдинствСнным Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ sem_wait () слуТит ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ сСмафора. Ѐункция sem_wait () приостанавливаСт Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²Ρ‹Π·Π²Π°Π²ΡˆΠ΅Π³ΠΎ Π΅Π΅ ΠΏΠΎΡ‚ΠΎΠΊΠ° Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ сСмафора Π½Π΅ ΡΡ‚Π°Π½Π΅Ρ‚ большС нуля, Π·Π°Ρ‚Π΅ΠΌ функция ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ сСмафора Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅. Ѐункция sem_post (), Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ сСмафора, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±Ρ‹Π» Π΅ΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½, Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ. ΠŸΡ€ΠΈΡΠ²ΠΎΠΈΠ² сСмафору Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0, наша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° создаСт ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ sem_wait (). Π­Ρ‚Π° функция Π²Π΅Ρ€Π½Π΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ функция ΠΏΠΎΡ‚ΠΎΠΊΠ° Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ sem_post ().

ΠŸΡ€ΠΈ отрисовкС Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ redraw_state () Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΉ ΠΌΡ‹ ΡΠ½Π°Ρ‡Π°Π»Π° ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌ сСмафор для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΡŽ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ нСсколько ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ sem_wait (&console). Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ «ΠΏΡ€ΠΎΠ±Π΅Π³Π°Π΅ΠΌ» ΠΏΠΎ Π²ΡΠ΅ΠΌ машинам for (j=0;j ΠΈ, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ ΡΠΎΡΡ‚ояния, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π½Π°Ρ…. машина, Π΄Π΅Π»Π°Π΅ΠΌ отрисовку. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

if (states[j]. state = = 2) {

move (30, 35);

addch (states[j]. name);

Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС, Ссли машина находится Π² ΡΠΎΡΡ‚оянии 2, Π° ΡΡ‚ΠΎ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ занял ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΡΡ‚Π°Π½Ρ†ΠΈΡŽ Π·Π°ΠΏΡ€Π°Π²ΠΊΠΈ, ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅ΠΌ курсов Π² 30 строку Π½Π° 35 символ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Π½Π° ΡΠΊΡ€Π°Π½ имя Π°Π²Ρ‚ΠΎΠΌΠ°ΡˆΠΈΠ½Ρ‹ (Π±ΡƒΠΊΠ²Ρƒ).

Π’ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ занимаСтся сСмафор станции ΠΈ ΠΌΡ‹ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌ ΠΏΠΎΠΊΠ° машина заправится (sleep (FUEL_TIME)). ПослС этого состояниС ΠΌΠ°ΡˆΠΈΠ½Ρ‹ мСняСтся Π½Π° 4 ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅Ρ‚ся сСмафор станции. БостояниС ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Π½Π΅ ΡΠ»ΡƒΡ‡Π°ΠΉΠ½ΠΎ мСняСтся с 2 сразу Π½Π° 4. Π­Ρ‚ΠΎ ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ΡΡ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ состояния 2 ΠΈ 3 ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ нахоТдСния автомобиля Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΈΠ»ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΉ станции Π·Π°ΠΏΡ€Π°Π²ΠΊΠΈ соотвСтствСнно. Π’ΠΎ Π΅ΡΡ‚ΡŒ, Ссли машина Π·Π°ΠΏΡ€Π°Π²Π»ΡΠ»Π°ΡΡŒ Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΉ станции, Ρ‚ΠΎ Π·Π°ΠΏΡ€Π°Π²ΠΊΠ° Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π½Π΅ Π½ΡƒΠΆΠ½Π° ΠΈ Π°Π²Ρ‚ΠΎ двиТСтся ΠΊ ΠΊΠ°ΡΡΠ΅.

Аналогично обрабатываСтся процСсс ΠΎΠΏΠ»Π°Ρ‚Ρ‹ Π·Π° Π·Π°ΠΏΡ€Π°Π²ΠΊΡƒ. Машина ΠΆΠ΄Π΅Ρ‚ освобоТдСния сСмафора кассы ΠΈ, Ссли сСмафор свободСн, Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ кассу ΠΈ ΠΆΠ΄Π΅Ρ‚ врСмя KASSA_TIME. Π—Π°Ρ‚Π΅ΠΌ сСмафор кассы освобоТдаСтся ΠΈ ΠΌΠ°ΡˆΠΈΠ½Π° ΠΏΠΎΠΊΠΈΠ΄Π°Π΅Ρ‚ Π·Π°ΠΏΡ€Π°Π²ΠΊΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π΅ ΠΌΠ΅ΡΡ‚ΠΎ Ρƒ ΠΊΠ°ΡΡΡ‹ занял Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ.

На Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с Π΄Π΅ΡΡΡ‚ΡŒΡŽ машинами:

Рис. 1. Окно Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° с Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· Ρ€ΠΈΡΡƒΠ½ΠΊΠ° 1, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС Mac OS X Leopard (v10.5.6). Π”Π°Π½Π½Ρ‹ΠΉ успСх обусловлСн Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Mac OS X ΡΠ²Π»ΡΠ΅Ρ‚ся Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½ΠΎΠΉ, Ρ‚. Π΅. Π΅Π΅ ΡΠ΄Ρ€ΠΎ базируСтся Π½Π° Π΄Π²ΡƒΡ… источниках: ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ — ΠΏΡ€ΠΈΠΌΠ΅Ρ€ классичСского микроядра, взятый ΠΈΠ· ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Mach. А Π²Ρ‚ΠΎΡ€ΠΎΠΉ содСрТит ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° FreeBSD, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, Π² ΡΠ²ΠΎΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, основан Π½Π° Unix. ИмСнно это ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄Π°Π½Π½ΠΎΠ³ΠΎ курсового ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΊΠ°ΠΊ Π² Linux систСмС, Ρ‚Π°ΠΊ ΠΈ Π² Mac OS X. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° графичСская схСма ядра Mac OS X.

Рис. 2. Π―Π΄Ρ€ΠΎ XNU (X is Not Unix)

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° создавалась Π² ΡΡ€Π΅Π΄Π΅ Mac OS X ΠΏΡ€ΠΈ использовании ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ X-Code, содСрТащСго компилятор GCC (GNU Compiler Collection), ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° Midnight Commander (mc) для консоли (Π’Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°). Π’ΠΎ Π²Ρ€Π΅ΠΌΡ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ я ΡΡ‚олкнулся с Ρ‚Ρ€ΡƒΠ΄Π½ΠΎΡΡ‚ΡŒΡŽ компиляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½ΠΎΠΉ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ (ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ Curses. h). ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π±Ρ‹Π»Π° устранСна ΠΏΡ€ΠΈ установкС Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΠΎΠΉ вСрсии Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ (5.7).

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ Ρ…ΠΎΠ΄Π΅ курсового проСктирования Π±Ρ‹Π»Π° написана ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π² ΡΠΎΠΎΡ‚вСтствии с Ρ‚рСбованиями задания, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ·ΡƒΡ‡Π΅Π½Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ ΡΡ€Π΅Π΄ΡΡ‚Π²Π° программирования Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС Mac OS X ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ языка Π‘ΠΈ. Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ прСдставлСния сСмафоров ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ оТидания события, ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ создания ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΠΈΡ… ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. Π˜Π·ΡƒΡ‡Π΅Π½Ρ‹ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΎΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠ΅ΠΌΡ‹ программирования Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Π‘ΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Unix API.

Бписок ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… источников

.

1. Болски М. И., Π―Π·Ρ‹ΠΊ программирования Π‘ΠΈ. Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ: ΠŸΠ΅Ρ€. Ρ Π°Π½Π³Π». — Πœ.: Π Π°Π΄ΠΈΠΎ ΠΈ ΡΠ²ΡΠ·ΡŒ, 1988. — 96с.: ΠΈΠ».

2. ЀлорСнсов А. Н. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы для программиста: Π£Ρ‡Π΅Π±Π½ΠΎΠ΅ пособиС. Омск: Π˜Π·Π΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ ΠžΠΌΠ“Π’Π£, 2005. 240 с.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ рСсурсы:

1. http://ru.wikipedia.org/

2. http:// citforum.ru/programming/unix/ipc_intro/

3. http://torrentmac.ru/forum/

4. http://maccentre.ru/

5. http://insanelymac.com

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ