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

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

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

Рисунок 9.10. ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, выполняСмых процСссом ΠΏΠΎΠ΄ΠΊΠ°Ρ‡ΠΊΠΈ

АрхитСктура ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы UNIX (Π›ΠŸ) - pic_78.png

Рисунок 9.11. Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° процСссов Π² случаС Ρ€Π°Π·Π±ΠΈΠ²ΠΊΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠ² Π½Π° части

9.2 ΠŸΠžΠ”ΠšΠΠ§ΠšΠ ПО Π—ΠΠŸΠ ΠžΠ‘Π£

Алгоритм ΠΏΠΎΠ΄ΠΊΠ°Ρ‡ΠΊΠΈ страниц памяти поддСрТиваСтся Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π°Ρ… со страничной ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ памяти ΠΈ с ЦП, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ [27]. Π’ систСмах с ΠΏΠΎΠ΄ΠΊΠ°Ρ‡ΠΊΠΎΠΉ страниц ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ограничСния Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ процСсса, связанныС с объСмом доступной физичСской памяти. НапримСр, Π² ΠΌΠ°ΡˆΠΈΠ½Π°Ρ… с объСмом физичСской памяти 1 ΠΈ 2 ΠœΠ±Π°ΠΉΡ‚Π° ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ процСссы Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 4 ΠΈΠ»ΠΈ 5 ΠœΠ±Π°ΠΉΡ‚. ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ процСсса, связанноС с объСмом адрСсуСмой Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ памяти, остаСтся Π² силС ΠΈ здСсь. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ процСсс ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒΡΡ Π² физичСской памяти, ядру приходится динамичСски Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Π΅Π³ΠΎ части ΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΈΡ…, нСсмотря Π½Π° отсутствиС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… частСй. Π’ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ΅ ΠΏΠΎΠ΄ΠΊΠ°Ρ‡ΠΊΠΈ страниц всС ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π½ΠΎΠ³ΠΎ процСссу Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°.

ΠŸΡ€ΠΎΡ†Π΅ΡΡΡ‹ стрСмятся ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ нСбольшими порциями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅Π½ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌΠΈ Ρ†ΠΈΠΊΠ»Π°ΠΌΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΈΠΌΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² нСбольшиС ΠΏΠΎΠ΄Π½Π°Π±ΠΎΡ€Ρ‹, располагаСмыС Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΌ пространствС процСсса. Π’ этом состоит ΡΡƒΡ‚ΡŒ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° "Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ". Π”Π΅Π½Π½ΠΈΠ½Π³ΠΎΠΌ [Denning 68] Π±Ρ‹Π»ΠΎ сформулировано понятиС Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ мноТСства процСсса ΠΊΠ°ΠΊ совокупности страниц, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… процСссом Π² послСдних n ссылках Π½Π° адрСсноС пространство памяти; число n называСтся ΠΎΠΊΠ½ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ мноТСства. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ мноТСство процСсса являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΎΡ‚ Ρ†Π΅Π»ΠΎΠ³ΠΎ, Π² основной памяти ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒΡΡ большС процСссов ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Ρ‚Π΅ΠΌΠΈ систСмами, Π³Π΄Π΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ базируСтся Π½Π° ΠΏΠΎΠ΄ΠΊΠ°Ρ‡ΠΊΠ΅ процСссов, Ρ‡Ρ‚ΠΎ Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ систСмы. Когда процСсс обращаСтся ΠΊ страницС, ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π² Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ мноТСствС, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ошибка, ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ядро ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ мноТСство процСсса, Π² случаС нСобходимости подкачивая страницы с внСшнСго устройства.

