Билет 27 2. Файловые операции и способы их выполнения. Команды ОС UNIX для работы с файлами и каталогами

1. Эффективность операционных систем. Показатели эффективности. Требования, предъявляемые к операционным системам.

2. Файловые операции и способы их выполнения. Команды ОС UNIX для работы с файлами и каталогами.

Задача

N процессов совместно используют M единиц ресурса, которые могут быть распределены и освобождены только по одной единице одновременно. Максимальное требование каждого из процессов не превышает М единиц, причем сумма максимальных требований процессов меньше, чем N + M. Покажите, что взаимоблокировка при этом невозможна.

1. Главным требованием, предъявляемым к ОС является выполнение основных функций эффективного управления ресурсами и обеспечения удобного интерфейса для пользователя и прикладных программ. Современная ОС должна поддерживать мультипрограммную обрботку, виртуальную память, свопинг, развитый интерфейс пользователя, высокую степень защиты, удобство работы. Кроме этого к ОС предъявляется ряд эксплуатационных требований:

* Эффективность – степень соответствия системы своему назначению
* Надежность и отказоустойчивость
* Безопасность, защищенность
* Предсказуемость – пользователь должен представлять то, когда ему ожидать выдачи результатов
* Расширяемость
* Переносимость
* Совместимость
* Удобство
* Масштабируемость

2. Файловая система ОС должна предоставлять пользователям набо операций для работы с файлами, оформленный в виде системных вызовов. К наиболее часто встречающимся системным вызовам для работы с файлами относятся: создание, удаление, открытие, закрытие, чтение, запись, добавление, поиск, получение атрибутов, установка атрибутов, переименование, выполнение. ОС может выполнить последовательность действий над файлами двумя способами:
1) Для каждой операции выполняются как универсальные, так и уникальные действия
2) Все универсальные действия выполняются в начале и в конце последовательности операций, а для промежуточной операции выполняются только уникальные действия.
Команды UNIX для работы с файлами и каталогами: open – создать или открыть файл, вернуть дескриптор файла, unlink – удалить существующий файл, close – закрыть файл, read – прочитать данные из файла, write – записать данные в файл, lseek – установить указатель в файле в определенную позицию, stat – вернуть атрибуты файла, fcntl – заблокировать область файла для обеспечения взаимного исключения, mkdir – создать новый каталог, rmdir – удалить пустой катало, opendir – инициализация для чтения записей каталога, readdir – прочитать следующую запись каталого, rename – переместить файл из одного каталога в другой, chdir – изменить текущий рабочий каталог

Задача. Если процессы могли бы создать условие взаимоблокировки, то тогда получилось бы, что при полном использовании ресурсов, каждый процесс помимо занимаемых ресурсов требует еще как минимум 1. Таким образом, общее число требований оказалось бы M+N, а по условию задачи их должно быть меньше. Это означает, что в любой момент времени существуют незаблокированные процессы, которые после выполнения освободят некоторые ресурсы другим процессам. Таким образом, взаимоблокировка не возникнет.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: