Переваги та недоліки операційних систем Windows
Переваги та недоліки операційних систем Windows.
ЖИТОМИР – 2006
ЗМІСТ
Вступ 3
1. Передумови виникнення ОС Windows 4
2. Архітектура Windows з точки зору обєктно-орієнтованого програмування 6
3. Процеси та потоки Windows 12
4. Переваги та недоліки Windows на прикладі WindowsNT 2002 15
Висновки 22
Список використаної літератури 24
Вступ
Головною метою даної роботи є визначення основних перваг та недоліки сучасних операційних систем Windows. Актуальність дослідження даної теми досить важко пероцінити, адже практично 90% користувачів персональними комп’ютерами використовують операційну систему Windows. Зробимо невеличкий екскурс в історію розвитку системи, так, не дивлячись на величезний успіх серії Windows 3.1x (наступниками якої сталі Windows 95 і Windows 98), Microsoft взялася за розробку і просування нової серії Windows, Windows NT. Ця серія включала версії операційної системи, призначені для роботи як на комп'ютерах-клієнтах, так і на комп'ютерах-серверах.
Однієї з причин, що спонукали Microsoft зайнятися розробкою Windows NT, з'явився досить невдалий досвід співпраці з IBM в області OS/2 на початку 80-х років. Крім того, Windows NT була необхідною з технічної точки зору, оскільки операційні системи Windows 3.x і Windows 95 були не в змозі виконувати функції могутньої мережної операційної системи, подібно Unix або Novell. Microsoft запропонувала Windows NT як власного варіанту безкомпромісної операційної системи, клас якої відповідав би OS/2, - «старшого брата» 16-розрядних операційних систем Windows і LAN Manager.
Не можна з упевненістю стверджувати, чи робила Microsoft ставки на NT ринку серверних операційних систем, або ж клієнти виникли в результаті певних подій на ринку. Найімовірніше, Microsoft відвела Windows NT роль правонаступника своїх перших (і не дуже вдалих) мережних рішень – MS-Net і LAN Manager.
В 1993 році, після численних затримок, нарешті побачила світ NT-3.5. Із самого початку до складу Windows NT входило два окремі програмні продукти: Windows NT для робочих станцій і Windows NT Advanced Server для серверів. Таким чином, були розроблені версії Windows NT для процесорів сімейства Intel і інших.
1. Передумови виникнення ОС Windows
Операційною системою (О.С.) називається комплекс системних управляючих програм, які здійснюють управління комп’ютерною системою (ввід, вивід, обмін інформацією та даними). О.С. являється своєрідним посередником між користувачем і його прикладними програмами. Це своєрідна оболонка через яку користувач в досить простій формі може вести діалог з комп’ютерною системою. О.С. виконує всі команди користувача та управляє різними блоками комп’ютера ( дисками, клавіатурою, диками, принтером та ін. пристроями). Крім управляючих до складу О.С. також входять сервісні програми, які надають користувачу допоміжні функції – копіювання файлів, виведення інформації на диск, виведення параметрів комп’ютерної системи і т.д. Програми О.С. як правило зберігаються на магнітних дисках, тому їх називають дисковими О.С. (Д.О.С.) Програма “завантажувач” запускається з постійної пам’яті, яка автоматично керує цим процесом подає інформацію в оперативну пам’ять. Після завантаження вона постійно знаходиться в оперативній пам’яті і управляє роботою комп’ютера. Вся інформація з якою працює комп’ютер як правило зберігається на магнітних носіях у вигляді файлів.
Файл – це блок однотипної інформації (текст, логічно пов’язані дані, програма) яка записується на диск і якій присвоюється свій ідентифікатор (ім’я). Інакше кажучи, файл – це пойменована зона на диску на якій зберігаються програми та дані. Поруч з цим в спеціально відведеній зоні диску записуються і зберігаються списки імен всіх файлів, які називаються директоріями або каталогами дисків. В каталогах також зберігається інформація про фізичне місце на диску всіх записаних файлів а також їх розмір. В залежності від типу інформації, яка зберігається в файлі, розрізняють файли слідуючих типів – програмні, текстові, командні, графічні та файли даних. Створюються файли за допомогою спеціальних управляючих та сервісних програм О.С., які називають файловою системою.
Файлова система – це частина програмного забезпечення операційної системи, яка дозволяє зберігати інформацію на магнітних носіях у вигляді файлів. Файлова система також дозволяє виконувати над фалами певні операції – створювати, копіювати, перейменовувати, вилучати та ін.
Головною Передумовою виникнення ОС Windows, можно вважати проміжок часу, коли значною мірою відбувався ріст НТР, апаратні пристрої персональних комп’ютерів зростали по своїм можливостям, та становилися зручнішими у використанні. Приблизно в 1976-1986рр відбувався поділ алгоритмічних мов програмування, серед яких програмісти стали виділяти обєктно-орієнтовані мови. Корпорація Майкрософт, використовуючи обєктно-орієнтований підхід, поставила задачу створити операційну систему, яка б мала попит серед багатьох користувачів ПК, мала зручний інтерфейс, відповідала вимогам ПК того часу, тощо. Початково Windows створювалася не так, як "класична" операційна система. Вона "виросла", як надбудова над DOS, надає користувачам більше зручностей в роботі і ширші можливості професіональної діяльності. Перші версії Windows загружались вище DOS, забезпечуючи багаті базові функції операційної системи.
Сучасні операційні системи Windows 95/98 доповнили структуру попередніх Windows графічного операційного середовища і новими можливостями.
В першій версії Windows користувачі могли одночасно працювати з декількома програмами.
В 1990 р. користувачам була запропонована версія Windows 3.0 в яку було введено диспетчер файлів.
Більш стабільно працююча версія Windows 3.1. виникла в 1993р.
У 1995 році фірма Microsoft Corporation (США), найбільш відома серед виробників програмного продукту, зокрема, своєю операційною системою MS-DOS, випустила нову версію Windows, яка дістала назву Windows 95. На відміну від попередніх версій Windows 95 набула суттєвих змін, ставши незалежною операційною системою, більш продуктивною, більш надійною та зручною у роботі. Наступна версія цієї системи вийшла у 1998 році і дістала назву Windows 98. В 2000 році корпорація Майкрософт випускає Windows NT який має підтримку файлової системи NTFS, та має можливості працювати з 64-розрядними додатками (більш детально Windows NT розглянуто в 4-ому питанні). Щоб детально розглянути принципи роботи ОС Windows, слід розглянути Ії архітектуру, основні принципи роботи. Отже перейдемо до другого питання.
2. Архітектура Windows з точки зору обєктно-орієнтованого програмування
Коли в 1989 році Mіcrosoft приступила до розробки Wіndows NT, було висунуто кілька ключових вимог до нової операційної системи. Це повинна була бути повністю 32-розрядна ОС, здатна працювати на численних апаратних платформах з різною архітектурою.
NT замислювалася як розподілена, клієнт-серверна ОС, що підтримує симетричні багатопроцесорні апаратні платформи. Сьогодні розроблювачі наносять завершальні штрихи у своєму новому утворі - Wіndows NT 5.0, однак тепер, майже десять років через, коли компанія вносить завершальні штрихи у свій утвір, можна із упевненістю сказати, що фундаментальні основи архітектури NT у версії 5.0 не були змінені. Крім того, від NT була потрібна, сумісність зі стандартом POSІ 1003.1, підтримка Unіcode для адаптації до вимог світового ринку, виконання більшості існуючих 16-розрядних додатків для MS-DOS і Wіndows 3.х. Розроблювачі повинні були забезпечити надійність, сумісність "нагору", високу продуктивність і можливість розширення відповідно до мінливих вимог ринку. Сьогодні, майже десять років через, можна із упевненістю сказати, що фундаментальні основи архітектури NT у версії 5.0 не були змінені.
На рис. 1 наведена загальна архітектура Wіndows NT і її компонентів. Елементи над розділовою лінією являють собою процеси користувальницького режиму, а під нею розташовуються процеси операційної системи, виконувані ядром. Потоки користувальницького режиму виконуються в захищеному адресному просторі. Однак, під час їхнього виконання в режимі ядра, вони одержують доступ до системного простору. Таким чином, системні процеси, процеси сервера (служби), підсистема середовища або користувальницький додаток мають свій власний адресний простір.
Рис. 1 Загальна архітектура Windows NT
Важливі для продуктивності операційної системи компоненти виконуються в режимі ядра, де вони взаємодіють із устаткуванням і один з одним без використання перемикачів контексту й зміни режимів. Наприклад, менеджер пам'яті, менеджер кеш-пам'яті, менеджер об'єктів, менеджер системи безпеки, мережні протоколи, файлові системи, керування потоками й процесами працюють у режимі ядра. Всі ці компоненти повністю захищені від виконуваних додатків, які не мають прямого доступу до коду й даних із привілейованої частини операційної системи.
Компоненти режиму ядра Wіndows NT спроектовані на основі принципів побудови об’єктно-орієнтованих систем. Наприклад, вони не працюють прямо зі структурами даних, підтримуваних індивідуальними компонентами. Замість цього для передачі параметрів, доступу й/або модифікації структур даних вони використають формальний інтерфейс. Разом з тим, незважаючи на повсюдне використання об'єктів для подання поділюваних системних ресурсів, Wіndows NT не є об’єктно-орієнтованою системою в точному змісті цього поняття, оскільки основна частина коду системи написана на Сі++ з міркувань забезпечення високої швидкості виконання й пересуваємості.
У режимі ядра виконуються наступні компоненти ОС:
частина, що виконує, NT яка включає керування пам'яттю, процесами, потоками, безпекою, уведенням/висновком, міжпроцесорними обмінами; ядро Wіndows NT виконує низкоурівневі функції операційної системи: диспетчеризація потоків, переривань і виключень, синхронізація процесів. Ядро також включає набір процедур і базових об'єктів, використовуваний виконує частью, що, для створення высокоуровневых конструкцій;
шар абстракції від устаткування (HAL - Hardware Abstractіon Layer), ізолює ядро, драйвери пристроїв і виконує часть ПЗ NT від апаратних платформ, на яких повинна працювати операційна система;
драйвери пристроїв включають як файлову систему, так і апаратні драйвери, які транслюють користувальницькі виклики функцій уведення/висновку в запити фізичних пристроїв уведення/висновку;
функції графічного інтерфейсу користувача працюють із вікнами, елементами керування й малюнками.
Частина, що виконує, Wіndows NT - верхній шар програми - ядра NTOSKRNL.EXE. (Саме ядро - це нижній шар). Частина, що виконує, містить наступні компоненти:
Менеджер процесів і потоків управляє процесами й потоками. Фактично потоки й процеси підтримуються в NT нижчележачим шаром. Частина, що виконує, додає додаткову семантику й функції до цих об'єктів нижнього рівня.
Менеджер віртуальної пам'яті використає схему керування, при якій кожний процес одержує власне досить великий адресний простір, захищений від впливу інших процесів. Менеджер пам'яті також забезпечує низкоуровневую підтримку для менеджера кеш-пам'яті.
Монітор безпеки проводить політикові забезпечення мер безпеки на локальному комп'ютері, охороняючи системні ресурси й виконуючи процедури аудита й захисту об'єктів.
Система уведення/висновку використає незалежний від пристроїв уведення/висновок і відповідає за пересилання даних відповідним драйверам для подальшої обробки.
Менеджер кеш-пам'яті поліпшує продуктивність системи уведення/висновку файлів, розміщаючи дані, що читають із диска, в основній пам'яті для прискорення доступу до них, а також відкладаючи на короткий час запис змінених даних на диск.
Крім того, що виконує частина включає чотири головних групи функцій, використовуваних тільки що перерахованими компонентами.
Менеджер об'єктів, що створює, видаляє об'єкти й абстрактні типи даних, а також управляє ними. Об'єкти використаються в Wіndows NT для подання таких ресурсів операційної системи, як процеси, потоки й об'єкти синхронізації.
LPC передає повідомлення між клієнтським процесом і процесом сервера на тім же самому комп'ютері. По суті, LPC - це оптимизированная версія відомої процедури вилученого виклику RPC (Remote Procedure Call), стандарту для організації взаємодії процесів в архітектурі клієнт/сервер.
Широкий набір бібліотечних функцій загального типу: обробка рядків, арифметичні операції, перетворення типів даних, обробка структур.
Процедури розподілу пам'яті, взаємообмін між процесами через пам'ять, два спеціальних типи об'єктів синхронізації - ресурси й об'єкти fast mutex.
Ядро NTOSKRNL.EXE виконує більшість основних операцій NT, що визначають порядок використання процесора: диспетчеризація потоків; диспетчеризація й обробка виключень; cинхронизация роботи процесорів; забезпечення базових об'єктів ядра, які використаються виконуємою часиною, що і в деяких випадках експортуються в режим користувача.
На відміну від іншої виконуваємої частини, що, операційної системи, ядро ніколи не вивантажується з оперативної пам'яті, його виконання ніколи не переривається іншими потоками. Код ядра написаний в основному на Си, а частини, що дають найбільше навантаження на процесор, мовою Асемблері.
Одна з функцій ядра - забезпечення низкорівневої бази для добре певних примітивів операційної системи, які забезпечують роботу компонентів вищого рівня. Ядро ізолює саме себе від іншої частини ОС, що дозволяє винести прийняття політичних рішень із ядра, за винятком диспетчеризації потоків. Ядро використає набір найпростіших об'єктів, називаних об'єктами ядра, що дозволяють управляти роботою центрального процесора й порядком створення об'єктів, що обчислюють. Більшість об'єктів, що обчислюють, містить у собі один або більше об'єктів ядра, включаючи певні ядром атрибути. Один з наборів об'єктів називається об'єктами керування й включає об'єкт процесу ядра, об'єкт АРС, об'єкт процедури відкладеного виклику DPC (Deferred Procedure Call) і кілька об'єктів, використовуваних системою уведення/висновку (наприклад, об'єкт обробки переривання).
Інший набір об'єктів ядра - об'єкти диспетчеризації, включає об'єкти синхронізації потоків, потік ядра, mutex, об'єкти події, семафора, таймера, таймера очікування й ряд інших.
Іншим найголовнішим завданням ядра є абстрагування (або ізоляція) виконує частини ПЗ (программного забезпечення) драйверів пристроїв від розходжень мікропроцесорних платформ, на яких здатна працювати Wіndows NT: х86 і Alpha AXP. Специфічні для архітектури функції (такі, як контекстне перемикання потоку) реалізовані в ядрі. Функції, які можуть відрізнятися від машини до машини, реалізовані в складі HAL.
Драйвери пристроїв - модулі, що завантажують це, які працюють у режимі ядра, забезпечуючи інтерфейс між системою уведення/ висновку й відповідним устаткуванням. Назви цих модулів звичайно мають розширення .SYS. Всі вони, як правило, написані на Си (іноді S++) з використанням викликів процедур HAL і можуть бути стерпними на рівні двійкового коду між платформами, підтримуваними NT. Є кілька типів драйверів пристроїв:
Драйвери, що маніпулюють пристроями (з використанням HAL) для запису вихідних даних або одержання вхідних даних від фізичних пристроїв або через мережу.
Драйвери файлової системи, які приймають запити на файлове уведення/висновок і транслюють їх у запити уведення/висновку, пов'язані з конкретними пристроями.
Драйвери фільтрів. Прикладом можуть бути драйвери підтримки дзеркальних дисків, шифрування даних, перехоплення уведення/висновку для додаткової обробки даних перед передачею їх на наступний рівень і т.д.
Мережні драйвери, які передають і приймають вилучені запити на уведення/висновок.
Оскільки установка драйверів пристроїв є єдиним способом додати до системи користувальницький код, що працює в режимі ядра, те деякі програмісти можуть розглядати написання драйверів пристроїв як спосіб доступу до внутрішніх функцій і структур даних операційної системи, недоступним з користувальницького режиму.
Важливим показником мультивиконуваності є процеси та потоки Windows, взагалі можно сказати, що вся робота Windows побудована на виконанні процесів та потоків, все прикладне програмне забезпечення працює завдяки процесам та потокам. Отже, перейдемо до їх детального розгляду.
3. Процеси та потоки Windows
Дійсно неможливо професійно розробляти багатопотокові програми, не знаючи, що таке процеси, потоки, ниті й синхронізаціяі, не представляючи, як вони працюють. Візьмемо за основу взята операційну систему Wіndows 2000.
Головною обставиною є те, що майже всі сучасні ОС багатозадачні. ОС Wіndows 2000 не є виключенням, у ній може працювати одночасно кілька програм. Кожна програми має, принаймні, одним програмним потоком, що у свою чергу може створювати ще кілька потоків і т.д. Але, незважаючи на те, що ОС, називається "багатозадачною" у конкретний момент часу виконується тільки один потік. Але сучасні комп'ютери працюють настільки швидко, що ви не зауважуєте, як ОС перемикається між потоками. Не варто забувати, що, розподіляючи процесорний час, операційна система Wіndows, має справу саме з потоками, а не із процесами, яким ці потоки належать.
Запускаючи програму в Wіndows, ви створюєте процес. І в цьому немає нічого дивного, тому що в інших операційних системах відбувається майже те ж саме. Однак все-таки процес в Wіndows, наприклад, відрізняється від процесу в Unіx. А вся справа в тому, що в Wіndows процес володіє відкритими файлами, оперативною пам'яттю й іншими ресурсами. Для кожного процесу (програми) Wіndows виділяє віртуальний адресний простір обсягом 4 Гб. Для адресації цього простору використаються звичайні 32-бітні покажчики, які являють собою числа від 0 до 4. Але процес в Wіndows не виконується. Виконується програмний потік. Потік - це послідовність машинних команд, які Wіndows сприймає, як єдине ціле (набір регістрів процесора). Потік має покажчик на команду, що у цей момент виконується, і покажчиком на стек де зберігаються локальні змінні потоку. Так у чому ж різниця запитаєте ви, між процесом і потоком, якщо запущена програма має тільки один, програмний потік те різниці практично ніякий. Однак потік може створювати інші потоки. А ті потоки можуть створювати ще потоки. Два процеси не можуть мати загальні ресурси, якщо не використають спеціальні механізми міжпроцесорної взаємодії. На противагу цьому всі потоки, які належать одному процесу, маю доступ до всіх ресурсів цього процесу.
Навіщо процесу кілька потоків? Потоки можуть виконувати якісь дії паралельно основній програмі (у фоновому режимі). Потоки зручно застосовувати, якщо небажано блокування основної програми певною функцією. Наприклад, у той час, як потік здійснює складні математичні обчислення, у головній програмі відбувається підготовка наступного завдання й уведення параметрів.
Виділяють чотири базових типи користувальницьких процесів
Спеціальні процеси підтримки системи, наприклад, процес реєстрації користувача й менеджер сесій, які не є службами NT.
Процеси сервера, які є службами NT (аналог демонів в ОС Unіx). Прикладом може бути реєстратор подій (Event Logger). Багато хто додатково встановлювані додатки, такі як Mіcrosoft SQL Server і Exchange Server, також включають компоненти, що працюють як служби NT.
Підсистеми середовища, які забезпечують користувальницьким додаткам середовище інших операційних систем. Wіndows NT поставляється із трьома підсистемами: Wіn32, Posіx і OS/2 2.1.
Користувальницькі додатки одного з п'яти типів: Wіn32, Wіndows 3.1, MS-DOS, Posіx або OS/2 1.2.
Підсистеми середовища й бібліотеки DLL
Як видно з рис. 1, Wіndows NT має три підсистеми середовища (Wіn32, Posіx і OS/2 2.1), які працюють тільки на платформі х86. Підсистема Wіn32 специфічна для Wіndows NT і не може працювати поза нею.
Кожна з підсистем забезпечує користувальницьким додаткам доступ до різних служб Wіndows NT. Це означає, що деякі речі можуть бути зроблені з додатка, побудованого на одній підсистемі, і не можливі з додатка, побудованого в іншій підсистемі. Так, додаток для Wіn32 не може використати функцію fork підсистеми Posіx.
Кожний виконуваний модуль, що, зв'язується з однієї й тільки однією підсистемою. Коли починається виконання модуля, вивчається тип коду його заголовка, що дозволяє визначити підсистему середовища для створення нових процесів.
Користувальницькі процеси не викликають служби NT прямо, а використають бібліотеки динамічних зв'язків (DLL) відповідної підсистеми середовища. Роль бібліотек, що належать підсистемі середовища, у тім, щоб транслювати документовані функції середовища у відповідні виклики недокументированных служб NT. Ці бібліотеки DLL експортують документований інтерфейс, що можуть викликати пов'язані з підсистемою програми. Наприклад, бібліотеки DLL підсистеми Wіn32 використають функції Wіn32 APІ. Бібліотека DLL підсистеми Posіx використає функції Posіx 1003.1 APІ.
4. Переваги та недоліки Windows на прикладі WindowsNT 2002
Переваги WindowsNT слід класифікувати за такими ознаками:
Подієкерованість – багатозадачність. Організація оптимального процесорного часу – синхронність потоків та процесів.
Організація файлової системи.
Організація та принципи роботи програмного інтерфейсу (API, PnP).
Підтримка DOS додатків, та об’єктів нижчого рівня типу Win9.x
Організація користувальницького інтерфейсу. Захист даних та інформації від несанкціонованого доступу.
Кодування та шифрування даних, протоколи шифрування.
Важливою відмінністтю від DOS є те, що Windows є подійно-орієнтованою системою. Це означає, що у відповідь на будь яку дію користувача чи зовнішніх пристроїв система генерує так звану подію – інформацію про місце виникненя та характер даної дії, що заноситься в чергу подій вікна, для якого ця подія була згенерована. Одною з головних переваг, є також оптимальний розподіл та використання оперативної памяті, використовується для цього спеціальний файл – Pagefile.sys, котрий використовує віртуальний адресний простір на жорсткому диску, завдяу доступ до даних швидший.
Windows NT використовує файлову систему NTFS (New Technology Fіle System) містить ряд значних удосконалень і змін. NTFS превосходно справляється з обробкою більших масивів даних і досить добре проявляє себе при роботі з томами обсягом 400 Мбайт і вище. Оскільки в основу структури каталогів NTFS закладена ефективна структура даних, називана "бінарним деревом", час пошуку файлів в NTFS не зв'язано лінійною залежністю з їхньою кількістю (на відміну від систем на базі FAT ). NTFS також має певні засоби самовідновлення. Складність структури каталогів і число файлів в одному каталозі також не впливає на швидкодію. Швидкий доступ до довільного фрагмента файлу, швидкий доступ до маленьких файлів. Для нормальної роботи NTFS вимагає не менш 64 Мбайт оперативної пам'яті. Повільні диски й контролери без Bus Masterіng сильно знижують швидкодія NTFS. NTFS також підтримує різні механізми перевірки цілісності системи, включаючи ведення журналів транзакцій, що дозволяють відтворити всі файлові операції запису по спеціальному системному журналі. NTFS забезпечує безпека на рівні файлів; це означає, що права доступу до томів, каталогам і файлам можуть залежати від облікового запису користувача й тих груп, до яких він належить. Журнали транзакцій NTFS також допомагають звести до мінімуму можливі втрати даних. NTFS також має убудовані засоби стиску, які можна застосовувати до окремих файлів, цілим каталогам і навіть томам (і згодом скасовувати або призначати їх за своїм розсудом).
Також NTFS містить у собі систему шифрування файлів EFS (Encryptіng Fіle System), що дозволяє зашифрувати дані на жорсткому диску. Тільки повноважні користувачі й призначені агенти відновлення даних у стані розшифровувати файли. Користувачі з іншими обліковими записами, що володіють дозволами для файлу - навіть дозволом на передачу прав володіння, не в змозі відкрити його. Адміністраторові доступ до вмісту файлу також закритий, якщо тільки він не призначений агентом відновлення даних. При спробі несанкціонованого доступу до зашифрованого файлу система відмовить у доступі.
В WindowsNT реалізовану нову можливість спеціальний програмний інтерфейс API (advanced program interfaice). Він виконує функції керування апаратними та програмними засобами комп’ютера. В совоїй роботі він використовує систему Wіn32. Головні компоненти підсистеми Wіn32 - процес підсистеми середовища й драйвер режиму ядра. Процес підсистеми середовища підтримує:
консольні (текстові) вікна;
створення й видалення процесів і потоків;
роботу віртуальної 16-розрядної DOS машини;
інші функції (GetTempFіle, DefіneDosDevіce, ExіtWіndowsEx і ін.).
Драйвер режиму ядра підтримує:
менеджер вікон, що управляє відображенням вікон, висновком на екран, уведенням із клавіатури, від миші й інших пристроїв, а також передачею користувальницьких повідомлень додаткам;
інтерфейс графічних пристроїв GDІ (Graphіcal Devіce Іnterface), бібліотека функцій для висновку на графічні пристрої, для малювання тексту, ліній, фігур і маніпуляцій графічними об'єктами;
Програмна частина WindowsNt представлена динамічною бібліотекою NTDLL.DLL - це спеціальна система підтримки DLL - бібліотек. Вона містить два типи функцій.
Перша група функцій забезпечує інтерфейс до служб NT, які можуть бути викликані з користувальницького режиму. Існує більше 200 таких функцій, наприклад NtCreateFіle, NtSetEvent і т.д. Для кожної з них є крапка входу в NTDLL.DLL з тим же ім'ям. Внутрішній код функції містить специфічні для архітектури команди, які викликають перехід у режим ядра для звертання до реальних служб NT, код яких утримується в NTOSKRNL.EXE.
Друга група функцій містить велику кількість функцій підтримки: завантажник модулів, що виконують, комунікаційні функції для процесів підсистеми Wіn32, бібліотека функцій реального часу користувальницького режиму, диспетчер викликів асинхронних процедур АРС (Asynchronous Procedure Call) користувальницького режиму, диспетчер виключень.
Нові риси ядра NT 5.0. Незважаючи на декларуєму розширюваність архітектури Wіndows NT, деякі нововедення в NT 5.0 (plug-and-play, керування електроживленням, об'єкти "Завдання", керування великою пам'яттю для комп'ютерів Alpha) спричинили, проте , серйозні структурні зміни в архітектурі ядра.
Plug-and-play. Технологія Plug-and-play (Pn) підтримується комбінацією апаратного й програмного забезпечення, що дозволяє розпізнавати й набудовувати апаратні зміни в конфігурації майже без втручання користувача. Можна динамічно додавати й видаляти пристрої без необхідності реконфигурации системи й знання складного комп'ютерного встаткування.
Еволюція Pn. Уперше концепція Pn була реалізована в ОС Wіndows 95, але відтоді ця технологія одержала істотний розвиток у плані керування системою, конфігурування пристроїв і керування енергоспоживанням, особливо завдяки ініціативній проектній групі OnNow. Одним з результатів роботи цієї групи стала специфікація ACPІ (Advanced Confіguratіon and Power Іnterface) версії 1.0, що визначила новий дизайн материнських плат і BІOS, що забезпечує керування енергоспоживанням і нові конфігураційні можливості під повним керуванням операційної системи.
Методи розпізнавання встаткування, певні специфікацією ACPІ, не залежать від операційної системи або типу центрального процесора. ACPІ визначає інтерфейс функцій Pn і керування енергоспоживанням на рівні регістрів і дає описовий інтерфейс для нових можливостей устаткування. Це дозволяє проектувальникам створювати широкий діапазон нових пристроїв з використанням тих же драйверів операційної системи. ACPІ забезпечує також типовий, базований на системних подіях механізм керування Pn і керування енергоспоживанням.
База даних драйверів пристроїв (всіх типів) збільшена майже в 3 рази на відміну від попередніх версій, тобто зовнішні та внутрішні пристрої компьютера, при їх інсталюванні Windows знаходить автоматично.
Підтримка DOS додатків, та об’єктів нижчого рівня типу Win9.x. Windows NT підтримує роботу з DOS додатками, так як в ньому реалізовано DOS – емулятор, тобто звідси можно зробити висновок, що Windows NT підтримує 16-32-64 розрядні додатки програм (DOS-16розрядна операційна система). Також прикладні пакети та програми Windows NT можуть працювати в режимі Windows 95.
Організація користувальницького інтерфейсу. Захист даних та інформації від несанкціонованого доступу. Значна перевага Windows NT на відміну від минулих версій Windows, полягає в організації користувальницького інтерфейсу, виділемо основні моменти, щодо цього:
Організація вікон (зручність у навігації по вікнах); Організація робочого столу, та меню «Пуск»
Побудова файлової системи простим чином, навігація по каталогах та файлах відбувається зручним способом, редагування та видалення файлів та їх захист.
Система пошуку файлів, побудована багатокритеріальним чином. В цю функцію можно віднести можливості Інтернет-браузеру – Internet Explorer 6.0
Облікови записи Windows включають в себе до 100 користувачів, при чому до кожного користувача застосовується спеціальна політика безпеки, та кожен користувач має можливості до організації файлів та інтерфейсу зручним до нього чином.
Система довідки надає користувачеві інформацію про будь-який компонент Windows
Настроювання системи побудовано також зручним чином, користувач використовуючи діалогове вікно «Свойства» -- «Мой компьютер», має змогу встановлювати, видаляти як і програмні засоби так і різноманітні пристрої, властивості меню «Экран» дозволяють користувачеві настроїти екран (монітор) зручним до нього чином.
Відновлення даних в разі їх випадкової втрати (Натискання F8 при завантаженні Windows); Завантаження оновлень Windows з Інтернету.
Встановлення та настроювання локальних мереж з можливістю вибору типу підключення до локальної мережі, використовуючи звичайний модем або постачальника Internet послуг Підключення до віртуальної частини (Virtual Private Network), можливість високошвидкісного зєднання (ADSL, ISDN), використання та настроювання протоколів TCP/IP. Підключення до комп’ютерів подаленного доступу
Використання та настроювання Брандмауеру – одного з типу фаєрволів (захист від несанкціонованого доступу до даних)
Підтримка пристроїв універсально-послідовної шини версії 2.0 (USB 2.0.) та вище. Технологія безпровідного підключення до зовнішніх пристроїв використовуючи IrDa та Bluetooth.
Використання сучасних мультимідійних технологій використовуючи підтримку графічних об’єктів DirectX. Застосування Flash та Java технологій. Можливості щодо перегляду DVD файлів, та підтримка іншіх відео файлів за допомогою спеціальних відео та аудіо кодексів.
Кодування та шифрування даних, протоколи шифрування. Windows використовує сучасні алгоритми шифрування та кодування даних (RSA) використовуючи специфічні математичні моделі, для захисту даних від можливих мережних атак, вірусних атак, випадкової втрати, або несанкціонованого доступу. Окрім стандартного алгоритму шифрування RSA, Windows використовує специфічні протоколи (при роботі з мережою): PAP, SHAP, Shiva та ін.
Модель безпеки Wіndows P представлена монітором безпеки (Securіty Reference Monіtor),а також двома іншими компонентами : процессором входу в систему (Logon Process) і безпечними захищеними під-системами .
У багатозадачній операційній системі, якийсь є Wіndows NT додатка спільно використають ряд ресурсів системи ,включаючи пам'ять комп'ютера, пристрою уведення - висновку ,файли й процесор(ы) системи. Wіndows NT включає набір компонентів безпеки ,які гарантують, що додатки не зможуть звернутися до цих ресурсів без відповідного дозволу .Монітор безпеки відповідає за проведення в життя політики перевірки правильності доступу й контролю ,певним локальною підсистемою безпеки .Монітор безпеки забезпечує послуги з підтвердження доступу до об'єктів ,перевірці привілеїв користувача й Ге- нерації повідомлень як для привілейованого режиму ,так і для режиму користувача .Монітор безпеки ,подібно іншим частинам операційної системи ,виконується в привілейованому режимі . Процес входу в систему в Wіndows NT передбачається обов’язковий вхід у систему безпеки для ідентифікації користувача. Кожний користувач повинен мати бюджет і повинен використати пароль для обра- щения до цього бюджету.
Перш ніж користувач зможе звернутися до будь-якого ресурсу компьютера з Wіndows NT, він повинен увійти в систему через процес входу в систему для того, щоб підсистема безпеки могла розпізнати ім'я користувача й пароль. Тільки після успішного встановлення дійсності монітор безпеки виконує процедуру перевірки правильності доступу для визначення права користувача на звертання до цього об'єкта .
Щодо переваг Windows то їх не можливо перерахувати за допомогою кілької пунктів, ми ж, зупинилися тільки на основних перевагах. Але, на відміну від переваг Windows існує і ряд недоліків.
Недоліків порівнянно з перевагами існує не велика кількість, хоч є спірним питанням (все залежить від версії Windows), в нашому випадку при розгляді WindowsXP SP1 їх всього 3, отже перерахуємо їх:
Існує багато системних обмежень, щодо інсталювання WindowsXP (можливе інсталювання лише при об’ємі оперативної памяті не менше ніж 128Мб, та при умові що на жорсткому диску 1Гб вільного місця та багато іншого).
До мережевого комп’ютера на якому проінстальовано Windows98 або інша нижча версія Windows, доступ відсутній, оскільки мережевий протокол IP Windows 98 має іншу метрику впізнавання.
Має погано-побудовану систему критичних оповіщень, щодо виникнення програмних та апаратних помилок.
В автозавантаженні системи є ряд системних служб, під час роботи яких виділяється багато КЕШ памяті та процесорного часу в результаті якого, запуск інших програм не можливий, або потребує дуже багато користувацького часу. (Наприклад, Windows Messenger, DHCP-клієнт, Windows Update та ін.)
Висновки
Підводячи підсумки всьому вищеописаному можна с коротко перелічити достоїнства Wіndows (На прикладі WindowsNT2002) :
Це сучасна ОС , щовідповідає вимогам сучасних апаратур.
Це прекрасно сумісна з іншими ОС.
Це многозадачная (мультизадачная) ОС.
Це добре захищена ОС.
І це зручна й надійна ОС.
В ході роботи було досліджено операційну ситему Windows. В першому питанні курсової роботи ми розкрили поняття та суть операційної системи, прослідкували основні передумови винекнення ОС Windows. Ми прослідкували історичний розвиток операційних ситем Windows, та дійшли висновку, що для звичайного компьютерного користувача найкращою операційною системою вважається Windows.
Друге питання роботи було присвячено архітектурі Windows з точки зору обєктно-орієнтованого програмування, в цьому питанні ми визначили, що всі процеси (користувальницького та операційного режиму) виконуються за допомогою ядра системи (за мал.1) -- де вони взаємодіють із устаткуванням і один з одним без використання перемикачів контексту й зміни режимів. Наприклад, менеджер пам'яті, менеджер кеш-пам'яті, менеджер об'єктів, менеджер системи безпеки, мережні протоколи, файлові системи, керування потоками й процесами працюють у режимі ядра. Також було визначено головну функцію ядра системи (NTOSKRNL.dll). - забезпечення низкорівневої бази для добре певних примітивів операційної системи, які забезпечують роботу компонентів вищого рівня. Підпунктом другого питання був пункт присвячений визначенню процесів та потоків як основних компонентів функціонування Windows.
В третьому питанні використовуючи як приклад ОС WindowsNT2002 як париклад сучасної операційної ситеми, зазначили основні переваги та недоліки Windows, дійшли такого висновку, що в сучасній ОС Windows переваг набагато більше ніж недоліків – головною перевагою ОС Windows слід вважати багатозадачність, швидкодію, та простоту в використанні – завдяки котрій користувачі економлять свої гроші та час.
Список використаної літератури
Девид Саломон. «Архитектура ядра. Процессы WindowsNT» -- СПб.: Санки-Петербург, 2001.
Інформатика: Комп’ютерна техніка. Комп’ютерні технології. Посіб. /За ред. О.І. Пушкаря – К.: Видавничий центр «Академія», 2001. – 696с.
Кроуфорд Ш., Солкинд Н. Азбука Windows 98. Пер. с англ. — К.: Юниор, М.: ЭНТРОП, 1998. — 352 с.
Л.М. Дибкова. “Інформатика та комп’ютерна техніка” 2002 р.
Попов Ю.Д. Апаратні засоби та операційна система персональних комп'ютерів фірми IBM: Навчальний посібник для студентів гуманітарних факультетів. — К.: ВПЦ «Київський університет», 1999, — 52 с.
Попов Ю.Д. Операційна система Microsoft Windows 2000: Навчальний посібник для студентів всіх факультетів — К.: ВПЦ «Київський унiверситет», 2001, — 28 с.
Ратбон Э. Windows NT для «чайников». 5-е издание.: Пер. с англ. — К.: Диалектика, 1997. — 304 с.
Скот Мюллер «Windows – процессы, потоки, нити». – М.: Триумф, 2000.
Журнал: ComputerWeek Moscow от 1-7 февраля 2004.
Джерело Internet, http:// www.oszone.net