На РисункС 9.12 ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… процСссом ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ страниц, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΡ… Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ мноТСства с ΠΎΠΊΠ½Π°ΠΌΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² ΠΏΡ€ΠΈ условии соблюдСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° замСщСния "стариков" (замСщСния страниц ΠΏΡƒΡ‚Π΅ΠΌ ΠΎΡ‚ΠΊΠ°Ρ‡ΠΊΠΈ Ρ‚Π΅Ρ…, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π΄ΠΎΠ»Π³ΠΎ Π½Π΅ Π±Ρ‹Π»ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΉ). По ΠΌΠ΅Ρ€Π΅ выполнСния процСсса Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ мноТСство видоизмСняСтся Π² соотвСтствии с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ процСссом указатСлями страниц; ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΎΠΊΠ½Π° Π²Π»Π΅Ρ‡Π΅Ρ‚ Π·Π° собой ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ мноТСства ΠΈ, с Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, сокращСниС числа ошибок Π² Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ процСсса. ИспользованиС Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ мноТСства Π½Π΅ практикуСтся, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ очСрСдности слСдования ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ страниц ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎ Π±Ρ‹ слишком Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π·Π°Ρ‚Ρ€Π°Ρ‚. ΠŸΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ соотвСтствиС ΠΌΠ΅ΠΆΠ΄Ρƒ измСняСмым Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ мноТСством ΠΈ пространством процСсса достигаСтся ΠΏΡƒΡ‚Π΅ΠΌ установки Π±ΠΈΡ‚Π° упоминания (reference bit) ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ страницС памяти, Π° Ρ‚Π°ΠΊΠΆΠ΅ пСриодичСским опросом ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ страниц. Если Π½Π° страницу Π±Ρ‹Π»Π° сдСлана ссылка, эта страница Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ мноТСство; Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС ΠΎΠ½Π° "Π΄ΠΎΠ·Ρ€Π΅Π²Π°Π΅Ρ‚" Π² памяти Π² ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΈ своСй ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ.

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

9.2.1 Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ подсистСмой замСщСния страниц

Для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ управлСния ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ Π½Π° машинном (Π½ΠΈΠ·ΠΊΠΎΠΌ) ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΈ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° замСщСния страниц ядро ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ 4 основныС структуры Π΄Π°Π½Π½Ρ‹Ρ…: записи Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ страниц, дСскрипторы дисковых Π±Π»ΠΎΠΊΠΎΠ², Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ содСрТимого страничных Π±Π»ΠΎΠΊΠΎΠ² (page frame data table β€” сокращСнно: pfdata) ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ использования области ΠΏΠΎΠ΄ΠΊΠ°Ρ‡ΠΊΠΈ. ΠœΠ΅ΡΡ‚ΠΎ для Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ pfdata выдСляСтся ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· Π½Π° всС врСмя ΠΆΠΈΠ·Π½ΠΈ систСмы, для Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΆΠ΅ структур страницы памяти Π²Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ΡΡ динамичСски.

Из Π³Π»Π°Π²Ρ‹ 6 Π½Π°ΠΌ извСстно, Ρ‡Ρ‚ΠΎ каТдая ΠΎΠ±Π»Π°ΡΡ‚ΡŒ располагаСт своими Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ страниц, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… осущСствляСтся доступ ΠΊ физичСской памяти. КаТдая запись Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ страниц (Рисунок 9.13) состоит ΠΈΠ· физичСского адрСса страницы, ΠΊΠΎΠ΄Π° Π·Π°Ρ‰ΠΈΡ‚Ρ‹, Π² разрядах ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΡ€Π°Π²Π° доступа процСсса ΠΊ страницС (Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅, запись ΠΈ исполнСниС), Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠΌ замСщСния страниц:

β€’ Π±ΠΈΡ‚ доступности

β€’ Π±ΠΈΡ‚ упоминания

β€’ Π±ΠΈΡ‚ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ

β€’ Π±ΠΈΡ‚ копирования ΠΏΡ€ΠΈ записи

β€’ "возраст" страницы

Установка Π±ΠΈΡ‚Π° доступности ΡΠ²ΠΈΠ΄Π΅Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΡƒΠ΅Ρ‚ ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ содСрТимого страницы памяти, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΈΠ· Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π±ΠΈΡ‚ доступности Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½, Π½Π΅ слСдуСт с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ссылка Π½Π° страницу нСдопустима, Π² Ρ‡Π΅ΠΌ ΠΌΡ‹ убСдимся ΠΏΠΎΠ·ΠΆΠ΅. Π‘ΠΈΡ‚ упоминания устанавливаСтся Π² Ρ‚ΠΎΠΌ случаС, Ссли процСсс Π΄Π΅Π»Π°Π΅Ρ‚ ссылку Π½Π° страницу, Π° Π±ΠΈΡ‚ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ β€” Π² Ρ‚ΠΎΠΌ случаС, Ссли процСсс скоррСктировал содСрТимоС страницы. Установка Π±ΠΈΡ‚Π° копирования ΠΏΡ€ΠΈ записи, производимая Π²ΠΎ врСмя выполнСния систСмной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ fork, ΡΠ²ΠΈΠ΄Π΅Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΡƒΠ΅Ρ‚ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ядру Π² случаС, ΠΊΠΎΠ³Π΄Π° процСсс ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΡƒΠ΅Ρ‚ содСрТимоС страницы, слСдуСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π΅Π΅ Π½ΠΎΠ²ΡƒΡŽ копию. НаконСц, "возраст" страницы Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π΅Π΅ прСбывания Π² составС Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ мноТСства процСсса. Π‘ΠΈΡ‚Ρ‹ доступности, копирования ΠΏΡ€ΠΈ записи ΠΈ "возраст" страницы ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ ядром, Π±ΠΈΡ‚Ρ‹ упоминания ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ β€” Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌ ΠΏΡƒΡ‚Π΅ΠΌ; Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ 9.2.4 Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… эти возмоТности Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€ΠΎΠΉ.

