- •Вопросы и литература по курсу аос (по всем вопросам должен быть представлен краткий рукописный конспект в общей тетради)
- •Структура программного обеспечения персонального компьютера.
- •Понятие операционной системы персонального компьютера. Основные интерфейсы компьютерной системы.
- •Краткая история операционных систем.
- •Доисторический период
- •Первый период (1945-1955)
- •Управление файлами и внешними устройствами
- •Основные функциональные компоненты ос.
- •Подсистема управления процессами
- •Управления памятью
- •Защита данных и администрирование
- •Интерфейс прикладного программирования
- •Пользовательский интерфейс
- •Сетевые и распределенные операционные системы.
- •Требования к современным операционным системам.
- •Базовая архитектура операционной системы. Понятие ядра системы. Классификация операционных систем в зависимости от особенностей архитектуры ядра.
- •По архитектуре ядра системы можно разделить на:
- •-2) Слоистая архитектура ядра
- •Аппаратная зависимость и переносимость операционных систем.
- •Совместимость операционных систем и множественные прикладные среды.
- •Подсистема управления процессами, основные задачи. Понятие многозадачности.
- •Многозадачность в системах пакетной обработки, разделения времени и реального времени. Системы пакетной обработки.
- •Системы разделения времени
- •Системы реального времени
- •Состояния потока
- •Планирование и диспетчеризация потоков
- •Квантование – каждому потоку последовательно выделяется квант процессорного времени.
- •Алгоритмы планирования, основанные на приоритетах
- •Смешанные алгоритмы планирования
- •Приоритеты и концепции планирования потоков в Windows 2000, ос Unix System V и os/2. Система ос Unix System V Release 4
- •Система os/2
- •Система Windows 2000
- •Планирование процессов и потоков в системах реального времени.
- •Назначение
- •Механизм прерываний
- •Реализация системных вызовов. Использование механизма прерываний для реализации системных вызовов.
- •Понятие гонок
- •Критическая секция кода и исключение гонок
- •Блокирующие переменные
- •Понятие семафора и его использование для целей синхронизации.
- •Синхронизация и проблема тупиков.
- •Синхронизирующие объекты в операционных системах.
- •Методы распределения памяти
- •Фиксированные разделы
- •Динамические разделы
- •Перемещаемые разделы
- •Остальные методы требуют использования внешней памяти
- •Свопинг
- •Виртуальная память
- •Страничная организация памяти
- •2 Базисных свойства страничной организации:
- •Сегментное распределение памяти
- •Сегментно-страничное распределение
- •Организация виртуальной памяти, преобразование адреса.
- •Обмен данными между процессами на основе виртуальной памяти.
- •Аппаратная поддержка сегментной организации памяти в системах на основе процессоров с архитектурой ia32. Небольшое вступление про процессоры ia-32 и аппаратную поддержку мультипрограммирования
- •Регистры сегментов
- •Управляющие регистры:
- •Регистры системных адресов
- •Регистры отладки и тестирования
- •Средства поддержки сегментной организации памяти в процессорах Пентиум (собственно ответ на билет)
- •Итак, процесс обратился за памятью. Что происходит?
- •Защита данных в системах с сегментной организацией памяти на основе процессоров с архитектурой ia32.
- •Привилегии подробнее:
- •Смешанная сегментно-страничная организация памяти в системах на основе процессоров с архитектурой ia32. Трансляция адреса. Буфер ассоциативной трансляции (tlb).
- •Кэширование данных
- •Принципы работы кэш - памяти.
- •Проблема согласования данных.
- •Вытеснение данных из кэШа
- •Случайное отображение
- •Детерминированный способ отображения
- •Управление памятью в реальном режиме адресации на примере консоли Windows xp.
- •Задачи подсистемы управления внешними устройствами.
- •Организация параллельной работы устройств ввода-вывода и процессора
- •Согласование скоростей обмена
- •Разделение устройств и данных между процессами
- •Обеспечение удобного и логического интерфейса между устройствами и остальной частью системы
- •Поддержка широкого спектра драйверов с возможностью расширения
- •Динамическая загрузка и выгрузка драйверов.
- •Поддержка синхронных и асинхронных операций ввода-вывода
- •Поддержка нескольких файловых систем.
- •Типы файлов
- •Иерархическая структура фс
- •Имена файлов
- •Монтирование
- •У файла есть:
- •Логическая организация файла:
- •Физическая организация данных на диске.
- •Физическая организация файла.
- •Связанный спискок кластеров дисковой памяти
- •Связанный список индексов – фс фат.
- •Файловые операции.
- •Универсальные действия:
- •Стандартные файлы ввода и вывода, перенаправление ввода-вывода.
- •Файловые системы Unix (s5 и ufs).
- •Обзор семейства операционных систем Microsoft Windows.
- •Системный реестр: структура системного реестра Windows;
- •Импорт и экспорт данных системного реестра;
- •Предопределенные ключи системного реестра;
Универсальные действия:
По символьному имени найти характеристики файла
Скопировать их в отдельную область оперативной памяти
Проверить права пользователя для операции
Очистить область памяти после завершения операции.
Уникальные действия – собственно то, что требуется для данной операции.
Есть 2 способа выполнения действий над файлами:
- stateless – для каждой операции выполняются как универсальные, так и уникальные действия
- все универсальные действия выполняются только в начале и в конце работы в файлом, в промежуточной стадии – только уникальные действия.
Большинство ФС юзают второй способ, хотя первый обладает одним плюсом: надежностью и устойчивостью к системным сбоям. Поэтому он используется в некоторых распределенных сетевых системах, где сбои изза отказа пакетов или сетевых узлов более вероятны.
При втором способе в ФС вводятся два специальных системных вызова:
Open
Преобразует символьное имя в числовое
Копирует характеристики
Проверяет права пользователя
Close
Освобождает буфер памяти
Стандартные файлы ввода и вывода, перенаправление ввода-вывода.
Понятия стандартного файла ввода, вывода и ошибок были введены в ОС ЮНИКС, но существуют и в Виндовс.
Эти три уже открытых файла существуют у любого пользовательского процесса с самого момента его возникновения.
При создании любого процесса ОС помещает в его таблицу открытых файлов три записи:
0 – стандартный файл ввода
1 – стандатрный файл вывода
2 – стандартный файл ошибок
Соответсвтенно создаются и 3 структуры типа file, на которые указывают эти три записи таблицы.
Доступ к этим файлам осуществляется так (Си):
Read(stdio, buffer, nbytes);
Write(stdout, buffer, nbytes);
Изначально все эти три файла связываются ОС с одним файлом: терминалом, с которого пользователь вошел в систему.
Это естественно, т.к. программы выводят результаты работы и ошибки на терминал, с которым работает пользователь.
Самая известная прога, использующая стандартные файлы ввода-вывода – интерпретатор команд, консоль, оболочка ОС. Она постоянно читает вводимые пользователем команды из стандартного файла ввода, выводит результаты работы в стандартный файл вывода, ну и ошибки тоже.
Стандартные файлы используются не только интерпретатором команд, но и самими командами: если команда читает данные из стандартного файла ввода и выводит данные в стандартный файл вывода, она называется ФИЛЬТРОМ.
Также интерпретатор команд осуществляет такую важную функцию, как перенаправление стандартного ввода и вывода – заменяет файл терминала, используемый по умолчанию, на пользовательский файл. Дело в том, что приложение не знает, какой файл является стандартным, а просто использует данный ему дескриптор. Собственно, этот дескриптор временно подменяется на нестандартный.
Перенаправление вывода: dir > txt.txt
Перенаправление ввода: dir < txt.txt
Файловые системы Unix (s5 и ufs).
ОС ufs (Unix File System) является развитием системы s5(System V), и расширяет ее возможности по поддержке больших дисков и файлов, а также повышает ее надежность. Поэтому эти две системы используют очень близкую физическую модель файлосовй системы.
В Юникс кластер называется блоком.
Раздел диска, где размещается ФС s5 делится на такие области:
Загрузочный блок
Суперблок (superblock) – общая инфа о ФС:
Размер ФС
Размер области индексных дескрипторов
Число индексных дескрипторов
Список свободных блоков
Список свободных индексных дескрипторов и тд
Область индексных дескрипторов (inode list):
Порядок расположения дескрипторов соответствует их номерам
Область данных:
Корневой каталог
Файлы-каталоги
Обычные файлы
Специальных файлов как таковых НЕТ, есть только индексные дескрипторы спец формата, а места они не занимают.
Особенность этой ФС – отделение имени файла от его характеристик, которые хранятся в ИНДЕКСНОМ ДЕСКРИПТОРЕ (за счет этого один файл может входить в несколько каталогов)
Индексный дескриптор:
Размер – 64 байта
Хранит инфу о:
Владельце файла
Типе файла (обычный, каталог, специальный, конвейер, символьная связь)
Права доступа
Временные характеристики (создание, модификаци и тд)
Число ссылок на данный дескриптор (количество псевдонимов файла)
Адресная информация (как организована адресная информация, см. Варианты физической организации файла, вариант 4)
Размер файла в байтах
Имеет номер – уникальное имя файла
Дескрипторы расположены в строгом соответствии со своими номерами
Соответствие между номером дескриптора и символьным именем – через иерархию каталогов.
Запись о файле в каталоге:
Очень проста – только имя и номер дескриптора:
Нет никаких ограничений размера корневого файла.
Доступ к файлу – путем последовательного просмотра всей цепочки каталогов, начиная с корневого, адрес которого известен системе:
Эта процедура требует нескольких общащений к диску (чем длиннее путь, тем больше обращений). Чтобы уменьшить число обращений к диску, дескриптор файла при его открытии копируется в специальную системную область оперативной памяти.
FAT
Логический раздел, оптимизированный под ФАТ, состоит из:
Загрузочного сектора – программа начальной загрузки ОС (вид сектора зависит от оси)
Основная копия ФАТ – информация о размещении файлов и каталогов на диске
Резервная копия ФАТ
Корневой каталог – фиксированная область размером в 32 сектора (16 кбайт) – здесь можно хранить 512 записей о каталогах и файлах (каждая запись каталога состоит из 32 байт)
Область данных
Система поддерживает 2 типа файлов:
Каталог
Обычный файл
ФС распределяет память только из области данных.
Таблица ФАТ:
Состоит из массива индексных указателей, количество которых равно количеству кластеров данных – однозначное соответствие.
Значения индексного указателя в таблице ФАТ:
Свободен
Занят и не последний (содержит номер следующего кластера)
Последний кластер
Дефектный кластер
Резервный кластер
Таблица ФАТ – общая для всех файлов раздела.
Размер кластеров:
Чем больше кластер – тем меньше адресной информации и выше скорость обмена
Но тем больше фрагментация
Выбирается компромисс: 512 байт – 64 кБайт (1-128 секторов);
Разрядность индексного указателя должна позволить задать максимальный номер кластера для диска определенного объема:
ФАТ 12 – 12 разрядов – 4096 кластеров – для дисков не более 16 Мбайт
ФАТ 16 – 16 разрядов – 65 536 кластеров – для дисков не более 512 Мбайт
ФАТ 32 – 32 разряда – больше 4 млрд кластеров – для больших дисков
При удалении файла в ФАТ информация о первом кластере файла не стирается, только в каталоге помечается, что файл свободен и обнуляются все индексные дескрипторы. Поэтому недавно удаленную информацию можно хотя бы частично (то, что хранится в последовательных кластерах) удалить.
Резервная копия ФАТ всегда синхронизируется с основной, поэтому с ее помощью неправильные пользовательские действия, которые выглядели как правильные с точки зрения ОС не восстановить.
Метод хранения адресной инфы в ФАТ не надежен – один сбой – разрыв списка индексных укзателей – все пропало, инфа о последующих записях потеряна.
Имена файлов в ФАТ:
12 и 16 – схема 8.3 – 8 символов на имя файла и 3 – на расширение.
Потом в ФАТ 16 для НТ ввели длинное имя – до 255 символом.
ФАТ в ПК сегодня поддерживается ради обратной совместимости, но не используется. Зато используется на флешках.
NTFS
Отличия НТФС:
Поддержка больших файлов и больших дисков (до 2 в 64 байт)
Восстанавливаемость после сбоев и отказов
Высокая скорость операций (втч и для больших дисков)
Низкий уровень фрагментации
Гибкая структура (добавление новых типов файлов и тд)
Устойчивость к отказам дисковых накопителей
Поддержка длинных имен
Контроль доступа к файлам и каталогам
Логический раздел здесь называется ТОМОМ.
Все пространство НТФС – это либо файл, либо часть файла.
Основа НТФС – MFT – Master File Table – главная таблица файлов.
Все файлы тома идентифицируются уникальным номером файла.
Том состоит из последовательности кластеров (не только его область данных, а весь-весь том)
Порядковый номер каждого кластера в томе – это его ЛОГИЧЕСКИЙ номер LCN.
Внутри каждого файла кластеры тоже пронумерованы – это ВИРТУАЛЬНЫЙ номер кластера – VCN
Единица распределения дисковоко пространства – ОТРЕЗОК – непрерывная область кластеров.
Для адресации файла ФС юзает пару:
LCN первого кластера файла и
k – количество кластеров в отрезке.
Чтобы найти какой-то кластер внутри файла, нужен еще VCN этого кластера.
Номер кластера хранится в 64 разрядных указателях – максимальный размер файла – 2 64 кластеров.
Структура тома НТФС:
Загрузочный блок
Блок параметров БИОС
Количество блоков в томе
Начальный LCN основной копии МФТ
Зеркальную копию МФТ
Первый отрезок МФТ
16 стандартных записей о системных файлах NTFS, которые создаются при форматировании:
Главная таблица файлов – полный список файлов тома НТФС
Копия главной таблицы файлов – зеркальная копия первых трех записей МФТ
Журнал (для восстановления системы)
Том (имя тома, версия НТФС и другая инфа о томе)
Таблица имен, номеров и описаний атрибутов
Индекс корневого каталога
Битовая карта использованных кластеров тома
Загрузочный сектор раздела
Список плохих кластеров
Таблица квот использования пространства для разных пользователей
Таблица преобразования регистра символов (для Юникод)
Ровно посередине тома – копия загрузочного блока
Системные файлы
Другие отрезки МФТ
Если файл маленький, он целиком помещается в записи МФТ.
Если большой – то в МФТ – его резидентная часть, а нерезидентная часть – в отдельном отрезке тома. Адресная инфа, где искать нерезидентную часть – в атрибутах резидентной части.
Структура файла НТФС:
В НТСФ у файла нет ничего, кроме атрибутов. Файл по сути состоит их атрибутов.
Атрибуты:
Список атрибутов (если атрибуты не помещаются в основной записи)
Имя файла
Имя в формате 8.3
Версия файла
Дескриптор безопасности
Версия тома (для системных файлов тома)
Имя тома
Данные
Битовая карта использованеия блоков тома
Корень
Нерезидентные части файла
Прочая инфа
Файлы бывают:
Небольшие файлы – целиком помещаются в МФТ ~2 Кбайта
Большой файл – в атрибуте Данные есть признак того, что файл не резидентен (адреса: LCN, VCN, k)
Сверхбольшой файл – в списке атрибутов можно указать несколько атрибутов либо использовать двойную адресацию (нерезидентный атрубут ссылается на другие нерезидентные атрибуты)
Очень большие файлы – если атрибут с адресами не помещается в одной записи, то он помещается в другую, а в основной записи – ссылка на него.
Каталог в НТФС – это вход в таблицу МФТ, который содержит атрибут Index Root (корень). Здесь хранится список всех файлов в каталоге – это ускоряет поиск файлов. Искать и сортировать файлы можно по любому из атрибутов.
Каталоги по размеру делятся на:
Небольшие каталоги – весь список файлов резидентный.
Большие каталоги – список файлов не помещается в запись, и требует нерезидентной формы хранения. Начало списка хранится в МФТ, и имена файлов являются узлами БИНАРНОГО ДЕРЕВА. Это здорово ускоряет поиск, тк. Поиск не линейный, а бинарный.
Контроль доступа к файлам в системах Unix и в Windows NT/2000/XP
