Скачать 0.73 Mb.
|
Часть виртуальных страниц задачи могут быть размещены в ОП, а часть – во внешней памяти. Место во внешней памяти называют файлом подкачки, или страничным файлом(paging file). Иногда это файл называют swap – файлом, тем самым подчеркивая, что записи этого файла – страницы – замещают друг друга в ОП Разбиение всей ОП на страницы одинаковой величины, причем кратной степени двойки, приводит к тому, что вместо одномерного адресного пространства памяти можно говорить о двумерном. Первая координата адресного пространства – это номер страницы, вторая координата – номер ячейки внутри выбранной страницы (индекс). Таким образом, физический адрес определяется парой (Рр, i), а виртуальный адрес – парой (Pv, i), где Pv – номер виртуальной страницы, Рр – номер физической страницы, i – индекс ячейки внутри страницы Количество битов, отводимое под индекс, определяет размер страницы, а количество битов, отводимое под номер виртуальной страницы, - объем потенциально доступной для программы виртуальной памяти. Для отображения виртуального адресного пространства задачи на физическую память, как и в случае сегментного способа организации, для каждой задачи необходимо иметь таблицу страниц для трансляции адресных пространств, отличающихся от дескриптора сегмента прежде всего тем, что в ней нет поля длины – все страницы имеют одинаковый размер. При обращении к виртуальной странице, не оказавшейся в данный момент в ОП, возникает прерывание и управление передается диспетчеру памяти, который должен найти свободное место. Обычно предоставляется первая же свободная страница. Если свободной физической страницы нет, то диспетчер памяти по одной из дисциплин замещения (LRU, LFU,FIFO, случайный доступ) определит страницу, подлежащую расформированию или сохранению во внешней памяти. На ее месте он разместит новую виртуальную страницу, к которой было обращение из задачи, но которой не оказалось в ОП. Для абсолютного большинства современных ОС характерна дисциплина замещения страниц LRU как наиболее эффективная. Так, именно эта дисциплина использована в OS/2 и Linux. Однако в ОС Windows NT/2000/XP разработчики, желая сделать их максимально независимыми от аппаратных возможностей процессора, отказались от этой дисциплины и применили правило FIFO. Поэтому, чтобы компенсировать ее неэффективность была введена «буферизация» тех страниц, которые должны быть записаны в файл подкачки на диск или просто расформированы. Принцип буферизации следующий: прежде чем замещаемая страница действительно окажется во внешней памяти или просто расформированной, она помечается как «кандидат на выгрузку». Если в следующий раз произойдет обращение к странице, находящейся в таком «буфере», то страница никуда не выгружается и уходит в конец списка FIFO В противном случае страница действительно выгружается, а на ее место в «буфер» попадает следующий «кандидат». Величина «буфера» не может быть большой, поэтому эффективность страничной реализации памяти в Windows NT/2000/XP намного ниже, чем в других ОС, и явление пробуксовки проявляется даже при относительно большом объеме ОП 16. Особенности эффективного использования таблицы страниц: многоуровневые таблицы страниц, ассоциативная память, инвертированная таблица страниц, хеширование Особенности эффективного использования таблицы страниц Одним из основных элементов, необходимых при страничном распределении памяти и существенно влияющих на эффективность ее использования в целом, является таблица страниц. Существуют различные варианты организации и использования таблиц страниц, отличающихся как структурой таблиц (многоуровневые, инвертированные), так и способом доступа к их записям (ассоциативный). Многоуровневые таблицы страниц Основную проблему для эффективной реализации таблицы страниц создают большие размеры виртуальных адресных пространств современных компьютеров, которые обычно определяются разрядностью архитектуры процессора. В 32-битном адресном пространстве при размере страницы 4 Кбайт (Intel) получаем 232/212=220, то есть приблизительно 106 страниц – таблица должна иметь примерно 106 строк, а запись в строке состоит из нескольких байтов. Каждый процесс нуждается в своей таблице страниц. Для того чтобы избежать размещения в памяти огромной таблицы, ее разбивают на ряд фрагментов. В ОП хранят лишь некоторые, необходимые для конкретного момента исполнения фрагмента таблицы страниц. В силу свойства локальности число таких фрагментов относительно невелико. Локальность – способность в течение ограниченного отрезка времени работать с небольшим набором адресов памяти. Различают временную локальность (высокая вероятность повторного обращения по одному и тому же адресу в ближайшее время) и пространственную локальность (высокая вероятность повторного обращения по соседнему адресу в ближайшее время). Одним из наиболее распространенных способов разбиения является организация так называемой многоуровневой таблице страниц. При помощи одной таблицы второго уровня можно охватить 4Мбайт ОП. Для размещения процесса с большим объемом занимаемой памяти достаточно иметь в ОП одну таблицу первого уровня и несколько таблиц второго уровня. Очевидно, что суммарное количество строк в этих таблицах много меньше 220. Количество уровней в таблице страниц зависит от конкретных особенностей архитектуры. Примером реализации одноуровневого (DEC PDP-11), двухуровневого (Intel, DEC VAX), трехуровневого (Sun SPARC, DEC Alpha) пейджинга, а также пейджинга с заданным количеством уровней (Motorola). Инвертированная таблица страниц В этой таблице содержится по одной записи на каждый страничный кадр физической памяти. Достаточно одной таблицы для всех процессов. Для хранения функции отображения требуется фиксированная часть основной памяти, независимо от разрядности архитектуры, размера и количества процессоров. Например, для Pentium с 256 Мбайт ОП нужна таблица размером 64 Кбайт строк. Несмотря на экономию ОП, применение инвертированной таблицы имеет существенный минус – записи в ней (как и в ассоциативной памяти) не отсортированы по возрастанию номеров виртуальных страниц, что усложняет трансляцию адреса. Один из способов решения данной проблемы – использование хеш-таблицы виртуальных адресов. Часть виртуального адреса, представляющая собой номер страницы, отображается в хеш-таблицу с использованием функции хеширования. Хеш и хеш-функция Хеш – число фиксированной длины, которое ставится в соответствие данным произвольной длины таким образом, чтобы вероятность появления различных данных с одинаковым хешем стремилась к нулю, а восстановить данные по их хешу было как можно труднее. Хеш-функции – функция, выполняющая одностороннее преобразование (хеширование) входных данных. Инвертированная таблица страниц Каждой странице физической памяти соответствует одна запись в хеш-таблице и инвертированной таблице страниц. Виртуальные адреса, имеющие одно значение хеш-функции, сцепляются друг с другом. Обычно длина цепочки не превышает двух записей. Ассоциативная память Поиск номера кадра, соответствующего нужной странице, в многоуровневой таблице страниц требует нескольких обращений к основной памяти, поэтому занимает много времени. В некоторых случаях такая задержка недопустима. Решение проблемы ускорения – снабдить компьютер (процессор) аппаратным устройством для отображения виртуальных страниц в физические без обращения к таблице страниц, то есть иметь небольшую быструю кеш-память, хранящую необходимую на данный момент часть таблицы страниц. Это устройство называют ассоциативной памятью или буфером поиска трансляции (translation lookaside buffer - TLB). Высокое значение вероятности нахождения данных в ассоциативной памяти связано с наличием у данных объективных свойств: пространственной и временной локальности. Структура кэш памяти
Общая схема функционирования В первый момент времени осуществляется поиск информации о необходимой странице в ассоциативной памяти. Если нужная запись найдена, то производится отображение этой страницы в физическую память (за исключением случаев нарушения привилегий, когда запрос на обращение к памяти отклоняется). Если запись в ассоциативной памяти отсутствует, отображение осуществляется через таблицу страниц: происходит замена одной из записей в ассоциативной памяти найденной записью из таблицы страниц (конструкция ассоциативной памяти должна позволять выявлять те «старые» записи, которые могут быть замещены «новыми»). Одна запись таблицы в ассоциативной памяти содержит информацию об одной виртуальной странице: ее атрибуты и кадр, в котором она находится (поля в точности соответствуют полям в таблице страниц). Число удачных поисков номера страницы в ассоциативной памяти по отношению к общему числу поисков называется hit ratio («процент попаданий в кэш»). Обращение к одним и тем же страницам повышает hit ratio (чем больше hit ratio, тем меньше среднее время доступа к данным, находящимся в ОП). Пример: Если для доступа к памяти через таблицу страниц необходимо 100 нс, а для доступа через ассоциативную память – 20 нс. Если hit ratio = 90%, то среднее время доступа -> 0,9x20+0,1x100=28нс. Минус: При переключении контекста процесса при использовании ассоциативной памяти требуется ее «очистка», что ведет к увеличению времени переключения контекста. 17. Сегментно - страничное распределение памяти Метод представляет собой комбинацию сегментного и страничного распределения памяти и сочетает в себе достоинства обоих подходов. Виртуальное пространство процесса делится на сегменты, а каждый сегмент в свою очередь делиться на виртуальные страницы, которые нумеруются в пределах сегмента. ОП делиться на физические страницы. Загрузка процесса выполняется ОС постранично, при этом часть страниц размещается в ОП, а часть на диске. Для каждого сегмента создается своя таблица страниц, структура которой идентична структуре таблицы страниц при страничном распределении. Для каждого процесса создается таблица сегментов, в которой указываются адреса таблиц страниц для всех сегментов данного процесса. Адрес таблицы сегментов загружается в специальный регистр процесса, когда активизируется соответствующий процесс. Виртуальный адрес состоит из двух составляющих: 1. указание на номер сегмента 2. смещение относительно начала сегмента 2.1. виртуальная страница 2.2. индекс На практике, появления в системе большого количества таблиц страниц стараются избежать, организуя не перекрывающиеся сегменты в одном виртуальном пространстве, для описания которого хватает одной таблицы страниц. Таким образом, одна таблица страниц отводится для всего процесса. Плюсы:
Минусы:
Принципиальная возможность реализации сегментно-страничной организации памяти заложена в семейство микропроцессоров i80x86, однако вследствие слабой аппаратной поддержки, трудностей при создании систем программирования и ОС в ПК эта возможность не используется. 18. Физическая организация жёсткого диска Совокупность дорожек одного радиуса на всех поверхностях всех пластин пакета называется цилиндром (англ. cylinder). Каждая дорожка разбивается на фрагменты, называемые секторами или блоками, так что все дорожки имеют равное число секторов, в которые можно максимально записать одно и то же число байт. Сектор имеет фиксированный для конкретной системы размер, выражающийся степенью двойки (чаще всего – 512 байт). Сектор – наименьшая адресуемая единица обмена данными дискового устройства с ОП. Для того чтобы контроллер мог найти на диске нужный сектор, необходимо задать ему все соответствующие адреса сектора: номер цилиндра, номер поверхности и номер сектора. ОС при работе с диском использует, как правило, собственную единицу дискового пространства, называемую кластером (логическим блоком). При создании файла место на диске ему выделяется кластерами, который состоит из одного или нескольких смежных секторов. Например, если файл имеет размер 2560, а размер кластера в файловой системе определен в 1024 байта, то файлу будет выделено на диске 3 кластера. Дорожки и секторы создаются в результате выполнения процедуры физического (низкоуровневого) форматирования диска. Низкоуровневый формат диска не зависит от типа ОС, которая этот диск будет использовать. Структура 1-го физического сектора жесткого диска
Головная запись загрузки (master boot record, MBR) - зарезервирована для программы начальной загрузки BIOS (ROM Bootstrap routine), которая при загрузке с жесткого диска считывает и загружает в память первый физический сектор на активном разделе диска, называемый загрузочным сектором (Boot Sector). Каждая запись о разделах содержит начальную позицию и размер раздела на жестком диске, а также информацию о том, первый сектор какого раздела содержит загрузочный сектор. Если информация о разделах будет повреждена, то не только не будет загружаться ни одна из установленных на компьютере ОС, но станут недоступными данные, расположенные в диске. Последние два байта таблицы разделов имеют значение 055AA, то есть чередующиеся значения 0 и 1 в двоичном представлении данных. Эта сигнатура используется для того, чтобы убедится в том, что сектор загрузочный и его можно использовать именно в этом качестве (загружать). Многие ОС позволяют создавать расширенный (extended) раздел, который по аналогии с разделами может разбиваться на несколько логических дисков. 19. Принципы построения файловой системы: интерфейс, функциональная схема, типовая структура файловой системы Файловая система - это часть ОС, организующей работу с данными, хранящимися во внешней памяти, и обеспечивающей пользователю удобный интерфейс при работе с такими данными. Понятие «файловая система» включает:
Основные функции файловой системы. 1.Идентификация файлов. Связывание имени файла с выделенным ему пространством внешней памяти. 2.Распределение внешней памяти между файлами. Для работы с конкретным файлом пользователю не требуется иметь информацию о местоположении этого файла на внешнем носителе информации. Например, для того чтобы загрузить документ в редактор с жесткого диска, нам не нужно знать, на какой стороне какого магнитного диска, на каком цилиндре и в каком секторе находится данный документ. 3.Обеспечение надежности и отказоустойчивости. Стоимость информации может во много раз превышать стоимость компьютера. 4.Обеспечение защиты от несанкционированного доступа. 5.Обеспечение совместного доступа к файлам, так чтобы пользователю не приходилось прилагать специальных усилий по обеспечению синхронизации доступа. 6.Обеспечение высокой производительности. Функциональная схема файловой системы Функционирование любой файловой системы можно представить многоуровневой моделью, в которой каждый уровень предоставляет некоторый интерфейс (набор функций) вышележащему уровню, а сам, в свою очередь, для выполнения своей работы использует интерфейс (обращается с набором запросов) нижележащего уровня. Задачей символьного уровня является определение по символьному имени файла его уникального имени. В файловых системах, в которых каждый файл может иметь только одно символьное имя (например, MS-DOS), этот уровень отсутствует, т.к. символьное имя, присвоенное файлу пользователем, является одновременно уникальным и может быть использовано ОС. В других файловых системах, в которых один и тот же файл может иметь несколько символьных имен, на данном уровне просматривается цепочка каталогов для определения уникального имени файла. Например, в файловой системе Unix уникальным именем является номер индексного дескриптора файла (i-node). На следующем, базовом уровне по уникальному имени файла определяются его характеристики: права доступа, адрес, размер и другие. Характеристики файла могут входить в состав каталога или храниться в отдельных таблицах. При открытии файла его характеристики перемещаются с диска в оперативную память, чтобы уменьшить среднее время доступа к файлу. Следующим этапом реализации запроса к файлу является проверка прав доступа к нему. Для этого сравниваются полномочия пользователя или процесса, выдавших запрос, со списком разрешенных видов доступа к данному файлу. Если запрашиваемый вид доступа разрешен, то выполнение запроса продолжается, если нет, то выдается сообщение о нарушении прав доступа. В некоторых файловых системах (например, HPFS) при открытии файла вместе с его характеристиками в оперативную память перемещаются несколько первых блоков файла, содержащих данные. На логическом уровне определяются координаты запрашиваемой логической записи в файле, т.е. расстояние (в байтах) от начала файла где находится требуемая логическая запись. При этом абстрагируются от физического расположения файла, он представляется в виде непрерывной последовательности байт. Алгоритм работы данного уровня зависит от логической организации файла. Например, если файл организован как последовательность логических записей фиксированной длины l, то n -ая логическая запись имеет смещение l * (n-1) байт. Для определения координат логической записи в файле с индексно-последовательной организацией выполняется чтение таблицы индексов (ключей), в которой непосредственно указывается адрес логической записи. На физическом уровне файловая система определяет номер физического блока, который содержит требуемую логическую запись, и смещение логической записи в физическом блоке. Для этого используются результаты работы логического уровня - смещение логической записи в файле, адрес файла на внешнем устройстве, а также сведения о физической организации файла, включая размер блока. После определения номера физического блока, файловая система обращается к системе ввода-вывода для выполнения операции обмена с внешним устройством. В ответ на этот запрос в буфер файловой системы будет передан нужный блок, в котором, на основании смещения, полученного при работе физического уровня, выбирается требуемая логическая запись. Типовая структура файловой системы В начале раздела находится суперблок, содержащий общее описание файловой системы, например:
Описанные структуры данных создаются на диске в результате его форматирования (например, утилитами format, makefs и др.). Их наличие позволяет обращаться к данным на диске как к файловой системе, а не как к обычной последовательности блоков. В файловых системах современных ОС для повышения устойчивости поддерживается несколько копий суперблока. В некоторых версиях Unix суперблок включал также и структуры данных, управляющие распределением дискового пространства, в результате чего суперблок непрерывно подвергался модификации, что снижало надежность файловой системы в целом. Выделение структур данных, описывающих дисковое пространство, в отдельную часть является более правильным решением. Массив индексных узлов (ilist) содержит список индексов, соответствующих файлам данной файловой системы. Размер массива индексных узлов определяется администратором при установке системы. Максимальное число файлов, которые могут быть созданы в файловой системе, определяется числом доступных индексных узлов. В блоках данных хранятся реальные данные файлов. Размер логического блока данных может задаваться при форматировании файловой системы. Заполнение диска содержательной информацией предполагает использование блоков хранения данных для файлов директорий и обычных файлов и имеет следствием модификацию массива индексных узлов и данных, описывающих пространство диска. Отдельно взятый блок данных может принадлежать одному и только одному файлу в файловой системе. 20. Способы выделения дискового пространства. Управление дисковым пространством. Размер логического блока Ключевой вопрос реализации файлов системы – способ связывания файлов с блоками диска. В ОС используют несколько способов выделения файлу дискового пространства, для каждого и которых сведения о локации блоков данных файла можно извлечь из записи в директории, соответствующей символьному имени файла. Выделение непрерывной последовательностью блоков. Простейший способ – хранить каждый файл как непрерывную последовательность блоков диска. При непрерывном расположении файл характеризуется адресом и длиной (в блоках). Файл, стартующий с блока b, занимает затем блоки b+1, b+2,… b+n-1. <<+>>:
<<->>:Трудности в поиске места для нового файла.
Индексные узлы. <<+>>:
Управление дисковым пространством. Одной из основных функций файловых систем является управление свободным и занятым пространством внешней памяти, включая учет используемого места на диске. Рассмотрим битовый вектор и связный список. Битовый вектор. Список свободных блоков диска реализован в виде битового вектора. Каждый блок представлен одним битом, принимающим значение 0 или 1, в зависимости от того занят ли он или свободен. Например, 000111101111110000000111… <<+>>:
<<->>:
Связный список. Связывают в список все свободные блоки, поддерживая указатель на первый свободный блок в специальном месте диска, попутно кэшируя в памяти эту информацию. <<->>:
Размер логического блока (кластера). Размер логического блока является одним из ключевых параметров, влияющих в целом на эффективность работы файловой системы. В некоторых системах (к примеру, Unix) он может быть задан при форматировании. Небольшие размеры блока: <<+>>: меньше внутренней фрагментации <<->>: существенные задержки при чтении Большие размеры блока: <<+>>: более высокая скорость обмена с диском <<->>: в среднем половина последнего блока каждого файла пропадает -> снижается доля полезного дискового пространства. Большинство файлов имеет небольшой размер (в Unix около 85% файлов имеют размер менее 8 Кбайт и 48% - менее 1 Кб). Обычный компромисс – выбор блока размером 512 байт, 1 Кбайт, 2 Кбайт, 4 Кбайт. 21. Особенности организации некоторых файловых систем Структура раздела FAT. Логический раздел отформатированный под файловую систему FAT имеет следующую структуру.
1. Понятие и структура ОС. Эволюция вычислительных и ОС. Основные функции ОС2. Классификация ОС. Архитектурные особенности ОС3. Мультипрограммирование. Особенности реализации мультипрограммирования в системах пакетной обработки, разделения времени, реального времени, с мультипроцессорной обработкой 4. Роль прерываний при мультипрограммировании. 5. Понятие процесса и потока. Создание процессов и потоков. Управляющие структуры процессов и потоков 6. Контекст процесса и его состояния 7. Планирование процессов и потоков: критерии, виды, алгоритмы планирования8. Параллельные процессы, синхронизация процессов, пример необходимости синхронизации, критическая секция. 9. Механизмы синхронизации: блокирующие переменные, семафоры, мониторы. 10. Проблемы синхронизации(тупики) и способы их разрешения. 11. Механизмы межпроцессного взаимодействия (каналы, очереди сообщений, разделяемая память) 12. Управление памятью: задачи управления, типы адресации 13. Распределение памяти: общие принципы управления памятью в однопрограммных ОС, распределение памяти фиксированными, динамическими, перемещаемыми разделами 14. Сегментное распределение памяти 15. Страничное распределение памяти 16. Особенности эффективного использования таблицы страниц: многоуровневые таблицы страниц, ассоциативная память, инвертированная таблица страниц, хеширование17. Сегментно - страничное распределение памяти18. Физическая организация жёсткого диска19. Принципы построения файловой системы: интерфейс, функциональная схема, типовая структура файловой системы20. Способы выделения дискового пространства. Управление дисковым пространством. Размер логического блока 21. Особенности организации некоторых файловых систем |
15 руководство пользователя Просим уделить время для внимательного изучения инструкций в настоящем Руководстве пользователя. Это поможет вам надлежащим образом... |
Инструкция (типовая) по охране труда при Реактивы химические – это чистые вещества, их растворы, смеси или композиции строго регламентируемого состава, применяемые для научных... |
||
Пароконвектомат «эра» это многофункциональная печь, которая может... Он позволяет повару готовить блюда лучшего качества при меньших физических затратах. Возможность использования одного пароконвектомата... |
Пароконвектомат «эра» это многофункциональная печь, которая может... Он позволяет повару готовить блюда лучшего качества при меньших физических затратах. Возможность использования одного пароконвектомата... |
||
Руководство пользователя следует изучить перед установкой оборудования,... Это руководство содержит информацию о правилах установки и эксплуатации оборудования |
Регулирование криптовалют, токенов блокчейн и первичного предложения монет (ico) Наиболее перспективной технологией является блокчейн, которая представляет собой технологию распределённой базы данных и обеспечивает... |
||
Компьютер и дети. Компьютер друг или враг? Показать возможность использования компьютера в учебной деятельности и в домашних условиях |
Инструкция по подключению к программе Teamspeak Это бесплатная программа, не требующая регистрации или чего-либо еще, очень экономная в плане трафика. Программа представлена в разных... |
||
Руководство пользователя Артикул: 12313 Версия 0 Оптима окажется для вас многофункциональным полезным оборудованием и в будущем. Ваша отопительная установка отличается современным... |
1. Программное обеспечение компьютера – это А вся совокупность программ, хранящихся на всех устройствах долговременной памяти компьютера |
||
Инструкция по эксплуатации Razer Kabuto Спасибо, что выбрали товар... Самое интересное, что Razer Kabuto еще и защищает дисплей. Каким образом? При транспортировке ноутбука или монитора компьютера нужно... |
Программа для родителей и педагогов, которая называется «Из детства в отрочество» Вы держите в руках необычную книгу. Это программа для родителей и педагогов, которая называется «Из детства — в отрочество» |
||
Руководство пользователя Содержание Перед началом использования необходимо внимательно ознакомиться с данным руководством и эксплуатировать оборудование в соответствии... |
Краткое руководство пользователя собрания Они могут сделать экран своего компьютера доступным для совместного использования всеми участниками, а также вести чат и транслировать... |
||
Программа «Вольный стиль» Дополнительное образование обеспечивает возможность успеха в данной сфере деятельности и тем самым способствует развитию таких качеств... |
Руководство Пользователя, Обновления для драйвера и по Это инструкция знакомит с правилами эксплуатации и процедурой установки продукта. Для гарантии наилучшей производительности продукта... |
Поиск |