Автор работы: Пользователь скрыл имя, 08 Февраля 2013 в 20:48, курсовая работа
Windows XP (кодовое название при разработке – Whistler; внутренняя версия – Windows NT 5.1) – операционная система (ОС) семейства Windows NT корпорации Microsoft. Она была выпущена 25 октября 2001 года и является развитием Windows 2000 Professional. Название XP происходит от англ. eXPerience (опыт).
В отличие от предыдущей системы Windows 2000, которая поставлялась как в серверном, так и в клиентском вариантах, Windows XP является исключительно клиентской системой. Её серверным аналогом являетсяWindows Server 2003.
Введение 4
Общая структура операционной системы Windows XP 6
Ядро 15
Процессы 22
Потоки 26
Уровни приоритета 29
Выводы 32
Часть 2. Задача о спящем парикмахере 34
Список использованной литературы 38
Содержание
Введение
Windows XP (кодовое название при разработке – Whistler; внутренняя версия – Windows NT 5.1) – операционная система (ОС) семейства Windows NT корпорации Microsoft. Она была выпущена 25 октября 2001 года и является развитием Windows 2000 Professional. Название XP происходит от англ. eXPerience (опыт).
В отличие от предыдущей системы Windows 2000, которая поставлялась как в серверном, так и в клиентском вариантах, Windows XP является исключительно клиентской системой. Её серверным аналогом являетсяWindows Server 2003.
Операционные системы этого семейства в настоящее время работают на процессорах с архитектурами x86, x64, и Itanium,ARM. Ранние версии (до 4.0 включительно) также поддерживали некоторые RISC-процессоры: Alpha, MIPS, и Power PC. Все операционные системы этого семейства являются полностью 32- или 64-битными операционными системами, и не нуждаются в MS-DOS даже для загрузки.
Только в этом семействе представлены операционные системы для серверов. До версии Windows 2000 включительно они выпускались под тем же названием, что и аналогичная версия для рабочих станций, но с добавлением суффикса, например, «Windows NT 4.0 Server» и «Windows 2000 Datacenter Server». Начиная с Windows Server 2003 серверные операционные системы называются по-другому.
В основу семейства Windows NT положено разделение адресных пространств между процессами. Каждый процесс имеет возможность работать с выделенной ему памятью. Однако он не имеет прав для записи в память других процессов, драйверов и системного кода.
Семейство Windows NT относится к операционным системам с вытесняющей многозадачностью. Разделение процессорного времени между потоками происходит по принципу «карусели». Ядро операционной системы выделяет квант времени (в Windows 2000 квант равен примерно 20 мс) каждому из потоков по очереди при условии, что все потоки имеют одинаковый приоритет. Поток может отказаться от выделенного ему кванта времени. В этом случае система перехватывает у него управление (даже если выделенный квант времени не закончен) и передаёт управление другому потоку. При передаче управления другому потоку система сохраняет состояние всех регистров процессора в особой структуре в оперативной памяти. Эта структура называется контекстом потока. Сохранение контекста потока достаточно для последующего возобновления его работы.
В курсовой рассмотрим структуру ОС Windows XP, основные принципы функционирования ядра, какие бывают процессы и потоки, как возникают, как назначаются прироритеты.
Общая структура операционной системы Windows XP
Windows XP имеет модульную структуру рисунке 1, в которой код операционной системы и драйверы выполняются в привилегированном режиме процессора (режиме ядра), обеспечивающем полный доступ ко всей аппаратной части компьютера, а пользовательские приложения выполняются в непривилегированном режиме процессора – пользовательском режиме без прямого доступа к оборудованию компьютера. В режиме ядра работают следующие компоненты.
1. Уровень абстрагирования от оборудования (Hardware Abstraction Layer, HAL). Его задачей является отделение операционной системы от особенностей конкретных реализаций в аппаратном обеспечении компьютера, т. е. от различий в материнских платах, в модификациях процессоров, в наборах микросхем и др. Благодаря этому уровню управление подсистемами прерываний, прямого доступа к памяти, системными шинами и таймерами для ядра операционной системы является одинаковым. Уровень HAL реализован в системном файле Hal.dll.
Рисунок 1. Упрощенная структура Windows XP
2. Ядро операционной системы. Ядро содержит наиболее часто вызываемые низкоуровневые функции операционной системы: планирование и распределение ресурсов между процессами, их переключение и синхронизацию. В обязанности ядра входит также управление прерываниями и обработка ошибочных ситуаций при функционировании операционной системы. Код ядра Windows XP не разделяется на потоки, а находится только в оперативной памяти и не может быть выгружен на диск. Код ядра Windows XP находится в системном файле Ntoskrnl. exe.
3. Драйверы устройств. Драйверы представляют собой подпрограммы, транслирующие вызовы, поступившие от пользовательских программ в запросы обработки данных для конкретных устройств. Значительное число драйверов входит в состав Windows XP (они располагаются в подкаталоге Isystem32l drivers системного каталога и имеют тип файла *.sys, например, драйвер дисковой подсистемы находится в файле disk.sys), а для нестандартных периферийных устройств драйверы находятся в комплектах поставки.
4. Исполняющая подсистема (NT Executive). Модуль NT Executive состоит из микроядра и подсистем диспетчеризации управления программами с доступом к виртуальной памяти, окнам и графической подсистеме. Виртуальная память предоставляет пользовательским программам виртуальные адреса адресного пространства процессов и соответствующие физические страницы оперативной памяти компьютера. Графическая подсистема предназначена для создания оконного интерфейса, рисования элементов управления, расположенных в окнах. К исполняющей подсистеме относятся системные файлы Ntkrnlpa.exe, Kernel32.dll, Advapi32.dll, User32.dll, Gdi32.dll.
Операционная система Windows XP в значительной мере использует возможности процессоров, совместимых с семейством Intel x86. В их аппаратной архитектуре предусматривается четыре уровня привилегий выполнения кода программ от 0-го наивысшего привилегированного до 4-го пользовательского режима с ограниченным набором команд процессора. Программы режима ядра операционной системыWindows XP функционируют в нулевом, защищенном и привилегированном режиме, а остальные пользовательские программы работают в менее привилегированных режимах, находясь под контролем программ режима ядра.
Недоступные в пользовательском режиме операции и приложения обращаются к системным вызовам ядра операционной системы Win32 API. В состав API входит более 250 функций, обращение к которым осуществляется при помощи системных вызовов, основанных на подпрограммах ядра операционной системы. Все вызовы Win32 API обслуживаются как системными службами NT, так и модулем NT Executive – исполняющей системы Windows XP. Модуль NT Executive представляет собой несколько программных потоков, которые выполняются в режиме ядра. Код практически всех подсистем этого модуля находится в файле ntoskrnl.exe (кроме подсистемы Win32, код которой расположен в файле win32k.sys) и уровне абстрагирования от оборудования HAL, который содержится в файле hal.dll. В модуле NT Executiveсосредоточены все самые важные части операционной системы.
Микроядро отвечает за выделение памяти для приложений и распределение процессорного времени, т. е. за реализацию многозадачности. Для этого в состав микроядра входит планировщик потоков (threads scheduler), который назначает каждому из потоков один из 32 уровней приоритета. Уровень 0 зарезервирован для системы. Уровни от 1-го до 15-го назначаются исполняемым программам, а уровни от 16-го до 31-го могут назначаться только администраторами. Планировщик делит все процессорное время на кванты фиксированного размера. При этом каждый программный поток выполняется только в течение отведенного ему времени, и если по окончании кванта он не освобождает процессор, планировщик в принудительном порядке приостанавливает этот поток и меняет программное окружение процесса, настраивая его на выполнение другого потока, обладающего тем же приоритетом. Микроядро также осуществляет всю работу, связанную с обработкой программных и аппаратных прерываний.
5. Диспетчеризация управления программами. Модуль состоит из следующего набора системных программ:
взаимодействует с объектом, совершая в его отношении различные операции. Монитор системы безопасности следит при этом за тем, чтобы с объектом выполнялись только разрешенные действия;
Процесс функционирования Windows XP условно подразделяется на три фазы: процесс начальной нагрузки, штатный режим работы и завершение работы. Для загрузки Windows XP используется следующий минимальный набор файлов:
Процесс загрузки компьютера начинается с процедуры начального тестирования оборудования (POST – Power-On Self Test). Код, выполняющий POST, зашит в базовой системе ввода-вывода (BIOS) каждого компьютера, при включении питания ему передается управление. Если в процессе тестирования обнаруживаются какие-либо ошибки, то BIOS генерирует коды ошибок (POSTcodes), которые отличаются для BIOSразных производителей, и звуковые коды. Если процедура POST завершается успешно, то BIOS передает управление главной загрузочной записи (MBR – Master Boot Record) и первая «аппаратная» стадия загрузки компьютера, когда процесс зависит только от аппаратуры компьютера, завершается.
Далее загрузочная запись, оперируя данными о разбиении жесткого диска на логические тома, передает управление исполняемому коду, загрузчику Ntldr, расположенному в загрузочном секторе. Загрузчик переходит в защищенный режим и производит необходимые для успешного функционирования манипуляции с памятью, кроме этого, Ntldr имеет модули, позволяющие работать с файловой системой и некоторыми другими базовыми ресурсами системы. Все другие действия выполняются с помощью вызова прерываний BIOS.
Если в файле boot.ini зарегистрировано более одной операционной системы, то после первичной инициализации загрузчик предоставляет пользователю возможность выбора путем вывода Ntldr приглашения о выборе операционной системы. Если выбрана операционная система Windows XP, загрузчик запускает файл Ntdetect. сот. Этот компонент считывает из CMOS-памяти системную дату и время, после чего производит поиск и распознавание аппаратных средств, подключенных в данный момент к компьютеру. Завершив работу, Ntdetect возвращает управление и собранную им информацию обратно в Ntldr. Далее загружается и инициализируется ядро операционной системы Ntoskrnl.exe и уровень абстрагирования от оборудования Hal.dll. При инициализации ядро производит ряд действий в определенной последовательности: