Hvad er Memory Management?
Hukommelsesstyring er processen med at kontrollere og koordinere computerhukommelse ved at tildele dele kendt som blokke til forskellige kørende programmer for at optimere systemets samlede ydeevne.
Det er den vigtigste funktion i et operativsystem, der styrer den primære hukommelse. Det hjælper processer til at bevæge sig frem og tilbage mellem hovedhukommelsen og eksekveringsdisken. Det hjælper OS med at holde styr på hver hukommelsesplacering, uanset om det er allokeret til en eller anden proces, eller om det forbliver gratis.
I dette operativsystem tutorial lærer du:
- Hvad er Memory Management?
- Hvorfor bruge Memory Management?
- Hukommelsesstyringsteknikker
- Hvad er bytte?
- Hvad er hukommelsestildeling?
- Hvad er personsøgning?
- Hvad er fragmenteringsmetode?
- Hvad er segmentering?
- Hvad er dynamisk belastning?
- Hvad er dynamisk sammenkædning?
- Forskellen mellem statisk og dynamisk belastning
- Forskellen mellem statisk og dynamisk sammenkædning
Hvorfor bruge Memory Management?
Her er grunde til at bruge hukommelsesadministration:
- Det giver dig mulighed for at kontrollere, hvor meget hukommelse der skal tildeles til processer, der bestemmer hvilken processor, der skal få hukommelse på hvilket tidspunkt.
- Spor når beholdning frigøres eller ikke tildeles. Ifølge det opdateres status.
- Det tildeler pladsen til applikationsrutiner.
- Det sørger også for, at disse applikationer ikke forstyrrer hinanden.
- Hjælper med at beskytte forskellige processer fra hinanden
- Det placerer programmerne i hukommelsen, så hukommelsen udnyttes fuldt ud.
Hukommelsesstyringsteknikker
Her er nogle af de mest afgørende teknikker til hukommelsesadministration:
Enkelt sammenhængende fordeling
Det er den nemmeste teknik til hukommelsesadministration. I denne metode er alle typer computers hukommelse undtagen en lille del, der er forbeholdt OS, tilgængelig for et program. For eksempel tildeler MS-DOS-operativsystemet hukommelse på denne måde. Et integreret system kører også på en enkelt applikation.
Partitioneret fordeling
Det deler den primære hukommelse i forskellige hukommelsespartitioner, som for det meste er sammenhængende hukommelsesområder. Hver partition gemmer al information til en bestemt opgave eller et job. Denne metode består i at tildele en partition til et job, når det starter og ikke tildeles, når det slutter.
Paged Memory Management
Denne metode opdeler computerens hovedhukommelse i enheder i fast størrelse kendt som siderammer. Denne hardwarehukommelsesstyringsenhed kortlægger sider i rammer, som skal tildeles på sidebasis.
Segmenteret hukommelsesstyring
Segmenteret hukommelse er den eneste hukommelsesadministrationsmetode, der ikke giver brugerens program et lineært og sammenhængende adresseområde.
Segmenter har brug for hardwaresupport i form af en segmenttabel. Den indeholder den fysiske adresse på sektionen i hukommelse, størrelse og andre data som adgangsbeskyttelsesbits og status.
Hvad er bytte?
Byt er en metode, hvor processen midlertidigt skal byttes fra hovedhukommelsen til opbevaringsbutikken. Det vil senere blive bragt tilbage i hukommelsen for at fortsætte udførelsen.
Baggrundsbutik er en harddisk eller en anden sekundær lagerenhed, der skal være stor nok til at kunne rumme kopier af alle hukommelsesbilleder til alle brugere. Det er også i stand til at tilbyde direkte adgang til disse hukommelsesbilleder.
Fordele ved at bytte
Her er de største fordele / fordele ved at bytte:
- Det tilbyder en højere grad af multiprogrammering.
- Tillader dynamisk flytning. For eksempel, hvis adressebinding ved udførelsestid bruges, kan processer byttes forskellige steder. Ellers i tilfælde af kompilering og indlæsning af bindinger, skal processer flyttes til samme sted.
- Det hjælper med at få en bedre udnyttelse af hukommelsen.
- Minimum spild af CPU-tid ved afslutning, så den let kan anvendes til en prioritetsbaseret planlægningsmetode for at forbedre dens ydeevne.
Hvad er hukommelsestildeling?
Hukommelsestildeling er en proces, hvor computerprogrammer tildeles hukommelse eller plads.
Her er hovedhukommelsen opdelt i to typer partitioner
- Lav hukommelse - Operativsystemet findes i denne type hukommelse.
- Høj hukommelse - Brugerprocesser opbevares i høj hukommelse.
Partition Allocation
Hukommelse er opdelt i forskellige blokke eller partitioner. Hver proces fordeles i henhold til kravet. Partitionstildeling er en ideel metode til at undgå intern fragmentering.
Nedenfor er de forskellige skemaer for fordeling af partitioner:
- First Fit : I denne type fit tildeles partitionen, som er den første tilstrækkelige blok fra begyndelsen af hovedhukommelsen.
- Bedste pasform: Det tildeler processen til den partition, der er den første mindste partition blandt de gratis partitioner.
- Worst Fit: Det tildeler processen til partitionen, som er den største tilstrækkeligt frit tilgængelige partition i hovedhukommelsen.
- Next Fit: Den ligner for det meste den første Fit, men denne Fit søger efter den første tilstrækkelige partition fra det sidste tildelingspunkt.
Hvad er personsøgning?
Personsøgning er en lagringsmekanisme, der giver OS mulighed for at hente processer fra den sekundære lagring til hovedhukommelsen i form af sider. I personsøgningsmetoden er hovedhukommelsen opdelt i små blokke af fysisk hukommelse i fast størrelse, der kaldes rammer. Størrelsen på en ramme skal holdes den samme som på en side for at få maksimal udnyttelse af hovedhukommelsen og for at undgå ekstern fragmentering. Personsøgning bruges til hurtigere adgang til data, og det er et logisk koncept.
Hvad er fragmentering?
Processer lagres og fjernes fra hukommelsen, hvilket skaber ledig hukommelsesplads, som er for lille til at blive brugt af andre processer.
Efter nogle gange kaldes fragmentering for processer, der ikke er i stand til at allokere til hukommelsesblokke, fordi dens lille størrelse og hukommelsesblokke altid forbliver ubrugte. Denne type problemer opstår under et dynamisk hukommelsesallokeringssystem, når gratis blokke er ret små, så det er ikke i stand til at opfylde nogen anmodning.
To typer af fragmenteringsmetoder er:
- Ekstern fragmentering
- Intern fragmentering
- Ekstern fragmentering kan reduceres ved at omarrangere hukommelsesindholdet for at placere al ledig hukommelse sammen i en enkelt blok.
- Den interne fragmentering kan reduceres ved at tildele den mindste partition, som stadig er god nok til at bære hele processen.
Hvad er segmentering?
Segmenteringsmetoden fungerer næsten på samme måde som personsøgning. Den eneste forskel mellem de to er, at segmenter har variabel længde, mens siderne i personsøgningsmetoden altid har fast størrelse.
Et programsegment inkluderer programmets hovedfunktion, datastrukturer, hjælpefunktioner osv. OS opretholder en segmentkorttabel til alle processerne. Den indeholder også en liste over gratis hukommelsesblokke sammen med dens størrelse, segmentnumre og dens hukommelsesplaceringer i hovedhukommelsen eller den virtuelle hukommelse.
Hvad er dynamisk belastning?
Dynamisk indlæsning er en rutine for et program, der først indlæses, før programmet kalder det. Alle rutiner skal være indeholdt på disken i et flytbart belastningsformat. Hovedprogrammet indlæses i hukommelsen og udføres. Dynamisk indlæsning giver også bedre hukommelsespladsudnyttelse.
Hvad er dynamisk sammenkædning?
Linking er en metode, der hjælper OS med at indsamle og flette forskellige moduler af kode og data til en enkelt eksekverbar fil. Filen kan indlæses i hukommelsen og udføres. OS kan linke biblioteker på systemniveau til et program, der kombinerer bibliotekerne ved indlæsningstid. I dynamisk sammenkædningsmetode linkes biblioteker på udførelsestidspunktet, så programkodestørrelsen kan forblive lille.
Forskellen mellem statisk og dynamisk belastning
Statisk indlæsning | Dynamisk belastning |
Statisk indlæsning bruges, når du vil indlæse dit program statisk. Så på tidspunktet for kompilering vil hele programmet blive linket og kompileret uden behov for noget eksternt modul eller programafhængighed. | I et dynamisk indlæst program leveres referencer, og indlæsningen foretages på tidspunktet for udførelsen. |
Ved indlæsningstidspunkt indlæses hele programmet i hukommelsen og starter dets udførelse. | Rutiner i biblioteket indlæses kun i hukommelsen, når de kræves i programmet. |
Forskellen mellem statisk og dynamisk sammenkædning
Her er hovedforskellen mellem statisk og dynamisk sammenkædning:
Statisk sammenkædning | Dynamisk sammenkædning |
Statisk sammenkædning bruges til at kombinere alle andre moduler, der kræves af et program, i en enkelt eksekverbar kode. Dette hjælper OS med at forhindre enhver afhængighed af runtime. | Når der bruges dynamisk sammenkædning, behøver det ikke at linke det faktiske modul eller bibliotek med programmet. Brug i stedet for det en henvisning til det dynamiske modul, der blev leveret på tidspunktet for kompilering og sammenkædning. |
Resumé:
- Hukommelsesstyring er processen med at kontrollere og koordinere computerhukommelse ved at tildele dele kaldet blokke til forskellige kørende programmer for at optimere systemets samlede ydeevne.
- Det giver dig mulighed for at kontrollere, hvor meget hukommelse der skal tildeles til processer, der bestemmer hvilken processor, der skal få hukommelse på hvilket tidspunkt.
- I enkelt sammenhængende allokering er alle typer computerhukommelser undtagen en lille del, der er reserveret til operativsystemet, tilgængelig for en applikation
- Partitioneret allokeringsmetode opdeler primærhukommelse i forskellige hukommelsespartitioner, som for det meste er sammenhængende hukommelsesområder
- Paged Memory Management-metode opdeler computerens hovedhukommelse i enheder i fast størrelse, der kaldes siderammer
- Segmenteret hukommelse er den eneste hukommelsesadministrationsmetode, der ikke giver brugerens program et lineært og sammenhængende adresseområde.
- Byt er en metode, hvor processen midlertidigt skal byttes fra hovedhukommelsen til opbevaringsbutikken. Det vil senere blive bragt tilbage i hukommelsen for at fortsætte udførelsen.
- Hukommelsestildeling er en proces, hvor computerprogrammer tildeles hukommelse eller plads.
- Personsøgning er en lagringsmekanisme, der giver OS mulighed for at hente processer fra den sekundære lagring til hovedhukommelsen i form af sider.
- Fragmentering refererer til tilstanden på en disk, hvor filer er opdelt i stykker spredt rundt om disken.
- Segmenteringsmetoden fungerer næsten på samme måde som personsøgning. Den eneste forskel mellem de to er, at segmenter har variabel længde, mens siderne i personsøgningsmetoden altid har fast størrelse.
- Dynamisk indlæsning er en rutine for et program, der først indlæses, før programmet kalder det.
- Linking er en metode, der hjælper OS med at indsamle og flette forskellige moduler af kode og data til en enkelt eksekverbar fil.