русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Организация контроля доступа в Windows NT


Дата добавления: 2014-11-28; просмотров: 709; Нарушение авторских прав


Субъекты доступа – пользователи: Administrator, System, Guest и группы пользователей – User, Administrator, Account, Operators, Server Operators и т.д.

Поддерживает три класса операций доступа:

· Разрешения – это множество операций, которые могут быть определены для пользователей всех типов по отношении к объектам любого типа: файлам, каталогам и т.д. Разделяются на индивидуальные и стандартные.

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

· Возможности пользователя – определяются для отдельных пользователей на выполнение действий, связанных с формированием их операционной среды, например изменение состава главного меню программ, возможность пользоваться пунктом меню Выполнить и т. п.

Реестр

Начиная с W95 вся информация, необходимая для загрузки и конфигурирования системы и настройки её под конкретного пользователя, собрана в одной большой центральной базе данных, называемой реестром.

Реестр состоит набора каталогов, каждый из которых содержит либо подкаталоги, либо записи. Каталог реестра называется ключом. Все каталоги верхнего уровня начинаются со строки HKEY.

В нижней части этой иерархической структуры располагаются записи, называемыми значениями, содержащие информацию. У каждого значения три части:

· имя

· тип

· данные

Имя default, если каталог содержит всего одно значение.

Тип может быть одним из 11 стандартных типов:

· строка формата Unicode

· 32-разрядное целое число произвольной длины

· Символьная ссылка на каталоги или запись реестра и т. д.

Верхний уровень состоит из 6 ключей, называемые корневыми каталогами.

 

Ветвь реестра Имена файлов
1) HKEY_LOCAL_MACHINE\SAM Sam, Sam.log, Sam.sav Свойства аппаратного и программного обеспечения
HKEY_LOCAL_MACHINE\Security Security, Security.log, Security.sav
HKEY_LOCAL_MACHINE\Software Software, Software.log, Software.sav
HKEY_LOCAL_MACHINE\System System, System.alt, System.log, System.sav
HKEY_CURRENT_CONFIG System, System.alt, System.log, System.sav
2) HKEY_USERS\.Default Default Default.log Default.sav Информация о пользователях
3) HKEY_performance_data Счетчики, следящие за производительностью системы
4) HKEY_CLASSES_ROOT Ссылка на 1\software\classes
5) HKEY_CURRENT_CONFIG Ссылка на текущий профиль аппаратного обеспечения
Файлы, не ассоциированные с разделами Userdiff, Userdiff.log
6) HKEY_CURRENT_USER Ntuser.dat, Ntuser.dat.log Ссылка на текущий профиль пользователя

 



Редактировать Реестр можно с помощью входящей в стандартный набор программ Windows утилиты regedit.exe. Фактически вся системная информация хранится в двух скрытых файлах в каталоге Windows: system.dat и user.dat. Реестр представлен в виде иерархической структуры, состоящей из ветвей, которые, в свою очередь, делятся на ключи.

Распределение ресурсов

Взаимоблокировки

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

Ресурсы бывают двух типов: выгружаемые и невыгружаемыми.

Выгружаемый ресурс можно забрать у владеющего им процесса. Например, ресурс – память.

Невыгружаемый ресурс нельзя забрать от текущего владельца, не уничтожив результаты вычислений.

Взаимоблокировки касаются невыгружаемых ресурсов.

Группа процессов находится в тупиковой ситуации, если каждый процесс из группы ожидает события, которое может вызвать только другой процесс из той же группы.

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

Например:

1)Процесс А запрашивает и получает принтер, затем начинает вычислять данные для печати. Еще не закончив расчеты, он превышает квант времени, переходит в состоянии ожидания, выгружается на диск. Процесс В владеет квантом времени, запрашивает принтер и ни один из них не может продолжить работу без ресурса, удерживаемого другим.

Выход – отнять время у процесса В и отдать процессу А.

 

 

2)Процесс А выполняет запись на компакт-диск. Если отнять у процесса А устройство и передать его другому процессу, то испортим диск.

3)Один процесс А работает с файлом, другой процесс, вызывающий этот файл блокируется до тех пор, пока текущий владелец файла не закроет его.

Четыре метода работы с взаимоблокировкой:

I.Пренебрежение проблемой в целом (игнорирование).

Страусовый алгоритм. ОС UNIX, WINDOWS игнорирует эту проблему.

II.Обнаружение и восстановление.

Позволяет взаимоблокировке произойти, обнаруживает её и предпринимает какие-либо действия.

a)В системе только один ресурс каждого типа (один плоттер, один сканер, один принтер, одно устройство для записи компакт-дисков и т.д.).

Конструируется граф ресурсов следующего вида:

Ресурс: R, S, T, U, V, W.

Процесс: А, B, C, D, T,F,G.

Процесс А занимает ресурс R и хочет получить ресурс S.

Существуют специальные алгоритмы отслеживания циклов.

b)В системе существуют несколько ресурсов каждого типа.

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

Существующие ресурсы - (E1, E2, E3, E4), доступные ресурсы - (A1, A2, A3, A4).

Матрица текущего распределения – , матрица запроса – .

Выход из блокировки

1)Восстановление при помощи принудительной выгрузки процесса, т. е. временно отобрать ресурс у его текущего владельца и отдать другому процессу.

2)Восстановление через откат

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

3)Восстановление путем уничтожения процессов.

Удаление процессов происходит до тех пор, пока цикл не будет разорван. В качестве «жертвы» можно выбрать процесс, не находящийся в цикле, чтобы он освободил свои ресурсы.

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

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

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

Например: в системе всего 10 экземпляров данного ресурса, 7 из них уже распределены и 3 свободны.

Безопасное состояние

  имеет мах  
А   А   А   А   А  
В   В   В -   В -   В -  
С   С   С   С   С -  
         

Небезопасное состояние

  имеет мах  
А   А   А   А  
В   В   В   В -  
С   С   С   С  
       

Алгоритм банкира для одного вида ресурсов

Разработал Дейкстра. Модель алгоритма основа на примере банкира в маленьком городке, имеющего дело с группой клиентов, которым он выдал ряд кредитов.

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

 

  имеет мах  
А   А   А
В   В   В
С   С   С
D   D   D
  2 (безопасное)   1(опасное)

 

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

Условия для возникновения ситуации взаимоблокировки:

1) Условие взаимного исключения. Каждый ресурс в данный момент отдан ровно одному процессу или свободен.

2) Условие удержания и ожидания. Процессы, в данный момент удерживающие полученные ресурсы, могут запрашивать новые ресурсы.

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

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

 



<== предыдущая лекция | следующая лекция ==>
Права доступа к файлу | Шифрование


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.221 сек.