Paging in Operating sustav (OS): što je, prednosti, primjer

⚡ Pametni sažetak

Straničenje je tehnika upravljanja memorijom koja pohranjuje procese u stranice fiksne veličine i učitava ih u fizičke memorijske okvire jednake veličine, omogućujući operativnom sustavu korištenje nepovezane memorije, izbjegavanje vanjske fragmentacije i brži pristup podacima.

  • 📄 Definicija: Straničenje dijeli logičku memoriju na stranice fiksne veličine, a fizičku memoriju na jednake okvire, mapiraping jedna stranica u jedan okvir.
  • 🗺️ Tablica stranica: Operativni sustav koristi tablicu stranica za prevođenje svakog logičkog broja stranice u njegovu fizičku adresu okvira.
  • 🛡️ Zaštita: Bit valjanosti/nevaljanosti na svakom unosu tablice stranica štiti memoriju i označava kojim stranicama proces može pristupiti.
  • ✅ Prednosti: Straničenje uklanja vanjsku fragmentaciju i omogućuje zamjenuping između stranica jednake veličine i okvira jednostavno i brzo.
  • ⚠️ Kompromisi: Straničenje može uzrokovati unutarnju fragmentaciju i opterećenje tablice stranica, dok segmentacija umjesto toga koristi segmente promjenjive veličine koji odgovaraju strukturi programa.
  • 🤖 Kut umjetne inteligencije: Strojno učenje prilagođava odluke o zamjeni stranica, a Copilot pomaže u pisanju koda za straničenje i prevođenje adresa.

Paging in Operating sustav

Što je straničenje u OS-u?

Prijelom je mehanizam pohrane koji omogućuje OS-u dohvaćanje procesa iz sekundarne memorije u glavnu memoriju u obliku stranica. U metodi straničenja, glavna memorija je podijeljena na male blokove fizičke memorije fiksne veličine, koji se nazivaju okviri. Veličina okvira održava se istom kao i veličina stranice kako bi se postigla maksimalna iskorištenost glavne memorije i izbjegla vanjska fragmentacija. Straničenje se koristi za brži pristup podacima i logičan je koncept.

Primjer straničenja u OS-u

Da biste razumjeli kako se stranice mapiraju u okvire, razmotrite jednostavan primjer. Ako je veličina glavne memorije 16 KB, a veličina okvira 1 KB, tada je glavna memorija podijeljena u kolekciju od 16 okvira od po 1 KB.

U sustavu postoje 4 odvojena procesa, a to su A1, A2, A3 i A4, svaki veličine 4 KB. Ovdje su svi procesi podijeljeni na stranice veličine 1 KB, tako da operativni sustav može pohraniti jednu stranicu u jedan okvir.

Na početku procesa, svi okviri ostaju prazni, tako da se sve stranice procesa pohranjuju na susjedni način.

Primjer straničenja u OS-u sa stranicama učitanim uzastopno

U ovom primjeru možete vidjeti da se A2 i A4 nakon nekog vremena premještaju u stanje čekanja. Stoga osam okvira postaje prazno, a druge stranice mogu se učitati u te prazne blokove. Proces A5, veličine 8 stranica (8 KB), čeka u redu čekanja.

Primjer straničenja u OS-u s procesom učitanim u nepovezane okvire

Sada je u memoriji dostupno osam nepovezanih okvira, a straničenje nudi fleksibilnost pohranjivanja procesa na različitim mjestima. To omogućuje OS-u da učita stranice procesa A5 umjesto A2 i A4.

Što je Paging Protection?

Proces straničenja zaštićen je umetanjem dodatnog bita koji se naziva bit valjanosti/nevaljanosti. Zaštita memorije u straničenju postiže se povezivanjem zaštitnih bitova sa svakom stranicom. Ti bitovi povezani su sa svakim unosom u tablicu stranica i određuju dopuštenu zaštitu na odgovarajućoj stranici.

Prednosti straničenja

