24
Основы Основы операционных операционных систем систем

Основы операционных систем

  • Upload
    ciqala

  • View
    106

  • Download
    0

Embed Size (px)

DESCRIPTION

Основы операционных систем. Часть III. Управление памятью. Лекция 8. Простейшие схемы управления памятью. Иерархия памяти. Регистры. Стоимость одного бита. Время доступа. Объем. Кэш. Оперативная память. Управляется менеджером памяти. Вторичная память. Управляется ОС. - PowerPoint PPT Presentation

Citation preview

Page 1: Основы  операционных систем

Основы Основы операционных операционных

системсистем

Page 2: Основы  операционных систем

Часть Часть III. III. Управление памятьюУправление памятью

Лекция 8. Лекция 8. Простейшие схемы управления Простейшие схемы управления

памятьюпамятью

Page 3: Основы  операционных систем

Иерархия памятиИерархия памяти

Вторичная памятьВторичная память

Оперативная памятьОперативная память

КэшКэш

РегистрыРегистрыСтоимость Стоимость одного битаодного бита

Время доступаВремя доступа

ОбъемОбъем

Управляется ОСУправляется ОС

Управляется менеджером памятиУправляется менеджером памяти

Page 4: Основы  операционных систем

Принцип локальностиПринцип локальности

Большинство реальных программ в течение Большинство реальных программ в течение некоторого отрезка времени работает с небольшим некоторого отрезка времени работает с небольшим набором адресов памяти – это набором адресов памяти – это принцип локальностипринцип локальности

Принцип локальности связан с особенностями Принцип локальности связан с особенностями человеческого мышлениячеловеческого мышления

Page 5: Основы  операционных систем

Проблема разрешения адресовПроблема разрешения адресов

Человеку свойственно символическое мышление. Человеку свойственно символическое мышление. Адреса (имена) переменных описываются Адреса (имена) переменных описываются

идентификаторами, формируя символьное адресное идентификаторами, формируя символьное адресное пространствопространство

Оперативная физическая память может быть Оперативная физическая память может быть представлена в виде массива ячеек с линейными представлена в виде массива ячеек с линейными

адресами. адресами.

Совокупность всех доступных физических адресов в Совокупность всех доступных физических адресов в вычислительной системе – это ее физическое вычислительной системе – это ее физическое

адресное пространствоадресное пространство

Как ?Как ? Когда ?Когда ?

Page 6: Основы  операционных систем

Связывание адресовСвязывание адресов

ДругиеДругиеобъектныеобъектные

модулимодули

ЗагрузчикЗагрузчикДвоичный Двоичный

образобраз в памяти в памяти

СистемныеСистемные библиотеки библиотеки

ДинамическиеДинамические библиотеки библиотеки

Процессор Процессор ии

БУПБУП

ИсходнаяИсходная программа программа КомпиляторКомпилятор Объектный Объектный

модульмодульРедактор Редактор

связейсвязейЗагрузочныйЗагрузочный

модуль модуль

Этап Этап компиляциикомпиляции

Этап загрузкиЭтап загрузкиЭтап Этап выполнениявыполнения

Page 7: Основы  операционных систем

Логическое адресное Логическое адресное пространствопространство

Символьное адресное пространство – совокупность Символьное адресное пространство – совокупность всех допустимых идентификаторов переменныхвсех допустимых идентификаторов переменных

Логическое адресное пространство – совокупность Логическое адресное пространство – совокупность всех допустимых адресов, с которыми работает всех допустимых адресов, с которыми работает

процессорпроцессор

Физическое адресное пространство – совокупность Физическое адресное пространство – совокупность всех доступных физических адресов в всех доступных физических адресов в

вычислительной системевычислительной системе

Page 8: Основы  операционных систем

Функции ОС и Функции ОС и hardwarehardware для управления памятьюдля управления памятью

Отображение логического адресного пространства Отображение логического адресного пространства процесса на физическое адресное пространствопроцесса на физическое адресное пространство

Распределение памяти между конкурирующими Распределение памяти между конкурирующими процессамипроцессами

Контроль доступа к адресным пространствам Контроль доступа к адресным пространствам процессов процессов

Выгрузка процессов (целиком или частично) во Выгрузка процессов (целиком или частично) во внешнюю памятьвнешнюю память

Учет свободной и занятой памятиУчет свободной и занятой памяти

Page 9: Основы  операционных систем

Однопрограммная Однопрограммная вычислительная системавычислительная система

ОСОС

ОСОС

00

ПроцессПроцесспользователяпользователя

ПроцессПроцесспользователяпользователя

Page 10: Основы  операционных систем

СхемаСхема с фиксированными разделами с фиксированными разделами

ОСОС00

Раздел 1Раздел 1

Раздел 2Раздел 2

Раздел 3Раздел 3

Задание 1Задание 1

Задание 2Задание 2

Задание 3Задание 3

Задание 4Задание 4

Очередь заданийОчередь заданийОчереди заданийОчереди заданий

Процесс 1Процесс 1

Процесс 2Процесс 2

Процесс 3Процесс 3

Page 11: Основы  операционных систем

Внутренняя фрагментацияВнутренняя фрагментация

ОСОС00

Раздел 1Раздел 1

Раздел 2Раздел 2

Раздел 3Раздел 3

Процесс 1Процесс 1

Процесс 2Процесс 2

Процесс 3Процесс 3

Внутренняя фрагментация – «потеря» части памяти, выделенной процессу, но не используемой им

Page 12: Основы  операционных систем

СпособыСпособы организации больших программ организации больших программ

Оверлейная структураОверлейная структураПрограмма разбивается на несколько частей. Постоянно в Программа разбивается на несколько частей. Постоянно в памяти находится только загрузчик оверлеев, небольшое памяти находится только загрузчик оверлеев, небольшое количество общих данных и процедур, а части загружаются по количество общих данных и процедур, а части загружаются по очередиочереди

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

Оба способа основаны на применении Оба способа основаны на применении принципа локальностипринципа локальности

Page 13: Основы  операционных систем

СхемаСхема с динамическими разделами с динамическими разделами

ОСОС

№№

памятьпамять

времявремя

00 202000 10001000

Очередь заданийОчередь заданий

11 22 33 44 55

200200 300300 250250

1010 55 2020

250250 7070

88 1515

P1P1время 10время 10

440000

P2P2время 5время 5

700700

P3P3время 20время 20

950950

PP44время 8время 8

650650

P1P1время 5время 5

PP33время 16время 16

PP33время 11время 11

PP44время 4время 4P5P5

227070

Page 14: Основы  операционных систем

СхемаСхема с динамическими разделами с динамическими разделами

Стратегии размещения нового процессаСтратегии размещения нового процесса в памяти в памяти

Первый подходящий (Первый подходящий (first-fit). first-fit). Процесс размещается в Процесс размещается в первое подходящее по размеру пустое местопервое подходящее по размеру пустое место

Наиболее подходящий (Наиболее подходящий (best-fit). best-fit). Процесс размещается Процесс размещается в наименьшее подходящее по размеру пустое местов наименьшее подходящее по размеру пустое место

Наименее подходящий Наименее подходящий (worst-fit). (worst-fit). Процесс Процесс размещается в наибольшее пустое месторазмещается в наибольшее пустое место

Page 15: Основы  операционных систем

СхемаСхема с динамическими разделами с динамическими разделами

ОСОС

№№

памятьпамять

времявремя

00 202000 10001000

Очередь заданийОчередь заданий

55

7070

1515

P1P1время 5время 5

440000 700700

P3P3время 16время 16

950950

PP44время 8время 8

650650

Page 16: Основы  операционных систем

СхемаСхема с динамическими разделами с динамическими разделами

ОСОС

00 202000 10001000

P1P1время 5время 5

440000 700700

P3P3время 15время 15

950950

PP44время 8время 8

650650

Внешняя фрагментация – невозможность Внешняя фрагментация – невозможность использования памяти, неиспользуемой использования памяти, неиспользуемой процессами, из-за ее раздробленностипроцессами, из-за ее раздробленности

Возможна и внутренняя фрагментация при Возможна и внутренняя фрагментация при почти полном заполнении процессом пустого почти полном заполнении процессом пустого

фрагментафрагмента

Page 17: Основы  операционных систем

СхемаСхема с динамическими разделами с динамическими разделами

ОСОС

00 202000 10001000440000 700700 950950

PP44

650650

P5P5

227070 520520 770770

P3P3

Сборка мусораСборка мусора

CPUCPU

СегментныйСегментный регистр регистр

++ ПамятьПамятьЛогический Логический

адресадресФизический Физический

адресадрес

MMU – MMU – БУП БУП

Page 18: Основы  операционных систем

ЛинейноеЛинейное непрерывное отображение непрерывное отображение

ЛогическоеЛогическоеадресноеадресное

пространствопространство

ФизическоеФизическоеадресноеадресное

пространствопространство

00 100100

NN N+100N+100

Page 19: Основы  операционных систем

ЛинейноеЛинейное кусочно-непрерывное отображение кусочно-непрерывное отображение

ЛогическоеЛогическоеадресноеадресное

пространствопространство

ФизическоеФизическоеадресноеадресное

пространствопространство

PagePage 0 0 PagePage 1 1 PagePage 2 2 PagePage 3 3 PagePage 4 4

Кадр 0Кадр 0 Кадр 1Кадр 1 Кадр 2Кадр 2 Кадр 3Кадр 3 Кадр 4Кадр 4 Кадр 5Кадр 5 Кадр 6Кадр 6 Кадр 7Кадр 7 Кадр 8Кадр 8

Логический адрес =Логический адрес =Npage*size + offsetNpage*size + offset

(Npage, offset)(Npage, offset)

Физический адрес =Физический адрес =Nframe*size + offsetNframe*size + offset

(Nfr(Nfrааme, offset)me, offset)

Страничная организация памятиСтраничная организация памяти

00 11 22 33 44ТаблицаТаблицастраницстраниц 33 44 66 77 11

Npage -> NframeNpage -> Nframe

Серый цвет – занятое местоСерый цвет – занятое место

Свойственна внутренняя фрагментацияСвойственна внутренняя фрагментация

Page 20: Основы  операционных систем

ЛинейноеЛинейное кусочно-непрерывное отображение кусочно-непрерывное отображение

Страничная организация памятиСтраничная организация памяти

CPUCPU

Логический адресЛогический адрес

offsetoffsetpagepage

ТаблицаТаблица страниц страниц

кадркадр

ПамятьПамять

Физический адресФизический адрес

offsetoffsetкадркадр

MMUMMU

атрибутыатрибуты

Page 21: Основы  операционных систем

ЛинейноеЛинейное кусочно-непрерывное отображение кусочно-непрерывное отображение

ЛогическоеЛогическоеадресноеадресное

пространствопространство

ФизическоеФизическоеадресноеадресное

пространствопространство

Логический адрес Логический адрес – – двумерный =двумерный = (Nseg, offset) (Nseg, offset)

Физический адресФизический адрес линейныйлинейный = физический адрес начала сегмента + = физический адрес начала сегмента + offsetoffset

Сегментная организация памятиСегментная организация памятиСегСегмент 1мент 1 СегСегмент 2мент 2 СегСегмент 3мент 3

Серый цвет – занятое местоСерый цвет – занятое место00 00 00

Свойственна внешняя фрагментацияСвойственна внешняя фрагментация

Page 22: Основы  операционных систем

ЛинейноеЛинейное кусочно-непрерывное отображение кусочно-непрерывное отображение

адрес началаадрес начала размерразмер

Сегментная организация памятиСегментная организация памяти

CPUCPU

ЛогическийЛогический адрес адрес

offsetoffsetNsegNseg

ТаблицаТаблица сегментов сегментов

ПамятьПамятьФизический адресФизический адрес

Максимальный размер сегментаМаксимальный размер сегмента

адрес началаадрес начала ++

Page 23: Основы  операционных систем

ЛинейноеЛинейное кусочно-непрерывное отображение кусочно-непрерывное отображение

адрес началаадрес начала размерразмер

Сегментная организация памятиСегментная организация памяти

CPUCPU

ЛогическийЛогический адрес адрес

offsetoffsetNsegNseg

ТаблицаТаблица сегментов сегментов

ПамятьПамять

ФизическийФизическийадресадрес

Максимальный размер сегментаМаксимальный размер сегмента

Offset <= Offset <= размерразмер

++

ошибкаошибка

нетнет

дада

Page 24: Основы  операционных систем

ЛинейноеЛинейное кусочно-непрерывное отображение кусочно-непрерывное отображение

адресадрес размерразмер

Сегментно-страничная организация памятиСегментно-страничная организация памяти

CPUCPU

ЛогическийЛогический адрес адрес

OffsetOffset внутри сегмента внутри сегментаNsegNseg

Таблица сегментовТаблица сегментов

ПамятьПамятьФизический адресФизический адрес

Максимальный размер сегментаМаксимальный размер сегмента

Offset Offset у сегментау сегмента<= <= размерразмер

нетнет

дада

PagePage OffsetOffset

Размер страницыРазмер страницы

ошибкаошибкакадркадр

PagePage

OffsetOffset

Таблица страницТаблица страниц

КадрКадр