- •Операционные системы
- •Введение
- •Глава 1 понятие и эволюция операционных систем
- •1.1. Определение операционной системы
- •1. 2. История развития операционных систем
- •1.3. Основные характеристики ос
- •1.4. Принципы построения ос
- •Глава 2 архитектура вычислительной системы
- •2.1. Особенности методов построения
- •Глава 3 управление процессами
- •3.1. Операции над процессами
- •3.2. Основная концепция обработки прерываний
- •3.3. Переключение контекста в ec эвм
- •Глава 4 управление асинхронными параллельными процессами
- •If q(s) очередь не пуста?
- •Глава 5 управление основной памятью
- •Глава 6 управление виртуальной памятью
- •6.1. Концепция виртуальной памяти
- •1.Признак обращения 0 - было
- •2.Признак модификации записи 0 - неизменен.
- •6.2. Динамическая страничная организация
- •6.3. Сегментная организация виртуальной памяти
- •6.4. Комбинированная странично-сегментная организация памяти
- •6.5. Двухуровневая страничная организация
- •Глава 7 многозадачность и многонитевость
- •7.1. Понятие многонитевости
- •7.2. Реализация многонитевой обработки в windows 95
- •7.3. Подкачка страниц памяти
- •Глава 8 управление процессорами и заданиями в однопроцессорном вычислительном комплексе
- •Глава 9 управление процессорами и заданиями в мультипроцессорных вычислительных комплексах.
- •9.1. Решение фирмы Сompaq
- •Глава 10 управление периферийными устройствами
- •10.1. Физическая организация периферийных устройств
- •10.2. Организация программного обеспечения ввода-вывода
- •Глава 11 подсистема управления данными
- •11.1. Система управления файлами
- •11.2. Способы доступа и организации файлов
- •11.3. Управление внешней памятью
- •11.4. Способы распределения памяти на диске
- •Глава 12 Современные концепции и технологии проектирования операционных систем
- •12.1. Требования, предъявляемые к ос 90-х годов
- •12.2. Тенденции в структурном построении ос
- •Глава 13 История и общая характеристика семейства операционных систем unix
- •Глава 14 История Windows nt
- •14.1. Версии Windows nt
- •14.2. Структура: nt executive и защищенные подсистемы
- •14.3 Области использования Windows nt
- •Литература:
11.2. Способы доступа и организации файлов
С точки зрения внутренней структуры (логической организации) файл - это совокупность однотипных записей, каждая из которых информирует о свойствах одного объекта. Записи могут быть фиксированной длины, переменной длины или неопределенной длины. Записи переменной длины в своем составе содержат длину записи, а неопределенной длины – специальный символ конца записи.
При этом каждая запись может иметь идентификатор, представляющий собой ключ, который может быть сложным и состоять из нескольких полей.
Существует три способа доступа к данным, расположенным во внешней памяти:
-
Физически последовательный по порядку размещения записи в файле.
-
Логически последовательный в соответствии с упорядочением по значению ключей. Для выполнения упорядочения создается специальный индексный файл, в соответствии с которым записи представляются для обработки.
-
Прямой - непосредственно по ключу или физическому адресу записи.
Для организации доступа записи должны быть определенным образом расположены и взаимосвязаны во внешней памяти. Есть несколько способов логической организации памяти.
Последовательный
Записи располагаются в физическом порядке и обеспечивают доступ в физической последовательности. Таким образом, для обработки записи с номером N+1 необходимо последовательно обратиться к записям с номером 1, 2,….,N. Это универсальный способ организации файла периферийного устройства. Используется так же для организации входного/выходного потока.
Индексно-последовательный.
Записи располагаются в логической последовательности в соответствии со значением ключей записи. Физически записи располагаются в различных местах файла. Логическая последовательность файла фиксируется в специальной таблице индексов, в которой значение ключей связывается с физическим адресом записи. При такой организации доступ к записям осуществляется логически последовательно в порядке возрастания или убывания значения ключа или по значению ключа.
Индексный
Место записи в файле, ее физический адрес, определяется алгоритмом преобразования для ключа. Доступ к записям возможен только прямой. Алгоритм преобразования ключа называется хешированием. Ключ, использующий алгоритм хеширования, преобразуется в номер записи.
Прямой.
Это организация, при которой осуществляется прямой доступ по порядковому номеру записи или по физическому адресу.
Библиотечный
Организация, в которой файл состоит из последовательных подфайлов (разделов), первый из которых является оглавлением и содержит имена и адреса остальных подфайлов. При такой организации осуществляется комбинированныйдоступ: индексный прямой к разделу и последовательный в разделах.
Определить права доступа к файлу - значит определить для каждого пользователя набор операций, которые он может применить к данному файлу. В разных файловых системах может быть определен свой список дифференцируемых операций доступа. Этот список может включать следующие операции:
-
создание файла;
-
уничтожение файла;
-
открытие файла;
-
закрытие файла;
-
чтение файла;
-
запись в файл;
-
дополнение файла;
-
поиск в файле;
-
получение атрибутов файла;
-
установление новых значений атрибутов;
-
переименование;
-
выполнение файла;
-
чтение каталога;
-
и другие операции с файлами и каталогами.
В самом общем случае права доступа могут быть описаны матрицей прав доступа, в которой столбцы соответствуют всем файлам системы, строки - всем пользователям, а на пересечении строк и столбцов указываются разрешенные операции. В некоторых системах пользователи могут быть разделены на отдельные категории. Для всех пользователей одной категории определяются единые права доступа. Например, в системе UNIX все пользователи подразделяются на три категории: владельца файла, членов его группы и всех остальных. Различают два основных подхода к определению прав доступа:
-
избирательный доступ, когда для каждого файла и каждого пользователя сам владелец может определить допустимые операции;
-
мандатный подход, когда система наделяет пользователя определенными правами по отношению к каждому разделяемому ресурсу (в данном случае файлу) в зависимости от того, к какой группе пользователь отнесен.