Evo prednosti korištenja metode straničenja:

  • Jednostavan je za korištenje upravljanje memorijom algoritam.
  • Nema potrebe za vanjskom fragmentacijom.
  • Razmijenitiping lako je između stranica jednake veličine i okvira stranica.

Nedostaci straničenja

Evo nedostataka i mana straničenja:

  • Može uzrokovati unutarnju fragmentaciju.
  • Tablice stranica troše dodatnu memoriju.
  • Straničenje na više razina može dovesti do opterećenja memorijske reference.

Što je segmentacija?

Segmentacija funkcionira gotovo slično kao i straničenje. Jedina razlika između njih je u tome što su segmenti promjenjive duljine, dok su kod metode straničenja stranice uvijek fiksne veličine.

Segment programa uključuje glavnu funkciju programa, strukture podataka, pomoćne funkcije i tako dalje. OS održava tablicu mapiranja segmenata za sve procese. Također uključuje popis slobodnih memorijskih blokova, zajedno s njihovom veličinom, brojevima segmenata i memorijskim lokacijama u glavnoj memoriji ili virtualna memorija.

Prednosti segmentacije

Evo prednosti i koristi segmentacije:

  • Nudi zaštitu unutar segmenata.
  • Dijeljenje možete postići tako da segmenti referenciraju više procesa.
  • Ne uzrokuje unutarnju fragmentaciju.
  • Tablice segmenata koriste manje memorije od straničenja.

Nedostaci segmentacije

Evo nedostataka i nedostataka segmentacije:

  • U metodi segmentacije, procesi se učitavaju i uklanjaju iz glavne memorije. Stoga se slobodni memorijski prostor dijeli na male dijelove, što može stvoriti problem vanjske fragmentacije.
  • To je skup algoritam za upravljanje memorijom.

Pitanja i odgovori

Do greške stranice dolazi kada proces zatraži stranicu koja se trenutno ne nalazi u glavnoj memoriji. Operativni sustav pauzira proces, dohvaća stranicu iz sekundarne memorije u slobodni okvir, a zatim nastavlja izvršavanje.

Tablica stranica je struktura podataka koju operativni sustav čuva za svaki proces. Ona preslikava svaki logički broj stranice na fizički okvir koji sadrži tu stranicu, omogućujući ispravno prevođenje adrese tijekom izvršavanja.

TLB je mala, brza predmemorija koja pohranjuje nedavne mape od stranice do okvirapings. Ubrzava prijevod adresa izbjegavanjem potpunog pretraživanja tablice stranica u memoriji za često pristupane stranice.

Stranica je blok procesa fiksne veličine u logičkoj memoriji, dok je okvir blok fizičke memorije iste veličine. Straničenje učitava svaku stranicu u točno jedan slobodan okvir.

Straničenje na zahtjev učitava stranicu u memoriju samo kada se proces stvarno referencira na nju, umjesto da se cijeli proces učitava unaprijed. To štedi memoriju i ubrzava pokretanje procesa.

Unutarnja fragmentacija troši prostor unutar dodijeljenog okvira kada ga stranica ne ispuni u potpunosti. Vanjska fragmentacija ostavlja raspršene slobodne praznine između alokacija. Straničenje uklanja vanjsku fragmentaciju, ali i dalje može uzrokovati unutarnju fragmentaciju.

Modeli strojnog učenja predviđaju buduće reference stranica kako bi vodili odluke o zamjeni stranica i prethodnom dohvaćanju. Ove tehnike umjetne inteligencije imaju za cilj smanjiti stopu pogrešaka stranica i poboljšati korištenje memorije u podatkovnim centrima i cloud sustavima.

Da. GitHub Copilot može generirati FIFO, LRU i Optimal kod za zamjenu stranica, plus simulacije straničenja u C-u. Java, ili PythonUvijek provjerite broj grešaka i rubne slučajeve prije nego što se oslonite na izlaz.

Sažmite ovu objavu uz: