Четвертый период (1980 - настоящее время)
Следующий период в эволюции операционных систем связан с появлением больших интегральных схем (БИС). В эти годы произошло резкое возрастание степени интеграции и удешевление микросхем. Компьютер стал доступен отдельному человеку, и наступила эра персональных компьютеров. С точки зрения архитектуры персональные компьютеры ничем не отличались от класса миникомпьютеров типа PDP-11, но вот цена у них существенно отличалась. Если миникомпьютер дал возможность иметь собственную вычислительную машину отделу предприятия или университету, то персональный компьютер сделал это возможным для отдельного человека.
Компьютеры стали широко использоваться неспециалистами, что потребовало разработки "дружественного" программного обеспечения, это положило конец кастовости программистов.
На рынке операционных систем доминировали две системы: MS-DOS и UNIX. Однопрограммная однопользовательская ОС MS-DOS широко использовалась для компьютеров, построенных на базе микропроцессоров Intel 8088, а затем 80286, 80386 и 80486. Мультипрограммная многопользовательская ОС UNIX доминировала в среде "не-интеловских" компьютеров, особенно построенных на базе высокопроизводительных RISC-процессоров.
В середине 80-х стали бурно развиваться сети персональных компьютеров, работающие под управлением сетевых или распределенных ОС.
В сетевых ОС пользователи должны быть осведомлены о наличии других компьютеров и должны делать логический вход в другой компьютер, чтобы воспользоваться его ресурсами, преимущественно файлами. Каждая машина в сети выполняет свою собственную локальную операционную систему, отличающуюся от ОС автономного компьютера наличием дополнительных средств, позволяющих компьютеру работать в сети. Сетевая ОС не имеет фундаментальных отличий от ОС однопроцессорного компьютера. Она обязательно содержит программную поддержку для сетевых интерфейсных устройств (драйвер сетевого адаптера), а также средства для удаленного входа в другие компьютеры сети и средства доступа к удаленным файлам, однако эти дополнения существенно не меняют структуру самой операционной системы.
Задачи современных операционных систем.
Предоставление пользователю интерфейс расширенной виртуальной машины
Повышение эффективности использования ресурсов компьютера
Распределение ресурсов компьютера
Разрешение конфликтов между процессами
Поддержка очередей заявок процессов на ресурсы
Защита ресурсов выделенных данному процессу.
(пример :область оперативной памяти- адресное пространство)
Защита файлов
Организация совместного использования ресурсов между процессами.
Синхронизация процессов
- Контекст процесса – информация об операционной среде процесса.
ОС предоставляет средства межпроцессорного взаимодействия
- Подсистема управления процессами –планирует выполнение процессов
. Прерывания.
См Олифера 87
Мультипрограммирование ( multitasking) – способ организации вычислительного процесса с попеременно выполняемыми несколькими программами
Критерии эффективности ВС.
- пропускная способность
возможность интерактивной работы пользователей с несколькими приложениями
реактивность системы- способность системы выдерживать интервалы времени между запуском программы и полученным результатом
В мультипрограммной системе поток находиться в трех состояниях:
-Выполнение
-Ожидания
-Готовность
Алгоритмы планирования
Невытесняющие (non- preemptive)- активный поток выполняется пока сам не отдаст управление ОС
Вытесняющие (preemptive)- способ планирование , при котором решение о переключении процессора с одного потока на другой принимает ОС
Квант – ограниченный период процессорного времени предоставленный потоку.
Смена активного потока происходит:
поток завершен
произошла ошибка
поток перешел в состояние ожидания
исчерпан квант
Прерывания
Cм Олифер 124
В зависимости от источника прерывания делятся :
Внешние
Внутренние
Программные
Аппаратная поддержка мультизадачного режима. Защищенный и
Мультипрограммный режим имеет в ЭВМ аппаратную и программную поддержку:
аппаратная:
контроллеры устройств ввода-вывода, которые могут работать параллельно с процессором;
система прерывания;
аппаратные средства системы защиты программ и данных в микропроцессоре;
и т.п.;
программная:
мультизадачная операционная система (ОС);
системные программы, управляющие работой устройств ввода-вывода и специализированных средств вычислительной системы.
Управляющая программа (ОС), реализуя мультипрограммный режим, должна распределять (в том числе динамически) ресурсы системы (время процессора, оперативную и внешнюю память, устройства ввода-вывода и т.д.) между параллельно выполняемыми программами, чтобы обеспечить увеличение пропускной способности компьютера с учетом ограничений на ресурсы и требований по срочности выполнения отдельных программ.
Производительность мультипрограммной ЭВМ оценивается количеством задач, выполненных в единицу времени (пропускная способность) и временем выполнения каждой программы Тi.
В мультипрограммной системе поток находиться в трех состояниях:
-Выполнение
-Ожидания
-Готовность
Алгоритмы планирования
Невытесняющие (non- preemptive)- активный поток выполняется пока сам не отдаст управление ОС
Вытесняющие (preemptive)- способ планирование , при котором решение о переключении процессора с одного потока на другой принимает ОС
Квант – ограниченный период процессорного времени предоставленный потоку.
Смена активного потока происходит:
поток завершен
произошла ошибка
поток перешел в состояние ожидания
исчерпан квант
привилегированный режимы.
Привилегированный режим – процессор выполняет все команды.
Пользовательский- не все команды доступны.
Системы прерываний- позволяет синхронизировать работу различных устройств.
Аппаратная поддержка мультизадачного режима. Защита памяти.
Мультипрограммирование ( multitasking) – способ организации вычислительного процесса с попеременно выполняемыми несколькими программами
Критерии эффективности ВС.
- пропускная способность
возможность интерактивной работы пользователей с несколькими приложениями
реактивность системы- способность системы выдерживать интервалы времени между запуском программы и полученным результатом
В мультипрограммной системе поток находиться в трех состояниях:
-Выполнение
-Ожидания
-Готовность
Алгоритмы планирования
Невытесняющие (non- preemptive)- активный поток выполняется пока сам не отдаст управление ОС
Вытесняющие (preemptive)- способ планирование , при котором решение о переключении процессора с одного потока на другой принимает ОС
Квант – ограниченный период процессорного времени предоставленный потоку.
Смена активного потока происходит:
поток завершен
произошла ошибка
поток перешел в состояние ожидания
исчерпан квант
См Олифера 35
Ядро операционной системы. Понятие системного вызова.
См Олифера 57,67
Ядро- модули, выполняющие основные функции ОС:
Управление процессами
Управление памятью
Устройствами ввода-вывода
В состав ядра входят функции вещающие внутрисистемные задачи организации вычислительного процесса.
Переключение контекстов
Обработка прерываний
Загрузка/выгрузка страниц
Функции ядра ОС недоступны для приложений
Многослойная структура ОС
Многослойная структура ОС
Достоинства
Упрощается разработка системы
Можно изменять модули слоя без изменения модулей из других слоев
Постепенное наращивание функций слоев.
Многослойная структура ядра
Микроядерная архитектура
Альтернатива классической архитектуре- Многослойной структуре ядра.
- все функции ОС выполняются в привилегированном режиме,
- приложения выполняются в пользовательском режиме.
-приложения работают в собственном адресном пространстве
-код ядра выполняется в привилегированном режиме
Микроядерная архитектура
Микроядро (часть ОС) работает в привилегированном режиме
Состав микроядра:
- машинно-зависимые модули
- часть модулей выполняющие базовые функции ядра.( управление процессами, обработка прерываний…)
Преимущества микроядерной архитектуры
Переносимость
Расширяемость
Конфигурируемость
Надежность
СМ Олифера 137
Виртуальная память. Сегментная, страничная и сегментно-страничная
СМ Олифера 167,177,178
Виртуализация оперативной памяти- подмена оперативной памяти дисковой памятью.
- свопинг (swapping) – процессы выгружаются на диск и загружаются в оперативную память целиком
- виртуальная память (virtual memory) – при нехватки места в оперативной памяти на диск выгружается только некоторые части образов процессов.
Страничная виртуальная память- перемещение данных между памятью и диском страницами (часть виртуального адресного пространства фиксированного размера).
Сегментная виртуальная память - перемещение данных между памятью и диском сегментами (часть виртуального адресного пространства произвольного размера)
Сегментно – страничная виртуальная память –двух уровневое деление виртуального адресного пространства. Виртуальное адресное пространство делится на сегменты, сегменты разбиваются на страницы. Данные перемешаются страницами.
Страничное распределение
Размер виртуального адресного пространства не является кратным размеру страницы, поэтому последняя страница каждого процесса дополняется фиктивной областью.
Вся оперативная память машины делится на части такого же размера, называемые физическими страницами (блоками, кадрами).
Для каждого процесса ОС создает таблицу страниц – информационную структуру, содержащую записи обо всех виртуальных страницах процесса.
Запись таблицы страниц, называемая дескриптором страницы, включает следующую информацию:
номер физической страницы,
признак модификации страницы;
признак обращения к странице (бит доступа);
признак невыгружаемости (выгрузка некоторых страниц может быть запрещена);
информация о положении каждой вытесненной страницы в страничном файле;
Сегментное распределение
преимущества :
возможность задания дифференцированных прав доступа процесса к его сегментам.
возможность организации совместного использования фрагментов программ разными процессами.
Сегментное распределение
Деление виртуального адресного пространства на сегменты осуществляется по умолчанию.
Виртуальное адресное пространство процесса представляет собой набор виртуальных сегментов. Максимальный размер сегмента определяется разрядностью виртуального адреса (4 Гб при 32-разрядной организации).
Каждый сегмент располагает своим независимым виртуальным адресным пространством с адресами от нулевого до максимально возможного.
Общего для сегментов линейного виртуального адреса не существует.
В каждом сегменте виртуальные адреса задаются парой «номер сегмента – смещение внутри сегмента». Схема сегментного распределения памяти
организация виртуальной памяти.
См 8 билет
Виртуальная память. Подкачка.
F:\ОС\2\ос\olifer_sos_www.citforum.ru\operating_systems\sos\glava_7.shtml#_2_2_3_5
Виртуализация оперативной памяти- подмена оперативной памяти дисковой памятью.
- свопинг (swapping) – процессы выгружаются на диск и загружаются в оперативную память целиком
- виртуальная память (virtual memory) – при нехватки места в оперативной памяти на диск выгружается только некоторые части образов процессов.
Виртуальное адресное пространство (virtual address space) процесса - это набор адресов, которые могут использовать потоки процесса, оно равно четырем гигабайтам (232 байт), два из которых предназначены для использования программой, а другие два зарезервированы для ОС. Во время выполнения потока диспетчер памяти при помощи аппаратных средств транслирует (отображает) виртуальные адреса в физические, по которым данные хранятся на самом деле. Посредством контроля над процессом отображения ОС может гарантировать, что процессы не будут пересекаться друг с другом и не повредят ОС.
|
Когда физической памяти не хватает, диспетчер памяти выгружает часть содержимого памяти на диск. При обращении потока по виртуальному адресу, соответствующему переписанным на диск данным, диспетчер памяти снова загружает эти данные с диска в память. В Windows NT код ОС располагается в верхней части виртуального адресного пространства, а пользовательский код и данные - в нижней. Можно выгружать всю пользовательскую память. Код пользовательского режима не может производить запись и чтение системной памяти. Часть системной памяти, называемая невыгружаемым (резидентным) пулом (nonpaged pool), никогда не выгружается на диск и используется для хранения некоторых объектов и других важных структур данных. Другая часть системной памяти, которая может быть выгружена на диск, называется выгружаемым (нерезидентным) пулом (paged pool).
Ввод-вывод. Классификация внешних устройств. Понятие драйвера устройства.
Cм Олифера 253
подсистема ввода- вывода- осуществляет передачу данных между дисками и оперативной памятью.
подсистема ввода- вывода -исполняет роль интерфейса ко всем устройствам подключенным к компьютеру
Драйвер- программа управляющая внешним устройством и учитывающая все его особенности
ОС поддерживает интерфейс между драйвером и остальной частью ОС
Кроме центрального процессора и оперативной памяти, компьютерные системы обычно оснащаются теми или иными внешними устройствами. Прежде всего среди таких устройств следует упомянуть механизмы взаимодействия с пользователем, а также долговременные запоминающие устройства - диски, ленточные накопители и т.д.
С функциональной точки зрения, внешние устройства, подключаемые к современным компьютерам, можно разделить на следующие категории:
устройства внешней памяти
устройства последовательного ввода/вывода: печатающие устройства, телетайпы, терминалы и т.д.
векторные и растровые графические терминалы
позиционные устройства ввода: мыши, планшеты-дигитайзеры, световые перья и т.д.
сетевые адаптеры
устройства звукового ввода/вывода
устройства графического ввода/вывода: сканнеры или видеодекодеры (ввод), плоттеры, графические принтеры или видеокодеры (вывод)
специализированная контрольно-измерительная аппаратура
Подсистема Ввода- вывода (Input-Output Subsystem) Основные задачи
Организация параллельной работы устройств ввода-вывода и процессора.
Кэширования данных.
Согласование скорости обмена.
Разделение устройств и данных между процессами
Обеспечение логического интерфейса между системой и устройствами
Поддержка спектра драйверов
Динамическая загрузка и выгрузка драйверов
Поддержка нескольких файловых систем
. Основные понятия файловых систем
Файл- неструктурированная последовательность байтов имеющая символьное имя
Файловая система ОС выполняет:
Преобразование символьных имен файлов в физические адреса данных
Организует совместный доступ к файлам
Выполняет функцию защиты файлов
Файл- именованная область внешней памяти.
Файловая система- часть операционной системы, включающая
Все файлы на диске
Структуры управления файлами
Комплекс системных прикладных средств.
. Процессы. Понятие процесса.
Олифер 98
Процесс- заявка на системные ресурсы
(оперативную память, процессорное время, доступ к файлам, доступ к устройствам ввода-вывода)
Вспомогательные данные по истории процесса.
(текущие состояние процесса, степень привилегированности процесса)
Пользовательские процессы- - процессы порожденные пользовательскими приложениями
Системные процессы- порожденные ОС
Базовыми понятиями мультипрограммного режима функционирования ЭВМ являются процесс и ресурс [[12]]
В строгом понимании процесс - это система действий, реализующая определенную функцию в вычислительной системе и оформленная так, что управляющая программа вычислительной системы может перераспределять ресурсы этой системы в целях обеспечения мультипрограммирования. То есть процесс - это некоторая деятельность, связанная с исполнением программы на процессоре.
Процесс может находиться в следующих состояниях:
порождение - подготавливаются условия для первого исполнения на процессоре;
активное состояние - исполнение программы на центральном процессоре;
готовность (Ready) - программа не исполняется, но для исполнения предоставлены все необходимые в текущий момент ресурсы, кроме центрального процессора;
исполнение программы на каком-либо другом устройстве компьютера, например, устройстве ввода/вывода, имеющем собственные средства управления;
ожидание (Wait) - программа не исполняется по причине занятости какого-либо ресурса;
окончание - нормальное или аварийное завершение исполнения программы, после которого процессор и другие ресурсы ей не предоставляются.
Время между порождением и окончанием процесса называется интервалом существования процесса.
Понятие ресурса строго не определено. Будем считать, что всякий потребляемый объект (независимо от формы его существования), обладающий некоторой практической ценностью для потребителя, является ресурсом [12].
Ресурсы различаются по запасу выделяемых единиц ресурса и бывают в этом смысле исчерпаемыми и неисчерпаемыми. К исчерпаемым ресурсам относится, например, центральный процессор. В качестве неисчерпаемого ресурса можно представить, например, память, выделяемую программе, если рассматривать ее как совокупность всех имеющихся в компьютере запоминающих устройств. В то же время, запоминающее устройство, состоящее только из оперативной памяти с единственным трактом записи/считывания, представляет собой исчерпаемый ресурс.
Исчерпаемость ресурса, как правило, приводит к конфликтам среди потребителей этого ресурса. Для регулирования конфликтов ресурсы должны распределяться между потребителями по каким-то правилам, в наибольшей степени их удовлетворяющим.
. Взаимодействие процессов. Общая классификация средств взаимодействия
ОС предоставляет средства межпроцессорного взаимодействия
- Подсистема управления процессами –планирует выполнение процессов
Синхронизация процессов
- Контекст процесса – информация об операционной среде процесса.
ОС предоставляет средства межпроцессорного взаимодействия
Подсистема управления процессами –планирует выполнение процессов
сегмента разделяемой памяти.
Взаимодействие по сети. Понятие протокола. Модель ISO/OSI. Примеры.
СМ Люнух сервер ручонками 29
В начале 80-х годов ряд международных организаций по стандартизации — ISO, ITU-Т и некоторые другие — разработали модель, которая сыграла значительную роль в развитии сетей. Эта модель называется моделью взаимодействия открытых систем (Ореп System Interconnection) или моделью ОSI.
Модель ОSI определяет различные уровни взаимодействия систем, дает им стандартные имена и указывает, какие функции должен выполнять каждый уровень. Модель ОSI была разработана на основании большого опыта, полученного при создании компьютерных сетей, в основном глобальных, в 70-е годы. Полное описание этой модели занимает более 1000 страниц текста.
В модели ОSI (рис, 18) средства взаимодействия делятся на семь уровней: прикладной, представительный, сеансовый, транспортный, сетевой, канальный и физический. Каждый уровень имеет дело с одним определенным аспектом взаимодействия сетевых устройств.
Модель ОSI описывает только системные средства взаимодействия, реализуемые операционной системой, системными утилитами, системными аппаратными средствами. Модель не включает средства взаимодействия приложений конечных пользователей. Свои собственные протоколы взаимодействия приложения реализуют, обращаясь к системным средствам. Поэтому необходимо различать уровень взаимодействия приложений и прикладной уровень.
Рассмотрим пример передачи данных с помощью модели OSI. После формирования сообщения, которое необходимо передать, прикладной уровень направляет его вниз по стеку представительному уровню. Протокол представительного уровня на основании информации, полученной из заголовка прикладного уровня, выполняет требуемые действия и добавляет к сообщению собственную служебную информацию — заголовок представительного уровня, в котором содержатся указания для протокола представительного уровня машины-адресата. Полученное в результате сообщение передается вниз сеансовому уровню, который в свою очередь добавляет свой заголовок, и т. д. (Некоторые реализации протоколов помещают служебную информацию не только в начале сообщения в виде заголовка, но и в конце, в виде так называемого «концевика».) Наконец, сообщение достигает нижнего, физического уровня, который собственно и передает его по линиям связи машине-адресату. К этому моменту сообщение «обрастает» заголовками всех уровней (рис. 17).
рис. 17 Вложенность сообщений различного уровня
Когда сообщение по сети поступает на машину-адресат, оно принимается ее физическим уровнем и последовательно перемещается вверх с уровня на уровень. Каждый уровень анализирует и обрабатывает заголовок своего уровня, выполняя соответствующие данному уровню функции, а затем удаляет этот заголовок и передает сообщение вышележащему уровню.
Наряду с термином сообщение (message) существуют и другие термины, применяемые сетевыми специалистами для обозначения единиц данных в процедурах обмена. В стандартах ISO для обозначения единиц данных, с которыми имеют дело протоколы разных уровней, используется общее название протокольный блок данных (ProtocolData, Un&, PDU). Для обозначения, блоков данных определенных уровней-часто используются специальные названия: кадр (frame), пакет (packet), дейтаграмма (datagram), сегмент (segment).
В модели OSI различаются два основных стека протоколов. В протоколах с установлением соединения (connection-oriented) перед обменом данными отправитель и получатель должны сначала установить соединение и, возможно, выбрать некоторые параметры протокола, которые они будут использовать при обмене данными. После завершения диалога они должны разорвать это соединение. Телефон — это пример взаимодействия, основанного на установлении соединения.
рис. 18 Модель OSI
Семейство сетевых протоколов TCP/IP. Примеры прикладных протоколов.
В стеке TCP/IP определены 4 уровня (рис. 5S). Каждый из этих уровней несет на себе некоторую нагрузку по решению основной задачи — организации надежной и производительной работы составной сети, части которой построены на основе разных сетевых технологий.
Уровень 1 |
Прикладной уровень |
Уровень 2 |
Основной (транспортный) уровень |
Уровень 3 |
Уровень межсетевого взаимодействия |
Уровень 4 |
Уровень сетевых интерфейсов |
Уровень межсетевого взаимодействия
Стержнем всей архитектуры является уровень межсетевого взаимодействия, который реализует концепцию передачи пакетов в режиме без установления соединений, то есть дейтаграммным способом. Именно этот уровень обеспечивает возможность перемещения пакетов по сета, используя тот маршрут, который в данный момент является наиболее рациональным. Этот уровень также называют уровнем internet, указывая тем самым на основную его функцию — передачу данных через составную сеть.
Основным протоколом сетевого уровня (в терминах модели OSI) в стеке является протокол IP (Internet Protocol). Этот протокол изначально проектировался как протокол передачи пакетов в составных сетях, состоящих из большого количества локальных сетей) объединенных как локальными, так и глобальными связями. Поэтому протокол IP хорошо работает в сетях со сложной топологией, рационально используя наличие в них подсистем и экономно расходуя пропускную способность низкоскоростных линий связи. Так каш протокол IP является дейтаграммным протоколом, он не гарантирует доставку пакетов до узла назначения, но старается это сделать.
К уровню межсетевого взаимодействия относятся и все протоколы, связанные с составлением и модификацией таблиц маршрутизации, такие как протоколы сбора маршрутной информации RIP (Routing Internet Protocol) и OSPF (Open Shortest Path First), а также протокол межсетевых управляющих сообщений ICMP (Internet Ccmtrol Message Protocol). Последний протокол предназначен для обмена информацией об ошибках между маршрутизаторами сети и узлом-источником пакета. С помощью специальных пакетов ICMP сообщает о невозможности доставки пакета, о превышении времени жизни или продолжительности сборки пакета из фрагментов, об аномальных величинах параметров, об изменении маршрута пересылки и типа обслуживания, о состоянии системы и т. п.
Основной уровень
Поскольку на сетевом уровне не устанавливаются соединения, то нет никаких гарантий, что все пакеты будут доставлены в место назначения целыми и невредимыми или придут в том же порядке, в котором они были отправлены. Эту задачу — обеспечение надежной информационной связи между двумя конечными узлами — решает основной уровень стека TСР/IР, называемый также транспортным.
На этом уровне функционируют протокол управления передачей TCP (Transmission Control Protofcol) и протокол дейтаграмм пользователя UDP (User Datagram Protocol). Протокол TCP обеспечивает надежную передачу сообщений между удаленными прикладными процессами за счет образования логических соединений. Этот протокол позволяет равноранговым объектам на компьютере-отправителе и компьютере-получателе поддерживать обмен данными в дуплексном режиме. TCP позволяет без ошибок доставить сформированный на одном из компьютеров поток байт в любой другой компьютер, входящий в составную сеть. TCP делит поток байт на части — сегменты и передает их ниже лежащему уровню межсетевого взаимодействия. После того как эти сегменты будут доставлены средствами уровня 1 межсетевого взаимодействия в пункт назначения, протокол TCP снова соберет их в непрерывный поток байт.
Протокол UDP обеспечивает передачу прикладных пакетов дейтаграммным способом, как и главный протокол уровня межсетевого взаимодействия IP, и выполняет только функции связующего звена (мультиплексора) между сетевым протоколом и многочисленными службами прикладного уровня или пользовательскими процессами.
Прикладной уровень
Прикладной уровень объединяет все службы, предоставляемые системой пользовательским приложениям. За долгие годы использования в сетях различных стран и организаций стек TCP/IP накопил большое количество протоколов и служб прикладного уровня. Прикладной уровень реализуется программными системами, построенными в архитектуре клиент-сервер, базирующимися на протоколах нижних уровней. В отличие от протоколов остальных трех уровней, протоколы прикладного уровня занимаются деталями конкретного приложения и «не интересуются» способами передачи данных по сети. Этот уровень постоянно расширяется за счет присоединения к старым, прошедшим многолетнюю эксплуатацию сетевым службам типа Telnet, FTP, TFTP, DNS, SNMP сравнительно новых служб таких, например, как протокол передачи гипертекстовой информации HTTP.
Уровень сетевых интерфейсов
Идеологическим отличием архитектуры стека TCP/IP от многоуровневой организации других стеков является интерпретация функций самого нижнего уровня — уровня сетевых интерфейсов. Протоколы этого уровня должны обеспечивать интеграцию в составную сеть других сетей, причем задача ставится так: сеть TCP/IP должна иметь средства включения в себя любой другой сети, какую бы внутреннюю технологию передачи данных эта сеть не использовала. Отсюда следует, что этот уровень нельзя определить раз и навсегда. Для каждой технологии, включаемой в составную сеть подсети, должны быть разработаны собственные интерфейсные средства. К таким интерфейсным средствам относятся протоколы инкапсуляции IP-пакетов уровня межсетевого взаимодействия в кадры локальных технологий.
Уровень сетевых интерфейсов в протоколах TCP/IP не регламентируется, но он поддерживает все популярные стандарты физического и канального уровней: для локальных сетей это Ethernet, Token Ring, FDDI, Fast Ethernet, Gigabit Ethernet, lOOVG-AnyLAN, для глобальных сетей — протоколы соединений «точка-точка» SLIP и РРР, протоколы территориальных сетей с коммутацией пакетов Х.25, frame relay. Разработана также специальная спецификация, определяющая использование технологии АТМ в качестве транспорта канального уровня. Обычно при появлении новой технологии локальных или глобальных сетей она быстро включается в стек TCP/IP за счет разработки соответствующего RFC, определяющего метод инкапсуляции IP-пакетов в ее кадры.
Группы процессов и сеансы. Программы-демоны.
Группа процессов включает в себя один или более процессов и существует, пока в группе присутствует хотя бы один процесс. Каждый процесс обязательно включен в какую-нибудь группу. При рождении нового процесса он попадает в ту же группу процессов, в которой находится его родитель. Процессы могут мигрировать из группы в группу по своему желанию или по желанию другого процесса (в зависимости от версии UNIX). Многие системные вызовы могут быть применены не к одному конкретному процессу, а ко всем процессам в некоторой группе. Поэтому то, как именно следует объединять процессы в группы, зависит от того, как предполагается их использовать. Чуть позже мы поговорим об использовании групп процессов для передачи сигналов.
Рис. 13-14.1. Иерархия процессов в UNIX
В свою очередь, группы процессов объединяются в сеансы, образуя, с родственной точки зрения, некие кланы семей. Понятие сеанса изначально было введено в UNIX для логического объединения групп процессов, созданных в результате каждого входа и последующей работы пользователя в системе. С каждым сеансом, поэтому, может быть связан в системе терминал, называемый управляющим терминалом сеанса, через который обычно и общаются процессы сеанса с пользователем. Сеанс не может иметь более одного управляющего терминала, и один терминал не может быть управляющим для нескольких сеансов. В то же время могут существовать сеансы, вообще не имеющие управляющего терминала.
Каждая группа процессов в системе получает собственный уникальный номер. Узнать этот номер можно с помощью системного вызова getpgid(). Используя его, процесс может узнать номер группы для себя самого или для процесса из своего сеанса. К сожалению, не во всех версиях UNIX присутствует данный системный вызов. Здесь мы сталкиваемся с тяжелым наследием разделения линий UNIX'ов на линию BSD и линию System V, которое будет нас преследовать почти на всем протяжении данной темы. Вместо вызова getpgid() в таких системах существует системный вызов getpgrp(), который возвращает номер группы только для текущего процесса.
Служба каталогов Windows 2000
5.1. Служба каталогов Windows 2000
Организационные единицы (OU), или подразделения, могут содержать пользователей, группы, компьютеры, принтеры и общие папки, а также другие OU.
OU - это минимальная "единица" администрирования, права управления которой можно делегировать некоторому пользователю или группе.
С помощью OU можно обеспечить локальное администрирование пользователей (создание, модификация и удаление учетных записей) или ресурсов
Примечание:
Организационные единицы и подразделения - это термины-синонимы; мы будет чаще использовать понятие организационная единица, говоря о структуре каталога Active Directory и его дереве, и подразделение - когда речь идет об администрировании Active Directory, делегировании управления и т. д.
В каталоге Active Directory организационные единицы представляют собой объекты типа "контейнер" и отображаются, как мы увидим позже, в окне оснастки Active Directory пользователи и компьютеры (Active Directory Users and Computers) как папки.
Их основное назначение - группирование объектов каталога с целью передачи административных функций отдельным пользователям.
Дерево OU может отображать реальную структуру организации - административную, функциональную и т. п. При этом учитываются иерархия полномочий ответственных работников и необходимые функции управления. Каждый доменов дереве или лесе может иметь свою, совершенно независящую от других структуру организационных единиц.
Организационная единица - минимальная структурная единица, которой можно назначить собственную групповую политику, т. е. определить разрешения на доступ к ней (и подчиненным OU), конфигурационные настройки и т. п. Однако OU не является структурным элементом безопасности (т. е. нельзя, скажем, назначить подразделению некоторые права доступа к определенному объекту), а служит только для группирования объектов каталога.
Для назначения полномочий и разрешений доступа к ресурсам следует применять группы безопасности (security groups).
Примечание:
Параметры безопасности групповой политики, назначенной некоторому подразделению, позволяют "сужать" область действия этой политики. Предположим, например, что в подразделении имеется несколько групп безопасности. По умолчанию групповая политика распространяется на всех членов подразделения. Однако можно сделать так, что эта политика будет действовать только на определенную группу (группы) и игнорироваться остальными группами подразделения. Подробнее об этом мы будем говорить в последующих уроках.
Вот несколько рекомендаций по выбору решения (организовать ли в сети несколько доменов или делить её на организационные единицы):
Безусловно, наиболее значимое изменение, по сравнению с Windows NT
4, это включение в Windows 2000 важной новой службы – Active Directory.
Active Directory – это «родная» служба каталогов для Windows 2000. В NT 4
домен был очень похож на удаленный остров, с которым мы могли соединиться
только используя механизм доверительных отношений. Active Directory –
полнофункциональная служба каталогов.
Каталог может хранить различную информацию, относящуюся к
пользователям, группам, компьютерам, принтерам, общим ресурсам и так далее
– все это называется объектами.
Каталог хранит также информацию о самом объекте, или его свойства –
атрибутамы. Например, атрибутами, хранимыми в каталоге о пользователе,
может быть имя его руководителя, номер телефона, адрес, имя для входа в
систему, пароль, группы, в которые он входит и многое другое. [4]
5.1.1. Наименование объектов
Active Directory использует Lightweight Directory Access Protocol
(LDAP) – простой протокол доступа к каталогам, как главный протокол
доступа. LDAP действует поверх TCP/IP и определяет способы обращения и
доступа к объектам между клиентом и сервером Active Directory. В LDAP
каждый объект имеет свое особенное Distinguished Name (отличительное имя),
и это имя отличает его от других объектов Active Directory, а также
подсказывает нам, где данный объект расположен. Два главных составных части
отличительного имени – это CN (common name) – общее имя и DC (domain
component) – доменная составляющая. Общее имя определяет объект или
контейнер, в котором этот объект находится, в то время как доменный
компонент определяет домен, в котором объект находится. Например,
отличительное имя может быть следующим:
CN=Peter Ivanoff, CN=Users, DC=firma, DC=ru
В этом примере у нас есть пользователь Peter Ivanoff, который
находится внутри контейнера, называемого Users, в домене firma, который
является поддоменом .ru. Отличительное имя объекта должно быть уникальным
внутри леса Active Directory.
В то время как отличительное имя дает нам полную информацию о
расположении объекта, relative distinguished name (относительное
отличительное имя) определяет объект внутри его родительского контейнера.
Например, если я осуществляю поиск внутри контейнера Users, относительное
отличительное имя объекта, который я ищу, может быть Peter Ivanoff.
Когда пользователь входит в домен, расположенный в Active Directory, у
него может быть два типа имени. Первое из них – традиционное NetBIOS -имя.
В Windows 2000 на него ссылаются как на downlevel logon name (имя
регистрации в ранних версиях Windows). Этот тип имени существует для
совместимости с ранними версиями Windows, процесс входа в которые был
основан на использовании имен NetBIOS (такие OS как NT 4, Windows 9x и так
далее). Когда вы используете downlevel logon name (на вкладке свойств –«имя
входа пользователя пред-Windows 2000») для входа, пользователь должен
ввести имя пользователя, пароль и выбрать соответствующий домен, в который
он собирается входить. Второе имя – и это новинка в Windows 2000 – это
возможность входа в систему с использованием того, что называется User
Principal Name (основное имя пользователя) или UPN. Основное имя
пользователя имеет следующий формат – user@domain.com (на вкладке свойств
пользователя это называется – User logon name (имя входа пользователя)).
Если это соглашение действует, то пользователю не нужно определять домен, в
который он хочет войти. Фактически, когда для входа в Windows
2000используется UPN, доменная часть окна имени для входа в систему
закрашена серым. Пример этих двух типов имен показан на вкладке свойств
учетной записи пользователя Active Directory:
|[pic] |
Рис. 5.1. Active Directory
5.1.2. Логическая структура Active Directory
Логическая структура Active Directory зависит от нужд вашей
организации. Логические элементы Active Directory это леса, деревья, домены
и OU.
5.1.2.1. Домены
Домен в Windows 2000 очень напоминает домен в Windows NT. Для
различных намерений и целей, домен является логической группой
пользователей и компьютеров (объектов), которые связаны как единица для
администрирования и репликации. Прежде всего домен – это административная
единица. Следовательно, администратор этого домена может его
администрировать и для этого не нужен никто другой. Кроме того, все
контроллеры одного домена должны осуществлять репликацию друг с другом.
В Windows 2000 домены именуются в соответствии с соглашением об
именовании DNS, а не именовании NetBIOS. Примером имени домена в Active
Directory может быть 2000trainers.com. В Windows NT имели ограничения по
величине, до которой они могли увеличиваться и этот размер ограничивался
допустимым размером базы данных SAM (40 Мб или около того). Поэтому
приходилось создавать множества доменов в компании, в которой действовали
тысячи пользователей и компьютеров. Теперь же множество доменов не являются
необходимостью в подобном сценарии под Windows 2000, так как Active
Directory может вместить в себя многие миллионы объектов. Учетные записи
пользователей в Windows 2000 существуют так же как и в Windows NT. Active
Directory также позволяет иметь множество доменов, формируя структуры,
которые называются деревьями и лесами. [4]
5.1.2.2 Дерево
В Windows 2000, несколько доменов может все же потребоваться, особенно
в больших организациях, которые продолжают требовать надежного контроля над
их средой, их индивидуальностью (как в случае различных организационных
единиц для ведения бизнеса) и особого административного контроля. В Active
Directory набор доменов может создаваться в порядке, напоминающем структуру
дерева. В этом случае «дочерний» домен наследует свое имя от
«родительского» домена:
|[pic] |
Рис. 5.2. Домены
Каждый домен в дереве является отдельной и явно выраженной
административной единицей, так же как и границей для целей репликации. То
есть, если вы создали учетную запись пользователя в домене
filial1.firma.ru, то эта учетная запись, существующая на контроллере
домена, будет реплицирована на все контроллеры домена filial2.firma.ru.
Каждый новый «дочерний» домен имеет transitive (транзитивные)
двунаправленные доверительные отношения с «родительским» доменом. Это
достигается автоматически в Active Directory и позволяет пользователям из
одного домена дерева иметь доступ к ресурсам в другом. Даже не имея прямых
доверительных отношений, пользователи в filial1 могут получать доступ к
ресурсам (для чего у них должны быть соответствующие разрешения) в filial2
и наоборот, к тому же доверительные отношения транзитивны (filial1 доверяет
своему «родительскому» домену firma , который в свою очередь «доверяет»
filial2 – таким образом filial1 доверяет filial2 и наоборот).
Дерево, в общих чертах, можно определить как набор доменов, которые
связаны отношениями «дочерний»/«родительский» и поддерживают связанное
пространство имен. [4]
5.1.2.3 Лес
Лес – это термин, применяемый для описания совокупности Active
Directory деревьев. Каждое дерево в лесе имеет собственное отдельное
пространство имен. Например, давайте предположим, что наша фирма владеет
еще одной более мелкой, называемой ЧП Сидоров. Чтобы ЧП Сидоров имело свое
собственное отдельное пространство имен, я могу достичь этого объединив
деревья и сформировать лес, как показано ниже:
|[pic] |
Рис. 5.3. Лес
Домен Sidoroff.ru является частью леса, так же как и firma.ru, но по-
прежнему остается доменом и может иметь собственное дерево. Заметьте, что
здесь существуют транзитивные доверительные отношения между «корневыми»
доменами каждого дерева в лесу – это позволит пользователям домена
acmeplunbing.com получать доступ к ресурсам в дереве firma.ru и наоборот, в
то же время поддерживает проверку подлинности в собственном домене.
Первый домен, созданный в лесу, рассматривается как «корень» леса.
Одна из самых важных особенностей леса – это то, что каждый отдельный домен
поддерживает общую схему – определения для различных объектов и связанных с
ними атрибутов, которые созданы в лесу. Важно осознать, что лес может быть
создан из одного дерева, которое содержит всего один домен. Это будет
маленький лес, но формально это будет лес. [4]
5.1.2.4 Организационные единицы
Организационные единицы (обычно называемые OU) – это контейнеры внутри
Active Directory которые создаются для объединения объектов в целях
делегирования административных прав и применения групповых политик в
домене. OU могут быть созданы для организации объектов несколькими путями,
в соответствии с их функциями, местоположением, ресурсами и так далее.
Примером объектов, которые могут быть объединены в OU могут служить учетные
записи пользователей, компьютеров, групп и т.д. Рисунок 5.1.3 показывает
пример OU, основанной на местоположении пользователей и ресурсов:
| |
|[pic] |
Рис. 5.4. Организационные единицы.
OU может содержать только объекты из того домена, в котором они
расположены. Также заметьте, что структура OU может широко варьироваться от
компании к компании. Она разрабатывается с целью облегчить
администрирование ресурсов и применения групповых политик. В то время как
полный административный контроль может быть дан (делегирован) пользователю
через OU, для больших организаций становиться возможным иметь только один
домен, в котором каждая структура будет имеет собственный контроль только
над своей OU. [1]
5.1.3. Физическая структура
Физическая структура Active Directory связана с двумя главными типами
объектов – сайтами и контроллерами доменов.
5.1.3.1 Сайты
В отличии от NT 4, в Windows 2000 Active Directory предусматривает
концепцию физического местоположения внутри структуры. В Active Directory
сайт – это совокупность подсетей TCP/IP, между которыми существует
высокоскоростное соединение. Хотя «высокоскоростное» - это относительное
понятие, обычно под этим подразумевается соединение на скоростях,
соответствующих LAN – соединениям. Вы определяете сайт в Active Directory
для контроля репликации, аутентификации и местоположения служб. Как только
сайт будет создан, компьютеры клиентов будут пытаться аутентифицироваться
на контроллере домена, который находится на данном сайте, вместо того,
чтобы посылать запросы по WAN (глобальной сети).
Сайты также позволяют вам контролировать, когда репликация может
происходить между контроллерами доменов. Например, в NT 4, все BDC получают
данные от PDC в процессе репликации, используя 5-минутный интервал
уведомления об изменениях. Так как в NT не было предусмотрено простого пути
для контроля репликации между физическими местоположениями (это можно
сделать, используя специальные скрипты для регистра), трафик репликации
может перегрузить линии и снизить производительность сети. Если же вы
определите сайт в Active Directory, вы можете также определить время и дни,
в которые репликация между сайтами должна происходить, как часто она должна
происходить, и преимущественные пути для ее прохождения. Вы должны
заметить, однако, что по умолчанию существует только один сайт, и пока вы
не создадите другие, репликация будет происходить, как и раньше, каждый 5-
минутный интервал уведомления об изменениях. Также важно отметить, что
сайты – это другой элемент, который позволяет большим компаниям иметь
только один домен. Так как не существует соотношения между логической и
физической структурой Active Directory, вы можете иметь один домен и сотню
сайтов. Возможность контролировать трафик репликации – одно из наибольших
преимуществ управляемости Active Directory.
5.1.3.2 Контроллеры доменов
Домена не может существовать без по крайней мере одного контроллера
домена, где храниться база данных Active Directory. В отличие от Windows
NT, где была только одна копия базы, позволяющая делать запись (хранящаяся
на PDC; копии, хранящиеся на BDC имели атрибут «только для чтения»), в
Windows 2000 каждый контроллер домена имеет копию базы данных Active
Directory, в которую можно производить запись. Поэтому все контроллеры
домена в среде Active Directory достаточно равноправны. Однако, это
усложняет картину, так как теперь каждый контроллер домена может делать
записи в базу данных. Как и в NT 4, должно быть как минимум два контроллера
в домене для целей избыточности, а, как правило, и гораздо больше, в
зависимости от размера организации. [4]
Создаете контроллер домена в Windows 2000, при помощи Installation
Wizard (мастер установки Active Directory) – dcpromo.exe. Этот инструмент
не только позволяет создавать новые контроллеры домена, и новые домены,
деревья и леса. Он позволяет также понижать контроллер домена до рядового
сервера, если возникнет такая необходимость.
|[pic] |
Рис. 5.5. Installation Wizard
После того, как контроллер домена создан, он хранит копию базы данных
Active Directory (ntds.dit) и может проводить аутентификацию пользователей
домена. База данных Active Directory состоит из того, что принято называть
тремя разделами, как показано на рисунке 5.1.5.
|[pic] |
Рис. 5.6. База данных Active Directory.
Раздел «домен» реплицируется между контроллерами только внутри одного
домена, в то время как разделы «конфигурация» и «схема» реплицируются в
каждый из доменов, расположенных в лесу. Некоторые из контроллеров домена
отличаются от других специальными ролями, которые они выполняют:
Global Catalog Server (сервер Глобального Каталога) – сервер
Глобального Каталога – это контроллер домена, который знает о каждом
единичном объекте, который существует в Active Directory, в каждом из
доменов. Однако, он сохраняет только часть атрибутов каждого объекта,
которые считаются наиболее важными. По умолчанию только один контроллер
домена во всем лесу выполняет эту роль – первый контроллер домена,
созданный в лесу. Большее число серверов Глобального Каталога может (и
должно) быть создано в лесу. Когда контроллер домена действует как сервер
Глобального Каталога он хранит четвертый раздел, как часть базы данных
Active Directory – раздел Глобального Каталога.
Помимо роли сервера Глобального Каталога, контроллеры домена могут
выполнять еще пять специальных ролей, называемых Operations Masters
(основные контроллеры операций). Они перечислены ниже:
Schema Master (хозяин схемы) – в лесу только один контроллер домена
может выполнять эту роль. Schema Master поддерживает схему Active Directory
и поддерживает копию схемы, доступную для записи. По умолчанию первый
контроллер домена, созданный в корневом домене леса, выполняет эту роль.
Domain Naming Master (Хозяин именования доменов) – этот контроллер
домена отслеживает домены, которые создаются и удаляются из леса,
поддерживая целостность структуры леса, если какие-либо изменения имеют
место. В лесу существует только один Domain Naming Master и, по умолчанию,
эту роль выполняет первый контроллер, созданный в корневом домене леса.
PDC Emulator (хозяин PDC) – эта роль существует по паре причин, одна
из которых – обратная совместимость с NT 4 контроллерами. Когда домен
повышается до Windows 2000, первая система, которая подвергается
модернизации – это PDC (главный контроллер домена), и этот новый контроллер
домена Windows 2000 эмулирует (имитирует) старый PDC для оставшихся BDC
(резервных контроллеров домена), работающих под Windows NT. PDC Emulator
отслеживает изменения паролей и выступает «арбитром» перед тем, как пароль
может быть отвергнут системой. По умолчанию клиенты предыдущих Windows OS,
таких как Windows 9x и NT продолжают изменять свои пароли на PDC Emulator
(до тех пор, пока на систему не будет установлен клиент Active Directory).
Один контроллер в каждом домене выполняет роль PDC Emulator, по умолчанию,
это первый контроллер созданный в домене.
Relative Identifier (RID) Master (Хозяин RID (relative identificator))
– в NT 4, PDC отвечает за создание всех SID (security identificator), то
есть отвечает за создание всех объектов безопасности («пользователь»,
«группа», «компьютер»). В Windows 2000 каждый контроллер домена может
создавать объекты безопасности. На самом деле SID состоит из двух частей -
SID (который определяет домен) и RID (который определяет уникальный объект
внутри домена).Для того, чтобы быть уверенным, что SID уникален, один
контроллер в каждом домене выполняет роль RID Master, отвечающего за
создание доменного пула RID, и размещения этих RID на других контроллерах в
домене. Это позволяет быть уверенным, что не произойдет дублирования
объектов SID. В каждом домене Active Directory действует один RID Master,
по умолчанию, это первый контроллер, созданный в домене.
Infrastructure Master (Хозяин инфраструктуры) - Infrastructure Master
отслеживает информацию о том, какие пользователи (из других доменов)
являются членами той или иной группы данного домена и все изменения,
которые имеют место. Это позволяет быть уверенным в непротиворечивости
участия пользователей в группах в Active Directory. Каждый домен в Active
Directory имеет одного Infrastructure Master, по умолчанию, это первый
контроллер, созданный в домене. [1]
Реестр Windows 2000.
Реестр операционной системы Windows 2000 представляет собой централизованную базу данных параметров настройки системы и работающих в ней приложений. В этом смысле реестр аналогичен разнообразным INI-файлам, а также файлам AUTOEXEC.BAT и CONFIG.SYS, которые использовались ранее. Реестр содержит информацию обо всех аппаратных средствах, программном обеспечении, операционной системе и сетевых параметрах компьютера. Эта сложная иерархическая база данных принимает участие во всех аспектах работы Windows 2000. Хорошее понимание принципов работы реестра, выполняемых им задач, а также умение манипулировать реестром необходимо всем: системным и сетевым администраторам, специалистам из групп технической поддержки, а также опытным пользователям из числа программистов. Кроме того, для системных администраторов особенно важны вопросы администрирования и защиты реестра, а также его резервного копирования и восстановления.
В данной главе будут рассмотрены следующие темы:
Обзорная информация по реестру Windows 2000
Краткий обзор иерархической структуры реестра
Администрирование реестра и средства его редактирования
Резервное копирование и восстановление реестра
Обзорная информация по реестру Windows NT/2000
Как было показано в главе 2, реестр становится необходимым уже на начальных этапах загрузки Windows NT/2000. Проблемы при загрузке могут быть вызваны, в том числе, и повреждением реестра. Например, многие пользователи Windows NT/2000 могли испытать шок, получив в процессе загрузки сообщение следующего вида:
Windows 2000 Could not start because the following file is missing or corrupt:
\WINNT\SYSTEM32\CONFIG\SYSTEM
You can attempt to repair this file by Starting Windows NT Setup using the original Setup floppy disk or CD-ROM. Select 'r' at the first screen to repair.
Появление такого сообщения свидетельствует об отсутствии или повреждении важной части реестра Windows NT/2000 ≈ файла куста (hive) разделов реестра SYSTEM (речь о принципах хранения реестра пойдет далее в этой главе). Приведенный пример убедительно демонстрирует, что единственная ошибка в системном реестре может не только повлиять на всю конфигурацию, но и сделать невозможным запуск операционной системы. Помимо этого, добиться корректной работы некоторых приложений можно также лишь через редактирование реестра. Таким образом, важность навыка редактирования реестра нельзя недооценивать.
Назначение реестра
Реестр пришел на смену конфигурационным файлам (INI-файлам) и призван был снять неудобства и ограничения, связанные с их использованием. В виде, более или менее напоминающем его нынешнюю структуру, реестр появился в Windows NT 3.5 (тогда он имел 4 корневых раздела: HKEY_ LOCAL_MACHINE, HKEY_CURRENT_USER, HKEY_CLASSES_ROOT и HKEY_USERS). Новый компонент операционной системы был предназначен для того, чтобы заменить собой многочисленные инициализационные и установочные файлы, разбросанные по" различным каталогам на жестком диске и сетевом сервере. Эти файлы требовались для обеспечения корректной работы операционной системы, приложений и аппаратных устройств, но управление ими было задачей сложной, трудоемкой и неудобной. Реестр как централизованная база данных представляет собой источник конфигурационной информации, где все параметры сведены воедино, что обеспечивает возможность эффективного управления средой Windows NT/2000. Перечисление компонентов системы Windows NT/2000, использующих реестр, и краткое описание их взаимодействия с этой базой данных приведено ниже: Программы установки (Setup). Каждый раз при запуске программы установки Windows 2000 или других установочных программ (для аппаратных и программных средств) программа. Setup добавляет в реестр новые конфигурационные данные. Начиная свою работу, все грамотно разработанные программы установки считывают информацию реестра, чтобы определить, присутствуют ли в системе компоненты, обязательные для
успешного завершения установки. Наконец, централизованный реестр позволяет приложениям совместно использовать конфигурационную информацию и предоставляет им больше возможностей взаимодействия между собой. Чтобы приложение могло получить статус "Designed for Windows 2000", оно должно активно и правильно использовать реестр, а также содержать утилиту, позволяющую корректно выполнить удаление этого приложения (uninstall utility), не удаляя компонентов, которые могут использоваться другими программами (.DLL, .OCX, и т. д.). Эта утилита использует информацию, хранящуюся в реестре.
Распознаватель (Recognizer). Каждый раз при запуске компьютера под управлением Windows NT/2000 распознаватель аппаратных средств (Hardware Recognizer) помещает в реестр список обнаруженных им устройств. На компьютерах с процессорами Intel распознавание аппаратных средств осуществляется программой Ntdetect.com и ядром Windows NT/2000 (Ntoskrnl.exe).
Ядро Windows NT/2000 (Windows NT/2000 Kernel). При старте системы ядро Windows NT/2000 извлекает из реестра сведения о загружаемых драйверах устройств и порядке их загрузки. Кроме того, программа Ntoskrnl.exe передает в реестр информацию о себе (примером такой информации может служить, например, номер версии).
Драйверы устройств. Драйверы устройств обмениваются с реестром параметрами загрузки и конфигурационными данными. Эти данные аналогичны строкам device=, которые можно найти в файле Config.sys для запуска компьютера под управлением MS-DOS. Драйвер устройства должен сообщить об используемых им системных ресурсах, включая аппаратные прерывания и каналы DMA, чтобы система могла включить эти данные в реестр. Приложения и драйверы устройств могут считывать эту информацию реестра, предоставляя пользователям интеллектуальные программы инсталляции и конфигурирования.
Административные средства Windows 2000. Административные средства Windows 2000, в том числе утилиты панели управления и оснастки, собранные в группу Администрирование (Administrative Tools), представляют собой наиболее удобные и безопасные средства модификации реестра. Редакторы реестра, рассмотрению которых посвящен отдельный раздел данной главы, также полезны для его просмотра и, время от времени, для внесения изменений в конфигурацию системы.
Пользовательские профили (user profiles). Windows NT/2000 обеспечивает возможность создания множества пользовательских профилей. Вся информация, относящаяся к конкретному пользовательскому имени и ассоциированным с ним правам, хранится в реестре. Более подробная информация о пользовательских профилях будет приведена далее в этой главе, здесь же отметим, что пользовательский, профиль определяет индивидуальные параметры настройки дисплея, параметры сетевых соединений, принтеры и многое другое. Пользовательские профили бывают следующих типов: локальные (local user profile), создаваемые автоматически при первой регистрации пользователя на локальном компьютере, перемещаемые (roaming user profile), создаваемые администратором и хранящиеся на сервере, и обязательные (mandatory user profile)'≈ перемещаемые профили, обязательные для применения. Информация о пользовательских профилях также хранится в реестре.
Аппаратные профили (hardware profiles). Реестр, в отличие от INI-файлов, позволяет хранить множественные аппаратные конфигурации. Так, например, можно создать профили для док-станций (что актуально для пользователей портативных компьютеров), а также профили для съемных устройств. Аппаратный профиль представляет собой набор инструкций, с помощью которого можно указать операционной системе, драйверы каких устройств должны загружаться при запуске компьютера. В процессе установки Windows 2000 создается стандартный аппаратный профиль, который содержит информацию обо всех аппаратных средствах, обнаруженных на компьютере на момент инсталляции.
Структура реестра
Реестр Windows 2000 состоит из пяти так называемых корневых разделов (root keys): HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_LOCAL_ MACHINE, HKEY_USERS и HKEY_CURRENT_CONFIG.
Каждый раздел может содержать элементы данных, которые называются параметрами (value entries), а также вложенные разделы (subkeys). Для понимания этой концепции можно провести аналогию с файловой системой. Разделы в структуре реестра аналогичны каталогам, а значимые элементы ≈ файлам. Рис. 14.1 иллюстрирует иерархическую структуру реестра Windows 2000. Все имена корневых разделов начинаются со строки HKEY_, что указывает разработчикам программного обеспечения на то, что это ≈ дескриптор, который может использоваться программой. Дескриптор (handle) ≈ это значение, используемое для уникального описания ресурса, к которому программа может получить доступ. Описания корневых разделов реестра Windows NT/2000 приведены в табл. 1.4.1.
Администрирование и поддержка реестра
Непосредственное редактирование реестра, даже в тех случаях, когда оно необходимо, при неумелом выполнении может привести к большим неприятностям. Поэтому, если вы чувствуете себя неуверенно или просто не можете позволить себе затратить значительное время для проведения восстановительных работ, не ставьте смелых экспериментов над реестром своей операционной системы (будь то Windows NT 4.0 или Windows 2000). Вполне возможно, что единственная ошибка приведет к необходимости переустановки операционной системы.
Предупреждение
Для выполнения задач по конфигурированию системы, по мере возможности, рекомендуется использовать административные утилиты, так как их применение всегда предпочтительнее непосредственного редактирования реестра. Этот метод намного безопаснее, поскольку административные средства не позволяют сохранять в реестре некорректные значения. Если в процессе редактирования реестра с помощью одного из редакторов реестра будет допущена ошибка, редактор сохранит некорректное значение, а вы не получите даже предупреждения, так как редакторы реестра не распознают и не исправляют такие ошибки.
Администрирование Windows 2000 Server. Группы. Бюджеты пользователей.
Группа — это набор учетных записей пользователей. Группы упрощают администрирование, позволяя присваивать разрешения и привилегии сразу нескольким пользователям.
Разрешение (permission) определяет возможность пользователей работать с ресурсами: каталогами, файлами или принтерами. Предоставляя разрешение, вы открываете пользователю доступ к ресурсу и задаете вид доступа. Например, если нескольким пользователям разрешено читать один и тот же файл с конфиденциальным содержанием, объедините этих пользователей в группу, а затем предоставьте группе разрешение на чтение файла. Привилегия (right) позволяет пользователю выполнять системные задачи: например, изменять время на компьютере или создавать резервные копии файлов.
Локальные группы
Локальная группа (Local group) — это набор учетных записей пользователей на локальном компьютере, предназначенный для предоставления разрешений доступа к ресурсам на компьютере, где эта группа создана. Windows 2000 создает локальные группы в локальной базе данных безопасности.
Поддержка открытых стандартов и стандартных форматов имен
Поддержка имен стандартных форматов
Форма именований, принятая в каталоге, влияет, как на пользователей, так и на приложения. Например, если Вы желаете отыскать объект в каталоге, то должны точно указать имя свойства, применяемого в каче- стве критерия поиска.
В различных стандартах (как де-факто, так и де-юре) используются различные форматы имен. Многие из них поддерживаются в Active Directory, что позволяет пользователям, например, обращаться к объек- там привычным образом. Перечислим некоторые из поддерживаемых систем именований.
. RFC822. Этот стандарт именований хорошо знаком пользователям Интернета. Кто из Вас не встречался с формой имя@домен, отправ- ляя или получая сообщения по электронной почте? Если Вы, напри- мер, хотите задать вопрос Билу Гейтсу, то можете воспользоваться адресом askbill@microsoft.com. Адрес в таком формате можно не толь- ко поместить на визитной карточке, но и использовать для входа и систему.
. HTTP URL. Как упоминалось ранее, к службе каталогов Active Direc- tory можно обратиться по протоколу HTTP, Для этого необходимо указать имя URL, формат которого также хорошо знаком пользова- телям Интернета: http : //имя-домена/путь-к-странице. При этом имя домена - это имя сервера, на котором установлена служба каталога, а путь к странице - путь в иерархичной структуре каталога к инте- ресующему объекту. Например:
HTTP://MyServer.MyCorp.Ru/BIN/Division/Finance/Russian/IvanDemido.
. LDAP URL и имена Х.500. В Active Directory поддерживается доступ и по протоколу LDAP. То, что имена LDAP сложнее по сравнению с именами Интернета, не так важно - ведь обычно LDAP использует- ся приложениями. В рамках LDAP действуют соглашения об имено- вании Х.500, называемые атрибутированным именованием. Имя при этом состоит из URL сервера, на котором располагается каталог, и далее - атрибутированного имени объекта. Например:
LDAP://My Server.MyCorp.Ru/CN=IvanDemidov,OU=Russian,OU=Finance, OU=Division,0=MyCorp,C=RU
. Имена UNC. В Active Directory поддерживается также и соглашение об универсальном именовании, которое традиционно используется в сетях Windows NT для ссылок на совместно используемые ресур- сы: тома, принтеры и файлы. Вы можете обратиться к файлу, опубли- кованному в Active Directory, например, так:
\\MyServer.MyCorp,Ru\Division.Finance.Russian,MyVolume\WordDocs\ YearBudget.doc
программные интерфейсы
Что касается программных интерфейсов, то операционная система Windows программы может обращаться как операционная система за соответствующими сервисами и функциями, так и к графической подсистеме. С точки зрения архитектуры процессора, вторая программа, созданная для работы в Linux использует те же команды и форматы данных, что и программа, созданная для работы в среде Windows. Однако в первом случае имеет место обращение к операционной среде, во втором – к другой. Таким образом, операционная среда – это то системное программное обеспечение, в котором могут выполняться программы, созданные по правилам работы этой среды.
Типичные операционные системы предоставляют следующие сервисы:
разработка программ. Операционная система предоставляет программисту разнообразные инструменты и сервисы, например, редакторы и отладчики. Эти сервисы, реализованные в виде программных утилит, которые поддерживают операционные системы, хотя и не входят в его ядро, такие программы называют инструментами разработки приложений;
исполнение программ. Для запуска программы требуется выполнить ряд действий. Следует загрузить в основную память команды и данные, инициализировать устройства. Операционная система выполняет рутинную работу;
доступ к устройствам ввода/вывода. Для управления работой каждым устройством ввода/вывода нужен свой набор команд или контролируемый сигнал. Операционная система предоставляет пользователю единообразный интерфейс, который вскрывает все эти детали и обеспечивает программисту доступ к устройствам ввода/вывода с помощью простых команд чтения и записи;
контролируем доступ к файлам. При работе с файлами, управление его стороны операционной системы предназначено не только понимание природы устройств ввода/вывода и знание структур данных записанные в файлах. Многопользовательские операционные системы, кроме того, обеспечивают работу механизмов защиты при обращении к файлам;
системы доступа. Операционная система управляет доступом к общедоступной вычислительной системе в целом, а также к отдельным системным ресурсам. Она должна обеспечить защиту ресурсов и данных от несанкционированного использования, также разрешать конфликтные ситуации;
обнаружение ошибок и их обработка. При работе компьютерной системы происходят различные сбои, к их числу относятся внутренние и внешние ошибки, возникшие в аппаратном обеспечении, например, ошибки памяти, отказ или сбой устройств, возможны и программные ошибки: арифметическое переполнение, попытка обратиться к ячейке памяти, доступ к которым запущен и невозможность выполнения запроса приложения. В каждом из этих случаев операционная система должна выполнить действие, минимизирующее влияние ошибки на работу приложения. Реакция операционной системы на ошибку может быть различной: от простого сообщения об ошибке, до аварийной остановки программы;
учёт использования ресурсов. Хорошая операционная система должна иметь средства учёта использования различных ресурсов и отображение параметров производителя. Эта информация крайне важна для дальнейшего улучшения и настройки система, для повышения производительности.
Использование доменных деревьев и лесов
См вопрос 19
СМ управление и поддержка WIN 2003 стр 31
Архитектура Active Directory
РИСУНОК 1. Архитектура Active Directory.
На Рисунке 1 приведена архитектура AD, причем архитектура Directory Store может быть проиллюстрирована тем же рисунком. И та и другая службы каталога используют несколько протоколов доступа (например, Directory Store использует Messaging API-MAPI и Lightweight Directory Access Protocol-LDAP), и обе Microsoft располагает поверх Extensible Storage Engine (ESE). ESE представляет собой разновидность унифицированного процессора базы данных Jet, который разработчики Microsoft применяют и в других продуктах. Обе службы каталога используют одну и ту же модель протоколирования
РИСУНОК 2. Модель протоколирования транзакций, применяемая Active Directory.
транзакций для сбора данных и подтверждения их наличия в базе данных.
РИСУНОК 2. Модель протоколирования транзакций, применяемая Active Directory.
Как следует из Рисунка 2, AD записывает
транзакции в журнальный буфер, затем в журнал текущей транзакции и в кэш памяти. Если транзакция завершается, процессор базы данных фиксирует исполнение транзакции в базе данных, либо когда нагрузка на систему позволяет это сделать, либо когда AD освобождает свои буферы (например, при выполнении полного резервного копирования в оперативном режиме). Чтобы отметить последнюю успешную операцию записи, процессор базы данных изменяет файл контрольных точек, как только транзакции фиксируются в базе данных.
На Рисунке 2 показано, какими способами процессор базы данных фиксирует транзакции в Active Directory и в Directory Store. Есть, правда, небольшое отличие в именах файлов: в случае с AD управление транзакциями осуществляет файл lsass.exe, а не dsamain.exe, и служба каталога записывает данные в базу данных AD, ntds.dit, а не в базу Exchange Server 5.5, dir.edb. Небольшие изменения внесены в реализацию, например журнал транзакций вмещает 10 Мбайт данных вместо 5. Однако администраторам систем Exchange также полезно ознакомиться с приведенной на Рисунке 2 моделью протоколирования транзакций, поскольку такую же использует служба Information Store (IS).
При переходе к Exchange 2000 следует учесть некоторые особенности работы Exchange Server. Прежде всего необходимо защитить Directory Store настолько, насколько возможно, так как после сбоя его будет трудно восстановить. AD не похожа на SAM NT. Ее база данных намного сложнее и может вместить несколько миллионов объектов. Наилучшим способом размещения AD, по опыту работы с Exchange Server, следует признать использование массива RAID уровня 5 или уровня 0+1. При этом журналы транзакций размещаются на другом физическом томе с защитой RAID уровня 1. Необходимо ежедневно выполнять резервное копирование и иметь план восстановления после сбоя, подробно описывающий процесс 'реконструкции' разрушенной базы данных AD. Если при этом остановившийся сервер является контроллером домена или Global Catalog (GC), нужно четко представлять себе, каким образом можно поскорее вернуть его в строй.
Определение файловой системы.
ФАЙЛОВЫЕ СИСТЕМЫ
Под файлом понимается набор данных, организованных в виде совокупности записей одинаковой структуры. Для управления этими данными создаются системы управления файлами. Возможность иметь дело с логическим уровнем структурных данных и операциями по их обработке предоставляет файловая система (ФС).
ФС - это набор спецификаций и соответствующее им программное обеспечение, которое отвечает за создание, уничтожение, организацию, чтение, запись, модификацию и перемещение файловой информации, а также за управление к доступам файлов. ФС определяет способ организации данных на диске или другом носителе информации. Пример: ФС FAT: реализации которой присутствуют в абсолютном большинстве операционных систем (ОП) для ПК. Все современные ОС имеют соответствующие системы управления файлами (СУФ). СУФ является основной подсистемой в ОС. Через СУФ осуществляется централизованное распределение дискового пространства и управления данными. Через СУФ пользователю предоставляются следующие возможности:
Создание, удаление, переименование и др. операции с именованными наборами данных из своих программ или посредством специальных управляющих программ реализующих функции интерфейса пользователя с его данными.
Работа с недисковыми периферийными устройствами как с файлами.
Обмен данными между файлами, между устройствами, между файлом и устройством и наоборот.
Работа с файлами с помощью обращений программных модулей СУФ (Application Program Interface). Часть функций API ориентирована на работу с файлами.
Защита файлов от несанкционированного доступа.
В ОС может быть несколько СУФ, чтобы иметь возможность работать с несколькими ФС. Основное назначение ФС и соответствующей ей СУФ - организация удобного доступа к данным организована как файл, т.е. вместо низкоуровневого доступа к данным с указанием конкретных физических адресов нужной записи используется логический доступ с указанием имени файла и записи в нем.
Термин ФС определяет принципы доступа к данным организованных в файле. А термин СУФ относится к конкретной реализации ФС, т.е. это комплекс программных модулей обеспечивающих работу с файлами конкретной ОС. В качестве примера можно привести ФС FAT (Fill Allocation Table), которая имеет множество реализаций как СУФ. Название FAT используется и по отношению к СУФ MS-DOS. В реализацию СУФ для OS/2, использующей основные принципы системы FAT наз. Super-FAT. Ее основные отличия - поддержка расширенных атрибутов для каждого файла.
Windows95/98 - VFAT.
Задачи файловой системы
Именование файлов
Программный интерфейс
Отображение логической модели ФС на физическую организацию хранения данных
Устойчивость к сбоям по питанию.
Типы файлов.
Типы файлов
Файлы- хранят информацию произвольного характера
Каталоги- особый тип файлов, которые содержат справочную информацию о наборе файлов
Специальные файлы-файлы ассоциированные с устройством ввода вывода
