Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ «АрхитСктура ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы UNIXΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 9

Автор ΠœΠΎΡ€ΠΈΡ Π‘Π°Ρ…

Ѐайловая систСма состоит ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ логичСских Π±Π»ΠΎΠΊΠΎΠ² Π΄Π»ΠΈΠ½ΠΎΠΉ 512, 1024, 2048 ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ числа Π±Π°ΠΉΡ‚, ΠΊΡ€Π°Ρ‚Π½ΠΎΠ³ΠΎ 512, Π² зависимости ΠΎΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ систСмы. Π Π°Π·ΠΌΠ΅Ρ€ логичСского Π±Π»ΠΎΠΊΠ° Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ΄Π½ΠΎΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы постоянСн, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°Ρ€ΡŒΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Ρ€Π°Π·Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… систСмах Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. ИспользованиС логичСских Π±Π»ΠΎΠΊΠΎΠ² большого Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ диском ΠΈ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ядро смоТСт ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ большС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π·Π° ΠΎΠ΄Π½Ρƒ Π΄ΠΈΡΠΊΠΎΠ²ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ, ΠΈ сокращаСт количСство ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. НапримСр, Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ 1 ΠšΠ±Π°ΠΉΡ‚Π° с диска Π·Π° ΠΎΠ΄Π½Ρƒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ осущСствляСтся быстрСС, Ρ‡Π΅ΠΌ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ 512 Π±Π°ΠΉΡ‚ Π·Π° Π΄Π²Π΅. Однако, Ссли Ρ€Π°Π·ΠΌΠ΅Ρ€ логичСского Π±Π»ΠΎΠΊΠ° слишком Π²Π΅Π»ΠΈΠΊ, ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ объСм памяти ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒΡΡ, это Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² Π³Π»Π°Π²Π΅ 5. Для простоты Ρ‚Π΅Ρ€ΠΌΠΈΠ½ Β«Π±Π»ΠΎΠΊΒ» Π² этой ΠΊΠ½ΠΈΠ³Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для обозначСния логичСского Π±Π»ΠΎΠΊΠ°, ΠΏΡ€ΠΈ этом подразумСваСтся логичСский Π±Π»ΠΎΠΊ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 1 ΠšΠ±Π°ΠΉΡ‚, ΠΊΡ€ΠΎΠΌΠ΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΎΠ³ΠΎΠ²ΠΎΡ€Π΅Π½Π½Ρ‹Ρ… случаСв.

Рисунок 2.3. Π€ΠΎΡ€ΠΌΠ°Ρ‚ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы


Ѐайловая систСма ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ структуру (Рисунок 2.3).

β€’ Π‘Π»ΠΎΠΊ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ располагаСтся Π² Π½Π°Ρ‡Π°Π»Π΅ пространства, ΠΎΡ‚Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ систСму, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ сСкторС, ΠΈ содСрТит ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, которая считываСтся Π² ΠΌΠ°ΡˆΠΈΠ½Ρƒ ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΈΠ»ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. Π₯отя для запуска систСмы трСбуСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π±Π»ΠΎΠΊ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, каТдая файловая систСма ΠΈΠΌΠ΅Π΅Ρ‚ свой (ΠΏΡƒΡΡ‚ΡŒ Π΄Π°ΠΆΠ΅ пустой) Π±Π»ΠΎΠΊ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.

β€’ Π‘ΡƒΠΏΠ΅Ρ€Π±Π»ΠΎΠΊ описываСт состояниС Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы β€” ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΎΠ½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, сколько Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π² Π½Π΅ΠΉ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ, Π³Π΄Π΅ располагаСтся свободноС пространство, доступноС для Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы, ΠΈ другая информация.

β€’ Бписок индСксов Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС располагаСтся вслСд Π·Π° супСрблоком. Администраторы ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ списка индСксов ΠΏΡ€ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы. Π―Π΄Ρ€ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы обращаСтся ΠΊ индСксам, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π² спискС индСксов. Один ΠΈΠ· индСксов являСтся ΠΊΠΎΡ€Π½Π΅Π²Ρ‹ΠΌ индСксом Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы: это индСкс, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ осущСствляСтся доступ ΠΊ структурС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы послС выполнСния систСмной ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ mount (ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ) (Ρ€Π°Π·Π΄Π΅Π» 5.14).

β€’ Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ сразу послС списка индСксов ΠΈ содСрТат Π΄Π°Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅. ΠžΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ взятый ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Π±Π»ΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ Ρ„Π°ΠΉΠ»Ρƒ Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС.

2.2.2 ΠŸΡ€ΠΎΡ†Π΅ΡΡΡ‹

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

ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΠΌ называСтся ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Π½Π°Π±ΠΎΡ€Ρ‹ Π±Π°ΠΉΡ‚ΠΎΠ², ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΌ процСссором ΠΊΠ°ΠΊ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ инструкции (Ρ‚. Π½. «тСкст»), Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ стСковыС структуры. БоздаСтся Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ выполняСтся мноТСство процСссов, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΈΡ… Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ планируСтся ядром, ΠΈ, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, нСсколько процСссов ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ экзСмплярами ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ процСсса Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΡ‡Π½ΠΎΠΌ слСдовании Π½Π°Π±ΠΎΡ€Ρƒ инструкций, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся Π·Π°ΠΌΠΊΠ½ΡƒΡ‚Ρ‹ΠΌ ΠΈ Π½Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π°Π±ΠΎΡ€Ρƒ инструкций Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ процСсса; ΠΎΠ½ считываСт ΠΈ записываСт ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² Ρ€Π°Π·Π΄Π΅Π» Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π² стСк, Π½ΠΎ Π΅ΠΌΡƒ нСдоступны Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ стСки Π΄Ρ€ΡƒΠ³ΠΈΡ… процСссов. Одни процСссы Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ процСссами ΠΈ с ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΌΠΈΡ€ΠΎΠΌ посрСдством ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΉ ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС.

Π‘ практичСской Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния процСсс Π² систСмС UNIX являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ, создаваСмым Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния систСмной ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ fork. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ процСсс, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Π½ΡƒΠ»Π΅Π²ΠΎΠ³ΠΎ, пороТдаСтся Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ запуска Π΄Ρ€ΡƒΠ³ΠΈΠΌ процСссом ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ fork. ΠŸΡ€ΠΎΡ†Π΅ΡΡ, Π·Π°ΠΏΡƒΡΡ‚ΠΈΠ²ΡˆΠΈΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ fork, называСтся Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ, Π° вновь созданный процСсс β€” ΠΏΠΎΡ€ΠΎΠΆΠ΄Π΅Π½Π½Ρ‹ΠΌ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ процСсс ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ родитСля, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ€ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ процСссов. Π―Π΄Ρ€ΠΎ систСмы ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ процСсс ΠΏΠΎ Π΅Π³ΠΎ Π½ΠΎΠΌΠ΅Ρ€Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ называСтся ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ процСсса (PID). НулСвой процСсс являСтся особСнным процСссом, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создаСтся Β«Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽΒ» Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ систСмы; послС пороТдСния Π½ΠΎΠ²ΠΎΠ³ΠΎ процСсса (процСсс 1) Π½ΡƒΠ»Π΅Π²ΠΎΠΉ процСсс становится процСссом ΠΏΠΎΠ΄ΠΊΠ°Ρ‡ΠΊΠΈ. ΠŸΡ€ΠΎΡ†Π΅ΡΡ 1, извСстный ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ init, являСтся ΠΏΡ€Π΅Π΄ΠΊΠΎΠΌ любого Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ процСсса Π² систСмС ΠΈ связан с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ процСссом особым ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, описываСмым Π² Π³Π»Π°Π²Π΅ 7.

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, транслируя исходный тСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, создаСт исполняСмый Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ состоит ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… частСй:

