Архитектурата на операционната система Windows XP - Студопедия
Лаборатория 4 - Архитектура на операционната система
Теоретична част от лабораторната работа 4
Архитектура на операционната система Windows XP
Обвивката на Windows XPима модулна структура (фиг. 4.1), в която кодът на операционната система и драйверите работят в режим на привилегирован процесор (режим на ядрото), който осигурява пълен достъп до целия компютърен хардуер, а потребителските приложения работят в режим на непривилегирован процесор - потребителски режим без директен достъп до компютърния хардуер. Следните компоненти работят в режим на ядрото.
![]() |
1.Слой хардуерна абстракция, HAL. Неговата задача е да отдели операционната система от характеристиките на специфични реализации в компютърния хардуер, т.е. от разликите в дънните платки, модификациите на процесора, чипсетите и т.н. Поради това ниво управлението на подсистемите за прекъсване, директния достъп до паметта, системните шини, таймерите за ядрото на операционната система е същото. НивоHALе внедрено в системния файлHal.dll.
2.Ядрото на операционната система. Ядрото съдържа най-често наричаните функции на ниско ниво на операционната система: планиране и разпределение на ресурси между процесите, тяхното превключване и синхронизиране. Отговорностите на ядрото също включват управление на прекъсванията и обработка на грешки по време на работа на операционната система. Кодът на ядрото наWindows XPне е свързан с нишки, но се намира само в RAM и не може да бъде преместен на диск. Намира се код на ядротоWindows XPв системния файлNtoskrnl. exe.
3.Драйвери на устройства. Драйверите са подпрограми, които превеждат повиквания от потребителски програми в заявки за обработка на данни за конкретни устройства. Значителен брой драйвери са включени вWindows XP(те се намират в поддиректориятаIsystem32l driversна системната директория и имат файлов тип*.sys, например драйверът на дисковата подсистема се намира във файлаdisk.sys), а драйверите за нестандартни периферни устройства са включени в комплектите за доставка.
Операционната система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концентрира всички най-важни части на операционната система.
Микроядрото е отговорно за разпределянето на паметта за приложенията и разпределянето на процесорното време, тоест за реализирането на многозадачност. За да направи това, микроядрото включвапланировчик на нишки(планировчик на нишки), който присвоява едно от 32 нива на приоритет на всяка от нишките. Ниво 0 е запазено за системата. Нива от 1 до 15 се присвояват на изпълними програми, докато нива от 16 до 31 могат да се присвояват само от администратори. Планировчикът разделя цялото процесорно време на кванти с фиксиран размер. В същото време всяка програмна нишка се изпълнява само през определеното й време и ако в края на кванта не освободи процесора, планировчикът принудително спира тази нишка и променя програмната среда на процеса, конфигурирайки я да изпълнява друга нишка със същия приоритет. Микроядрото също върши цялата работа, свързана с обработката на софтуерни и хардуерни прекъсвания.
5.График за управление на програмата. Модулът се състои от следния набор от системни програми:
-I/O Manager– интегрира драйвери на устройства, добавени към системата в Windows XP.
-Object Manager– служи за управление на всички споделени ресурси на компютъра. Когато дадено приложение има достъп до ресурс, мениджърът на обекти свързва обект (например прозорец) с този ресурс и дава на приложението манипулатор [1] (номер на прозорец) на този обект. Използване на дръжката, приложениетовзаимодейства с обект, като извършва различни операции върху него. Мониторът за сигурност гарантира, че върху обекта се извършват само разрешени действия.
- Основната задача на мениджъра на виртуалната памет е организирането на логическа памет, чийто размер е по-голям от размера на физическата, инсталирана на компютъра. Това се постига поради факта, че страници от паметта, които не са били достъпвани дълго време и които нямат атрибута unmovable, се съхраняват от диспечера във файлаpagefile.sysна твърдия диск и се премахват от RAM, освобождавайки го за други приложения. В момента, в който се осъществи достъп до данните, намиращи се в страницата, преместена на твърдия диск, мениджърът на виртуалната памет копира страницата обратно в RAM, след което предоставя достъп до нея. Този механизъм гарантира, че допълнителната памет се разпределя за програмите, които се нуждаят от нея, като същевременно гарантира, че всички програми, работещи в системата, имат достатъчно физическа памет, за да продължат да функционират.
-Cache Manager- използва се за кеширано четене и запис и ви позволява значително да ускорите работата на твърдите дискове и други устройства. В същото време най-търсените файлове се дублират от мениджъра на кеша в RAM на компютъра и достъпът до тях се обслужва с помощта на това копие, а не на оригинала, разположен на сравнително бавен, издръжлив носител. Кешът вWindows XPе един и същ за всички логически устройства, независимо от използваната файлова система. В допълнение, той е динамичен, което означава, че диспечерът управлява неговия размер в зависимост от количеството свободна физическа памет, налична във всеки един момент.
-Диспечерипрозорци и графики- изпълнявам всички функции, свързани с изпращане на системни съобщения и показване на информация на екрана.
Процесът на работа наWindows XPе условно разделен на три фази: процес на зареждане, нормална работа и изключване.Windows XPизползва следния минимален набор от файлове за зареждане:
- файлове, разположени в главната директория на устройството за зареждане:Ntldr,Boot.ini,Bootsect.dos(необходими само при използване на мултибоут),Ntdetect.com;
- файлове, разположени в системната поддиректория /system32:Ntoskrnl.exe,Hal.dll,SYSTEMключове в регистъра;
- файлове, намиращи се в системната поддиректория /system32/drivers: необходими драйвери на устройства.
Процесът на стартиране на компютъра започва с процедурата за първоначално тестване на хардуера(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. cellТози компонент чете системната дата и час отCMOS-паметта и след това търси и разпознава хардуера, свързан в момента към компютъра. След завършванеNtdetectвръща контрола и информацията, събрана от него обратно къмNtldr.След това ядрото на операционната системаNtoskrnl.exeи слоят за хардуерна абстракцияHal.dll.се зареждат и инициализират. По време на инициализацията ядрото изпълнява серия от действия в следната последователност:
- инициализация на мениджъра на паметта;
- инициализация на обектния мениджър;
- монтаж на СОТ;
- конфигуриране на драйвера на файловата система;
- зареждане и инициализация на I/O мениджъра;
- зареждане на системни услуги, които осъществяват взаимодействие с потребителя.
Системните услуги включват следните модули:
-Smss.exe(мениджър на сесии) – модулът управлява други услуги и Windows услуги; стартира:Win32(Csrss) и някои системни помощни програми, които се изпълняват по време на фазата на зареждане; внедрява графичен потребителски интерфейс и стартира процеситеCsrss.exe иWinLogon.exe;
-Csrss.exe– модулът е предназначен да организира взаимодействието между компютъра и потребителя;
-Lsass.exe– услуга стартирана отWinLogon.exeи отговаряща за сигурността на системата; позволява на потребителя да се регистрира в системата.
След зареждане на операционната система, потребителят трябва да премине през процедуратаавтентификация- въвежда собственото си име за вход (login) и парола. Процедурата за свързване към системата ви позволява да определите дали потребителят има право да влиза и работи със системата. Тази процедура се изпълнява от услугатаWinLogon.Следните събития възникват в системата:
- ПроцесътWinLogonпоказва фона на работния плот и подканва потребителя да въведе потребителско име и парола; въведените данни се прехвърлят към подсистемата за сигурност;
- подсистемата за сигурност осъществява достъп до базата данниSAM(Security Accounts Manager) и проверява дали потребителят има правомощия да работи със системата.
Не намерихте това, което търсихте? Използвайте търсачката: