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

РСализация ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π΅Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ свободных участков памяти, ΠΏΡ€ΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠΈ памяти динамичСскими Ρ€Π°Π·Π΄Π΅Π»Π°ΠΌΠΈ

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

Листинг ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. РаспрСдСлСниС памяти динамичСскими Ρ€Π°Π·Π΄Π΅Π»Π°ΠΌΠΈ. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅ΠΌΡ‹Π΅ Ρ€Π°Π·Π΄Π΅Π»Ρ‹. Π’Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ динамичСской памяти ΠΈ Π΄Π΅Ρ„рагмСнтация свободных участков памяти. Π’Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ памяти динамичСскими Ρ€Π°Π·Π΄Π΅Π»Π°ΠΌΠΈ1. 1. Π’ΠΈΠΏΡ‹ адрСсов. Бписок Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹. РаспрСдСлСниС памяти фиксированными Ρ€Π°Π·Π΄Π΅Π»Π°ΠΌΠΈ. Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

  • 1. Π’Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ памяти динамичСскими Ρ€Π°Π·Π΄Π΅Π»Π°ΠΌΠΈ
    • 1. 1. Π’ΠΈΠΏΡ‹ адрСсов
    • 1. 2. РаспрСдСлСниС памяти фиксированными Ρ€Π°Π·Π΄Π΅Π»Π°ΠΌΠΈ
    • 1. 3. РаспрСдСлСниС памяти динамичСскими Ρ€Π°Π·Π΄Π΅Π»Π°ΠΌΠΈ
    • 1. 4. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅ΠΌΡ‹Π΅ Ρ€Π°Π·Π΄Π΅Π»Ρ‹
  • 2. Π’Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ динамичСской памяти ΠΈ Π΄Π΅Ρ„рагмСнтация свободных участков памяти
  • 3. Листинг ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
  • 4. Бписок Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹

РСализация ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π΅Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ свободных участков памяти, ΠΏΡ€ΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠΈ памяти динамичСскими Ρ€Π°Π·Π΄Π΅Π»Π°ΠΌΠΈ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

1. Π’Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ памяти динамичСскими Ρ€Π°Π·Π΄Π΅Π»Π°ΠΌΠΈ

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

1.1. Π’ΠΈΠΏΡ‹ адрСсов

Для ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ [1] ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° (ΠΌΠ΅Ρ‚ΠΊΠΈ), Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ адрСса ΠΈ Ρ„изичСскиС адрСса (рисунок 1).

Π‘ΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° присваиваСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΡ€ΠΈ написании ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚мичСском языкС ΠΈΠ»ΠΈ ассСмблСрС.

Рис. 1. Π’ΠΈΠΏΡ‹ адрСсов

ЀизичСскиС адрСса ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ [1] Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌ ячССк ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти, Π³Π΄Π΅ Π² Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ располоТСны ΠΈΠ»ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ располоТСны ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΎΡ‚ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… адрСсов ΠΊ Ρ„изичСским ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ двумя способами. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ случаС Π·Π°ΠΌΠ΅Π½Ρƒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… адрСсов Π½Π° Ρ„изичСскиС Π΄Π΅Π»Π°Π΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ систСмная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°ΡŽΡ‰ΠΈΠΉ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ [7]. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°ΡŽΡ‰ΠΈΠΉ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ Ρƒ Π½Π΅Π³ΠΎ исходных Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌ адрСсС физичСской памяти, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ прСдстоит Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, прСдоставлСнной транслятором ΠΎΠ± Π°Π΄Ρ€Π΅ΡΠ½ΠΎ-зависимых константах ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, выполняСт Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, совмСщая Π΅Π΅ Ρ Π·Π°ΠΌΠ΅Π½ΠΎΠΉ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… адрСсов физичСскими.

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