logo

Atmiņas pārvaldība operētājsistēmā (OS)

Šajā rakstā mēs detalizēti sapratīsim atmiņas pārvaldību.

kā savienot pārī Beats austiņas

Ko jūs domājat ar atmiņas pārvaldību?

Atmiņa ir svarīga datora daļa, kas tiek izmantota datu glabāšanai. Tās pārvaldība ir ļoti svarīga datorsistēmai, jo datorsistēmā pieejamās galvenās atmiņas apjoms ir ļoti ierobežots. Jebkurā laikā par to sacenšas daudzi procesi. Turklāt, lai palielinātu veiktspēju, vienlaikus tiek izpildīti vairāki procesi. Šim nolūkam mums galvenajā atmiņā ir jāsaglabā vairāki procesi, tāpēc ir vēl svarīgāk tos efektīvi pārvaldīt.

Atmiņas pārvaldība

Atmiņas pārvaldības loma

Tālāk ir norādītas svarīgas atmiņas pārvaldības lomas datorsistēmā:

  • Atmiņas pārvaldnieks tiek izmantots, lai sekotu līdzi atmiņas vietu statusam neatkarīgi no tā, vai tā ir brīva vai piešķirta. Tā risina primāro atmiņu, nodrošinot abstrakcijas, lai programmatūra uztvertu, ka tai ir piešķirta liela atmiņa.
  • Atmiņas pārvaldnieks ļauj datoriem ar nelielu galvenās atmiņas apjomu izpildīt programmas, kas pārsniedz pieejamās atmiņas apjomu vai apjomu. Tas tiek darīts, pārvietojot informāciju uz priekšu un atpakaļ starp primāro atmiņu un sekundāro atmiņu, izmantojot mijmaiņas jēdzienu.
  • Atmiņas pārvaldnieks ir atbildīgs par katram procesam piešķirtās atmiņas aizsardzību, lai to nesabojātu cits process. Ja tas netiek nodrošināts, sistēma var izrādīties neparedzama darbība.
  • Atmiņas pārvaldniekiem jānodrošina atmiņas vietas koplietošana starp procesiem. Tādējādi divas programmas var atrasties vienā atmiņas vietā, lai gan dažādos laikos.

Atmiņas pārvaldības metodes:

Atmiņas pārvaldības metodes var iedalīt šādās galvenajās kategorijās:

  • Blakus esošās atmiņas pārvaldības shēmas
  • Nepieguļošās atmiņas pārvaldības shēmas
Atmiņas pārvaldība

Blakus esošās atmiņas pārvaldības shēmas:

Blakusatmiņas pārvaldības shēmā katra programma aizņem vienu blakus esošo krātuves vietu bloku, t.i., atmiņas vietu kopu ar secīgām adresēm.

Atsevišķas blakus esošās atmiņas pārvaldības shēmas:

Viena blakus esošās atmiņas pārvaldības shēma ir vienkāršākā atmiņas pārvaldības shēma, kas tiek izmantota agrākās datorsistēmu paaudzes. Šajā shēmā galvenā atmiņa ir sadalīta divās blakus esošās zonās vai nodalījumos. Operētājsistēmas pastāvīgi atrodas vienā nodalījumā, parasti apakšējā atmiņā, un lietotāja process tiek ielādēts otrā nodalījumā.

Vienas blakus esošās atmiņas pārvaldības shēmu priekšrocības:

  • Vienkārši īstenojams.
  • Viegli pārvaldāms un projektējams.
  • Vienas blakus esošās atmiņas pārvaldības shēmā, kad process ir ielādēts, tam tiek piešķirts pilns procesora laiks, un neviens cits procesors to nepārtrauks.

Vienas blakus esošās atmiņas pārvaldības shēmu trūkumi:

  • Atmiņas vietas izšķērdēšana neizmantotās atmiņas dēļ, jo process, visticamāk, neizmantos visu pieejamo atmiņas vietu.
  • CPU paliek dīkstāvē, gaidot, kamēr disks ielādēs bināro attēlu galvenajā atmiņā.
  • To nevar izpildīt, ja programma ir pārāk liela, lai tajā ietilptu visa pieejamā galvenās atmiņas vieta.
  • Tas neatbalsta daudzprogrammēšanu, t.i., tas nevar apstrādāt vairākas programmas vienlaikus.

Vairākas sadalīšanas:

Vienotā blakus esošās atmiņas pārvaldības shēma ir neefektīva, jo tā ierobežo datorus, lai vienlaikus izpildītu tikai vienu programmu, kā rezultātā tiek zaudēta atmiņas vieta un CPU laiks. Neefektīvas CPU izmantošanas problēmu var pārvarēt, izmantojot daudzprogrammēšanu, kas ļauj vienlaikus darboties vairāk nekā vienai programmai. Lai pārslēgtos starp diviem procesiem, operētājsistēmām ir jāielādē abi procesi galvenajā atmiņā. Operētājsistēmai ir jāsadala pieejamā galvenā atmiņa vairākās daļās, lai galvenajā atmiņā ielādētu vairākus procesus. Tādējādi galvenajā atmiņā vienlaikus var atrasties vairāki procesi.

Vairākas sadalīšanas shēmas var būt divu veidu:

  • Fiksēta sadalīšana
  • Dinamiskā sadalīšana

Fiksēta sadalīšana

Galvenā atmiņa ir sadalīta vairākos fiksēta izmēra nodalījumos fiksētā nodalījuma atmiņas pārvaldības shēmā vai statiskā sadalīšanā. Šīs starpsienas var būt vienāda izmēra vai dažāda izmēra. Katrā nodalījumā var būt viens process. Sadaļu skaits nosaka daudzprogrammēšanas pakāpi, t.i., maksimālo procesu skaitu atmiņā. Šie nodalījumi tiek izveidoti sistēmas ģenerēšanas laikā un paliek fiksēti pēc tam.

Fiksētās sadalīšanas atmiņas pārvaldības shēmu priekšrocības:

  • Vienkārši īstenojams.
  • Viegli pārvaldāms un projektējams.

Fiksētās sadalīšanas atmiņas pārvaldības shēmu trūkumi:

  • Šī shēma cieš no iekšējas sadrumstalotības.
  • Sadalījumu skaits tiek norādīts sistēmas ģenerēšanas laikā.

Dinamiskā sadalīšana

Dinamiskā sadalīšana tika izstrādāta, lai pārvarētu fiksētās sadalīšanas shēmas problēmas. Dinamiskajā sadalīšanas shēmā katrs process aizņem tikai tik daudz atmiņas, cik nepieciešams, kad tas tiek ielādēts apstrādei. Pieprasītajiem procesiem tiek piešķirta atmiņa, līdz visa fiziskā atmiņa ir izsmelta vai atlikušās vietas nepietiek, lai noturētu pieprasīšanas procesu. Šajā shēmā izmantotie nodalījumi ir mainīga izmēra, un nodalījumu skaits nav noteikts sistēmas ģenerēšanas laikā.

Dinamiskās sadalīšanas atmiņas pārvaldības shēmu priekšrocības:

  • Vienkārši īstenojams.
  • Viegli pārvaldāms un projektējams.

Dinamiskās sadalīšanas atmiņas pārvaldības shēmu trūkumi:

  • Šī shēma cieš arī no iekšējās sadrumstalotības.
  • Sadalījumu skaits tiek norādīts sistēmas segmentācijas laikā.

Nepieguļošās atmiņas pārvaldības shēmas:

Nesaistītās atmiņas pārvaldības shēmā programma ir sadalīta dažādos blokos un tiek ielādēta dažādās atmiņas daļās, kurām nav obligāti jāatrodas blakus. Šo shēmu var klasificēt atkarībā no bloku lieluma un tā, vai bloki atrodas galvenajā atmiņā vai nē.

Kas ir peidžeru meklēšana?

Peidžeru meklēšana ir paņēmiens, kas novērš prasības par galvenās atmiņas nepārtrauktu piešķiršanu. Šajā gadījumā galvenā atmiņa ir sadalīta fiksēta izmēra fiziskās atmiņas blokos, ko sauc par kadriem. Rāmja izmēram jābūt tādam pašam kā lapas izmēram, lai maksimāli palielinātu galveno atmiņu un izvairītos no ārējas sadrumstalotības.

Peidžeru priekšrocības:

  • Lapas samazina ārējo sadrumstalotību.
  • Vienkārši īstenojams.
  • Efektīva atmiņa.
  • Pateicoties vienāda izmēra rāmjiem, nomaiņa kļūst ļoti vienkārša.
  • To izmanto ātrākai piekļuvei datiem.

Kas ir segmentācija?

Segmentācija ir paņēmiens, kas novērš prasības par galvenās atmiņas nepārtrauktu piešķiršanu. Šajā gadījumā galvenā atmiņa ir sadalīta mainīga izmēra fiziskās atmiņas blokos, ko sauc par segmentiem. Tas ir balstīts uz veidu, kā programmētājs ievēro savas programmas. Izmantojot segmentētu atmiņas piešķiršanu, katrs darbs ir sadalīts vairākos dažāda lieluma segmentos, pa vienam katram modulim. Funkcijas, apakšprogrammas, kaudze, masīvs utt. ir šādu moduļu piemēri.