АрхитСктура ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы UNIX (Π›ΠŸ) - pic_79.png

Рисунок 9.12. Π Π°Π±ΠΎΡ‡Π΅Π΅ мноТСство процСсса

АрхитСктура ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы UNIX (Π›ΠŸ) - pic_80.png

Рисунок 9.13. Записи Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ страниц ΠΈ дСскрипторы дисковых Π±Π»ΠΎΠΊΠΎΠ²

КаТдая запись Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ страниц связана с дСскриптором дискового Π±Π»ΠΎΠΊΠ°, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΌ Π΄ΠΈΡΠΊΠΎΠ²ΡƒΡŽ копию Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ страницы (Рисунок 9.13). ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ процСссы, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π·Π΄Π΅Π»ΡΠ΅ΠΌΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ, ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ ΠΊ ΠΎΠ±Ρ‰ΠΈΠΌ записям Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ страниц ΠΈ ΠΊ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ дСскрипторам дисковых Π±Π»ΠΎΠΊΠΎΠ². Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ страницы располагаСтся Π»ΠΈΠ±ΠΎ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ Π±Π»ΠΎΠΊΠ΅ Π½Π° устройствС Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ, Π»ΠΈΠ±ΠΎ Π² исполняСмом Ρ„Π°ΠΉΠ»Π΅, Π»ΠΈΠ±ΠΎ Π²ΠΎΠΎΠ±Ρ‰Π΅ отсутствуСт Π½Π° устройствС Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ. Если страница находится Π½Π° устройствС Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ, Π² дСскрипторС дискового Π±Π»ΠΎΠΊΠ° содСрТится логичСский Π½ΠΎΠΌΠ΅Ρ€ устройства ΠΈ Π½ΠΎΠΌΠ΅Ρ€ Π±Π»ΠΎΠΊΠ°, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚Ρ‹ΡΠΊΠ°Ρ‚ΡŒ содСрТимоС страницы. Если страница содСрТится Π² исполняСмом Ρ„Π°ΠΉΠ»Π΅, Π² дСскрипторС дискового Π±Π»ΠΎΠΊΠ° располагаСтся Π½ΠΎΠΌΠ΅Ρ€ логичСского Π±Π»ΠΎΠΊΠ° Π² Ρ„Π°ΠΉΠ»Π΅ с содСрТимым страницы; ядро ΠΌΠΎΠΆΠ΅Ρ‚ быстро ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ этот Π½ΠΎΠΌΠ΅Ρ€ Π² адрСс Π½Π° дискС. Π’ дСскрипторС дискового Π±Π»ΠΎΠΊΠ° Ρ‚Π°ΠΊΠΆΠ΅ имССтся информация ΠΎ Π΄Π²ΡƒΡ… устанавливаСмых Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ exec особых условиях: страница ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ Π½Π΅ΠΉ заполняСтся ("demand fill") ΠΈΠ»ΠΈ обнуляСтся ("demand zero"). РазъяснСния ΠΏΠΎ этому ΠΏΠΎΠ²ΠΎΠ΄Ρƒ Π΄Π°ΡŽΡ‚ΡΡ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ 9.2.1.2.

Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ pfdata описываСтся каТдая страница физичСской памяти. Записи Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ проиндСксированы ΠΏΠΎ Π½ΠΎΠΌΠ΅Ρ€Ρƒ страницы ΠΈ состоят ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ»Π΅ΠΉ:

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