1 / 76

Operatsioonisüsteemid. Операционные системы

Operatsioonisüsteemid. Операционные системы. Virumaa Kolledž TTÜ Lektor Larissa Joonas 2011 7. Mäluhaldus. Mõiste Управление памятью. Понятия. Teemad. Темы. 1 Основное управление памятью . P õhiline m ä lu haldus . 2 Подкачка . Swapping . 3 Виртуальная память . Virtuaalmälu .

svea
Télécharger la présentation

Operatsioonisüsteemid. Операционные системы

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Operatsioonisüsteemid. Операционные системы Virumaa Kolledž TTÜ Lektor Larissa Joonas 2011 7.

  2. Mäluhaldus. MõisteУправление памятью. Понятия

  3. Teemad. Темы 1 Основное управление памятью. Põhiline mäluhaldus. 2 Подкачка. Swapping. 3 Виртуальная память. Virtuaalmälu. 4 Алгоритмы замещения страниц. Lehekülgede vahetuse algorütmid. 5 Моделирование алгоритмов замещения страниц. Lehekülgede vahetuse algorütmide modellerimine. 6 Realisatsioon.Вопросы реализации. 7 Сегментация. Segmentatsioon.

  4. Mäluhaldus .Управление памятью • Mälu hierarhia. Иерархия памяти • Väike kogus kiiret kallist mälu – vahemälu (cache). Небольшое количество быстрой дорогой памяти - кэш • Väheldane kogus keskmise kiirusega peamälu, keskmisega hinnaga. Некоторое количество среднескоростной основной памяти по средней цене • Gigabaite aeglasest odavat kettamälu. Гигабайты медленной, дешевой дисковой памяти • Mälu manager haldab seda hierarhiat.Менеджер памяти управляет этой иерархией

  5. Juhtimise alus mäluhalduses. Основное управление памятьюОднозадачная система без подкачки на диск. Ühe ulessande süsteem ilma kettale laadimiseta. 0xFF.. 0xFF.. 0xFF.. Kolm kerge mälu haldamise moodust.Три простых способа организации памяти Kasutaja programm Kasutaja programm OS ROM-is Kasutaja programm DraiveridROM-is OS RAM-is OS RAM-is 0 0 0

  6. Mälu jaotamise metoodid. Методы распределения памяти Mälu jaotamise metoodid. Методы распределения памяти Välimise mälu kasutamisega. С использованием внешней памяти Ilma välimise mälu kasutamisetaБез использования внешней памяти Lehekülgede saalimine.Страничное распределение Fikseeritud jaotused. Фиксированные разделы Segmentide saalimine.Cегментное распределение Dünaamilised jaotud. Динамические разделы Lk.-segm. saalimine.Cегментно-страничное распределение Ülekantavad jaotused.Перемещаемые разделы Swapping.Свопинг

  7. Fikseeritud suurusega osad. Многозадачность с фиксированными разделами 3 3 • Фиксированные разделы • Erinevad järjekorrad igale osale. Отдельные очереди для всех разделов • Ühisjärjekord. Общая очередь 2 2 1 1 OS OS

  8. Dünaamilised jaotused. Динамические разделы OS OS OS OS 1 6 6 7 7 2 8 8 3 3 3 4 4 5 5 5

  9. Ülekantavad jaotused. Перемещаемые разделы OS OS 1 1 2 2 3 3

  10. Swapping. Подкачка B B • Ruum andmete osa suurenemiseks. Представление пространства для роста области данных • Ruum andmete ja pinu osa suurenemiseks. Представление пространства для роста стека и области данных A Stack A A Data A Prog OS OS

  11. Aadresside häälestamine ja kaitsmine. Настройка адресов и защита • Ei ole võimalik teada täpselt kus mälus on mahutatud programm • Невозможно точно знать, где в памяти может быть размещена программа • Andmete ja koodi aadress ei saa olla absolutne.Адресация данных и кода не может быть абсолютной • Baas- ja piiriregistride kasutamine. Использование базовых и предельных регистров • Baasiregistrisse laaditakse mälu osa alguse aadress. В базовый регистр загружается адрес начала раздела памяти • Aadress on suurem, kui piiriregister on vigane. Адрес больший, чем адрес предельного регистра, считается ошибкой

  12. Mäluhaldus biti massiivide abil. Управление памятью с помощью битовых массивов 4 2 4 3 5 2 2 3 • Mäluosa 5. protsessiga ja 3. vabaosaga.Часть памяти с 5 процессами и 3 свободными областями • Vastatav biti kaart. Соответствующая битовая карта • Samasugune informatsioon nimekirja moodi.Та же информация в виде списка 111100111100011111100111 P 0 4 → H 4 2 → P 6 4 → H 10 3 → P 13 5 → P 18 2 → H 20 2 → P 22 3

  13. Mäluhaldus seotu nimekirja abil. Управление памятью с помощью связных списков A A A X X X B B B A X B Neli naaber kombinatsioonide protsessi X lõpetamiseks.Четыре комбинации соседей для завершения процесса X A X B A X B A X B A X B A X B A X B

  14. Vaba osa valimise algorütmid. Алгоритмы выбора свободного участка • Первый подходящий участок. Esimene sobiv( First-fit) • Следующий подходящий участок. Järgmine sobiv(Next-fit) • Самый подходящий участок. Kõige sobivam(Вest-fit) • Самый неподходящий участок. Mitte sobiv (Worst-fit) • Быстрый подходящий участок. Kiire sobiv (Fast-fit)

  15. First-fit • Otsime vaikseima piisava suurusega augu. Peame labi otsimakogu nimekirja • Kiirem. Самый быстрый • Mälu alguses on palju protsesse, mida peaks läbi vaatama vaba ruumi otsimisel. • В начальной области памяти будет много процессов, которые придется просматривать при поиске свободного места

  16. Next-fit • Sagedamad augud kujunevad mälu ruumi lõpus, kuhu jäävad suurimad vabad osad. • Чаще всего свободные участки памяти образуются в конце объема памяти, где остаются самые большие свободные разделы • Kõige suurem mäluosa jaotatakse väiksteks plokkideks. • Самый большой раздел памяти разбивается на маленькие блоки • Vajalik on mälu kokkusurumine, suure mäluosa saamiseks. • Необходимо сжатие, чтобы получить большой раздел памяти в конце объема памяти

  17. Вest-fit • Otsime piisava suurusega augu. Peame läbi otsimakogu nimekirja • Выбирает блок, который ближе всего по размеру к запрашиваемому • Kui valime väiksema augu, fragmenteerimine realiseerub väikestega fragmentidega. • Если для процесса будет выбран самый маленький блок, фрагментация будет происходить маленькими фрагментами

  18. Worst-fit • Otsime suurima sobiva augu. Ka sel puhul peame kogunimekirja läbi otsima aga erinevalt esimesest võib jättasuuremaid jääkauke

  19. Mälu Best-fit Worst-fit First-fit

  20. Buddy System • Kogu kättesaadavat ruumi hinnatakse nagu ühe plokki 2U suurusega. • Общее доступное пространство рассматривается, как единичный блок размером 2U • Kui vajalik suurus vastab tingimusega 2U-1 < s <= 2U, siis protses võtab terve plokki. • Если запрашиваемый размер удовлетворяет условиям 2U-1 < s <= 2U, то отводится целый блок • Vastasel korral jaguneb blokk kaheks samasuguseks väikeseks blokiks. • В противном случае блок разделяется на два одинаковых маленьких блока • Protsess jätkub nii kaua, kui plokki suurus ei ole võrdne või vähem kui s. • Процесс продолжается до тех пор, пока размер блока не окажется большим или равным s

  21. Пример Buddy-системы Buddy System(2) 1Mbyte 128K 128K 256K 512K 100K ? 128K 128K 256K 512K 200K ? 128K 128K 256K 512K 400K ?

  22. Дерево Buddy-системы Buddy System(3)

  23. Virtuaalmälu. Виртуальная память

  24. Jagamine lehekülgede abil.Страничное распределение • Virtuaal aadressid. Виртуальные адреса • Virtuaal aadressi ruum. Виртуальное адресное пространство • Leheküljed, raamid ja plokkid. Страницы, фреймы или блоки • Lehekülje viga. Страничное прерывание

  25. Jagamine lehekülgede abil.Страничное распределение (3) Seos virtuaalsete ja füüsiliste aadresside vahel ja lehekülje tabeli abil. Связь между виртуальными и физическими адресами, получаемая с помощью таблицы страниц

  26. Lehekülje tabel. Таблица страниц (1) MMU sisemine operatsioon 16 4 kb leheküljega Внутренняя операция MMU с 16 страницами по 4 KB

  27. Lehekülje tabel. Таблица страниц (2) Tüüpiline kirjeldus lehekülje tabelis. Типичная запись в таблице страниц

  28. Lehekülgede vahetuse algorütmid.Алгоритмы замещения страниц • Lehekülgede valik. Выбор страницы • Millist lehekülge tuleb eemaldada? • Какая страница будет удалена • Vabastama kohta uuele leheküljele. • Освободить место для новой страницы • Modifitseeritud lehekülg peab alguses olema salvestatud. Модифицированная страница должна быть вначале сохранена • Mitte modifitseeritud leheküljed võivad ainult olla ülekirjatatud. • Немодифицированные могут просто быть переписаны • Parem on mitte eemaldada tihti kasutatavaid lehekülgi. Лучше не удалять часто используемые страницы • Neid võib väga kiiresti vaja minna. Они могут очень скоро понадобиться вновь

  29. Optimaalne algorütm. Оптимальный алгоритм (1) • Vahetada leheküljed, mida ei lähe vaja lähimas tulevikus. • Замещать страницы, которые не будут востребованы в ближайшем будущем • Optimaalne, aga mitte realiseeriv. Оптимальный, но нереализуемый • Võimalik kasutada... Можно использовать … • Arvestades viidete arvu eelmisel kasutamisel. Учитывая число ссылок при предыдущем использовании

  30. Optimaalne algorütm. Оптимальный алгоритм (2) • Vahetab lehekülge, mida ei ole kasutatud pikemat aega. Замещает страницу, не использовавшуюся длительное время • 4. raamiga näidis. Пример с 4 фреймами 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5 1 4 2 6 page faults 3 4 5

  31. Optimaalne algorütm. Оптимальный алгоритм (3)

  32. Not Recently Used Page Replacement Algorütm – не использовавшаяся в последнее время страница • Iga leheküljel on viite loendur ja modifikatsiooni bitt. Каждая страница имеет счетчик ссылок и бит модификации • Lehekülgi klassifitseeritakse • Страницы классифицируются как • Ei olnud pöördumisi ja muutusi.Не было обращений и изменений • Ei olnud pöördumisi, muutused olid. Не было обращений, изменения были • Ei olnud muutusi, pöördumised olid. Не было изменений, обращения были • Olid pöördumised ja muutused. Были и изменения и обращения • NRU eemaldab lehekülje juhusliku otsimise abil - удаляет страницу с помощью случайного поиска

  33. Алгоритм FIFO • Kasutab kõigi mälus asuvate lehekülgede nimekirja. Поддерживает список всех страниц, находящихся в данный момент в памяти • Selles järjekorras, millises nad mällu tulid. В том порядке в котором они поступали в память • Eemaldab lehekülje nimekirja alguses. Удаляется страница из начала списка • Puudus. Недостаток • Lehekülg võib olla tihti kasutatav. Страница может быть часто используема

  34. Algorütm “Teine proov”.Алгоритм «Вторая попытка» • Действие алгоритма • FIFO abil sorteeritud leheküljed. Страницы, отсортированные FIFO • Lehekülgede nimikiri, kui lk.viga juhtus ajal 20, ja lk.A omab bitt R võrdne 0. • Список страниц, если страничное прерывание произошло во время 20, а страница Аимеет бит R, равный 0

  35. “Kella” algorütm.Алгоритм «часы»

  36. Least Recently Used (LRU) • Vahetab lk., mis ei olnud kasutusel kõigem kauem. • Выгружается страница, которая не использовалась дольше всего • Peab kasutama seotud lk. nimekiri. Необходимо поддерживать связанный список страниц • Kõige tihedamini kasutatud alguses ja mitte kasutatud lõpus. Наиболее часто используемые в начале, неиспользуемые в конце • Uuendada iga mälusse pöördumise korral!! Обновлять при каждом обращении к памяти !! • Alternatiiv – kasutada loendurit, mis automaatselt suurendab iga käsu peale. Альтернатива – снабдить аппаратным счетчиком, который автоматически возрастает после каждой команды • Valitakse lehekülgi väiksema loenduri arvuga. Выбираются страницы с меньшим значением счетчика • Perioodiline loendur alandub 0.-le. • Периодически счетчик обнуляется

  37. LRU 1 5 • 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5 2 3 5 4 4 3

  38. LRU simulatsioon.Симуляция LRU (1) LRU kasutatab maatriksit. LRU, использующий матрицу. Järjekord lk. pöördumisele: Порядок обращения к страницам: 0,1,2,3,2,1,0,3,2,3

  39. LRU simulatsioon.Симуляция LRU(2) • Vananemise algorütm modellerub LRU programmiga. Алгоритм старения программно моделирует LRU • 6 lehekülge - 5 kella tiksu peale.Изображены 6 страниц после 5 тиков часов, (a) – (e)

  40. Tööhulga algorütmАлгоритм «рабочий набор» (1) • Tööhulk on lehekülgede kogum, lehekülgedega, mis on kasutatud viimase pöördumise ajal. w(k,t) näitab tööhulga mahtuaja momendil t. • Рабочий набор – множество страниц, используемых последними обращениями к памяти. Функция w(k,t) представляет собой размер рабочего набора в момент времени t

  41. Tööhulga algorütm. Алгоритм «рабочий набор» (2) Алгоритм «рабочий набор»

  42. Алгоритм WSClock Пример работы алгоритма

  43. Algorütmide ülevaade.Обзор алгоритмов замещения страниц

  44. Lehekülgede vahetuse modellerimine. Bilady anomaalia. Моделирование алгоритмов замещения страниц. Аномалия Билэди • Kolm plokki. FIFO с тремя страничными блоками • Neli plokki. FIFO с четырьмя страничными блоками

  45. Stack Algorütm – магазинный алгоритм Mälu massiivi M seisund peale igat pöördumist ridade töötlemisel. Состояние массива памяти Mпосле обработки каждого элемента строки обращений 7 4 6 5

  46. Kauguse rida. Строка расстояний (1) Tõenäosuse tihedus kahe hüpoteetiliste kauguste ridadele. Плотность вероятности для двух гипотетических строк расстояний

  47. Kauguse rida. Строка расстояний (2) • Lehekülgede vigade arvu arvutamine kauguse järjekorrast. Vektor C. Vektor F. • Вычисление количества страничных прерываний из последовательности расстояний: векторC, векторF

  48. Вопросы разработки систем со страничным распределением.Политика распределения памяти (1)Mälu jaotamise poliitika. • Lähte konfiguratsioon. Исходная конфигурация • Lokaalne lk.vahetus. Локальное замещение страниц • Globaalne lk.vahetus. Глобальное замещение страниц

  49. Mälu jaotamise poliitika: lokaalne ja globaalne.(2)Политика распределения памяти: локальная и глобальная Lehekülje vea sagedus, kui funktioon lk.plokki arvu poolt. Частота страничных прерываний, как функция от количества предоставленных процессу страничных блоков

  50. Laadimise reguleerimine.Регулирование загрузки • Isegi parimate algorütmide kasutamisel süsteem ei saa edasi töödata. Даже при использовании лучших алгоритмов система может буксовать • PFF algorütm näitab et PFF алгоритм показывает, что • Mõndadele protsessidele on vaja rohkem mälu. • Некоторым процессам нужно больше памяти • Ei ole protsesse, mis tahaks vähem mälu. • Но нет процессов, которым нужно меньше памяти • Lahendus: Решение :Vähendada pretendeerivate protsesside arvu. Уменьшить число процессов, сражающихся за память • Ümber paigutama üks osa kettale. Переместить часть на диск • Defineerima multitasking. Установить уровень многозадачности

More Related