220 likes | 587 Views
Menaxhimi i Memorjes Faq ëzimi/Memorja virtuale. Ora 7. Hierarkia e memorjeve. Shpejtësia. Kapaciteti. Vetitë: madhësia dhe shpejtësia. Disa definicione. Adresë logjike -adresë e gjeneruar nga CPU (programet aplikative punojnë me adresa logjike)
E N D
Menaxhimi i MemorjesFaqëzimi/Memorja virtuale Ora 7 M-r. Fisnik Dalipi USHT 2009-10
Hierarkia e memorjeve Shpejtësia Kapaciteti M-r. Fisnik Dalipi USHT 2009-10
Vetitë: madhësia dhe shpejtësia M-r. Fisnik Dalipi USHT 2009-10
Disa definicione • Adresë logjike-adresë e gjeneruar nga CPU (programet aplikative punojnë me adresa logjike) • Adresë fizike-adresa që shihet nga njësia e memorjes (ajo që lexohet në regjistrin adresues të memorjes) • Adresë virtuale-adresa logjike gjatë kohës së ekzekutimit të programit • Hapësira adresuese logjike (virtuale)-bashkësia e të gjitha adresave logjike të gjeneruara nga programi • Hapësira adresuese fizike-bashkësia e të gjitha adresave fizike që u përgjigjen adresave logjike përkatëse • Pajisja hardverike Memory Management Unit (MMU)-shfrytëzohet për mapimin nga adresa logjike në atë fizike M-r. Fisnik Dalipi USHT 2009-10
Zgjidhja e problemit të fragmentimit • Krijohet një iluzion për hapësirë të vazhdueshme adresuese • Në realitet, kjo hapësirë nuk është e vazhdueshme • MMU përdoret për kalim nga iluzioni në realitet. Kjo bëhet me faqëzim • Hapësira adresuese e memorjes (fizike dhe virtuale) ndahet në blloqe, faqe (pages) me madhësi të njëjtë • MMU bën pasqyrimin nga faqet virtuale në ato fizike. • Faqet fizike quhen korniza të faqes (frames) M-r. Fisnik Dalipi USHT 2009-10
Ndarja me zhvendosje e zgjedh problemin e fragmentimit duke siguruar blloqe të vazhdueshëm për programet dhe të dhënat. Por nëse bëhet praktikë e shpeshtë, atëherë jo gjithmonë e zvoglon fragmentimin. Faqëzimi totalisht e zgjedh problemin e fragmentimit, duke mundësuar edhe përdorim të memorjes virtuale Principet e faqëzimit Fragmentim M-r. Fisnik Dalipi USHT 2009-10
Për realizim të faqëzimit, memorja fizike ndahet në korniza të faqes (page frames), kurse hapësira adresuese ndahet në faqe (pages). Është teknikë që mundëson mapimin (reflektimin) e faqes së nevojshme të programit në kornizën përkatëse të faqes dhe e kundërta mapimin e faqeve nga kornizat e faqeve në disk. Principet e faqëzimit M-r. Fisnik Dalipi USHT 2009-10
Disa fakte • Adresat virtuale memoruese të proceseve të ndryshëm janë të pavarura, por mund të kenë pjesë të përbashkët. • Faqja virtuale nuk ka memorje të veten (ajo është vetëm koncept). Ajo vendoset në faqen fizike ku formohet memorja reale. • Hapsira fizike e memorjes është e pavarur nga hapsira virtuale, që nënkupton se madhësia e procesit të jetë e pavarur nga memorja fizike që posedohet • Madhësia e faqes është me fuqi 2 (nga 512 bajd deri në 16MB, varësisht nga arkitektura e SK). M-r. Fisnik Dalipi USHT 2009-10
Pjesët e adresës virtuale • Çdo adresë e gjeneruar nga CPU (adresa virtuale) ndahet në dy pjesë: • Numri i faqes (page number) – p • Zhvendosja e faqes (page offset) – d • Numri i faqes përdoret si indeks në tabelën e faqeve (page table) • Përmban adresë bazike për çdo faqe në memorjen fizike • Adresa bazike kombinohet zhvendosjen e faqes që të definohet adresa fizike që dërgohet në njësinë e memorjes M-r. Fisnik Dalipi USHT 2009-10
Tabela e faqeve M-r. Fisnik Dalipi USHT 2009-10
Indeksohet me numrin e faqes virtuale E përmban numrin e kornizës (nëse ka) Përmban bit për mbrojtje Përmban bit për qasje Struktura e tabelës M-r. Fisnik Dalipi USHT 2009-10
Pasqyrimi nga adresa virtuale në atë fizike(reale) M-r. Fisnik Dalipi USHT 2009-10
Shembull • Madhësia e faqes 8KB=8*1024=8192 • MOVE REG, 104852 (104852=12*8192+6548) • Shqyrtohet rreshti i 13 në tabelën e faqeve • Nëse v=0 (faqja virtuale nuk ndodhet në kornizë) page fault • Nëse v=1 lexohet numri i kornizës në memorjen fizike për faqen e 13 virtuale – le të jetë 7 • Përmbajtja e regjistrit dërgohet në lokacionin • 7*8192 + 6548 = 63892 nëpërmjet magjistrales (Normalisht që memorja nuk din për këtë aktivitet të MMU, por ajo vetel e sheh kërkesën për shënimin e lokacionit 63892) M-r. Fisnik Dalipi USHT 2009-10
Ndarja e kornizës së njëjtë M-r. Fisnik Dalipi USHT 2009-10
Ndarja e kornizës së njëjtë • Proceset ndajnë faqe të njëjtë të memorjes me pasqyrimin e faqeve të tyre virtuale në korniza të njëjta memoruese • Në UNIX dhe Windows, proceset që punojnë programin e njëjtë i ndajnë faqet të cilat e përmbajnë atë • Duke kursyer shumë memorje • Duke kursyer kohën e mbushjes së programeve që përdoren më shpesh M-r. Fisnik Dalipi USHT 2009-10
Memorja asociative – Translation Lookahead Buffer • Memorje e vogël asociative në procesor (në MMU) • I përmban rezultatet e pasqyrimit (virtuale-fizike) • Zakonisht përmban 8-32 hyrje • Nëse TLB dështon ti regjistroj pasqyrimet nga faqet virtuale në ato fizike, atëherë faqja fizike kërkohet nëpërmjet tabelave të faqeve në memorje M-r. Fisnik Dalipi USHT 2009-10
Kesh memorja • I përmirëson performansat e memorjes • Mund të jetë: • E kombinuar: instruksione + të dhëna • E ndarë: kesh me instr. + kesh me të dhëna • Mund të organizohet: • Me adresa fizike • Me adresa fizike • Nuk ka nevojë të kërkohet në TLB nëse faqja është në kesh M-r. Fisnik Dalipi USHT 2009-10
Memorja virtuale • Është teknikë që mundëson ekzekutimin e një procesi i cili nuk është patjetër të jetë komplet në memorje • E zgjeron memorjen fizike në disk • Madhësia e procesit nuk është më e limituar me madhësinë e memorjes fizike M-r. Fisnik Dalipi USHT 2009-10
Memorja virtuale M-r. Fisnik Dalipi USHT 2009-10
Menaxhimi me hapësirën virtuale memoruese (Swap) • Ku ndodhet? • Particion i veçantë në disk (UNIX) • Fajll standard (Windows, OS/2) • Madhësia • Fikse (UNIX) • Fikse ose dinamike (Windows, OS/2 M-r. Fisnik Dalipi USHT 2009-10
Segmentimi • Orën e ardhshme!!!! M-r. Fisnik Dalipi USHT 2009-10