Отпремање презентације траје. Молимо да сачекате

Отпремање презентације траје. Молимо да сачекате

Управљање меморијом Улога меморије у рачунарском систему

Сличне презентације


Презентација на тему: "Управљање меморијом Улога меморије у рачунарском систему"— Транскрипт презентације:

1 Управљање меморијом Улога меморије у рачунарском систему
Концепт голе машине Резидентни монитор Пребацивање Вишеструке партиције Страничење Сегментација

2 Улога меморије у рачунарском систему
Код мултипрограмирања процеси деле меморију као један од најважнијих ресурса система. Меморија је дугачак низ речи или бајтова који имају своје адресе. Интеракција са меморијом одвија са кроз низ читања или уписа у локације са одређеном адресом.

3 Улога меморије у рачунарском систему
CPU прибавља инструкције и податке из меморије и смешта податке у меморију. CPU меморија У/И систем Сл. 1. Централни положај меморије у рачунарском систему.

4 Улога меморије у рачунарском систему
Кориснички програм пролази кроз неколико корака пре свог извршења. Адресе се могу представљати на различите начине у току тих корака. Адресе у изворном програму су у општем случају симболичке (имена променљивих).

5 Улога меморије у рачунарском систему
Компилатор обично повезује те симболичке адресе са релокатибилним адресама. Едитор веза или пунилац повезује релокатибилне адресе са апсолутним адресама. Свако повезивање је пресликавање из једног адресног простора у други.

6 Улога меморије у рачунарском систему
Најзад се програм преслика у апсолутне адресе и напуни у меморију. Током извршења програма приступа се његовим инструкцијама и подацима генерисањем њихових апсолутних адреса.

7 Улога меморије у рачунарском систему
По завршетку програма меморијски простор који му је додељен се проглашава слободним и наредни програм може да се изврши.

8 Улога меморије у рачунарском систему
Типичан циклус инструкције почиње њеним прибављањем из меморије. Инструкција се декодира и по потреби прибављају њени операнди из меморије. После извршења резултат се смешта у меморију.

9 Улога меморије у рачунарском систему
Јединица меморије види само низ меморијских адреса незнајући како су оне генерисане (који је адресни начин рада употребљен) и шта оне представљају (инструкције или податке).

10 Концепт голе машине Најједноставнији алгоритам за управљање меморијом је непостојећи! Корисник има на располагању голу машину и потуну контролу над меморијским простором. Корисник 32K Сл. 2. Гола машина.

11 Концепт голе машине Предности:
максимална флексибилност и једноставност; не постоји потреба за посебним хардвером или системским софтвером.

12 Концепт голе машине Озбиљан недостатак је у томе што овај систем не пружа никакве услуге! Стога се овај систем користи само у специјални апликацијама где корисници захтевају флексибилност и једноставност.

13 Резидентни монитор Следећа једноставна шема је да се меморија подели на два дела, један за корисника и један за резидентни монитор оперативног система. Постоји могућност да се резидентни монитор смести или на почетак или на крај меморије што зависи од локације вектора прекида.

14 Резидентни монитор Сл. 3. Резидентни монитор. Монитор Корисник 32K
32K Корисник Заштитни регистар Сл. 3. Резидентни монитор.

15 Резидентни монитор Потребно је штитити код и податке монитора.
Ову врсту заштите пружа хардвер и може се обавити на више начина.

16 Резидентни монитор Меморија CPU
Заштитни регистар Меморија адреса  (заштитни регистар) да не адреса Трап адресна грешка Сл. 4. Хардверска адресна заштита за резидентни монитор.

17 Резидентни монитор Заштитни регистар се може имплементирати на више начина. Један приступ је да се у хардвер угради константна вредност заштитне адресе, али ово решење није флексибилно. Често се користи посебан заштитни регистар у који се садржај уписује привилегованим инструкцијама.

18 Резидентни монитор Следећи проблем је пуњење корисничког програма.
Иако адресни простор почиње од адресе 0, прва адреса у корисничком програму није 0, већ прва адреса после вредности у заштитном регистру.

19 Резидентни монитор Ова промена утиче на адресе коришћене у корисничком програму. Повезивање инструкција и података са меморијским адресама може се извршити или у време компилације или у време пуњења.

20 Резидентни монитор Ако је вредност заштитне адресе позната у време компилације може се генерисати апсолутни кôд. Овај кôд ће почети од заштитне адресе и простираће се нагоре. Међутим, ако се вредност заштитне адресе промени потребно је поновно превођење програма.

21 Резидентни монитор Алтернатива је да компилатор генерише релокатибилни кôд. Тада се повезивање одлаже до момента пуњења. У том случају, код промене заштитне адресе, потребно је само поновно пуњење програма.

22 Резидентни монитор У оба случаја, вредност заштитне адресе мора да буде статичка током извршења програма. Али, има случајева када је пожељно да се мења величина монитора током извршења програма, а тиме и заштитна адреса. Такав кôд се понекад назива транзиентни мониторски кôд.

23 Резидентни монитор Постоје два начина да се модификује основна шема да би се омогућила динамичка промена величине монитора. Оперативни ситем рачунара PDP-11 користио је приступ приказан на следећој слици.

24 Сл. 5. Пуњење корисничког програма у вишу меморију.
Резидентни монитор Монитор 65K Корисник Заштитни регистар Сл. 5. Пуњење корисничког програма у вишу меморију.

25 Резидентни монитор Општији приступ, коришћен код рачунара CDC 6600, је да се одложи повезивање адреса до времена извршења.

26 Сл. 6. Динамичка релокација која користи релокациони регистар.
Резидентни монитор CPU 1400 Меморија Логичка адреса 0346 + Базни регистар Физичка адреса 1746 Сл. 6. Динамичка релокација која користи релокациони регистар.

