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

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

  • Upload
    svea

  • View
    38

  • Download
    1

Embed Size (px)

DESCRIPTION

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 . - PowerPoint PPT Presentation

Citation preview

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

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

Virumaa Kolledž TTÜ

Lektor Larissa Joonas

2011

7.

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

2

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

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

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.

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

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. Менеджер памяти управляет этой иерархией

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

5

Juhtimise alus mäluhalduses. Основное управление памятью Однозадачная система без подкачки на диск. Ühe ulessande

süsteem ilma kettale laadimiseta.

Kolm kerge mälu haldamise moodust.Три простых способа организации памяти

Kasutaja programm

0

0xFF..

OS RAM-is

Kasutaja programm

0

0xFF..

OS ROM-is

Kasutaja programm

0

0xFF..

OS RAM-is

DraiveridROM-is

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

6

Mälu jaotamise metoodid. Методы распределения памяти

Mälu jaotamise metoodid. Методы распределения памяти

Välimise mälu kasutamisega. С использованием внешней памяти

Välimise mälu kasutamisega. С использованием внешней памяти

Ilma välimise mälu kasutamisetaБез использования внешней памяти

Ilma välimise mälu kasutamisetaБез использования внешней памяти

Fikseeritud jaotused. Фиксированные разделы

Dünaamilised jaotud. Динамические разделы

Ülekantavad jaotused.Перемещаемые разделы

Lehekülgede saalimine.Страничное распределение

Segmentide saalimine.Cегментное распределение

Lk.-segm. saalimine.Cегментно-страничное распределение

Swapping.Свопинг

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

7

Fikseeritud suurusega osad. Многозадачность с фиксированными разделами

• Фиксированные разделы– Erinevad järjekorrad igale osale. Отдельные очереди для

всех разделов– Ühisjärjekord. Общая очередь

3

2

1

OS

3

2

1

OS

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

8

Dünaamilised jaotused. Динамические разделы

OS OS OS OS

1

2

34

5

6

7

4

5

6

7

8

5

8

33

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

9

Ülekantavad jaotused. Перемещаемые разделы

OS

1

2

3

OS

1

2

3

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

10

Swapping. Подкачка

• Ruum andmete osa suurenemiseks. Представление пространства для роста области данных

• Ruum andmete ja pinu osa suurenemiseks. Представление пространства для роста стека и области данных

OS

A

B

OS

B

A ProgA Data

A Stack

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

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. Адрес

больший, чем адрес предельного регистра, считается ошибкой

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

12

Mäluhaldus biti massiivide abil. Управление памятью с помощью битовых массивов

• Mäluosa 5. protsessiga ja 3. vabaosaga. Часть памяти с 5 процессами и 3 свободными областями

• Vastatav biti kaart. Соответствующая битовая карта• Samasugune informatsioon nimekirja moodi.Та же

информация в виде списка

4 2 4 3 5 2 2 3

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

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

13

Mäluhaldus seotu nimekirja abil. Управление памятью с помощью связных списков

Neli naaber kombinatsioonide protsessi X lõpetamiseks. Четыре комбинации соседей для завершения процесса X

A X B

A X B

A X B

A X BA X BA X B

A X B

A X B

A X B A X B

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

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)

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

15

First-fit

• Otsime vaikseima piisava suurusega augu. Peame labi otsima kogu nimekirja– Kiirem. Самый быстрый– Mälu alguses on palju protsesse, mida peaks

läbi vaatama vaba ruumi otsimisel.• В начальной области памяти будет много

процессов, которые придется просматривать при поиске свободного места

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

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.

• Необходимо сжатие, чтобы получить большой раздел памяти в конце объема памяти

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

17

Вest-fit

– Otsime piisava suurusega augu. Peame läbi otsima kogu nimekirja

• Выбирает блок, который ближе всего по размеру к запрашиваемому

– Kui valime väiksema augu, fragmenteerimine realiseerub väikestega fragmentidega.

• Если для процесса будет выбран самый маленький блок, фрагментация будет происходить маленькими фрагментами

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

18

Worst-fit

• Otsime suurima sobiva augu. Ka sel puhul peame kogu nimekirja läbi otsima aga erinevalt esimesest võib jätta suuremaid jääkauke

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

19

First-fitBest-fit Worst-fit

Mälu

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

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

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

21

Пример Buddy-системы

1Mbyte

100K ? 512K256K128K 128K

200K ? 512K256K128K 128K

400K ? 512K256K128K 128K

Buddy System(2)

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

22

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

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

23

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

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

24

Jagamine lehekülgede abil. Страничное распределение

• Virtuaal aadressid. Виртуальные адреса

• Virtuaal aadressi ruum. Виртуальное адресное пространство

• Leheküljed, raamid ja plokkid. Страницы, фреймы или блоки

• Lehekülje viga. Страничное прерывание

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

25

Jagamine lehekülgede abil. Страничное распределение (3)Seos virtuaalsete ja

füüsiliste aadresside vahel ja lehekülje tabeli abil.

Связь между виртуальными и физическими адресами, получаемая с помощью таблицы страниц

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

26

Lehekülje tabel. Таблица страниц (1)

MMU sisemine operatsioon 16 4 kb leheküljega

Внутренняя операция MMU с 16 страницами по 4 KB

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

27

Lehekülje tabel. Таблица страниц (2)

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

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

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. Они могут очень скоро

понадобиться вновь

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

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.

Учитывая число ссылок при предыдущем использовании

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

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

2

3

4

6 page faults

4 5

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

31

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

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

32

Not Recently Used Page Replacement Algorütm – не использовавшаяся в последнее время

страница• Iga leheküljel on viite loendur ja modifikatsiooni bitt.

Каждая страница имеет счетчик ссылок и бит модификации

• Lehekülgi klassifitseeritakse– Страницы классифицируются как1. Ei olnud pöördumisi ja muutusi.Не было обращений и

изменений2. Ei olnud pöördumisi, muutused olid. Не было обращений,

изменения были3. Ei olnud muutusi, pöördumised olid. Не было изменений,

обращения были4. Olid pöördumised ja muutused. Были и изменения и

обращения

• NRU eemaldab lehekülje juhusliku otsimise abil - удаляет страницу с помощью случайного поиска

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

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. Страница может быть часто используема

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

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

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

35

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

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

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.

• Периодически счетчик обнуляется

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

37

LRU

• 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5

1

2

3

5

4

4 3

5

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

38

LRU simulatsioon.Симуляция LRU (1)

LRU kasutatab maatriksit. LRU, использующий матрицу. Järjekord lk. pöördumisele:

Порядок обращения к страницам: 0,1,2,3,2,1,0,3,2,3

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

39

LRU simulatsioon.Симуляция LRU (2)

• Vananemise algorütm modellerub LRU programmiga. Алгоритм старения программно моделирует LRU

• 6 lehekülge - 5 kella tiksu peale.Изображены 6 страниц после 5 тиков часов, (a) – (e)

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

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 mahtu aja momendil t.

• Рабочий набор – множество страниц, используемых последними обращениями к памяти. Функция w(k,t) представляет собой размер рабочего набора в момент времени t

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

41

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

Алгоритм «рабочий набор»

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

42

Алгоритм WSClock

Пример работы алгоритма

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

43

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

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

44

Lehekülgede vahetuse modellerimine. Bilady anomaalia. Моделирование алгоритмов замещения страниц.

Аномалия Билэди

• Kolm plokki. FIFO с тремя страничными блоками• Neli plokki. FIFO с четырьмя страничными блоками

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

45

Stack Algorütm – магазинный алгоритм

Mälu massiivi M seisund peale igat pöördumist ridade töötlemisel.

Состояние массива памяти M после обработки каждого элемента строки обращений

7 4 6 5

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

46

Kauguse rida. Строка расстояний (1)

Tõenäosuse tihedus kahe hüpoteetiliste kauguste ridadele.Плотность вероятности для двух гипотетических строк

расстояний

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

47

Kauguse rida. Строка расстояний (2)

• Lehekülgede vigade arvu arvutamine kauguse järjekorrast. Vektor C. Vektor F.

• Вычисление количества страничных прерываний из последовательности расстояний: вектор C, вектор F

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

48

Вопросы разработки систем со страничным распределением. Политика распределения памяти (1)

Mälu jaotamise poliitika.

• Lähte konfiguratsioon. Исходная конфигурация• Lokaalne lk.vahetus. Локальное замещение страниц• Globaalne lk.vahetus. Глобальное замещение страниц

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

49

Mälu jaotamise poliitika: lokaalne ja globaalne.(2) Политика распределения памяти: локальная и

глобальная

Lehekülje vea sagedus, kui funktioon lk.plokki arvu poolt.Частота страничных прерываний, как функция от количества

