Файл: Литература по курсу аос (по всем вопросам должен быть представлен краткий рукописный конспект в общей тетради).docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 08.02.2024

Просмотров: 87

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


Во многих современных процессорах совмещают эти два подхода.

При этом адрес ОП отражается на группу адресов кэш памяти.

Группы пронумерованы

Поиск идет сначала по номеру группы

Потом – ассоциативный просмотр всех записей в группе на предмет совпадения старшей части адресов.

Если промах – данные копируются в кэш по любому свободному адресу группы

Если надо вытеснить – вытесняется элемент из группы по выбранному алгоритму.

Т.е у нас прямое отображение в группу и случайное – в пределах группы.


Схемы выполнения запросов в схемах с двухуровневой кэш памятью.

В схемах с одноуровневой кэш-памятью все понятно.

  1. Запрос к памяти

  2. Поиск в КЭШе или одновременный поиск в КЭШЕ и ОП

  3. Дальше в зависимости от результатов.



Но бывают системы, использующие многоуровневое (двухуровневое) кэширование. При этом кэш 2 уровня играет роль ОП по отношению к КЭШу 1 уровня.


КЭШи 1 и 2 уровня могут работать по разному: например 1 использует сквозную запись, а 2 – обратную (такая комбинация в процессоре Пентиум)


Нужна модификация данных:

Если данные найдены в КЭШе 1 – сквозная запись – данные модифицируются в самом КЭШе 1, а потом поступает идут модифицироваться в кэш 2

Здесь уже обратная запись – то есть данные в КЭШе переписываются, устанавливается бит модификации, но в ОП ничего не пишется.




  1. Управление памятью в реальном режиме адресации на примере консоли Windows XP. https://poznayka.org/s3301t1.html

  2. Задачи подсистемы управления внешними устройствами.

Подсистема управления внешними устройствами тесно связана с файловой системой.

Наиболее важные ее задачи:

  1. Организация параллельной работы устройств ввода-вывода и процессора

Каждое устройство ввода-вывода снабжается контроллером. Контроллер взаимодействует с драйвером – программой, предназначенной для управления устройством. Контроллер принимает от драйвера разные задачи и инфу, после чего может спокойно работать какое-то время, никого не трогая.

ОС должна:

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

  • По минимуму грузить процессор задачами ввода-вывода, дав ему возможность заниматься делом.

Эта задача обычно решается через многоуровневую приоритетную схему обслуживания по прерываниям – все устройства делятся по уровням приоритета, и шлют свои прерывния диспетчеру прерываний ОС.


  1. Согласование скоростей обмена

Устройства с разной скоростью отдают и обрабатывают инфу. Для решения этой проблемы обычно применяют БУФЕРИЗАЦИЮ данных в ОП. Доступ к буферу, соответственно, синхронизируется.

Но ОП может не хватить (когда большие объемы инфы) – тогда либо:

  • на диске выделяют место, спул файл, куда инфу девают.

  • Используют большую буферную память в контроллерах внешних устройств.




  1. Кэширование данных – для сокращения реальных операций ввода-вывода

  2. Разделение устройств и данных между процессами

Устройства ввода вывода могут предоставляться:

  • В монопольное юзание

  • В разделяемое юзание

ОС должна:

  • Обеспечивать контроль доступа (прав пользователей и тд) к устройству в целом

  • То же к отдельным его частям (разным файлам на диске)

  • Отслеживать захваты и освобождения монопольно используемых устройств

  • Оптимизировать последовательность работ для совместно используемых

  • Разграничивать порции данных нескольких процессов друг от друга при разделяемом использовании

  • Хранить очередь заданий для каждого устройства




  1. Обеспечение удобного и логического интерфейса между устройствами и остальной частью системы

  • Обычно используется самая удобная – файловая модель периферийного устройства – как базовый интерфейс.

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




  1. Поддержка широкого спектра драйверов с возможностью расширения

  • Это ооочень важно для рынка

  • Нужен четкий и удобный интерфейс между дровами и другими компонентами ОС

(открытость интерфейса драйвера)

  • Интерфейс драйвер-ядро должен быть стандартизирован

  • Интерфейс драйвер-устройство нужно стандартизировать, если ОС сама взаимодействует с устройством

  • Для поддержки разработки драйверов производители ОС выпускают ДДК –драйвер девелопмент кит – набор средств для написания драйверов, отладчики, компиляторы и тд.





  1. Динамическая загрузка и выгрузка драйверов.

Загрузка драйверов бывает:

  • Динамическая (без перезагрузки ОС) – современно и правильно

  • Статическая (с перезагрузкой)




  1. Поддержка синхронных и асинхронных операций ввода-вывода

  • Синхронный режим – программный модуль запросил операцию ввода/вывода – и ждет

  • Асинхронный режим – программный модуль продолжает выполняться.

В асинхронном режиме запросы ввода вывода могут осуществляться не только пользовательской программой, но и ядром (для считывания отсутствующей в виртуальной памяти страницы) – это более гибкие решения. На основе асинхронного вызова всегда можно сделать синхронный.



  1. Поддержка нескольких файловых систем.

  • Нужно поддерживать все современные популярные файловые системы

  • Нужно позволять безболезненно включать новые ФС, без переписывания кода ОС.

  • Обычно в ОС есть специальный слой ПО, решающий эту задачу.



  1. Подсистема управления файлами. Задачи ОС по управлению файлами. Логическая организация файловой системы. Физическая организация данных на диске. Физическая организация файла. Файловые операции. Стандартные файлы ввода и вывода, перенаправление ввода-вывода. Файловые системы Unix (s5 и ufs), FAT, NTFS. Контроль доступа к файлам в системах Unix и в Windows NT/2000/XP