27 Пребацивање Управљање меморијом са резидентним монитором је једнокорисничка шема. Ипак, прва два time-sharing система (CTSS и Q-32) користила су ову шему.

28 Пребацивање Остатак меморије био је расположив кориснику који се извршавао, а када се прелазило на следећег корисника садржај корисничке меморије пребацивао се на секундарни меморијски медијум.

29 Сл. 7. Пребацивање два корисника на секундарни меморијски медијум.
Ова шема назива се пребацивање (swapping). Монитор Корисник Заштитни регистар Главна меморија Корисник 1 Корисник 2 Секундарна меморија Сл. 7. Пребацивање два корисника на секундарни меморијски медијум.

30 Пребацивање Време пребацивања контекста може се смањити преклапањем пребацивања и извршења програма. Монитор Бафер 1 Бафер 2 Кориснички програм који се извршава Заштитни регистар Простор монитора Сл. 8. Преклопљено пребацивање.

31 Вишеструке партиције Конфигурација меморије произашла из преклопљеног пребацивања ефективно је иста као код мултипрограмирања. Сада се меморија дели на известан број области или партиција.

32 Вишеструке партиције Две основне шеме су могуће:
Додела меморије у непрекидни партицијама фиксне дужине (MFT). Додела меморије у непрекидним партицијама променљиве дужине (МVТ).

33 Вишеструке партиције И овде је потребно штитити код и податке из једне области од програма из друге области. Ова заштита може се обавити помоћу два регистра. Ти регистри садрже горњу и доњу границу адреса које програм може легално да генерише, и могу се дефинисати као: Гранични регистри. Базни и гранични регистар. Монитор Корисник 1 Корисник 2 Корисник 4 Горња граница Корисник 3 Доња граница 128K Сл. 9. Два гранична регистра који дефинишу логички адресни простор.

34 Вишеструке партиције Партиције фиксне дужине. Послови који пристижу у систем смештају се у ред спремних послова. Планер послова води рачуна о потребама сваког посла и расположивим меморијским областима.

35 Вишеструке партиције Код доделе меморије могуће је да свака партиција има свој ред или да планер послова из јединственог реда бира послове (best-fit-only или best-available-fit). Јављају се интерна и екстерна фрагментација.

36 Вишеструке партиције Партиције променљиве дужине. Како би се минимизирале обе фрагментације користи се динамичка промена величине партиција. На почетку је читава меморија расположена и назива се рупа. Послу се додељује онолико меморије колико му је потребно.

37 Вишеструке партиције Ослобођена меморија поново поста је рупа а више суседних рупа уједињује се у једну. Алгоритми доделе меморије су first-fit и best-fit. И овде постоји проблем екстерне фрагментације који се може решавати компакцијом.

38 Страничење MVT шема показује екстерну фрагментацију, најчешће стога што расположива меморија није континуална. Страничење дозвољава да меморија додељена једном програму буде неконтинуална.

39 Сл. 10. Хардвер потребан код страничења.
Страничење CPU p d f Физичка меморија Логичка адреса Физичка адреса Странична табела Сл. 10. Хардвер потребан код страничења.

40 Сл. 11. Странични модел логичке и физичке меморије.
Страничење Страница 0 Страница 1 Страница 2 Страница 3 Логичка меморија 1 4 3 7 2 Странична табела Физичка меморија 5 6 Број оквира Сл. 11. Странични модел логичке и физичке меморије.

41 Страничење Величина странице одређена је хардверски и обично је степен двојке. Ако је P величина странице, тада логичка адреса U даје број странице p и офсет d на следећи начин: p = U div P d = U mod P

42 Страничење Странична табела се имплементира као скуп специјализованих регистара. Диспечер CPU-a пуни те регистре као што то ради и са осталим. Инструкције које пуне или модификују страничну табелу су привилеговане и само ОС може да их извршава.

43 Страничење Ако странична табела није релативно мала онда се она држи у меморији, а базни регистар страничне табеле (Page Table Base Register - PTBR) садржи њену адресу.

44 Страничење Проблем је што ради приступа неком податку морамо да имамо два обраћања меморији. Решење овог проблема је да се користи асоцијативна меморија.

45 Страничење Проценат успешног проналажења жељене ставке у асоцијативној меморији назива се фактор поготка (hit ratio).

46 Страничење Ако је фактор поготка 80% а време претраживања асоцијативне меморије 50ns и време приступа меморији 750ns, тада можемо израчунати ефективно време приступа меморији као tef = 0.80(50+750)+0.20( )

47 Сегментација Сегментација је шема која подржава поглед на меморију као на скуп сегмената различите дужине. Логички адресни простор је колекција сегмената који имају име (број) и дужину. Адресе специфицирају име сегмента и офсет унутар сегмента. За пресликавање адреса користи се сегментна табела.

48 Сл. 12. Хардвер за подршку сегментацији.
Сегментација CPU граница база Сегментна табела s < (s,d) + Меморија da ne Трап адресна грешка Сл. 12. Хардвер за подршку сегментацији.

49 Сегментација Као и странична табела, и сегментна табела може бити смештена у асоцијативној или у оперативној меморији.

50 Сегментација Када је број сегмената релативно велики табела се смешта у меморију а на њу указује базни регистар сегментне табеле (Segment Table Base Register - STBR). Како број сегмената може да варира користи се и регистар дужине сегментне табеле (Segment Table Length Register - STRL).

51 Сегментација И страничење и сегментација имају своје предности и недостатке. Могуће је комбиновати ова два приступа и добити шеме сегментирано страничење и страничну сегментација.


Скинути ppt "Управљање меморијом Улога меморије у рачунарском систему"

Сличне презентације


Реклама од Google