β€’ Π½Π°Π±ΠΎΡ€Π° Β«Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ²Β», ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΡ… Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ Ρ„Π°ΠΉΠ»Π°,

β€’ тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹,

β€’ прСдставлСния Π½Π° машинном языкС Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ значСния ΠΏΡ€ΠΈ запускС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, ΠΈ указания Π½Π° Ρ‚ΠΎ, сколько пространства памяти ядро систСмы Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ ΠΏΠΎΠ΄ Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ bss[6] (ядро устанавливаСт ΠΈΡ… Π² 0 Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ запуска),

β€’ Π΄Ρ€ΡƒΠ³ΠΈΡ… сСкций, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ информация символичСских Ρ‚Π°Π±Π»ΠΈΡ†.

Для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π½Π° РисункС 1.3, тСкст исполняСмого Ρ„Π°ΠΉΠ»Π° прСдставляСт собой сгСнСрированный ΠΊΠΎΠ΄ для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ main ΠΈ copy, ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ относится пСрСмСнная version (вставлСнная Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² послСднСй имСлись Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅), Π° ΠΊ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ β€” массив buffer. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ с языка Π‘ΠΈ для систСмы вСрсии V создаСт ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ Ρ‚Π΅ΠΊΡΡ‚ΠΎΠ²ΡƒΡŽ ΡΠ΅ΠΊΡ†ΠΈΡŽ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π½ΠΎ Π½Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ инструкций ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Π² ΡΠ΅ΠΊΡ†ΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠ°ΠΊ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… вСрсиях систСмы.

Π―Π΄Ρ€ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ исполняСмый Ρ„Π°ΠΉΠ» Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ систСмной ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ exec, ΠΏΡ€ΠΈ этом Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΉ процСсс состоит ΠΏΠΎ мСньшСй ΠΌΠ΅Ρ€Π΅ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… частСй, Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… областСй: тСкста, Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ стСка. ΠžΠ±Π»Π°ΡΡ‚ΠΈ тСкста ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΡ€Ρ€Π΅ΡΠΏΠΎΠ½Π΄ΠΈΡ€ΡƒΡŽΡ‚ с сСкциями тСкста ΠΈ bss-Π΄Π°Π½Π½Ρ‹Ρ… исполняСмого Ρ„Π°ΠΉΠ»Π°, Π° ΠΎΠ±Π»Π°ΡΡ‚ΡŒ стСка создаСтся автоматичСски ΠΈ Π΅Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ динамичСски устанавливаСтся ядром систСмы Π²ΠΎ врСмя выполнСния. Π‘Ρ‚Π΅ΠΊ состоит ΠΈΠ· логичСских записСй Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ, ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅ΠΌΡ‹Ρ… Π² стСк ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π²Ρ‹Ρ‚Π°Π»ΠΊΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… ΠΈΠ· стСка ΠΏΡ€ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π΅ управлСния Π² Π²Ρ‹Π·Π²Π°Π²ΡˆΡƒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ; ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ рСгистр, ΠΈΠΌΠ΅Π½ΡƒΠ΅ΠΌΡ‹ΠΉ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ стСка, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ стСка. Π—Π°ΠΏΠΈΡΡŒ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π΅Π΅ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄Π°Π½Π½Ρ‹Π΅, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для восстановлСния ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ записи Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ, Π² Ρ‚ΠΎΠΌ числС значСния счСтчика ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ указатСля Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ стСка Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ВСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄, ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ΠΌ стСка, Π° ядро систСмы выдСляСт, Ссли Π½ΡƒΠΆΠ½ΠΎ, мСсто ΠΏΠΎΠ΄ стСк. Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π½Π° РисункС 1.3 ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ argc ΠΈ argv, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ fdold ΠΈ fdnew, содСрТащиСся Π² Π²Ρ‹Π·ΠΎΠ²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ main, ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² стСк, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΠ»ΠΎΡΡŒ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ main (ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, ΠΏΠΎ ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ), Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ old ΠΈ new ΠΈ пСрСмСнная count, содСрТащиСся Π² Π²Ρ‹Π·ΠΎΠ²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ copy, ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² стСк Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ обращСния ΠΊ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Рисунок 2.4. Π‘Ρ‚Π΅ΠΊΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ ядра для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ копирования.


ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ процСсс Π² систСмС UNIX ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π² Π΄Π²ΡƒΡ… Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ…, Ρ€Π΅ΠΆΠΈΠΌΠ΅ ядра ΠΈΠ»ΠΈ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΎΠ½ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· этих Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ стСком. Π‘Ρ‚Π΅ΠΊ Π·Π°Π΄Π°Ρ‡ΠΈ содСрТит Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹, Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, выполняСмых Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ. Π‘Π»Π΅Π²Π° Π½Π° РисункС 2.4 ΠΏΠΎΠΊΠ°Π·Π°Π½ стСк Π·Π°Π΄Π°Ρ‡ΠΈ для процСсса, связанного с Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ систСмной ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ write Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ copy. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° запуска процСсса (Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Π°Ρ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ) ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠ»Π°ΡΡŒ ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ main с ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ΠΉ Π΅ΠΉ Π΄Π²ΡƒΡ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², помСстив Π² стСк Π·Π°Π΄Π°Ρ‡ΠΈ запись 1; Π² записи 1 Π΅ΡΡ‚ΡŒ мСсто для Π΄Π²ΡƒΡ… Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ main. Ѐункция main Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ copy с ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ΠΉ Π΅ΠΉ Π΄Π²ΡƒΡ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², old ΠΈ new, ΠΈ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Π² стСк Π·Π°Π΄Π°Ρ‡ΠΈ запись 2; Π² записи 2 Π΅ΡΡ‚ΡŒ мСсто для локальной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ count. НаконСц, процСсс Π°ΠΊΡ‚ΠΈΠ²ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΡΠΈΡΡ‚Π΅ΠΌΠ½ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ write, Π²Ρ‹Π·Π²Π°Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ с Ρ‚Π΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ. КаТдой систСмной ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ соотвСтствуСт Ρ‚ΠΎΡ‡ΠΊΠ° Π²Ρ…ΠΎΠ΄Π° Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ систСмных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ; Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° систСмных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ написана Π½Π° языкС ассСмблСра ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ прСрывания, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡΡΡŒ, ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°ΡŽΡ‚ Β«ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅Β», Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ Π² Ρ€Π΅ΠΆΠΈΠΌ ядра. ΠŸΡ€ΠΎΡ†Π΅ΡΡ ΠΈΡ‰Π΅Ρ‚ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Ρ‚ΠΎΡ‡ΠΊΡƒ Π²Ρ…ΠΎΠ΄Π°, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ систСмной ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ ΠΎΠ½ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π»ΡŽΠ±ΡƒΡŽ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, создавая ΠΏΡ€ΠΈ этом для Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ запись Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ. Когда процСсс выполняСт ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ, ΠΎΠ½ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ€Π΅ΠΆΠΈΠΌ ядра, выполняСт ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ядра ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ стСк ядра.

Π‘Ρ‚Π΅ΠΊ ядра содСрТит записи Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΡ…ΡΡ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ядра. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² стСкС ядра ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ функциям ΠΈ Π΄Π°Π½Π½Ρ‹ΠΌ, относящимся ΠΊ ядру, Π½ΠΎ Π½Π΅ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, конструкция стСка ядра ΠΏΠΎΠ΄ΠΎΠ±Π½Π° конструкции стСка Π·Π°Π΄Π°Ρ‡ΠΈ. Π‘Ρ‚Π΅ΠΊ ядра для процСсса пуст, Ссли процСсс выполняСтся Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ. Π‘ΠΏΡ€Π°Π²Π° Π½Π° РисункС 2.4 прСдставлСн стСк ядра для процСсса выполнСния систСмной ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ write Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ copy. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ выполнСния систСмной ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ write Π±ΡƒΠ΄ΡƒΡ‚ описаны Π² ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»Π°Ρ….