Операционные системы

Изучение общей структуры операционной системы семейства Windows NT. Обзор минимальных требований для запуска выпущенных базовых операционных систем для компьютеров. Интерфейс устройств и уровни системных служб. Объекты системы и режимы работы файлов.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 09.09.2013
Размер файла 601,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Политехнический колледж горного университета

Контрольная работа

По теме: Операционные системы

Автор:

Максим Ахмедшин

Windows 2000 - это операционная система семейства Windows NT компании Microsoft, предназначенная для работы на компьютерах с 32-битными процессорами.

Первая бета-версия системы была выпущена 27 сентября 1997 года. Изначально система носила название Windows NT 5.0, поскольку была следующей крупной версией Windows NT после Windows NT 4.0. Однако 27 октября 1998 года она получила собственное название Windows 2000. Финальная версия системы была выпущена для широкой общественности 17 февраля 2000 года.

Windows 2000 выпускалась в четырех вариантах:

- Windows 2000 Professional - базовая операционная система для настольных и мобильных компьютеров, способная поддерживать до двух процессоров;

- Windows 2000 Server - многоцелевая сетевая операционная система, поддерживающая до четырех процессоров. Предназначена для развертывания серверов печати и файлов, Web-серверов и серверов приложений начального уровня в сетях масштаба предприятия;

- Windows 2000 Advanced Server - серверная операционная система, поддерживающая до восьми процессоров. Ориентирована на поддержку критически важных Web- и бизнес-приложений;

- Windows 2000 DataCenter Server - операционная система, предназначенная для сред с наивысшими требованиями к надежности обладает дополнительными возможностями кластеризации и поддерживает до 32 процессоров.

Это наиболее мощная и функционально полная серверная ОС из всех предыдущих систем Microsoft.

Минимальные системные требования для запуска Windows 2000 Professional:

- Pentium-совместимый процессор с частотой 133 MHz или выше;

- 32 MB ОЗУ (рекоменуется 64 MB);

- 700 MB свободного пространства на жестком диске (рекомендуется 2 GB).

Минимальные системные требования для запуска Windows 2000 Server/Advanced Server:

- Pentium-совместимый процессор с частотой 133 MHz или выше;

- 256 MB ОЗУ;

- 2 GB свободного пространства на жестком диске.

12 февраля 2004 г. стало известно об утечке части исходных текстов Windows 2000 в пиринговые сети. Они распространялись в виде zip-архива размером около 200 МБ; полный размер содержимого архива был около 600 МБ, что дало основания полагать, что исходные тексты были вынесены на CD-ROM из некого учреждения, имевшего к ним доступ (к ним относились сама корпорация Microsoft, государственные учреждения, заключившие с ней контракт Government Security Program, а также множество мелких фирм, получивших подряды на работу над отдельными частями Windows).

Как стало известно позднее, эти исходные тексты соответствовали версии Windows 2000 SP1. Они были переданы израильской компании Mainsoft, которая занималась портированием веб-браузера Internet Explorer для UNIX-систем. Адреса электронной почты сотрудников Mainsoft были обнаружены в одном из креш-дампов, содержавшихся в архиве с исходными текстами.

Через несколько дней после утечки Microsoft выпустила обращение, в котором подтверждала соответствие содержимого zip-архива исходным текстам Windows 2000, и обещала применить юридические санкции ко всем, кто будет уличён в распространении этого архива. Несмотря на угрозу, эти исходные тексты быстро разошлись по хакерским сообществам по всему миру. В частности, вскоре после утечки была обнаружена уязвимость в коде обработки BMP-файлов в IE, специалист по компьютерной безопасности, обнаруживший эту уязвимость, подтвердил, что он нашёл её, изучая утёкшие исходные тексты.

Общая структура операционной системы Windows 2000:

Операционная система Windows 2000 представляет собой улучшенную версию Windows NT 4.0 с интерфейсом Windows 98, благодаря которому она осуществляла полную поддержку устройств plug-and-play, шины USB, стандарта IEEE 1394 (FireWire), IrDA (Infrared Data Association - стандарт на инфракрасную передачу данных и вывод на печать, разработанный ассоциацией IrDA), управление питанием. Кроме того, были добавлены новые функции, не присутствовавшие ранее в других операционных системах корпорации Microsoft:

- каталоговая служба Active Directory;

- система безопасности Kerberos;

- поддержка смарт-карт;

- инструменты мониторинга системы;

- лучшая интеграция ноутбуков и настольных компьютеров;

- инфраструктура системного администрирования;

- рабочие объекты;

- интернационализация (при установке системы и даже для каждого пользователя можно выбрать язык, который будет использоваться во время работы системы);

- операционная система MS-DOS заменена на новую 32-разрядную программу, включающую функциональность системы MS-DOS и ряд новых функций;

- добавлена новая функция файловой системы NTFS, при использовании которой два пользователя могут совместно применять один связанный файл; как только один из пользователей начинает запись в этот файл, автоматически создается копия файла.

Несмотря на многочисленные свойства, способствующие переносимости системы с точки зрения программ, аппаратуры, языков и пр., операционная система Windows 2000 обладает меньшей переносимостью, чем Windows NT 4.0. Она работает только на двух платформах: Pentium иIntel IA-642. Изначально операционная система Windows NT поддерживала дополнительные платформы: PowerPC, MIPS и Alpha, но по коммерческим соображениям корпорация Microsoft перестала поддерживать эти процессоры.

Как и предыдущие версии Windows NT, Windows 2000 поставляется в виде нескольких уровней продукта: Professional, Server, Advanced server и Datacenter Server. Однако различия между версиями незначительны, так как в них используется один и тот же исполняемый двоичный код. При установке системы тип продукта записывается во внутренней базе данных (системном реестре). Во время загрузки операционная система проверяет содержимое реестра, определяя версию программного продукта. Формально различием в версиях управляют в нескольких местах программы всего две переменные, считываемые из реестра: ProductType и ProductSuite. В зависимости от их значений выполняется слегка отличный код. Изменение значений этих переменных рассматривается как нарушение лицензии. Кроме того, система перехватывает любые попытки изменить их и регистрирует эти попытки нестираемым способом, так что впоследствии можно доказать факт нарушения лицензии.

Кроме основной операционной системы, корпорация Microsoft также разработала несколько инструментальных программ для продвинутых пользователей: Support Tools, Software Development Kit, Driver Development Kit и Resource Kit.

Это большие наборы утилит для отладки и мониторинга системы. Инструментарий поддержки распространяется на компакт-диске Windows 2000 в каталоге \support\tools. Файлы не устанавливаются стандартной процедурой, но их можно ввести специальной программой setup.exe, расположенной в этом же каталоге.

Операционная система 2000 состоит из двух основных частей: модуля операционной системы, работающей в режиме ядра, и подсистем окружения, работающих в режиме пользователя. Подсистемы окружения представляют собой отдельные подпрограммы, помогающие пользователю выполнять определенные функции. Одно из многих усовершенствований операционной системы Windows NT заключалось в ее модульной структуре - относительно небольшого ядра, работавшего в привилегированном режиме, и нескольких серверных процессов, работавших в режиме пользователя. Процессы пользователя взаимодействовали с серверными процессами с помощью модели «клиент-сервер»: клиент посылал серверу сообщение, а сервер выполнял определенную работу и возвращал клиенту результат в ответном сообщении. Такая модульная структура упрощала перенос системы на другие платформы.

В результате операционная система Windows NT была успешно перенесена на платформы с процессорами, отличными от процессоровIntel: Alpha корпорации DEC, Power PC корпорации IBM и MIPS фирмы SGI. Кроме того, такая структура защищала ядро от ошибок в коде серверов. Однако для увеличения производительности, начиная с версии Windows NT 4.0, большая часть операционной системы (например, управление системными вызовами и вся экранная графика) была возвращена в ядро. Такая схема сохранилась и в Windows 2000.

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

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

Два нижних уровня программного обеспечения - уровень аппаратных абстракций (HAL, Hardware Abstraction Layer) и ядро - написаны на языке С и Ассемблере и являются частично машинно-зависимыми. Верхние уровни написаны только на языке С и полностью машинно-независимы. Драйверы написаны на языке С или C++.

Или к примеру вот такая вот схема:

Уровень HAL. Одна из целей создания Windows 2000 и Windows NT заключалась в возможности переносить систему на другие платформы. Теоретически на новой машине для запуска операционной системы достаточно перекомпилировать операционную систему новым компилятором для данной машины. Можно добиться полной переносимости верхних уровней операционной системы, так как в основном они имеют дело с внутренними структурами данных. Нижние же уровни работают с регистрами устройств, прерываниями, контроллером прямого доступа к памяти и другими аппаратными устройствами, которые могут сильно отличаться на разных машинах. Хотя большая часть кода нижнего уровня написана на языке С, его нельзя просто перенести с процессора одного типа на процессор другого типа, перекомпилировать и перезагрузить из-за большого количества мелких различий между разными типами процессоров.

Корпорация Microsoft решила скрыть многие из аппаратных различий в тонком уровне аппаратных абстракций (HAL, Hardware Abstraction Layer). Работа уровня заключается в том, чтобы предоставлять остальной системе абстрактные аппаратные устройства, свободные от индивидуальных отличительных особенностей аппаратного обеспечения. Эти устройства представляются в виде машинно-независимых служб (процедурных вызовов и макросов), которые могут использоваться остальной операционной системой и драйверами. Поскольку драйверы и ядро пользуются службами HAL и не обращаются напрямую к устройствам, требуется значительно меньше изменений для их переноса на другую платформу. Перенос уровня HAL достаточно прост, так как весь машинно-зависимый код сконцентрирован в одном месте. В уровень HAL включены службы, которые зависят от набора микросхем материнской платы и меняются от машины к машине в разумных предсказуемых пределах:

- доступ к регистрам устройств;

- адресация к устройствам, независящим от шины;

- обработка прерываний и возврат из прерываний;

- операции DMA (Direct Memory Access - прямой доступ к памяти);

- управление таймерами и часами реального времени, что обеспечивает переносимость работающих с ним программ (время хранится в интервалах по 100 нс, начиная с 1 января 1601 г.);

- синхронизация многопроцессорных конфигураций на очень низком уровне для избежание конфликтов на многопроцессорных системах;

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

- интерфейс с BIOS и доступ к CMOS-памяти (после загрузки операционной системы уровень HAL общается с BIOS и инспектирует память конфигурации CMOS, если она используется для определения и настройки шин и устройств ввода-вывода, содержащихся в системе).

Уровень HAL не предоставляет абстракций или служб для специфических устройств ввода-вывода (клавиатур, мышей, дисков), а также блоков управления памятью. Так как уровень HAL является машинно-зависимым, он должен соответствовать системе, на которую установлен, поэтому набор различных уровней поставляется на установочном компакт-диске Windows 2000. Во время установки системы выбирается подходящий уровень и копируется на жесткий диск в системный каталог \winnt\system32\ в виде файла hal.dll. Хотя эффективность уровня высока, для мультимедийных приложений корпорация Microsoft дополнительно поставляет пакет программного обеспечения DirectX, расширяющий функциональность уровня HAL дополнительными процедурами и предоставляющий пользовательским процессам прямой доступ к аппаратному обеспечению.

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

Назначение ядра заключается в том, чтобы сделать остальную часть операционной системы независимой от аппаратуры и легко переносимой на другие платформы. Ядро получает доступ к аппаратуре через уровень HAL. Оно построено на низкоуровневых службах уровня HAL, формируя из них абстракции более высоких уровней. Например, уровень HAL содержит вызовы для связывания процедур обработки прерываний с прерываниями и установки их приоритетов, а ядро предоставляет полный механизм для переключения контекста: сохраняет все регистры центрального процессора, изменяет таблицы страниц, сохраняет кэш центрального процессора и т. д. Когда все действия выполнены, работавший ранее поток оказывается полностью сохраненным в таблицах, расположенных в памяти. Затем ядро настраивает карту памяти нового потока и загружает его регистры, после чего новый поток готов к работе.

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

Третья ключевая функция ядра заключается в предоставлении низкоуровневой поддержки двум классам объектов - управляющим объектам и объектам диспетчеризации, которые представляют собой внутренние объекты, на основе которых исполняющая система строит объекты пользователя. Управляющие объекты - это объекты, управляющие системой, включая примитивные объекты процессов, объекты прерываний, объект DPC (Deferred Procedure Call), отложенный вызов процедуры, объект АРС (Asynchronous Procedure Call), асинхронный вызов процедуры.

Объект DPC используется, чтобы отделить часть процедуры обработки прерываний, для которой время является критичным, от той ее части, для которой время некритично. Как правило, процедура обработки прерываний сохраняет несколько аппаратных регистров, связанных с прерывающим устройством ввода-вывода, чтобы их можно было восстановить, и разрешает аппаратуре продолжать работу. Очередь DPC представляет собой механизм напоминания о том, что есть работа, которую следует выполнить позднее. Объект АРС отличается тем, что асинхронный вызов процедуры выполняется в контексте определенного процесса. К объектам диспетчеризации относятся: семафоры, мьютексы, события, таймеры и другие объекты, изменение состояния которых могут ждать потоки. Эти объекты напрямую связаны с планированием потоков, поэтому частично обрабатываются ядром.

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

Исполняющая система состоит из 10 компонентов, каждый из которых представляет собой набор процедур, работающих вместе для выполнения некоторой задачи:

- Менеджер объектов управляет всеми объектами операционной системы: процессами, потоками, файлами, каталогами, семафорами устройствами ввода-вывода, таймерами и др. Кроме того, управляет пространством имен, в которое помещается созданный объект, чтобы впоследствии к нему можно было обратиться по имени. При создании объекта менеджер объектов получает в адресном пространстве ядра блок виртуальной памяти и возвращает этот блок в список свободных блоков, когда объект уничтожается;

- Менеджер ввода-вывода формирует каркас для управления устройствами ввода-вывода и предоставляет общие службы ввода-вывода. Он предоставляет остальной части системы независимый от устройств ввод-вывод, вызывая для выполнения физического ввода-вывода соответствующий драйвер. Файловые системы формально являются драйверами устройств под управлением менеджера ввода-вывода;

- Менеджер процессов управляет процессами и потоками, включая их создание и завершение, он является ключевым элементом многозадачности. Менеджер процессов основывается на объектах потоков и процессов ядра и добавляет к ним дополнительные функции;

- Менеджер памяти реализует архитектуру виртуальной памяти со страничной подкачкой по требованию операционной системы; управляет преобразованием виртуальных страниц в физические страничные блоки; реализует правила защиты, ограничивающие доступ каждого процесса только к своему адресному пространству, контролирует системные вызовы, относящиеся к виртуальной памяти;

- Менеджер безопасности приводит в исполнение механизм безопасности, удовлетворяющий требованиям класса С2 Оранжевой книги Министерства обороны США;

- Менеджер кэша хранит в памяти блоки диска, которые использовались в последнее время, чтобы ускорить доступ к ним в случае, если они понадобятся вновь. Количество памяти, выделенной для кэша, динамически изменяется и может увеличиваться или уменьшаться при необходимости. Менеджер кэша будет описан в разделе «Кэширование в Windows 2000»;

- Менеджер plug-and-play получает все уведомления об установленных новых устройствах. Некоторые устройства проверяются при загрузке системы, другие - могут подключаться в любое время. При подключении запускается пересылка сообщения менеджеру plug-and-play, который находит и загружает соответствующий драйвер;

- Менеджер энергопотребления управляет потреблением электроэнергии: отключает монитор и диски, если к ним не было обращений в течение определенного интервала времени; следит за состоянием батарей на переносных компьютерах и сообщает работающим программам об их состоянии;

- Менеджер конфигурации отвечает за состояние реестра. Он добавляет новые записи и ищет запрашиваемые ключи;

- Менеджер вызова локальной процедуры обеспечивает высокоэффективное взаимодействие между процессами и их подсистемами.

Интерфейс графических устройств. Исполняющий модуль Win32 GDI (Graphic Device Interface) изначально располагался в пространстве пользователя, но в версии Windows NT 4.0 был перенесен в пространство ядра для увеличения производительности. Win32 GDI управляет графическими изображениями для монитора и принтеров. Он содержит оконный менеджер и драйвер дисплея и предоставляет системные вызовы, позволяющие пользовательским программам выводить данные на монитор и принтеры независящим от устройств способом.

Уровень системных служб. Уровень располагается над исполняющей системой. Его функция заключается в предоставлении интерфейса к исполняющей системе - приеме системных вызовов Windows 2000 и вызове других частей исполняющей системы для их выполнения.

При загрузке операционная система Windows 2000 загружается в память как набор файлов.

Основная часть операционной системы, состоящая из ядра и исполняющей системы, хранится в файле ntoskml.exe. Уровень HAL представляет собой библиотеку общего доступа, расположенную в отдельном файле hal.dll. Интерфейс Win32 и интерфейс графических устройств хранятся вместе в файле win32k.sys. После загрузки ядра операционной системы и исполняющих модулей загружаются драйверы устройств, большинство из которых имеет расширение sys.

Драйверы устройств. Каждый драйвер может управлять одним или несколькими устройствами ввода-вывода, шифровать поток данных или предоставлять доступ к структурам данных ядра. При установке драйвера в систему он добавляется в реестр и затем динамически загружается при каждой загрузке системы. Существуют драйверы для физических устройств ввода-вывода (диски, принтеры) и для внутренних устройств и микросхем, кроме того, файловые системы также представлены в виде драйверов устройств.

Объекты Windows 2000 представляют собой однородный и непротиворечивый интерфейс ко всем системным ресурсам и структурам данных: процессам, потокам, семафорам и т. д. Доступ к объектам предоставляется при помощи дескрипторов объектов и осуществляется через менеджера объектов. Поэтому все проверки, связанные с защитой, могут быть размещены в одном месте, с гарантией, что ни один процесс не сможет обойти их. Исполняемый объект представляет собой набор последовательных слов (структуру данных) в памяти (в виртуальном адресном пространстве ядра). Файл на диске не является объектом, хотя для файла при его открытии создается объект - структура данных в виртуальном адресном пространстве ядра. При перезагрузке (или сбое) системы объекты теряются. Когда операционная система загружается, объектов нет, кроме бездействующих системных процессов, чьи объекты жестко прошиты в файле ntoskml.exe. Все остальные объекты создаются при загрузке системы, во время работы различных программ инициализации и пользовательских программ.

Каждый объект содержит заголовок с определенной информацией, общей для объектов всех типов. Поля заголовка включают:

- имя объекта;

- каталог, в котором объект «живет» в пространстве других объектов;

- информацию защиты (при открытии объекта выполняется определенная проверка);

- список процессов, у которых есть открытые дескрипторы к данному объекту (если установлен определенный флаг отладки).

Каждый заголовок объекта содержит поле цены квоты, представляющей собой плату, взимаемую с процесса за открытие объекта. Если файловый объект стоит один пункт, а процесс принадлежит к заданию, у которого есть 10 пунктов квоты, то суммарно все процессы этого задания могут открыть не более 10 файлов. Таким образом, для объектов каждого типа могут реализовываться ограничения на ресурсы.

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

Часто элементам исполняющей системы бывает нужно динамически получать на время участки памяти. Для этого исполняющая система содержит два пула в адресном пространстве ядра: для объектов и динамических структур данных. Один пул является выгружаемым, другой - невыгружаемым (фиксированным в памяти). Объекты, к которым обращения частые, хранятся в невыгружаемом пуле. Объекты, к которым обращения редкие (например, ключи реестра; информация, относящаяся к безопасности) хранятся в выгружаемом пуле. Когда памяти не хватает, этот пул может быть выгружен на диск и загружен обратно по страничному прерыванию. Объекты, которые могут понадобиться при выполнении критического участка программы, когда подкачка не разрешается, должны храниться в невыгружаемом пуле. Когда требуется небольшое количество памяти, страница может быть получена из любого пула, а затем разбита на мелкие участки размером от 8 байт.

Объекты подразделяются на типы. Тип объекта определяется указателем на объект типа:

Информация о типе объекта включает: название типа; данные о том, может ли поток ждать изменения состояния этого объекта; должен ли объект этого типа храниться в выгружаемом или невыгружаемом пуле. Самой важной частью объекта являются указатели на программы для определенных стандартных операций (open, close, delete). Когда вызывается одна из этих операций, используется указатель на типовой объект, в котором выбирается и выполняется соответствующая процедура. Такой механизм предоставляет системе возможность инициализировать новые объекты и освобождать память при их удалении.

Компоненты исполняющей системы могут динамически создавать новые типы объектов, поэтому фиксированного списка типов объектов не существует.

Для каждого процесса и потока существует один объект, в котором хранятся основные свойства, необходимые для управления этим процессом или потоком. Семафор, мьютекс и событие имеют отношение к синхронизации процессов, порт, таймер и очередь - к связи и синхронизации. События могут быть в одном из двух состояний: сигнализирующем и не сигнализирующем. Если поток ждет события, находящегося в сигнализирующем состоянии, он немедленно получает управление, в ином случае поток блокируется до тех пор, пока какой-либо другой поток не переведет это событие в сигнализирующее состояние. Порты представляют собой каналы между процессами, используемые для обмена сообщениями. Таймеры предоставляют способ блокировать процесс или поток на определенный срок. Очереди применяются для уведомления потоков о завершении асинхронной операции ввода-вывода.

Таблица - Общие типы объектов исполняющей системы:

Тип объекта

Описание типа объекта

Процесс

Процесс пользователя

Поток

Поток внутри процесса

Семафор

Семафор со счетчиком, используемый для синхронизации процессов

Мьютекс

Двоичный семафор, используемый для входа в критическую область

Событие

Объект синхронизации с перманентным состоянием (сигнализирующий/нет)

Порт

Механизм для передачи сообщений между процессами

Таймер

Объект, позволяющий потоку «спать» в течение фиксированного интервала времени

Очередь

Объект, используемый для уведомления о завершении асинхронного ввода-вывода

Открытый файл

Объект, ассоциированный с открытым файлом

Маркер доступа

Описатель защиты для некоторого объекта

Профиль

Структура данных, применяемая для анализа использования центрального процессора

Секция

Структура, используемая для отображения файлов на виртуальное адресное пространство

Ключ

Ключ реестра

Каталог объектов

Каталог для группирования объектов в менеджере объектов

Символьная ссылка

Указатель на другой объект по имени

Устройство

Объект устройства ввода-вывода

Драйвер устройства

У каждого загруженного драйвера устройства есть свой объект

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

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

Пользователи могут создавать новые объекты или открывать существующие при помощи вызовов Win32: CreateSemaphore и OpenSemaphore, которые являются библиотечными процедурами и в конечном итоге обращаются к настоящим системным вызовам. При успешном выполнении первый вызов создает, а второй открывает объект, организовывая в результате 64-разрядную запись в таблице дескрипторов, хранящуюся в таблице дескрипторов процесса в памяти ядра. Пользователю для последующей работы возвращается 32-разрядный индекс, указывающий положение дескриптора в таблице, 64-разрядный элемент таблицы дескрипторов в ядре включает два 32-разрядных слова. Одно слово содержит 29-разрядный указатель на заголовок объекта. Младшие три разряда используются как флаги (например, указывающие, наследуется ли дескриптор дочерним процессом). Когда указатель используется, эти разряды маскируются. Второе слово содержит 32-разрядную маску прав доступа. Она нужна, потому что проверка разрешений выполняется только в то время, когда объект создается или открывается. Если у процесса есть только разрешение для чтения объекта, тогда все остальные биты маски будут нулями, что дает системе возможность отвергать любую операцию, кроме операции чтения.

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

Поскольку объекты исполняющей системы являются временными (исчезают при выключении компьютера), в начале загрузки системы пространство имен объектов пусто. Во время загрузки различные части исполняющей системы создают каталоги и заполняют их объектами. Например, когда менеджер plug-and-play обнаруживает новые устройства, он создает по объекту для каждого устройства и помещает эти объекты в пространство имен. При загрузке каждого драйвера также создается объект, а его имя добавляется в пространство имен объектов. Обращение к драйверу осуществляется по указателю на его объект. Одним из инструментов просмотра имен объектов является программа winobj. При запуске она отображает пространство имен объектов, как правило, содержащее каталоги объектов.