предоставленных процессу страничных блоков

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

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. Установить уровень многозадачности

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

51

Lehekülje suurus.Размер страницы (1)

Väike suurus. Маленький размер страницы• Eeldused. Преимущества

– Väiksem sisemine fragmentatsioon. Меньшая внутренняя фрагментация

– Kergem leida sobiva suurusega osa. Легче найти раздел подходящего размера

– Vähem mittekasutatavaid programme mälus. Меньше неиспользуемых программ в памяти

• Puudused. Недостатки– Programm vajab palju lehekülgi, lehekülje tabel on suur.

• Программе необходимо много страниц, таблица страниц большая

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

52

Lehekülje suurus (2)

• Lisakulud suure tabeli toetamisele. Общие накладные расходы вследствие поддержки таблицы страниц

• Где– s = average process size in bytes

– p = page size in bytes

– e = page entry

2

s e poverhead

p

page table space

internal fragmentatio

n

Optimized when

2p se

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

53

Erinevad ruumid käskudele ja andmetele.Отдельные пространства команд и

данных

• Ühe aadressi ruum.Одно адресное пространство• Erinevad ruumid. Отдельные I и D пространства

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

54

Kollektiivne kasutavad leheküljed.Совместно используемые

страницы

Kaks protsessi kasutavad ühte programmi ja tema lk.tabelit.Два процесса используют одну и ту же программу, разделяя ее таблицу

страниц

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

55

Lehekülje puhastamise poliitika.Политика очистки страниц

• On vajalik taust protsess. Необходим фоновый процесс, paging daemon– Perioodiliselt inspekteerib mälu.Периодически

инспектирует состояние памяти

• Kui vabaid plokke on väga vähe– Если свободно слишком мало блоков

• Valib lehekülgi mälust kustutamiseks. Выбираются страницы для удаления из памяти

• Kahe kellaosuti pritsiip. Использование принципа часов с двумя стрелками

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

56

Realiseerimise küsimused. OS-i osalemine lk.vahetuse kasutusel. Вопросы реализации. Участие ОС в процессе подкачки страниц

Neli situatsiooni, milles OS osaleb lehekülgede vahetuses.Четыре ситуации, в которых ОС выполняет работу по подкачке страниц

1. Protsessi loomine. Создание процесса Programmi suuruse defineerimine.Определение размера программы Lk. tabeli loomine. Создание таблицы страниц

2. Protsessi kasutamine. Исполнение процесса MMU puhastus. Сброс диспетчера памяти MMU TLB puhastus. TLB очищается

3. Lehekülje viga. Страничное прерывание Vigane virtuaalse aadressi määramine. Определение виртуального

адреса, вызвавшего ошибку

4. Protsessi katkestamine. Прерывание процесса Vabastada lk.tabeli ja leheküljed. Освободить таблицу страниц и

страницы

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

57

Lehekülje vigu töötlemine. Обработка страничного прерывания (1)

1. Ristvara lülitab süsteemi tuuma reziimile. Аппаратное обеспечение переключает систему в режим ядра

2. Põhiregistrid salvestuvad. Сохраняются основные регистры

3. OS määrab, missugused virtuaalsed lk. on vaja.OS определяет, какие виртуальные страницы необходимы

4. OS määrab, kas aadress on mõjus ja kas kaitse sobib juurdepääsu. OS определяет, действителен ли адрес, и согласуется ли защита с доступом

5. Kui valitud blokk on “must”, siis ta salvestub kettale.Если выбранный блок «грязный», то он записывается на диск

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

58

Lehekülje vigade töötlemine. Обработка страничного

прерывания (2)

1. OS planeerib uue lk. ülekandmist kettalt. OS планирует операцию по переносу новой страницы с диска

2. Lk. tabel uuendub. Таблицa страниц обновляется3. Katkestatud käsk tagastub sellesse seisundisse millel ta

katkestus. Прерванная команда возвращается к тому состоянию, на котором прервалась

4. Katkestatud protsess pannakse graafikusse. Прерванный процесс вносится в график

5. Registrid ümberlaaditud ja juhtimine läheb tagasi kasutaja ruumi. Регистры перезагружаются и возвращается управление в пользовательское пространство

Programmi töö jätkub. Продолжается работа программы

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

59

Katkestatud CPU käsu ümberkäivitamine.

Перезапуск прерванной команды процессора

Käsk, mis kutsub esile lehekülje vea.

Команда, вызвавшая страничное прерывание

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

60

Lehekülgede blokeerimine.Блокирование страниц в памяти

• Virtuaalne mälu ja sisend-väljund mittesilmapaistvalt vastastikuselt mõjuvad Виртуальная память и ввод-вывод незаметно взаимодействуют друг с другом

• Protsess teeb süsteemi kutsungi selleks, et lugeda informatsiooni failist ja seadmest puhvrisse

Процесс делает системный вызов, чтобы считать информацию из файла и с устройства в буфер– Kuni see protsess ootab sissendit või väljudit, teine protsess stardib. Пока

процесс ожидает ввода или вывода, другой процесс стартует– Tekkib lehekülje viga. Происходит страничное прерывание– Lehekülg, mis sisaldab puhvrit, võib olla valitud mälust eemaldamisele.

Страница, содержащая буфер, может быть выбрана для удаления из памяти

• On vajalik blokeerida leheküljed, mis on kinni sisend-väljundis. Необходимо блокировать страницы, занятые вводом-выводом

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

61

Lehekülje mälu süilitamine kettas. Хранение страничной памяти на

диске

(a) Paging staatilisele osale.Постраничная подкачка в статическую область свопинга

(b) Dünaamiline lk. reserveerimine.Динамическое резервирование страниц

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

62

Poliitika ja mehhanismi lahutamine.Разделение политики и механизма

Lk.vea töötlemine välise töötleja abil. Обработка страничного прерывания с внешним обработчиком страниц

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

63

Segmenteerimine. Сегментация (1)

• Liini aadressi ruumis tabeli kasvamisel võivad kaks tabelit kokku puuduma.• В одномерном адресном пространстве при росте таблиц одна может

упереться в другую

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

64

Segmenteerimine. Сегментация (2)

Segmenteeritud mälu lubab igale tabelile kasvatada iseseisvust.Сегментированная память позволяет каждой таблице расти или

уменьшаться независимо от других

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

65

Segmenteerimine. Сегментация (3)

Lk.vahetuse ja segmenteerimise võrdlemine.Сравнение страничного распределения и сегментации

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

66

Puhas segmenteerimise realiseerimine. Реализация чистой сегментации

(a)-(d) Välise fragmenteerimise areng. Pазвитие внешней фрагментации

(e) Fragmenteerimise eemaldamine.Устранение фрагментации с помощью уплотнения

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

67

Segmenteerimine lk. kasutusega. Сегментация с использованием страниц :

MULTICS(1)

• Deskriptori segment osutab lk.tabelisse. Сегмент дескрипторов указывает на таблицу страниц

• Deskriptori segment, arvud tähendavad väljade pikkus. Дескриптор сегмента, числа означают длину полей

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

68

Segmenteerimine lk.kasutusel. Сегментация с использованием страниц : MULTICS(2)

34-bittine virtuaalne aadress MULTICSis. 34-разрядный виртуальный адрес в системе MULTICS

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

69

Segmenteerimine lk.kasutusel. Сегментация с использованием страниц : MULTICS(3)

Преобразование адреса, состоящего из 2 частей в адрес в оперативной памяти

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

70

Segmenteerimine lk.kasutusel. Сегментация с использованием страниц : MULTICS (4)

• Простейший вариант MULTICS TLB• Существование двух размеров страниц делает преобразование сложным

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

71

Segmenteerimine lk.kasutamisega. Сегментация с

использованием страниц : Pentium (1)

Selektor Pentiumis. Селектор в Pentium

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

72

Segmenteerimine lk.kasutamisega. Сегментация с

использованием страниц : Pentium (2)

• Programmi segmendi deskriptor Pentiumis.• Дескриптор программного сегмента в системе Pentium

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

73

Segmenteerimine lk.kasutamisega. Сегментация с

использованием страниц : Pentium (3)

Paari ümberkujundamine (selektor ja nihe) füüsiliseks aadressiks. Преобразование пары (селектор, смещение) в физический адрес

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

74

Segmenteerimine lk.kasutamisega. Сегментация с

использованием страниц : Pentium (4)

Liini aadressi proetseerimine füüsilisele aadressile. Отображение линейного адрес на физический адрес

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

75

Segmenteerimine lk.kasutamisega.Сегментация с использованием страниц : Pentium (5)

Kaitse Pentiumis. Защита в Pentium

Level

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

76