Всё, что нужно к РК 2
Описание файла
Документ из архива "Всё, что нужно к РК 2", который расположен в категории "". Всё это находится в предмете "операционные системы" из 5 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "контрольные работы и аттестации", в предмете "операционные системы" в общих файлах.
Онлайн просмотр документа "Всё, что нужно к РК 2"
Текст из документа "Всё, что нужно к РК 2"
-
Отображение программных модулей на оперативную память.
Исходная программа – некоторое неупорядоченно пространство имен, модулей и т.д. Ее нужно преобразовать в машинную программу (с адресами конкретных ячеек). Система программирования строит виртуальное адресное пространство, размер которого не зависит от оперативной памяти.
Второй этап: с помощью ОС происходит отображение виртуального пространства на физическую память, причем либо она размещается вся на оперативную память, либо часть – на оперативную память, часть – во вне оперативной памяти.
Также существуют частные случаи отображения:
-
Виртуальное адресное пространство тождественно физической памяти: нет необходимости во втором отображении, виртуальные адреса точно соответствуют физическим адресам оперативной памяти.
-
Виртуальное адресное пространство тождественно исходному пространству имен: отображение исходной программы на оперативную память выполняет ОС на основе таблицы символьных имен.
-
Методы управления памятью (смежное и несмежное размещение процессов).
-
Свопинг
-
Смежное размещение процессов
-
Однопрограммный режим
-
Мультипрограммирование с фиксированными разделами
-
Мультипрограммирование с переменными разделами
-
Несмежное размещение процессов
-
Сегментная организация памяти
-
Страничная организация памяти
-
Сегментно-станичная организация памяти
Свопинг - один из механизмов виртуальной памяти, при котором отдельные фрагменты памяти (обычно неактивные) перемещаются из ОЗУ на жёсткий диск (или другой внешний накопитель, такой как Флеш-память), освобождая ОЗУ для загрузки других активных фрагментов памяти. Такими фрагментами в современных ЭВМ являются страницы памяти.
При запуске любой программы созданный ей процесс должен быть размещен в оперативной памяти. Методы размещения процессов в ОЗУ делятся на смежные и несмежные.
Смежное размещение является простейшим и предполагает, что в памяти, начиная с некоторого начального адреса, выделяется один непрерывный участок адресного пространства. При несмежном размещении программа разбивается на множество частей, которые располагаются в различных, необязательно смежных участках адресного пространства.
Страничная организация памяти (paging) относится к методам несмежного размещения процессов в памяти. Основное достоинство — она позволяет свети к минимуму общую фрагментацию за счет полного устранения внешней фрагментации и минимизации внутренней фрагментации.
Адресное пространство основной и внешней памяти разбивается на блоки фиксированного размера, называемое страницами. Процесс загружается в память постранично. Каждый адрес, генерируемый процессором, состоит из 2 частей — номера страницы и смещения в пределах страницы. Таблица страниц содержит начальные адреса всех страниц, в которых размещена программа. Указатель на таблицу страниц хранится в PCB соответствующего процесса.
Размер страницы обычно составляет 512 байт, 2 или 4 Кбайт.
Сегментная организация преследует ту же идею, но сегменты, в отличие от страниц, могут иметь переменный размер. Каждый сегмент — линейная последовательность адресов, начинающихся с 0. Каждый сегмент имеет имя, размер, уровни привилегий и флаги. В отличие от страничной организации, где программист задает только 1 адрес, который разбивается на номер страницы и смещение, в сегментной схеме, программист должен самостоятельно указывать имя сегмента и смещение относительно его начала. Размер и кол-во сегментов зависит от того, как написана программа.
Аппаратная поддержка сегментации памяти реализована в процессорах Intel.
В настоящее время используется сегментно-страничная организация памяти. В ней большие сегменты делятся на небольшие страницы.
-
Технология виртуальной памяти. Алгоритмы замещения страниц.
Виртуальная память — это технология, которая позволяет выполнить процесс, только частично располагающийся в оперативной памяти. Таким образом, виртуальная память позволяет выполнять программы, размеры которых превышают размеры физического адресного пространства памяти.
Алгоритмы замещения страниц:
-
Случайное удаление страниц
-
Удаление по времени пребывания в ОП
-
Удаление в связи с давностью использования
-
Удаление по вероятности использования
-
Удаление по приоритетам
-
Контроллеры устройств ввода-вывода. Порты ввода-вывода. Процессы ввода-вывода.
Существуют 2 типа устройств ввода-вывода: блочные ( они хранят данные в виде блоков (для обмен информацией). Каждый блок может быть прочитан независимо ) и символьные( они работают с потоками символов без какой-либо структуры (нельзя адресоваться к конкретному символу) (принтер, мышь и т.д.). Таймер не является ни блочным ни символьным устройством.
Между устройством и компьютером есть интерфейс. Контроллеры имеют набор управляющих регистров (портов).
Параметры контроллеров ввода-вывода:
-
Адреса управляющих регистров (портов)
-
Адреса буферов данных
-
Уровень запросы прерывания
Реализации доступа к управляющим регистрам и буферам:
-
номер порта ввода-вывода - назначается каждому управляющему регистру 8- или 16-рзрядное целое число. Адресные пространства ОЗУ и устройства ввода-вывода в этой схеме не пересекаются.
Недостатки
- для чтения и записи применяются специальные команды, например: IN и OUT
- необходим специальный механизм защиты от процессов
- необходимо сначала считать регистр устройства в регистр процессора -
отображаемый на адресное пространство памяти ввод-вывод - регистры отображаются на адресное пространство памяти.
Недостатки
- при кэшировании памяти, могут кэшироваться и регистры устройств
- все устройства должны проверять все обращения к памяти, чтобы определить, на какие им реагировать. На одной общей шине это реализуется легко, но на нескольких будут проблемы. -
смешанная реализация - используется в х86 и Pentium,
от 0 до 64К отводится портам,
от 640 до 1М зарезервировано под буферы данных.
Порты ввода-вывода создаются в системном оборудовании, которое циклически декодирует управляющие, адресные и контакты данных процессора. Затем порты настраиваются для обеспечения связи с периферийными устройствами ввода-вывода.
Одни порты используются для передачи данных (например, приём данных от клавиатуры или чтение времени системных часов), другие — для управления периферийными устройствами (команда чтения данных с диска). Исходя из этого порт ввода-вывода может быть портом только для ввода, только вывода, а также двунаправленным портом.
Преимущества портов:
-
Возможна совсем другая схемотехническая организация ввода-вывода.
-
Человек, читающий ассемблерный листинг, сразу же видит, что это работа не с памятью, а с внешним устройством.
-
Всё адресное пространство машины можно пустить на ОЗУ, без всяких «дыр» наподобие UMB.
-
Для машин низкой разрядности, у которых адрес в памяти задаётся регистровой парой, а на порт хватает и одного регистра, ускоряется работа с внешними устройствами.
Процессы ввода-вывода.
Состоит из двух процессов: процесс, связанный с используемой программой и процесс, связанный с самим устройством ввода-вывода. Модуль управления устройством – драйвер. Синхронизация этих процессов происходит через буферизацию.
-
Структура программного обеспечения ввода-вывода. Процессы ввода вывода.
Обработку прерываний можно выделить в отдельный уровень. Драйверы устройств – ПО непосредственно взаимодействует с контроллером. Обработка прерываний должны быть скрыта. Уровень ОС: на этом уровне решается вопрос о независимости от устройств (системные вызовы), интерпретация системных вызовов. Пользовательский уровень: библиотечные функции и т.д.
Многослойное построение программного обеспечения, характерное для операционных систем вообще, оказывается особенно естественным и полезным при построении подсистемы ввода-вывода. При большом разнообразии устройств ввода-вывода, обладающих существенно различными характеристиками (принтер и диски, графический монитор и сетевой адаптер и т. п.), иерархическая структура программного обеспечения позволяет соблюсти баланс между двумя весьма противоречивыми требованиями: с одной стороны, необходимо учесть все особенности каждого устройства, а с другой стороны, обеспечить единое логическое представление и унифицированный интерфейс для устройств всех типов. При этом нижние слои подсистемы ввода-вывода должны включать индивидуальные драйверы, написанные для конкретных физических устройств, а верхние слои должны обобщать процедуры управления этими устройствами, предоставляя общий интерфейс если не для всех устройств, то по крайней мере для групп устройств, обладающих некоторыми общими характеристиками, например для принтеров определенного производителя или для всех матричных принтеров и т. п.
Многослойность структуры, безусловно, облегчает решение большинства перечисленных в предыдущем разделе задач подсистемы ввода-вывода, таких как простота включения новых драйверов, поддержка нескольких файловых систем, динамическая загрузка-выгрузка драйверов и других.
Процессы ввода-вывода см. вопрос №4.
-
Способы ввода-вывода. Ввод вывод без использования и с использований прерываний. Прямой доступ к памяти.
Прямой доступ к памяти — режим обмена данными между устройствами компьютера или же между устройством и основной памятью без участия центрального процессора (ЦП). В результате скорость передачи увеличивается, так как данные не пересылаются в ЦП и обратно.