Способы повышения производительности системы
1. В настоящее время все более относительно дорогим становится относительная стоимость времени, затрачиваемого программистом или вообще пользователем, по сравнению со стоимостью аппаратуры. Поэтому достаточно часто идут на увеличение объема ОП и применяют стратегию упреждающей загрузки, в соответствии с которой при возникновении страничного прерывания в память загружается не одна страница, содержащей адрес обращения, а сразу несколько прилегающих страниц.
2. Правильный выбор размера страницы. Чтобы уменьшить частоту страничных прерываний, надо увеличить страницу. С другой стороны, если страница велика, то область занятая тоже велика. Поэтому используется размер страницы несколько кб (ЭВМ с микропроцессором х86 и Pentium, ОС установленные на них используют используется размер страницы, равный 4 Кб).
Работа с файлами. Файловые системы
Файл - поименованный набор связанной информации на диске или другом носители информации, в которую можно записывать и из которой можно списывать данные.
Файлы хранятся во внешней памяти и не зависят от электропитания.
Цели использования файлов:
1. Долговременное хранение
2. Совместное использование информации
Обычные файлы содержат информацию произвольного характера, которую заносит в них пользователь или, которая образуется в результате работы системных или пользовательских программ.
Специальные файлы – это фиктивные файлы, которые ассоциируются с устройствами ввода-вывода и которые позволяют пользователю выполнять операции ввода-вывода, используя обычные команды записи в файл или чтения из файла.
Каталог – это особый тип файла, который содержит системную справочную информацию о наборе файлов, сгруппированных пользователем по какому-либо неформальному признаку (например, файлы, содержащие программы игр, или файлы, составляющие один программный пакет).
Каталоги содержится список файлов и устанавливается соответствие между файлами и их характеристиками (атрибутами), которые используются для управления файлами. Эти характеристики: информации о типе файла и его расположение на диске, права доступа к файлу, дата его создания и модификации. А в остальном каталог рассматривается как обычный файл.
ОС часто связывают с каждым файлом и другую информацию, например дату модификации, размер и т.д. Эти другие характеристики файлов называются атрибутами – это свойства файла. Список атрибутов может быть разным в разных ОС. Он обязательно включает: основную информацию (тип, имя), адресную информации (начальный адрес, размер), информацию об управлении доступом (владелец, допустимые операции) и информацию об использовании (дата создания, последнего чтения, модификации).
Доступ к файлам
Последовательный - в этих системах процесс мог читать байты или записи файла только по порядку от начала к концу.
Файлы, байты которых могут быть прочитаны в произвольном порядке, называются файлами произвольного доступа.
Имена файлов
Файлы идентифицируются именами.
Простое (короткое символьное) имя идентифицирует файл в пределах одного каталога, присваивает пользователь или программист и при этом учитываются ограничения ОС как на используемые символы, так и на длину имени.
Полное имя состоит из списка имен вложенных каталогов, через которые проходит путь от корня к файлу, плюс имя файла в каталоге, непосредственно содержащем данный файл.
Относительное имя - определяется через понятие текущий каталог. Для каждого пользователя в данный момент один каталог текущий и он фиксируется файловой системой, чтобы использовать его как дополнение к относительным именам для образования полного имени.
Операции над файлами:
Create. Создание файла, не содержащего данных.
Open. Перед использованием файла процесс должен его открыть
Close. Если работа с файлом завершена, его атрибуты и адреса блоков на диске больше не нужны.
Read. Чтение данных из файла.
Write. Запись данных в файл с текущей позиции
Get attributes. Предоставляет процессам нужные им сведения об атрибутах файла.
Set attributes.
Rename. Возможность переименования файла.
Существует два способа выполнить последовательность действий над файлами. В первом случае для каждой операции выполняются как универсальные, так и уникальные действия (схема stateless). Например, последовательность операций может быть такой: open, read1, close, … open, read2, close, … open, read3, close.
Альтернативный способ, это когда универсальные действия выполняются в начале и в конце последовательности операций, а для каждой промежуточной операции выполняются только уникальные действия. В этом случае последовательность вышеприведенных операций будет выглядеть так: open, read1, … read2, … read3, close.
Большинство ОС использует второй способ, как более экономичный и быстрый.
Каталоги
Иерархия каталогов может быть деревом или сетью. Каталоги образуют дерево, если файлу разрешено входить только в один каталог, и сеть – если файл может входить сразу в несколько каталогов. В MS-DOS каталоги образуют древовидную структуру, а в UNIX'е – сетевую. Как и любой другой файл, каталог имеет символьное имя и однозначно идентифицируется составным именем, содержащим цепочку символьных имен всех каталогов, через которые проходит путь от корня до данного каталога
Действия, выполняемые ОС над файлами:
1. По символьному имени найти его характеристики;
2. Скопировать эти характеристики в оперативную память, т.к. только так можно использовать программный код;
3. На основании характеристик проверить права пользователя;
4. Очистить область памяти, отведенную под временное хранение характеристик файла;
5. Провести уникальные действия над файлами;
Файловая система
Для большинства пользователей файловая система - наиболее видимая часть ОС.
Файловая система – это часть операционной системы, назначение которой состоит в том, чтобы обеспечить пользователю удобный интерфейс при работе с данными, хранящимися на диске, и обеспечить совместное использование файлов несколькими пользователями и процессами.
В широком смысле понятие «файловая система» включает:
· совокупность всех файлов на диске,
· наборы структур данных, используемых для управления файлами, такие, например, как каталоги файлов, дескрипторы файлов, таблицы распределения свободного и занятого пространства на диске,
· комплекс системных программных средств, которые выполняют различные операции над файлами: создание, уничтожение, чтение, запись, именование, поиск и другие операции над файлами.
Основные функции файловой системы:
1. Идентификация файлов. Связывание имени файла с выделенным ему пространством внешней памяти.
2. Распределение внешней памяти между файлами. Для работы с конкретным файлом не требуется иметь информацию о местоположении этого файла на внешнем носителе информации. Например, для того, чтобы загрузить документ в редактор с жесткого диска нам не требуется знать на какой стороне какого магнитного диска и на каком цилиндре и в каком секторе находится требуемый документ. Обеспечение надежности и отказоустойчивости. Стоимость информации может во много раз превышать стоимость компьютера.
3. Обеспечение защиты от несанкционированного доступа.
4. Обеспечение совместного доступа к файлам.
5. Обеспечение высокой производительности