
- •Тема 1.Основные задачи администрирования. Функции, процедуры и службы администрирования. Введение
- •Сборка и ремонт компьютера.
- •Установка операционной системы. Установка и удаление программ.
- •Установка и настройка локальной сети и выхода в Интернет
- •Регулирование доступа к ресурсам
- •Сопровождение операционной системы, архивирование, восстановление.
- •Наблюдение за производительностью системы.
- •Тонкая настройка системы: настройка реестра, удаление неиспользуемых процессов и т.П.
- •Сценарии. Панель управления. Консольный режим
- •Обеспечение безопасности.
- •Следите за новинками и новостями.
- •Вопросы.
- •Тема 2.Windows Script Host. Общее описание
- •Объекты wsh
- •Вопросы.
- •Тема 3.Microsoft Management Consol (mmc). Единый интерфейс управления приложениями и компьютерами.
- •Окно mmc.
- •Общие положения о структуре.
- •Структура операционной системы.
- •Реализация объектов.
- •Подсистемы окружения и их dll
- •Восстановление. Резервное копирование. Вопросы для самостоятельного изучения.
- •Вопросы.
- •Тема 5.Реестр Windows Вопросы.
- •Общая структура реестра.
- •Разделы реестра.
- •Хранение реестра на диске.
- •Реестр в Windows 2003
- •Редакторы реестра.
- •Сравнение Regedit; и Regedit32
- •А теперь Regedt32.
- •Соединение с Реестром другого компьютера
- •Резервное копирование и восстановление Реестра
- •Вопросы.
- •Тема 6.Регистрация. Учетные записи пользователей и групп. Учётная запись
- •Управление учётными записями
- •Локальная политика безопасности
- •Профили
- •Типы организации доступа к разделяемым ресурсам:
- •Маркер Безопасности (sid)
- •Вход в систему
- •Модель распределённой безопасности в ws2003:
- •Разделяемые ресурсы
- •Полномочия разделяемого доступа:
- •Вопросы.
- •Тема 7.Управление доступом. Специальные ресурсы. Наследование прав и полномочий. Специальные ресурсы.
- •Просмотр общих ресурсов, создание новых, контроль доступа к ресурсам.
- •Методы ограничения доступа.
- •Вопросы.
- •Тема 8.Сеть. Возможности, предоставляемые Windows 2000 Professional и xp. Введение.
- •Виды соединений в Windows 2000 professional.
- •Настройка подключения к локальной сети.
- •Документы rfc (Requests for Comments)
- •Разрешение имен. Dns.
- •Динамическая dns и интеграция с Active Directory
- •Протокол ldap
- •Где взять ip адрес?
- •Прикладные протоколы удаленного доступа.
- •Вопросы.
- •Тема 9.Общие сведения о прямых подключениях Введение
- •Обеспечение безопасности
- •Настройки клиента прямого подключения.
- •Настройки сервера прямого подключения.
- •Усовершенствования tcp/ip в w2000
- •Вопросы.
- •Тема 10.Сетевые команды операционной системы. Команды ос. Командные файлы. Скрипты.
- •Вопросы.
- •Тема 11.Аудит. Производительность Введение в наблюдение за производительностью
- •Архитектура подсистемы наблюдения за производительностью
- •Настройка конфигурации подсистемы наблюдения
- •Выбор компьютера для наблюдения
- •Хранение записей данных о производительности
- •Экспорт конфигурации подсистемы наблюдения
- •Общее представление об изменениях в данных о производительности
- •Управление производительностью компьютера
- •Общие сведения о компоненте «Система»
- •Вопросы.
- •Тема 12.Управление печатью. Диски. Динамические диски. Dfs. Диски
- •Динамические диски
- •Дисковые квоты
- •Принтер
- •Консоль восстановления: обзор
- •Plug and Play: обзор
- •Типы устройств: обзор
- •Установка устройств
- •Вопросы.
- •Тема 15.Служба Active Directory. Вопросы.
- •Литература:
Общие положения о структуре.
Операционная система Windows 2000 состоит из двух основных частей: самой операционной системы, работающей в режиме ядра, и подсистем окружения, работающих в режиме пользователя. Ядро является традиционным ядром, в том смысле, что оно управляет процессами, памятью, файловой системой и т.п.
Одно из многих усовершенствований, появившихся в ранних версиях NT, заключается в ее модульной структуре.NT состояла из относительно небольшого ядра и серверных процессов, работающих в режиме пользователя. Процессы пользователя работали в режиме пользователя и взаимодействовали с серверными процессами в соответствии с моделью клиент-сервер. Взаимодействие выглядело следующим образом: клиент посылал серверу некоторое сообщение, сервер выполнял действие и возвращал клиенту ответ. Такая модульная структура позволяла довольно несложный перенос операционной системы на другие аппаратные платформы, отличные от Intel. Вторая положительная черта модульного принципа состоит в большей защищенности ядра от ошибок в серверных процессах и пользовательских процессах.
Но в целях обеспечения большей производительности операционной системы в NT4 многие процессы были возвращены в ядро (управление системными вызовами, экранная графика и т.п.). Такая схема была принята и в Windows 2000.
Основной принцип модели многопользовательских ОС состоит в том, что пользовательские приложения отделены от ОС. Код Ос выполняется в так называемом защищенном режиме (привилегированный режим процессора или режим ядра), а пользовательские процессы – в пользовательском режиме. Режим ядра обеспечивает доступ к системным данным и оборудованию. Пользовательский – ограниченный доступ к системным структурам без прямого доступа к оборудованию. Когда программа польз режима вызывает системный сервис, процессор перехватывает вызов и переключает вызывающий поток в режим ядра. По окончании системного сервиса ОС переключает контекст потока обратно в пользовательский режим и продолжает его выполнение.
Window 2000 как и большинство UNIX систем имеет монолитную структуру : единое адресное пространство для ее кода и кода драйверов… Разрушить систему… но пример с микроядром в Mach Carnegie Mellon University.
Симметричная мультипроцессорная обработка.
Версия |
ОЗУ, Гбайт |
к-во процессоров |
к-во польз сети |
Размер кластера |
Professional |
4 |
2 |
10 |
0 |
Server |
4 |
4 |
не огр |
0 |
Advanced |
8 |
8 |
не огр |
2 |
Datacenter server |
64 |
32 |
не огр |
4 |
Структура операционной системы.
Общая схема:
Пользовательский режим
1.процессы поддержки системы
2.процессы сервисов
DLL подсистем
3.пользовательские приложения
DLL подсистем
4.подсистемы окружения
Режим ядра
исполнительная система
ядро
драйверы устройств
уровень абстрагирования от оборудования HAL
поддержка окон и графики
Существует 4 типа пользовательских процессов: 1 – фиксированные процессы поддержки системы, например, процесс входа в систему, диспетчер сеансов; 2 – процессы сервисов, то есть запускаемые диспетчером управления сервисами (многие серверные приложения MS SQL Server тоже имеют компоненты, выполняемые как сервисы); 3 – пользовательские приложения одного из типов: Win 32, Windows 3.1, MS-DOS, POSIX, OS/2 (1.2); 4 – подсистемы окружения, которые представляют пользовательским приложениям сервисы, встроенные в ОС, через набор вызываемых функций (3 подсистемы:Win32, POSIX, OS/2).
В Windows2000 польз приложения не могут напрямую вызывать встроенные сервисы ОС. Вместо этого они работают с одной или несколькими динамическими библиотеками (DLL) подсистем. Назначение последних (DLL) состоит в трансляции документированных функций в недокументированные вызовы системных сервисов.
Cтруктура Windows 2000 более подробно показана на рисунке ниже. На рисунке голубым цветом отмечена исполняющая система.
Уровень аппаратных абстракций.
Два нижних уровня программного обеспечения, уровень аппаратных абстракций (HAL Hardware Abstraction Layer) и ядро написаны на языке С и почти полностью аппаратно независимы. Верхние системы написаны на С++.
Причина – совместимость, но недостаток – не объектно ориентированная …
HAL – позаимствовано из фильма Стенли Кубрика "2001: Космическая Одиссея", а он взял из имени IBM, каждую букву заменив на предыдущую в алфавите.
Нижние уровни операционной системы работают с регистрами устройств, прерываниями, прямым доступом к памяти (DMA) и другими аппаратными особенностями, которые очень сильно отличаются на разных машинах. Даже написание кода на языке С не позволяет перенести программу с одного на другой процессор, так как особенности команд (даже при одинаковых названиях) не дают возможности оставить код программы неизменным. Тем не менее, такая концентрация аппаратно-зависимого текста в одном месте облегчает задачу переноса.
В качестве примера того, что делает уровень аппаратных абстракций, рассмотрим вопрос работы устройств ввода-вывода с отображаемыми на память регистрами и устройств, работа которых осуществляется через порты. На некоторых машинах используется один способ доступа к устройствам ввода-вывода, а на других машинах - другой. Как должен быть написан драйвер устройства? Вместо того, чтобы ограничивать переносимость драйвера за счет выбора только одного способа, уровень аппаратных абстракций предоставляет три процедуры для чтения регистров устройств и еще три для записи в них. Эти процедуры читают и пишут 8-, 16- и 32-разрядные целые числа без знака в указанный порт. Реализацией этих действий в виде обращения к портам или к регистрам, отображаемым на память, занимается уровень HAL!
Драйверам часто бывает нужно получить доступ к специфическим устройствам ввода-вывода. На аппаратном уровне у драйверов есть один или несколько адресов определенной шины. Поскольку у современных компьютеров часто есть несколько шин (ISA, PCI, SCSI, USB и т.п.) может случиться, что два или более устройств имеют один и тот же адрес шины, поэтому требуется некий способ отличать их. Уровень HAL предоставляет службу для идентификации устройств, отображая адреса на шине на логические системные адреса. В результате драйверам не нужно следить за тем, какое устройство, на какой шине находится. Такая логическая адресация аналогична дескрипторам, выдаваемым операционной системой программам пользователя для обращения к файлам и другим системным ресурсам. Этот механизм также защищает более высокие уровни от свойств структур шин и соглашений об адресации. С прерываниями та же картина. Здесь уровень HAL предоставляет службы для именования прерываний уникальным в пределах всей системы способом, а также службы, позволяющие драйверам связывать процедуры обработки прерываний с прерываниями переносимым способом.
Другая служба HAL занимается управлением операциями DMA (Direct Memory Access). Обращения к устройствам осуществляется по их логическим адресам.
Уровень HAL управляет часами и таймерами, обеспечивая переносимость работающих с ними программ.
Наконец, уровень HAL общается с BIOS и инспектирует память CMOS, если она используется, чтобы определить, какие шины и устройства ввода-вывода содержатся в системе и как следует их настроить. Затем эта информация помещается в реестр, чтобы другие компоненты системы могли просматривать их, не обращаясь к BIOS.
Поскольку уровень HAL является аппаратно-зависимым, то на установочном диске имеется несколько различных вариантов HAL. Во время установки системы выбирается подходящий HAL и записывается на жесткий диск в каталог \winnt\system32\hal.dll.
Хотя эффективность уровня HAL является довольно высокой, для мультимедийных приложений ее бывает недостаточно. По этой причине корпорация Microsoft производит также пакет программного обеспечения, называемый DirectX, расширяющий функциональность HAL дополнительными процедурами и предоставляющий пользовательским процессам прямой доступ к аппаратному обеспечению. Пакет DirectX является специализированным (под конкретное оборудование).
Уровень ядра.
Над уровнем аппаратных абстракций находится уровень ядра. Windows 2000 обладает ядром весьма условно, так как практически все компоненты системы работают в режиме ядра. Часть ядра и большая часть уровня HAL постоянно находится в оперативной памяти. Назначение ядра заключается в том, чтобы сделать всю остальную часть операционной системы независимой от аппаратуры. Например, на уровне HAL есть вызовы связывания процедур обработки прерываний с прерываниями, HAL также устанавливает приоритеты этих процедур, и все. Ядро же предоставляет полный механизм для переключения контекста. Оно должным образом сохраняет регистры центрального процессора, изменяет таблицы страниц, сохраняет кэш центрального процессора и т.п. Когда все эти действия сделаны, работавший ранее поток оказывается полностью сохраненным в таблицах, расположенных в памяти. затем ядро настраивает карту памяти нового потока и загружает его регистры, после чего новый поток готов к работе. Программа планирования потоков также находится в ядре.
Служебный процесс |
Программа POSIX |
Программа Win32 |
Программа OS/2 |
|||||||
Подсистема POSIX |
Подсистема Win32 |
Подсистема OS/2 |
||||||||
Системный интерфейс (NTDLL.DLL) |
||||||||||
Системные службы |
||||||||||
Менеджер ввода-вывода |
Менеджер объектов |
Менеджер процессов |
Менеджер памяти |
Менеджер безопасности |
Менеджер кэша |
Менеджер plug-and-play |
Менеджер энергопотребления |
Менеджер конфигурации |
Менеджер локального вызова процедуры |
Интерфейс графических устройств Win32 |
Файловая система |
Видео-драйвер |
|||||||||
Ядро |
||||||||||
Уровень аппаратной абстракции (HAL) |
||||||||||
Аппаратное обеспечение |
Помимо этого ядро предоставляет низкоуровневую поддержку двум классам объектов – управляющим объектам и объектам диспетчеризации. Эти объекты не относятся к объектам, к которым пользовательские процессы получают дескрипторы, но представляют собой внутренние объекты, на основе которых исполняющая система строит объекты пользователя.
Управляющие объекты – это объекты, управляющие системой, включая примитивные объекты процессов, объекты прерываний, объект "отложенный вызов процедуры" (DPC), "асинхронный вызов процедуры" (APC). Объект DPC служит для того, чтобы отделить ту часть обработки прерывания, для которой время является критичным, от той, для которой время не критично. APC отличается тем, что он выполняется в контексте определенного процесса. Пример: при нажатии клавиши код клавиши кладется в буфер ядра, поэтому для этого прерывания используется DPC. Если же прерывание поступило от модема, то результат следует положить в буфер пользовательского процесса, поэтому используется APC.
Объекты диспетчеризации – это семафоры, события, таймеры и другие объекты, изменения состояния которых могут ждать потоки. Причина, по которой они должны частично обрабатываться ядром, заключается в том, что они тесно переплетены с планированием потоков.
Исполняющая (исполнительная) система.
Над ядром и драйверами располагается верхняя часть операционной системой, называемая исполняющей системой (супервизором, диспетчером) Исполняющая система состоит из 10 компонент, каждый из которых представляет собой просто набор процедур. Между отдельными компонентами нет жестких границ, процедуры одного компонента могут вызывать процедуры другого.
Менеджер объектов управляет всеми объектами, известными операционной системе. К ним относятся процессы, потоки (нити), файлы, каталоги, семафоры, устройства ввода-вывода, таймеры и многое другое. При создании объекта менеджер объектов получает в адресном пространстве блок виртуальной памяти и возвращает этот блок в список свободных блоков при удалении объекта. Менеджер объектов также управляет пространством имен. Все остальные компоненты исполняющей системы активно используют объекты во время своей работы. Менеджер объектов не является процессом или потоком, это просто набор процедур.
Менеджер ввода-вывода предоставляет остальной системе независимый от устройств слой программного обеспечения, вызывая для физического выполнения операций ввода-вывода требуемый драйвер.
Менеджер процессов управляет процессами и потоками. Он не занимается стратегией, он предлагает механизмы для реализации управления.
Менеджер памяти реализует архитектуру виртуальной памяти.
Менеджер безопасности приводит в исполнение весь сложный механизм организации безопасности Windows 2000.
Менеджер кэша осуществляет кэширование обращений к жесткому диску, хранит в памяти блоки диска, определяет время их хранения. Он один может обслуживать несколько файловых систем.
Менеджер plug-and-play получает все уведомления об установленных новых устройствах . Это – реальный процесс.
Менеджер энергопотребления выключает монитор, диски, следит за состоянием батарей на переносных компьютерах.
Менеджер конфигурации отвечает за состояние реестра. Он добавляет новые записи, ищет запрашиваемые ключи.
Менеджер вызова локальной процедуры обеспечивает высокоэффективное взаимодействие между процессами и их подсистемами. Так как скорость такого взаимодействия определяет скорость работы операционной системы, то для взаимодействия системных процессов не используются стандартные механизмы межпроцессного взаимодействия.
Интерфейс графических устройств GUI занимается управлением графическим изображением на мониторе и принтере.
Системные службы.
Функция этого уровня состоит в предоставлении интерфейса к исполняющей системе. Он принимает системные вызовы и вызывает другие части исполняющей системы для их выполнения.
Где, что расположено.
Основная часть операционной системы, состоящая из ядра и исполняющей системы, хранится в файле Ntoskrnl.exe. Как уже говорилось ранее, уровень HAL хранится в файле hal.dll, а интерфейс Win32 и интерфейс графических устройств хранится в win32k.sys (часть подсистемы Win32 , работающая в режиме ядра). NTdll.dll - внутренние функции поддержки и интерфейсы (stubs) диспетчера системных сервисов с функциями исполнительной системы. Kernel32.dll, Advapi32.dll, User32.dll, Gdi32.dll – основные dll подсистемы Win32.
Большинство драйверов имеют расширение .sys.