- •Основные понятия и определения.
- •Эволюция ос.
- •2.Архитектура ос.
- •3.Микроядерная архитектура эвм.
- •Основные концепции управления ос.
- •4. Процессор. Управление процессами.
- •5.Описатели процесса.
- •6. Классификация ос по признаку поддержки процессов и потоков.
- •6 Марта 2012 г.
- •7. Управление задачами.
- •16 Марта 2012 г.
- •8. Асинхронные параллельные процессы.
- •9.Семафоры.
- •Мониторы.
- •10. Тупики.
- •Управление памятью.
- •11.Физическая память.
- •12.Связное и несвязное распределение памяти.
- •13.Виртуальная память.
- •14. Преобразование адреса виртуальной памяти в реальный адрес осуществляется по схеме:
- •15.Управление виртуальной памятью, стратегии управления.
- •16. Кэширование данных.
- •Принцип действия кэш–памяти.
- •17.Способы отображения оп на кэш-память.
- •18. Ввод/вывод. Управление файлами и файловой системой.
- •19.Логическая организация фс.
- •Логическая организация файлов.
- •20. Физическая организация фс.
- •Права доступа к файлу.
- •Часть 2. Unix
- •Имена файлов.
- •Индексный дескриптор файла и жесткие ссылки.
- •2. Типы файлов.
- •Создание и монтирование фс.
- •Структура фс ext2fs.
- •3.Структура дискового раздела.
- •Индексные дескрипторы файлы и системы адресации файлов.
- •4.Структура системы и ядро классической Unix.
- •5.Управление процессами.
- •История.
- •Часть 3.
- •1.Структура ос Windows.
- •2.Подсистема win32.
- •3.Объекты, менеджер объектов.
- •Объекты ядра.
- •Структура объектов.
- •Описатели объектов.
- •Именование объектов.
- •Совместное использование объектов.
- •Реестр.
- •Поиск файлов по имени.
- •Точки повторного анализа.
- •5.Совместный доступ к файлу.
- •Производительность фс.
- •Надежность фс.
- •Поддержка нескольких фс.
14. Преобразование адреса виртуальной памяти в реальный адрес осуществляется по схеме:
Таких таблиц отображения существует несколько, все они располагаются в реальной памяти. Все методы поблочного отображения, применяемые в системах с сегментной, страничной и комбинированной организацией, подобны рассмотренной схеме. При страничной организации виртуальный адрес – это упорядоченная пара (p, d). Первичная память разделяется на страничные кадры, что и виртуальные страницы. Динамическое преобразование адресов предусматривает отображение номера страницы р на номер страничного кадра р’. Отображение может быть прямым – в этом случае используется полная таблица страниц, размещаемая в первичной или кэш-памяти, либо ассоциативным – такая таблица размещается в высокоскоростной ассоциативной памяти. Ввиду высокой стоимости отображение может быть комбинированным – в ассоциативной памяти хранится часть таблицы, и ассоциативное отображение используется только для самых последних по времени обращения страниц, а таблицы прямого отображения используются, если поиск по ассоциативной памяти дает отрицательный результат. Для коллективного использования информации в страничной системе в строках таблицы страниц различных процессов указывается один и тот же страничный кадр.
В сегментной организации используются блоки переменного размера, необязательно, чтобы все сегменты находились в первичной памяти, тем более были бы смежными, виртуальный адрес представляет собой пару (s, d), динамическое преобразование выполняется так же, как и при страничной, защита сегментов оказывается более надежной по сравнению со страничными системами, поскольку защищаются не физические объекты, а логические. Для коллективного использования информации в строках таблиц сегментов указывается совместно используемый сегмент.
Комбинированная организация. Виртуальный адрес представляет собой тройку (s, p, d). Динамическое преобразование осуществляется довольно сложно как бы в 2 этапа, поскольку строки таблиц сегментов указывают на таблицы страниц, а строки таблиц страниц указывают на кадры. В комбинированных системах почти всегда применяются высокоскоростные ассоциативные устройства или кэш-память. Коллективное использование в комбинированной системе осуществляется благодаря тому, что строки различных таблиц сегментов указывают на одну таблицу страниц.
3 апреля 2012 года
15.Управление виртуальной памятью, стратегии управления.
Стратегии вталкивания.
Определяют, когда следует переписывать очередную страницу или сегмент в основную память. Существует 2 стратегии: по запросу и с упреждением. Вталкивание по запросу предполагает, что система ждет ссылки на страницу или сегмент от выполняющегося процесса и только после появления такой ссылки начинает переписывать данную страницу или сегмент в первичную память. Данная стратегия считается наиболее рациональной, потому что полностью эффективные механизмы упреждающей подкачки реализовать нельзя из-за невозможности точно предсказывать будущее поведение программы; имеется гарантия того, что в основную память вводятся только фактически необходимые страницы; накладные расходы на выборку страницы минимальны. Минус: выполняющиеся процессы должны ждать.
Вталкивание с упреждением предполагает, что система пытается заблаговременно определить к каким страницам или сегментам будет обращаться процесс.
Стратегии размещения.
Определяют, куда помещать поступающую страницу или сегмент. В случае систем со страничной организацией решение о размещении принимается достаточно тривиально, поскольку поступающая страница может быть помещена в любой свободный страничный кадр. В системах с сегментной организацией используются те же стратегии, а именно реализующие принцип занятия первой подходящей, наиболее/наименее подходящей по размерам области памяти.
Стратегии выталкивания.
Определяют, какую страницу или сегмент следует заменить, чтобы освободить место для поступающего сегмента. Наиболее часто используются: выталкивание случайной страницы – эта стратегия имеет малые издержки, но рассчитана на слепое везение и поэтому применяется редко; по принципу оптимальности – выталкивается страница, которая наиболее долго не будет использоваться в дальнейшем, однако предсказать это сложно; FIFO – выталкивается страница, которая находилась в памяти дольше других; LRU – выталкивается страница, которая дольше всего не использовалась; LFU – выталкивается страница, которая использовалась реже других; NUR – выталкивается страница, не используемая в последнее время; по принципу рабочего множества – выталкивается страница, которая не входит в подмножество наиболее используемых страниц процесса.
Некоторые системы предусматривают возможность добровольного освобождения страниц. Многие стратегии базируются на понятии локальности. Локальность – свойство выполняющихся процессов, состоящее в том, что процессы как правило более активно обращаются к некоторому подмножеству своих страниц в течение некоторого временного интервала выполнения. Локальность может временной – означает, что процесс, обращающийся к странице, с большой вероятностью вскоре снова обратиться к этой же странице. Пространственная локальность – означает, что процесс, обращающийся к некоторой странице с большой вероятностью вскоре обратиться к соседним страницам своего виртуального адресного пространства. Временная локальность обусловлена тем, что программы пишутся с использованием циклов, подпрограмм, стеков, счетчиков, переменных для накопления итоговых сумм, массивов. Пространственная объясняется тем, что код программы обычно выполняется последовательно, данные организуются часто в виде массивов и у программистов принято размещать описание взаимосвязанных элементов по близости друг от друга. И на основе понятия локальности Деннинг разработал концепцию рабочих множеств, которая объясняет поведение программы. Рабочее множество обозначается W (t, Δt) в момент времени t – это множество страниц, к которым процесс обращается в интервале времени от t– Δt до t. Величина Δt – размер окна рабочего множества и её выбор играет существенную роль в управлении памятью.
Стратегия управления с использованием рабочих множеств ставит своей целью размещать в основной памяти все страницы рабочего множества. Новые процессы можно инициировать только в случае, если в основной памяти есть место для размещения их рабочих множеств. Если делается попытка выполнить процесс, не имеющего достаточно места в памяти для размещения рабочих множеств, то часто возникает явление пробуксовки или трешинга – оно заключается в том, что производится непрерывное выталкивание страниц с последующим немедленным вталкиванием их обратно.
Чтобы определить оптимальный размер для данной страницы необходимо учитывать ряд соображений:
Малый размер страницы приводит к увеличению таблиц страниц и как следствие табличной фрагментации.
Большой размер страницы приводит к тому, что в первичную память будут записываться команды и данные, к которым не будет обращений.
Ввод/вывод наиболее эффективен при больших размерах страниц.
Свойство локальности, как правило, распространяется на небольшие участки.
При малых размерах страниц потери памяти на внутреннюю фрагментацию уменьшаются.
У Windows используется страничная организация, размер страницы – 4 Кб.
