Критические ресурсы.
Ресурсами системы являются ОП, порты, принтеры, жесткие диски и т.д.
Критические ресурсы – это ресурсы, которые в какой-то момент требуются
нескольким процессам. Это проблема возникает в результате того, что процессы с ресурсами отрабатываются за разное время.
Ресурсы бывают буферизированные и не буферизированные.
Буферизированные – это, например, принтер, который является очень медленным устройством. Процессор отправляет в буфер принтера всю необходимую управляющую последовательность за некоторое весьма короткое время, а медленный принтер с его тактовой частотой забирает эту последовательность из буфера и выполняет.
Буфер у клавиатуры – всего 32 символа.
Совершенно не буферизированное устройство – это последовательный порт.
Одновременно ресурс не может быть предоставлен обоим процессам. Механизм, используемый в этом случае – семафорное регулирование.
1 принцип: двоичный семафор, т.е. как только появилось два процесса, то второй будет ждать освобождения ресурса после первого процесса. Если при этом появляется третий процесс, то он не получает никакого ресурса до тех пор, пока не закончит выполнение первый процесс.
2 принцип: может быть не двоичный, а к-ичный тип семафора, когда на каждый ресурс есть «к» входов, среди которых можно использовать и приоритеты, и механизм FIFO.
Одним из самых распространенных критических ресурсов является работа с жестким диском. Диск похож на многовходовой к-ичный ресурс, каждый из входов которого может быть буферизирован.
Файловая система.
Файловая система – это, с одной стороны, структура (стандарт) расположения файлов на диске, а с другой стороны это набор программ (модулей), которые в зависимости от этой структуры создают, копируют, перемещают, удаляют файлы на диске.
У файловой системы минимальный объект – это сектор:
Т.е. при считывании считывается все, в независимости от заполненности, затем контрольная сумма сравнивается со считанной информацией. Если происходит несовпадение объемов, то считается, что информация считана неправильно.
Свойства файла.
1) Файл – это некоторый объект, который имеет содержимое, располагающееся на диске, и имя, которое позволяет осуществить доступ к этому содержимому.
2) Содержимое файла не зависит от его месторасположения на диске, и доступ к нему осуществляется на уровне ОС по имени или по дескриптору – описателю файла. Второй уровень доступа осуществляется с использованием драйвера соответствующего устройства, который считывает физическое состояние последовательности секторов на диске.
3) Файлы должны поддерживать некоторый набор функций ввода-вывода. К этим функциям относятся:
3.1) функция «открыть файл».
При открытии файла для работы либо открывается существующий файл, либо создается новый файл, и процесс объединяет функции доступа к этому файлу (чтение и запись, только чтение, только запись, а также разрешение или запрещение доступа других процессов к этому файлу).
3.2) Чтение/запись.
Чтение и запись файла обязательно буферизируются. Буфер файла представляет собой промежуточную память, в которой временно хранятся считанные или записанные данные.
Сейчас каждый сектор на диске имеет размер 512 б. Сектора объединяются в кластеры, при этом 1 кластер=2,4,8,16 секторов.
Буфер организуется либо операционной системой, либо буфером диска (КЭШ диска).
Все записи пишутся в буфер, размер которого зависит от того, как сформирована ОС.
Буфер заполняется полностью, после этого он уходит в сектор на диске и снова становится пустым.
Чем больше буфер файла для чтения/записи, тем меньше ОС обращается к диску и быстрее считывается задача, но тем выше вероятность, что при сбое ОС пользователь потеряет несохраненную информацию.
3.3) Указатели.
Указатель фиксирует то место, куда будет писаться или откуда будет считываться информация.
Прикладные программы могут (должны) управлять этим указателем.
По типу управления указателями файлы могут быть последовательного доступа (т.е. сначала файл создается).
Указатель в данном случае передвигается, чтобы создавать файл.
При чтении же файл открывается, и указатель, начиная с начала, передвигается по файлу и читает его.
Прямой доступ: также происходит работа с указателем. Выделяется фиксированное место на диске, указывается количество записей и их размер.
В данном случае можно из определенного места файла что-то прочесть или записать, указав номер записи, которая требуется.
Замечание: современные ОС файлы прямого доступа реализуют только через последовательный доступ.
Сейчас можно фиксировать произвольный размер записи.
Указатель внутри файла прямого доступа может быть смещен на любое количество байт, если это позволяет делать ОС.
Если, например, указать 30-й байт в 23-ей записи, то с диска информация сначала отправится в буфер (все содержимое записи), а затем из буфера считается 30-й байт.
3.4) Закрытие файла.
Закрытие файла означает, что файл как объект теряет свои связи с тем процессом, который его использовал.
Файл закрывается и сохраняет свое содержимое или закрывается и удаляется.
Указанные выше три свойства файла есть в FAT и FAT 32. В NTFS появилось еще одно свойство.
4) Защита данных подразумевает сохранение данных в мультипрограммной многопользовательской среде.
Как только появилась NTFS, она была установлена таким образом, чтобы защитить данные и от других пользователей.
Защита данных подразумевает, что вводится группа пользователей, которые имеют фиксированные права доступа: 1)определяемые групповой политикой безопасности, т.е. все пользователи делятся на
- администраторов
- продвинутых пользователей
- создателей архивов
. . .
- гостей.
Если пользователи принадлежат к первой группе, то они имеют на уровне файловой системы одинаковые права чтения и записи файла.
Среди указанных пользователей права разделяются следующим образом: администратор имеет полный доступ; продвинутый пользователь не имеет доступа в систему; пользователю доступна лишь собственная директория; гость может лишь просмотреть ОС.
2)Персональная политика безопасности – пользователь может сам назначить права доступа к своим папкам (чтение, чтение и запись, только просмотр, доступно всем).
Дата добавления: 2016-07-18; просмотров: 4998;