Ieteicams, 2024

Redaktora Izvēle

Atšķirība starp blakus esošo un nesaistīto atmiņas sadalījumu

Atmiņa ir liels baitu klāsts, kur katram baitam ir sava adrese. Atmiņas iedalījumu var iedalīt divās metodēs, kas saistītas ar atmiņu sadalījumu un atmiņas nesadalīšanu. Galvenā atšķirība starp blakus esošo un nesaistīto atmiņu piešķiršanu ir tāda, ka blakus esošais atmiņas sadalījums piešķir atmiņas secīgus blokus procesam, kas pieprasa atmiņu, bet nesaistītā atmiņas sadalījums piešķir atsevišķus atmiņas blokus citā vietā atmiņas telpā nekoncentrētā veidā process, kas prasa atmiņu. Ar salīdzinājuma diagrammu, kas parādīta zemāk, mēs apspriedīsim vēl dažas atšķirības starp blakus esošo un nesaistīto atmiņu sadalījumu.

Salīdzinājuma diagramma

Pamatojoties uz salīdzinājumuBlakus atmiņaNeatbilstoša atmiņas piešķiršana
PamataPiešķir secīgus atmiņas blokus procesam.Procesam piešķir atsevišķus atmiņas blokus.
Pieskaitāmās izmaksasNepieciešamajam atmiņas sadalījumam nav adreses tulkojuma pieskaitīšanas procesa izpildes laikā.Nesaskaņotai atmiņu piešķiršanai ir pieskaitāms adreses tulkojums procesa izpildes laikā.
Izpildes līmenisProcess veic fatser darbību blakus atmiņāProcess salīdzinoši salīdzinoši veic lēnāku atmiņu sadalījumu.
RisinājumsAtmiņas vieta ir jāsadala fiksētā lieluma nodalījumā, un katrs nodalījums ir piešķirts tikai vienam procesam.Sadaliet procesu vairākos blokos un ievietojiet tos dažādās atmiņas daļās atbilstoši pieejamajai atmiņas vietai.
TabulaTabulu uztur operētājsistēma, kas saglabā pieejamo un aizņemto nodalījumu sarakstu atmiņas telpāKatram procesam jāsaglabā tabula, kas satur katra bloka bāzes adreses, kas iegūtas ar atmiņā esošu procesu.

Atšķirīgas atmiņas piešķiršanas definīcija

Operētājsistēmai un lietotāja procesiem jābūt izvietotiem galvenajā atmiņā. Līdz ar to galvenā atmiņa ir sadalīta divos nodalījumos: vienā nodalījumā operētājsistēma dzīvo un citā gadījumā lietotāja procesi atrodas. Parastos apstākļos vairākiem lietotāju procesiem ir jāatrodas atmiņā vienlaicīgi, tāpēc ir svarīgi apsvērt atmiņas sadalījumu procesos.

Blakus atmiņa ir viena no atmiņas piešķiršanas metodēm. Blakus atmiņā, kad process pieprasa atmiņu, procesam tiek piešķirts viens blakus esošais atmiņas bloku elements atbilstoši tās prasībām.

Blakus esošo atmiņas sadalījumu var panākt, dalot atmiņu fiksētā lieluma nodalījumā un piešķirot katram nodalījumam tikai vienu procesu. Bet tas radīs daudzprogrammu pakāpi, ierobežojot atmiņā izdarīto fiksēto nodalījumu skaitu. Turpmākā atmiņas sadalīšana arī noved pie iekšējās fragmentācijas . Tāpat, ja procesam piešķirtais fiksēta izmēra atmiņas bloks ir nedaudz lielāks nekā prasība, tad bloka atmiņu atstarpi sauc par iekšējo fragmentāciju. Ja process, kas atrodas nodalījumā, izbeidz nodalījumu, tas kļūst pieejams citam procesam.

Mainīgā sadalīšanas shēmā operētājsistēma uztur tabulu, kas norāda, kura atmiņas nodalīšana ir brīva un ko aizņem procesi. Blakus atmiņu sadalījums nostiprina procesa izpildi, samazinot adrešu tulkošanas pieskaitāmās izmaksas.

Definīcija Neatbilstoša atmiņas piešķiršana

Neietilpstošā atmiņas sadalīšana ļauj procesam iegūt vairākus atmiņas blokus citā vietā atmiņā atbilstoši tās prasībām. Neatbilstošs atmiņas sadalījums arī samazina atmiņas izšķērdēšanu, ko izraisa iekšējā un ārējā fragmentācija. Tā kā tiek izmantotas iekšējās un ārējās fragmentācijas laikā izveidotās atmiņas caurumi.

Peidžerēšana un segmentācija ir divi veidi, kas ļauj procesa fiziskajai adreses telpai būt nesaistītai. Neietilpstošajā atmiņas sadalījumā process tiek sadalīts blokos (lapās vai segmentos), kas tiek ievietoti dažādās atmiņas vietas zonās atbilstoši atmiņas pieejamībai.

Neatbilstošajam atmiņas sadalījumam ir priekšrocība samazināt atmiņas zudumu, bet tā palielina adrešu tulkošanas pieskaitāmās izmaksas . Tā kā procesa daļas tiek ievietotas citā vietā atmiņā, tas palēnina atmiņas izpildi, jo laiks tiek patērēts adrešu tulkošanā.

Šeit operētājsistēmai ir jāsaglabā tabula katram procesam, kurā ir katra bloka bāzes adrese, kuru process iegūst atmiņas telpā.

Galvenās atšķirības starp blakus esošo un nesaistīto atmiņas sadalījumu

  1. Galvenā atšķirība starp blakusesošo un nesaistīto atmiņu piešķiršanu ir tā, ka blakus esošais sadalījums piešķir procesam vienu vienotu atmiņas bloku, bet nesaistītais sadalījums procesu sadala vairākos blokos un ievieto atmiņas citā adreses telpā, ti, nesaskaņotā veidā .
  2. Blakus atmiņā, process tiek saglabāts blakus atmiņā; tāpēc izpildes laikā nav jāmaksā par adreses tulkojumu . Bet nesaistītā atmiņu iedalījumā, procesa izpildes laikā ir virsraksta adrešu tulkojums, jo procesu bloki tiek izplatīti atmiņas telpā.
  3. Turpmākajā atmiņā saglabātais process tiek izpildīts ātrāk, salīdzinot ar procesu, kas tiek glabāts nesaistītā atmiņā.
  4. Risinājums blakusesošajam atmiņas sadalījumam ir sadalīt atmiņas vietu fiksētā lieluma nodalījumā un piešķirt nodalījumu tikai vienam procesam. No otras puses, bezkontakta atmiņas sadalīšanas procesā process ir sadalīts vairākos blokos, un katrs bloks tiek novietots dažādās atmiņas vietās atbilstoši atmiņas pieejamībai.
  5. Blakus atmiņā, operētājsistēmai ir jāsaglabā tabula, kas norāda, kurš nodalījums ir pieejams procesam un kuru aizņem process. Nesaskaņotajā atmiņas sadalījumā tiek saglabāta tabula katram procesam, kas norāda katra procesa bloka bāzes adresi, kas ievietota atmiņas telpā.

Secinājums:

Blakus esošais atmiņas sadalījums nerada pieskaitāmās izmaksas un nostiprina procesa izpildes ātrumu, bet palielina atmiņas zudumu . Savukārt nesaskaņotais atmiņas sadalījums rada adreses tulkošanas pieskaitāmās izmaksas, samazina procesa izpildes ātrumu, bet palielina atmiņas izmantošanu . Tātad, abām piešķiršanas metodēm ir plusi un mīnusi.

Top