- •Средства синхронизации и взаимодействия процессов
- •Способы реализации взаимного исключения
- •Управление памятью
- •Типы адресов
- •Алгоритмы распределения памяти
- •I) Методы без использования внешней памяти Однозадачная система без подкачки на диск
- •Распределение памяти с фиксированными разделами
- •Распределение памяти динамическими разделами
- •Распределение памяти перемещаемыми разделами
- •II) Методы с использованием внешней памяти Свопинг и виртуальная память
- •Кэширование данных
- •Способы отображения оперативной памяти на кэш
- •Управление вводОм-выводом в операционных системах
- •Задачи ос по управлению файлами и устройствами
- •Организация параллельной работы устройств ввода-вывода и процессора
- •Согласование скоростей обмена и кэширование данных
- •Разделение устройств и данных между процессами
- •Удобный логический интерфейс
- •Поддержка широкого спектра драйверов
- •Динамическая загрузка и выгрузка драйверов
- •Поддержка нескольких файловых систем
- •Поддержка синхронных и асинхронных операций ввода-вывода
- •Многослойная модель подсистемы ввода-вывода
- •Менеджеры ввода-вывода
- •Многоуровневые драйверы
- •Специальные файлы
- •Файловая система
- •Имена файлов
- •Типы файлов
- •Атрибуты файлов
- •Иерархическая структура файловой системы
- •Общая модель файловой системы
- •Классификация файловых систем
- •Наиболее распространенные файловые системы
Имена файлов
Файлы идентифицируются именами. Пользователи дают файлам символьные имена, при этом учитываются ограничения операционной системы как на используемые символы, так и на длину имени.
Например, MS-DOS - 8 символов, Windows, LINUX до 255 символов.
Во многих операционных системах имя файла состоит из двух частей, разделенных точкой, например explorer.exe. Часть после точки называют расширением файла. По нему система различает тип файла.
Типы файлов
Файлы бывают разных типов: обычные файлы, специальные файлы, файлы-каталоги.
1) Обычные файлы содержат информацию произвольного характера, которую заносит в них пользователь или которая образуется в результате работы системных и пользовательских программ. Обычные файлы подразделяются на текстовые и двоичные. Текстовые файлы состоят из строк символов, представленных в ASCII-коде. Это могут быть документы, исходные тексты программ и т.д. Двоичные файлы не используют ASCII-коды, они часто имеют сложную внутреннюю структуру, например, объектный код программы или архивный файл.
2) Специальные файлы – это файлы, ассоциированные с устройствами ввода-вывода, которые позволяют пользователю выполнять операции ввода-вывода, используя обычные команды записи в файл или чтения из файла. Эти команды обрабатываются вначале программами файловой системы, а затем на некотором этапе выполнения запроса преобразуются ОС в команды управления соответствующим устройством.
3) Каталог – это, с одной стороны, группа файлов, объединенных пользователем исходя из некоторых соображений (например, файлы, содержащие программы), а с другой стороны – это файл, содержащий системную информацию о группе файлов, его составляющих. В каталоге содержится список файлов, входящих в него, и устанавливается соответствие между файлами и их характеристиками (атрибутами).
Атрибуты файлов
Атрибуты – это информация, описывающая свойства файла. Примеры возможных атрибутов:
1) тип файла
2) владелец файла
3) создатель файла
4) пароль для доступа к файлу
5) информация о разрешенном доступе
6) времена создания, последнего доступа и последнего изменения,
текущий размер файла
7) признаки «только для чтения», «скрытый файл» «системный файл», «архивный файл» и т.д.
8) максимальный размер файла.
Каталоги могут непосредственно содержать значения характеристик файлов, как это сделано в файловой системе MS-DOS, или ссылаться на таблицы, содержащие эти характеристики, как это реализовано в ОС UNIX
Структура каталогов: а - структура записи каталога MS-DOS (32 байта); б - структура записи каталога ОС UNIX
Иерархическая структура файловой системы
Пользователи обращаются к файлам по символьным именам. Большинство файловых систем имеет иерархическую структуру, в которой уровни создаются за счет того, что каталог более низкого уровня может входить в каталог более высокого уровня. При такой организации пользователь освобожден от запоминания имен всех файлов.
Такая структура удобна и для многопользовательской работы: каждый пользователь со своими файлами локализуется в своем каталоге.