Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы построения операционных систем.doc
Скачиваний:
50
Добавлен:
07.11.2018
Размер:
5.07 Mб
Скачать

2.6. Манипулирование файловой структурой

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

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

- открыть (open) - подготавливает файл к обращениям;

- закрыть (close) - запрещает дальнейшее обращение к файлу, пока он не будет вновь открыт;

- создать (create) - обеспечивает формирование нового файла;

- уничтожить (destroy) - разрушает файл;

- копировать (copy) - создает еще один экземпляр существующего файла с новым именем;

- переименовать (rename) - изменяет имя файла;

- вывести (list­) - обеспечивает распечатку листинга или воспроизведение содержимого файла на экране.

Манипуляции с индивидуальными элементами данных в рамках файла можно производить при помощи таких операторов, как

- прочитать (read)- обеспечивает ввод элемента данных из фа­йла в процесс;

- записать (write) - обеспечивает вывод элемента данных из процесса в файл;

- обновить (update) - обеспечивает модификацию существующего элемента данных;

- вставить (insert­) - обеспечивает добавление нового элемента данных;

- исключить (delete) - обеспечивает исключение элемента данных из файла.

Все операции над файлами доступны через прерывания верхнего уровня.

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

3. Управление памятью

Оперативная память, или по крайней мере исполняемая память, - это ресурс, без которого невозможно исполнение программы. Фактически в каждый конкретный момент времени все ячейки памяти, за исключением всего нескольких из них, не используются, а служат для хранения информации для последующего обращения. Однако значение активных ячеек настолько велико, что вряд ли найдется программа, создание которой не упростилось бы, а скорость исполнения не увеличилась при увеличении объема используемой оперативной памяти. Программы, ожидающие выделения оперативной памяти, обычно хранятся во внешней памяти. Зачастую реализуются дисциплины, позволяющие использовать внешнюю память как расширение оперативной, создавая тем самым видимость того, что объем оперативной памяти больше фактически существующего. Наличие такого виртуального ресурса существенно облегчает программирование, избавляя пользователя от учета фактически доступной памяти. Как будет показано в п.3.3, это часто обеспечивает более эффективное использование фактических ресурсов, но, как правило, за ­счет снижения скорости исполнения.

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

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