- •Часть 1. Функции, состав и назначение ос
- •Место ос в структуре вычислительной системы
- •Две основные функции, выполняемые операционными системами.
- •Эволюция ос. Многозадачность и режим разделения времени
- •Эволюция ос. Дружественный интерфейс. Сетевые и распределенные ос
- •Классификация ос и краткая характеристика каждого класса
- •Требования, предъявляемые к современным ос. Их краткая характеристика
- •Часть 2. Архитектура ос
- •Монолитные ос
- •Многоуровневые ос. Основные и вспомогательные модули
- •Ядро ос в привилегированном положении
- •Многослойная структура ос и ядра
- •Виртуальные машины и гипервизоры
- •Микроядерная архитектура ос
- •Структура типовой unix-подобной ос
- •Структура ос семейства Windows nt
- •Аппаратная зависимость ос
- •Переносимость ос
- •Часть 3. Управление процессами и потоками
- •Мультипрограммирование или многозадачность. Вытесняющая и невытесняющая многозадачность.
- •Описатели процессов и потоков. Состояния процессов и потоков.
- •Описатели процессов и потоков. Операции над процессами и потоками.
- •20. Планирование и диспетчеризация. Контекст потока
- •Обработка прерываний. Типы прерываний.
- •Системные вызовы. Синхронный и асинхронный режим.
- •Синхронизация процессов и потоков. Блокирующие переменные и семафоры Дийкстры.
- •24. Сигналы. Реакция ос и приложений на сигналы.
- •Часть 4. Управление памятью
- •25. Функции ос по управлению памятью. Организация памяти.
- •26. Иерархия зу. Классификация зу.
- •27. Типы адресов памяти. Способы структурирования вап процесса.
- •28. Алгоритмы распределения памяти без использования внешней памяти. Достоинства и недостатки.
- •29. Виртуальная память и свопинг. Реализация виртуальной памяти.
- •30. Страничное распределение памяти. Преобразование виртуальных адресов в физические.
- •31. Методы выбора страницы для выгрузки ее на диск. Примеры.
- •32. Сегментное и сегментно-страничное распределение памяти. Отличительные особенности.
- •33. Разделяемые и невыгружаемые области памяти.
- •Часть 5. Управление данными
- •34. Основные функции подсистемы управления вводом-выводом.
- •35. Многослойная организация по ввода-вывода.
- •36. Менеджер (диспетчер) ввода-вывода.
- •37. Многоуровневые драйверы.
- •38. Файловая система. Логическая организация. Цели и задачи.
- •39. Типы файлов. Иерархическая структура фс.
- •40. Именование файлов. Типы имен файлов. Примеры.
- •41. Атрибуты файлов. Способы их хранения в конкретных файловых системах.
- •43. Физическая организация и адресация файла. Примеры.
- •Часть 6. Сетевые ос 46. Концепции распределенной обработки данных. Двухзвенные приложения.
- •48. Механизм сокетов. Примитивы передачи сообщений. (лекция 6)
- •Часть 7. Системные программы 49. Понятие и структура систем программирования.
- •50. Интерпретаторы, ассемблеры, макроассемблеры.(лекция 7)
- •51. Отладчики и загрузчики. Функции и назначение (лекция 7)
- •52. Процесс трансляции. Этапы, фазы и проходы.
- •53. Роль рекурсии в грамматике. Примеры. (лекция 7)
- •54. Порождения. Левое и правое порождения. Дерево синтаксического разбора. (лекция7)
43. Физическая организация и адресация файла. Примеры.
Способы физической организации файла
Физическая организация файла (ФОФ) – это способ размещения файла на диске. Основные критерии эффективности физической организации файлов:
Скорость доступа к данным.
Объем адресной информации файла.
Степень фрагментированнности дискового пространства.
Максимально возможно размер файла.
Фрагментация – это наличие большого числа несмежных участков свободной памяти очень маленького размера (фрагментов). Настолько маленького, что ни одна из вновь поступающих программ не может поместиться ни в одном из участков, хотя суммарный объем фрагментов может составить значительную величину, намного превышающую требуемый объем памяти.
Существует несколько способов физической организации файла. Непрерывное размещение – это простейший вариант ФОФ, при котором файлу предоставляется последовательность кластеров диска, образующих непрерывный участок дисковой памяти:
Достоинства способа: высокая скорость доступа, так как затраты на поиск и считывание кластеров файла минимальны, отсутствие фрагментации на уровне файла, минимален объем адресной информации – достаточно хранить только номер первого кластера и объем файла. Недостатки невозможно сказать, какого размера должна быть непрерывная область, выделяемая файлу, так как файл при каждой модификации может увеличить свой размер, фрагментация на уровне кластеров, из-за которой нельзя выбрать место для размещения файла целиком. Из-за этих недостатков на практике используются другие методы, при которых файл размещается в нескольких, в общем случае несмежных областях диска.
Размещение файла в виде связанного списка кластеров дисковой памяти.
При таком способе в начале каждого кластера содержится указатель на следующий кластер:
Достоинства: Адресная информация минимальна расположение файла может быть задано одним числом – номером первого кластера, фрагментация на уровне кластеров отсутствует, так как каждый кластер может быть присоединен к цепочке кластеров какого-либо файла, файл может изменять свой размер, наращивая число кластеров.
Недостатки: Сложность организации доступа к произвольно заданному месту файла – чтобы прочитать пятый по порядку кластер файла, необходимо последовательно прочитать четыре первых кластера, прослеживая цепочку номеров кластеров, количество данных файла в одном кластере не равно степени двойки (одно слово израсходовано на номер следующего кластера), а многие программы читают данные кластерами, размер которых равен степени двойки, Фрагментация на уровне файлов (файл может разбиваться на несмежные фрагменты).
При отсутствии фрагментации на уровне кластеров на диске все равно имеется определенное количество областей памяти небольшого размера, которые невозможно использовать, то есть фрагментация все же существует. Эти фрагменты представляют собой неиспользуемые части последних кластеров, назначенных файлам, так как объем файла в общем случае не кратен размеру кластера. На каждом файле в среднем теряется половина кластера. Эти потери особенно велики, когда на диске имеется большое количество маленьких файлов, а кластер имеет большой размер.
44. Организация контроля доступа к файлам. Файлы – это самый популярный вид разделяемых ресурсов, доступ к которым ОС должна контролировать
• Различают два основных подхода к определению прав доступа:
– избирательный подход, когда для каждого файла и каждого пользователя сам владелец определяет допустимые операции
– мандатный подход, когда система наделяет пользователя определенными правами по отношению к файлу в зависимости от того, к какой группе пользователь отнесен
Определить права доступа к файлу – значит определить для каждого пользователя ограниченный набор
операций, которые он может применить к данному файлу
• В разных ФС может быть определен свой список операций доступа
• В общем случае права доступа описываются матрицей прав доступа, в которой столбцы соответствуют всем
файлам системы, строки – всем пользователям
• На пересечении строк и столбцов указываются разрешенные операции
В некоторых системах пользователи могут быть разделены на категории
• Для всех пользователей одной категории определяются единыеправа доступа
• Например, в *nix-системах все пользователи подразделяются на три категории: владельца файла,
членов его группы и всех остальных
Матрица прав доступа хранится по частям
• Для каждого файла или каталога создается список управления доступом (ACL)
• В нем описываются права на выполнение операций пользователей и групп пользователей по отношению к
этому файлу или каталогу
• Список управления доступа является частью характеристик файла или каталога и хранится на диске в
соответствующей области
Обобщенно формат списка управления доступом можно представить в виде набора идентификаторов пользователей и их групп, в котором для каждого идентификатора указывается набор разрешенных операций над объектом
• Список ACL состоит из элементов управления доступом (ACE), при этом каждый элемент соответствует одному идентификатору
• Список ACL с добавленным к нему идентификатором – характеристики безопасности
45. Поддержка нескольких файловых систем. Популярность той или иной ФС приводит к ее «миграции» из «родной» ОС в другие ОС
• Так, ФС FAT появилась в MS-DOS, затем была реализована в OS/2, семействе ОС Windows и даже во многих реализациях ОС Unix
• Поддержка нескольких популярных ФС для ПВВ также очень важна
• Не менее важно, чтобы архитектура ПВВ позволяла просто включать в ее состав новые ФС, без внесения изменений в код
• Обычно в ОС существует специализированный слой программного обеспечения, как раз и отвечающий за
решение данной задачи, например слой VFS в версиях Unix версии SVR4
Поддержка синхронных и асинхронных операций ввода-вывода
• Операция ввода-вывода (ОВВ) может выполняться по отношению к программному модулю, запросившему операцию, в синхронном и асинхронном режимах
• Синхронный режим означает, что модуль приостанавливает свою работу до тех пор, пока ОВВ не будет завершена
• При асинхронном режиме модуль продолжает выполняться в мультипрограммном режиме
одновременно с ОВВ
• ПВВ должна предоставлять своим клиентам возможность выполнять как синхронные, так и асинхронные ОВВ, в зависимости от потребностей вызывающей стороны.