Подсистема управления файлами. Задачи ОС по управлению файлами.

Одна из основных задач ОС – дать юзеру удобный доступ к файлам не его дисках. Для этого ОС подменяет физическую структуру данных более удобной для пользователя логической моделью: деревом каталогов, в котором лежат файлы.
Файл – это именованная область внешней памяти, куда можно записывать данные и откуда можно их считывать. Они хранятся в энергонезависимой ПЗУ.
Файловая система – это часть ОС, включающая:

  • СОВОКУПНОСТЬ всех файлов на диске

  • Все структуры, разработанные для УПРАВЛЕНИЯ файлами:

    • Каталоги файлов

    • Дескрипторы файлов

    • Таблицы распределения свободного и занятого пространства на диске

  • Программные средства для осуществления ОПЕРАЦИЙ над файлами:

    • Создание

    • Уничтожение

    • Чтение

    • Запись

    • Именование

    • Поиск и тд


Задачи ОС по управлению файлами:


  • Именовать файлы

  • Отображать логическую модель файловой системы на физическую

  • Обеспечивать АПИ для программ, чтобы им легко было работать в файлами

  • Обеспечить устойчивость ФС к сбоям питания, аппаратным и программным ошибкам

Плюс в мультипрограммной среде:

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

Плюс в многопользовательской среде:

  • Защита файлов одного пользователя от файлов другого

  • Защита от несанкционированного доступа



Логическая организация файловой системы.

Типы файлов

Файловые системы поддерживают разные функциональные типы файлов:

  • Обычные файлы

    • Создаются пользователем

    • ОС не контролирует и не ограничивает их структуру и содержимое

    • Содержимое и структура определяются приложением, которое с ними работает

    • Любая ОС должна поддерживать как минимум собственные исполняемые файлы

  • Файлы-каталоги

    • Особый тип файлов, содержат системную справочную инфу о наборе файлов, сгрупированных юзером по произвольному признаку

    • Часто сюда могут входить и каталоги – получается древовидная структура

    • Каталоги устанавливают соответствия между именами файлов и их характеристиками (тип файла, расположение на диске, права доступа, дата создания, модификации и тд.)

    • В остальных отношениях каталоги рассматриваются как обычные файлы

  • Специальные файлы

    • Фиктивные файлы, ассоциированные с устройствами ввода-вывода

    • Используются, чтобы доступ к файлам и внешним устройствам был одинаков по механизму

    • Операции ввода-вывода юзер с их помощью может делать путем обычных команд записи/чтения

    • Команды обрабатываются сначала ФС, а потом ОС преобразует их в команды управления устройством

  • Именованные контейнеры

  • Символьные связи

  • Отображаемые в память файлы и тд.


Иерархическая структура ФС

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

Иерархия каталогов может быть организована в виде:

- дерева (Windows, MS-DOS) – файл входит только в 1 каталог

- сеть (Unix) – файл может входить в разные каталоги


Каталог верхнего уровня называется корнем (root)
Одноуровневая организация – частный случай иерархической структуры, когда все файлы входят в один каталог.
Имена файлов

Иерархически организованные ФС обычно поддерживают 3 типа имен файлов:

  • Простое имя (идентифицирует файл в пределах каталога)

    • NTFS – до 255 сивмолов, FAT – 8.3, unix s5 – 14 символов

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

    • В этом случае для идентификации файла пользуем полное имя

  • Полное имя

    • Составное – состоит из цепочки простых имен всех каталогов

    • Отделяются разделителем, принятым в ОС (/\), корневой каталог не учитывается

    • Полные имена должны быть уникальны

  • Относительное имя

    • Определяется через понятие «текущий каталог»

    • Путь к текущему каталогу + простое имя

  • Уникальное имя – уникальное число, присваиваемое файлу ОС, предназначено только для ОС


Монтирование

Файловая система может иметь несколько дисковых устройств:

- жесткий диск

- гибкие диски

- компактные диски и тд


Как с ними работать:

  1. Автономные файловые системы

Чтобы указать путь к файлу, нужно указать устройство A:\privat\letter\doc.txt

(MS-DOS)

  1. Объединять файловые системы в одну – монтирование.

  • Из всех файловых систем выделяется системная

  • Файловая система на системном диске является корневой

  • В корневой системе выбирается нужный каталог

  • Этот каталог становится корневым для второй системы

  • Логической разницы между обычной и смонитрованной системами нет.




У файла есть:

  • Имя

  • Данные

  • Атрибуты

Набор атрибутов разный для разных ОС.

Где можно хранить атрибуты:

  • В каталогах (MS-DOS)

  • В спец таблицах (ссылки на эти таблицы хранятся в каталоге) – ufs UNIX. Это делает систему очень гибкой, позволяя включать файл в несколько каталогов.


Логическая организация файла:

По способам логической организации файла ФС делятся на:

- ФС с неструктурироваными файлами

  • формат файла известен только программе, которая его обрабатывает

  • ФС видит файл как неупорядоченный набор бит

  • для работы с файлом ОС указывает смещение от начала и к-во байт, которые необходимо считать

  • используется в большинстве современных ФС

  • можно легко разделять файл между несколькими прилагами, каждая читает его по-своему.