Операционная система Windows 2000 состоит из компонентов, работающих в режиме ядра, и компонентов, работающих в режиме пользователя: динамических библиотек DLL, подсистемы окружения и служебных процессов. Эти компоненты работают вместе, предоставляя каждому пользовательскому процессу интерфейс, отличный от интерфейса системных вызовов Windows 2000. Операционной системой Windows 2000 поддерживаются три различных документированных интерфейса прикладного программирования API: Win32, POSIX и OS/2. У каждого из них имеется список библиотечных вызовов. Работа библиотек DLL (Dynamic Link Library, динамически подключаемая библиотека) и подсистем окружения заключается в том, чтобы реализовать функциональные возможности интерфейса и скрыть истинный интерфейс системных вызовов от прикладных программ.

Таблица - Типичные каталоги пространства имен объектов:

Имя каталога

Содержание каталога

Начальное место для поиска устройств MS-DOS, например, С:

Device

Все обнаруженные устройства ввода-вывода

Driver

Объекты, соответствующие каждому загруженному драйверу устройства

ObjectTypes

Объекты типов

Windows

Объекты для отправки сообщений всем окнам

BaseNamedObjs

Объекты, создаваемые пользователем, такие как семафоры, мьютексы и др.

Arcname

Имена разделов, обнаруженные загрузчиком

NLS

Объекты языковой поддержки

FileSystem

Объекты драйверов файловой системы и объекты распознавателя файловой системы

Security

Объекты системы безопасности

KnownDLLs

Совместно используемые библиотеки, находящиеся в открытом состоянии

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

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

Для реализации интерфейса Win32 в каталоге \winnt\system32 содержится более 800 отдельных файлов DLL общим объемом в 130 Мб. Количество содержащихся в них вызовов API превышает 13000. Некоторые наиболее важные файлы динамических библиотек перечислены. Для каждого файла приведено количество экспортируемых функций (видимых за пределами файла), этот параметр со временем изменяется.

1209 вызовов, экспортируемых из файла ntoskrnl.exe, являются функциями, доступными для драйверов устройств и других программ, связанных с ядром. Список экспортируемых функций в любом файле ехе или dll можно просмотреть программой depends входящей в пакет Platform SDK(Software Development Kit).

Таблица - Ключевые файлы Windows 2000 и их режим работы:

Файл

Режим работы

Количество функций

Содержание

hal.dll

Режим ядра

95

Низкоуровневое управление аппаратурой, например, портами ввода-вывода

ntoskrnl.exe

Режим ядра

1209

Операционная система Windows 2000 (ядро + +исполняющая система)

win32k.sys

Режим ядра

-

Множество системных вызовов, включая большую часть графики

ntdll.dll

Режим ядра

1179

Диспетчер перехода из режима пользователя в режим ядра

csrss.exe

Режим пользователя

0

Процесс подсистемы окружения Win32

kernel32.dll

Режим пользователя

823

Большая часть системных вызовов ядра(неграфических)

gdi32.dll

Режим пользователя

543

Шрифт, текст, цвет, кисть, перо, палитра, растровые изображения, рисование и т. д.

user32.dll

Режим пользователя

695

Окна, значки, меню, курсоры, диалоговые окна, буфер обмена и т. д.

advapi32.dll

Режим пользователя

557

Защита, шифрование, реестр

Размещено на Allbest.ru

...

Подобные документы

  • Основные понятия об операционных системах. Виды современных операционных систем. История развития операционных систем семейства Windows. Характеристики операционных систем семейства Windows. Новые функциональные возможности операционной системы Windows 7.

    курсовая работа [60,1 K], добавлен 18.02.2012

  • Основные классификации операционных систем. Операционные системы семейства OS/2, UNIX, Linux и Windows. Разграничение прав доступа и многопользовательский режим работы. Пользовательский интерфейс и сетевые операции. Управление оперативной памятью.

    реферат [22,8 K], добавлен 11.05.2011

  • Использование операционных систем Microsoft Windows. Разработка операционной системы Windows 1.0. Возможности и характеристика последующих версий. Выпуск пользовательских операционных систем компании, доработки и нововведения, версии Windows XP и Vista.

    реферат [23,3 K], добавлен 10.01.2012

  • Сущность и принцип работы операционной системы, правила и преимущества ее использования. Возможности различных операционных систем, их сильные и слабые стороны. Сравнительная характеристика систем Unix и Windows NT, их потенциал и выполняемые задачи.

    реферат [10,5 K], добавлен 09.10.2009

  • Графические интерфейсы и расширения для DOS. История развития операционной системы Microsoft Windows. Новшества ее современных версий: пользовательский интерфейс, языковая интеграция, системы защиты. Хронология развития и архитектура системы GNU/Linux.

    реферат [38,9 K], добавлен 25.10.2010

  • Изучение процесса создания новой версии Windows Vista. Исследование особенностей установки и интерфейса операционной системы. Характеристика требований к аппаратному обеспечению компьютера. Анализ основных средств навигации и работы в Windows Vista.

    реферат [33,6 K], добавлен 25.11.2014

  • Виды операционных систем. Графический пользовательский интерфейс операционной системы Linux и Mac OS. Функции устройства управления окнами (windows manager). Программа управления файлами, драйвера, модуль управления памятью - основные компоненты ядра.

    презентация [1,8 M], добавлен 14.10.2013

  • Изучение общих понятий операционной системы Android, разработанной для коммуникаторов, планшетных компьютеров, основанной на ядре Linux. Разработка программного обеспечения Android. Преимущества и недостатки мобильной операционной системы Windows Mobile.

    реферат [60,6 K], добавлен 16.04.2012

  • Важность операционной системы для мобильных устройств. Популярность операционных систем. Доля LINUX на рынке операционных систем. История OS Symbian, BlackBerry OS, Palm OS. Отличия смартфона от обычного мобильного телефона. Учет ограничений по памяти.

    презентация [477,3 K], добавлен 01.12.2015

  • "MS Word" - основа любого офиса. Многофункциональный текстовый процессор. Обзор операционных систем. Операционные системы семейства Windows. Обзор инструментальных средств проектирования программы. Среда программирования. Проектирование системы.

    дипломная работа [1,8 M], добавлен 07.02.2009

  • Прикладные программы и утилиты. Простейшие функции операционной системы. История разработки корпорацией Microsoft Corporation графической операционной оболочки Windows. Версия семейства сетевых ОС Windows NT (Millennium Edition, 2000, XP, Vista, Seven)

    презентация [965,2 K], добавлен 12.10.2013

  • Прорыв на рынок Windows как графической оболочки MS-DOS. Рассмотрение интерфейса, функций, системных требований и отличительных особенностей поколений операционных систем Windows: 9x, NT, NET, Vista. Анализ мобильности и безопасности последней версии ОС.

    реферат [1,4 M], добавлен 16.01.2010

  • Особые режимы работы операционной системы Microsoft Windows. Характеристика стандартного и диагностического режимов. Безопасный режим и его основные виды. Дополнительные варианты загрузки MS Windows. Режимы работы с пониженным энергопотреблением.

    реферат [626,5 K], добавлен 17.06.2012

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

    курсовая работа [54,3 K], добавлен 10.01.2012

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

    курсовая работа [46,8 K], добавлен 18.06.2009

  • Основные моменты истории операционных систем, связывающих аппаратное обеспечение и прикладные программы. Характеристика операционной системы Microsoft Windows Seven, анализ операционной системы Linux. Преимущества и недостатки каждой операционной системы.

    курсовая работа [63,0 K], добавлен 07.05.2011

  • Windows XP - универсальная операционная система семейства Windows NT, ее модификации. Средства, включенные в состав ОС как стандартные компоненты. Системные требования ОС к аппаратным ресурсам. Графический интерфейс пользователя и командной строки.

    контрольная работа [22,2 K], добавлен 19.12.2011

  • Первая версия Windows, постепенный рост системных требований. Важное отличие Windows 98 от Windows 95. История эволюции персональных компьютеров Apple Macintosh. Операционная система Linux, ее характерные черты и особенности, графические интерфейсы.

    реферат [1,5 M], добавлен 15.01.2015

  • Изучение технических возможностей операционной системы Windows XP – ОС семейства Windows NT корпорации Microsoft. Особенности интегрированного программного обеспечения. Дополнительные аплеты в панели управления Windows. Графический интерфейс пользователя.

    презентация [7,4 M], добавлен 23.05.2010

  • Разграничение прав пользователя в операционной системе. Предварительная настройка операционной системы с последующей установкой драйверов для периферийных устройств и системных комплектующих. Классификация операционных систем и периферийных устройств.

    реферат [2,1 M], добавлен 26.10.2022

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.