
- •Содержание
- •1 Начальные сведения об операционных системах
- •1.1 Назначение и функции операционных систем
- •1.2 История развития операционных систем
- •1.3 Классификация операционных систем
- •1.4 Обзор аппаратного обеспечения компьютера
- •1.5 Архитектура операционной системы
- •1.5.1 Классическая архитектура
- •1.5.2 Микроядерная архитектура
- •2 Процессы и потоки
- •2.1 Процессы
- •2.2 Потоки
- •2.3 Межпроцессное взаимодействие
- •2.3.1 Взаимное исключение с активным ожиданием
- •2.3.2 Примитивы межпроцессного взаимодействия
- •2.4 Планирование
- •2.4.1 Планирование в системах пакетной обработки данных
- •2.4.2 Планирование в интерактивных системах
- •2.4.3 Планирование в системах реального времени
- •2.5 Понятие взаимоблокировки
- •3 Управление памятью
- •3.1 Основы управления памятью
- •3.2 Методы распределения памяти без использования подкачки
- •3.2.1 Метод распределения с фиксированными разделами
- •3.2.2 Метод распределения с динамическими разделами
- •3.2.3 Метод распределения с перемещаемыми разделами
- •3.3 Методы распределения памяти с подкачкой на жесткий диск
- •3.3.1 Страничная организация памяти
- •3.3.2 Сегментная организация памяти
- •3.3.3 Сегментно-страничная организация памяти
- •3.4 Кэширование данных
- •4 Аппаратная поддержка мультипрограммирования на примере процессора Pentium
- •4.1 Регистры
- •4.2 Привилегированные команды
- •4.3 Сегментация с использованием страниц
- •4.4 Защита данных в процессоре Pentium
- •4.5 Средства вызова процедур и задач
- •4.6 Механизм прерываний
- •4.7 Кэширование в процессоре Pentium
- •5 Ввод-вывод
- •5.1 Принципы аппаратуры ввода-вывода
- •5.2 Принципы программного обеспечения ввода-вывода
- •6 Файловые системы
- •6.1 Основы файловых систем
- •6.2 Файловая система fat
- •6.3 Файловая система ntfs
- •6.4 Файловые системы Ext2, Ext3 и ufs
- •7 Безопасность операционных систем
- •7.1 Основы безопасности
- •7.2 Аутентификация пользователей
- •7.3 Атаки изнутри операционной системы
- •7.4 Атаки операционной системы снаружи
- •8 Обзор современных операционных систем
- •8.1 Операционная система Windows 2000
- •8.1.1 Структура Windows 2000
- •8.1.2 Реализация интерфейса Win32
- •8.1.3 Эмуляция ms-dos
- •8.2 Архитектура unix-образных операционных систем
- •8.3 Мультипроцессоры и мультипроцессорные операционные системы
- •8.4 Операционные системы реального времени и мобильные операционные системы
- •8.4.1 Операционная система Windows ce 5.0
- •Список использованных источников
8 Обзор современных операционных систем
8.1 Операционная система Windows 2000
Windows 2000 является очень удачной операционной системой, которая во многих местах используется и по сей день. Начиная с этой версии Windows, были совмещены две технологии, развивавшиеся ранее параллельно, представленные в операционных системах Windows 98 и Windows NT 4.0. С этой версии в Windows, отсутствует режим MS-DOS. После выхода Windows 2000 стало традицией распространять средства для разработчиков Software Development Kit (SDK) и Driver Development Kit (DDK), которые можно найти по адресу msdn.microsoft.com. Windows 2000 представляет собой чрезвычайно сложную систему, состоящую из около 30 млн. строк на C. А дальнейшие ОС: XP, 2003, Vista занимают ещё больший объём.
В Windows 2000 есть свой набор системных вызовов, которые она может выполнять. Однако взамен их использования для программистов корпорация Microsoft предоставляет набор функциональных вызовов Win32 API (Application Programming Interface). Эти вызовы опубликованы и полностью документированы. Они представляют собой библиотечные процедуры, которые либо обращаются к системным вызовам, чтобы выполнить некоторую работу, либо выполняют работу прямо в пространстве пользователя. При этом сохраняется поддержка старых API функций с предыдущих версий операционной системы (Рисунок 62).
Рисунок 62 – Интерфейс Win32 API, Win32s – дополнительная библиотека, преобразующая подмножество 32-разрядных вызовов в 16-разрядные
В отличие от других операционных систем, например UNIX, Win32 API предоставляет всеобъемлющий интерфейс, позволяющий выполнить одно и тоже действие несколькими способами. Так в UNIX все системные вызовы формируют минимальный интерфейс, ни один из них нельзя удалить.
Важным понятием в операционной системе Windows 2000 является реестр – центральная база данных, в которой находится почти вся информация, необходимая для загрузки и конфигурирования системы, настройки её под конкретного пользователя. Хотя реестр является одной из наиболее запутанных частей Windows, его идея очень проста. Он состоит из набора каталогов, каждый из которых содержит либо подкаталоги, либо записи, по своей структуре напоминая файловую систему. Информация разбита по корневым каталогам, называемым ключами. Не вдаваясь в подробности, отметим предназначение корневых ключей. Для просмотра реестра можно пользоваться утилитой regedit.
HKEY_LOCAL_MACHINE – содержит всю информацию о локальной системе: описания аппаратуры, о драйверах, именах пользователей и паролях, политике безопасности, настройки производителей программного обеспечения для своих программ, информацию о загрузке системы.
HKEY_USERS – содержит профили для каждого пользователя.
HKEY_CLASSES_ROOT – содержит настройки для управления объектами COM (Component Object Model – модель компонентных объектов), а также занимается установкой соответствий между расширениями файлов и программами.
HKEY_CURRENT_CONFIG – представляет собой ссылку на подключ, содержащий информацию о текущей конфигурации аппаратного обеспечения.
HKEY_CURRENT_USER – указывает на настройки текущего пользователя.
HKEY_PERFORMANCE_DATA – данный ключ не виден в утилите просмотра regedit. Ключ предоставляет окно в операционную систему. Сама система содержит сотни счетчиков для мониторинга производительности системы. К таким счетчикам можно получить доступ через этот ключ реестра.