Table of Contents
Strategiile de alocare a memoriei sunt esențiale pentru gestionarea modului în care un sistem de operare atribuie spațiu proceselor. Aceste strategii influențează performanța sistemului, fragmentarea și eficiența globală. Înțelegerea diferitelor abordări ajută la optimizarea utilizării resurselor și la stabilitatea sistemului.
Alocarea de memorie conciguoasă
Această metodă atribuie un singur bloc de memorie contiguu unui proces. Este simplu de implementat, dar poate duce la fragmentare externă, în cazul în care memoria liberă este împărțită în segmente mici, inutilizabile. În timp, această fragmentare poate reduce memoria disponibilă pentru noi procese.
Alocarea de memorie necontegioasă
În această abordare, memoria este alocată în blocuri non-adiacente, permițând o utilizare mai flexibilă a spațiului disponibil. Tehnici precum paging și segmentare se încadrează în această categorie. Aceste metode ajută la reducerea fragmentării externe și la îmbunătățirea utilizării memoriei.
Paging și segmentare
Paging împarte memoria în pagini fixe-size, care pot fi atribuite independent. Segmentare, pe de altă parte, împarte memoria în segmente variabile-dimensionate bazate pe diviziuni logice, cum ar fi funcții sau structuri de date. Ambele tehnici au ca scop optimizarea utilizării memoriei și reducerea fragmentării.
Strategii de fragilizare a echilibrului și eficiență
- Cel mai bun set: Allocează cel mai mic bloc disponibil care se potrivește procesului, reducând risipa, dar crescând timpul de căutare.
- Prima potrivire: Găsește primul bloc suficient de mare, oferind alocarea mai rapidă cu riscul unei fragmentări sporite.
- Ultima potrivire: Continua cautarea din ultima pozitie alocata, echilibrarea vitezei si fragmentarea.
- Sistem Buddy: Memoria divide în blocuri de dimensiuni care sunt puteri de două, simplificarea fuzionării și divizare pentru a gestiona fragmentarea.