ЗНАЕТЕ ЛИ ВЫ?

Розвиток і використання Linux



Система Linux, як активно використовуван і досліджувана, використається також для відомих розробок. Наприклад, все більшу популярність здобуває ОС Google Android - ОС для мобільних пристроїв на основі ядра Linux (розробка фірми Google).

Крім того, у Росії на основі Linux розроблена вітчизняна ОС для школярів - Альт- Линукс.

У цілому, перспективи Linux ми вважаємо досить багатообіцяючими.


 

Лекція 22. Огляд архітектури й можливостей систем Windows 2000/XP/2003/Vista/2008/7

План

· Система Windows 2000

· Історія Windows

· Принципи проектування Windows 2000 – розширюваність, переносимость, надійність, безпека, сумісність, продуктивність, підтримка інтернаціоналізації и локалізації.

· Архітектура Windows 2000

· Ядро Windows 2000

· Обробка переривань в ядрі

· Виконавча підсистема (executive) ОС Windows 2000

· Підсистеми оточення в Windows 2000

Система Windows 2000

Windows 2000 - це 32-бітова багатозадачна операційна система для мікропроцесорів типу Intel. Windows 2000 продовжує лінію розвитку, почату в середині 1990-х рр. системою Windows NT.

Основні цілі розробки Windows 2000 і наступних нових версій Windows (2003/2008/7):

· переносимость

· безпека

· відповідність POSIX

· підтримка багатопроцесорності

· розширюваність

· підтримка інтернаціоналізації

· сумісність додатків з MS-DOS і ранніми версіями Microsoft Windows.

Нові версії Windows використають архітектуру мікроядра.

Windows 2000 доступна в декількох версіях - Professional, Server, Advanced Server, National Server.

Історія Windows

Для більшості користувачів, Windows стала доступної вперше наприкінці 1980-х рр. як графічна оболонка, що запускає в середовищі операційної системи MS DOS командою win. Уже тоді були відчутні основні характерні риси Windows, хоча вона ще не була операційною системою, - зручний багатовіконний (як тоді називали) графічний користувальницький інтерфейс.

Затем з'явилися найбільш відомі в ті роки версії - Windows 3.0, Windows 3.11, Windows for Workgroups (Windows для робочих груп). Всі вони підтримували виконання додатків під керуванням графічної багатооконной оболонки.

В 1988 Microsoft ухвалила рішення щодо розробці стерпної ОС "new technology" (NT), що підтримувала б й OS/2, і POSIX API.

Спочатку Windows NT повинна була використати OS/2 API як своє природне оточення, однак у процесі розробки NT була змінена й стала використати Win32 API, що відбиває популярність Windows 3.0.

Саме Windows NT, що з'явилася до середини 1990-х рр., зіграла вирішальну роль у зміні відносини користувачів до Windows. До її появи на ринку існувала точка зору про недостатню надійність Windows і неможливості її використання як серверної ОС, внаслідок чого в якості серверних ОС багато хто воліли використати Solaris або інші версії UNIX. Однак Windows NT Server, з її передовою надійною архітектурою, розширеною підтримкою мережі, підтримкою сумісності знизу нагору для додатків, розроблених для попередніх ОС, змінила ситуацію на ринку настільки, що до середини 1990-х рр. ліцензій на Windows NT було продано більше, ніж на UNIX.

Досить важливою лінією розвитку Windows стало сімейство клієнтських ОС - Windows 9x - Windows 95 й Windows 98, потім - Windows Millennium. У цих операційних системах були реалізовані розширені мультимедийные можливості, підтримка драйверів найрізноманітніших пристроїв (у тому числі - механізм Plug-and-Play автоматичного розпізнавання нових пристроїв й установки їхніх драйверів), а також кодеки для обробки мультимедийной інформації. Користувальницький інтерфейс Windows 95 (з його "літаючими листками" і характерним дизайном вікон) став еталоном для розроблювачів GUI. Не випадково Microsoft значно продовжила строк підтримки Windows 98 для пользвоателей. Авторові, так само як і мільйонам інших розроблювачів, не хотілося "розставатися" з комфортним інтерфейсом Windows 95/98.

Значним рубежем у розвитку ОС став випуск в 2001 р. ОС Windows XP, що й у цей час, майже через 10 років (доповнена Service Packs 1, 2 й 3), є однієї з найбільше широко використовуваних ОС у світі. Кодова назва Windows XP – whistler (свистулька),очевидно, через характерну мелодію, що супроводжує вхід у системи й вихід їхньої системи. Windows XP популярна серед користувачів, завдяки зручному інсталятору, підвищеній надійності, зручному й естетичному користувальницькому інтерфейсу, розширеній підтримці драйверів пристроїв (починаючи з Windows XP, практично ніяких проблем із драйверами при установці нових пристроїв користувачі Windows не випробовують).

ОС Windows 2003 Server характерна насамперед своєю підвищеною безпекою - наприклад, браузер у цій системі явно запитує в користувача підтвердження надійності кожного конкретного нового сайту.

ОС Windows 2008 - серверна ОС зі зручними засобами конфігурування, зручною підтримкою мережі, підтримкою паралельного програмування. Випущена також її спеціальна версія Windows 2008 HPC - High Performance Computing, з розширеною підтримкою паралелізму.

Недавно на ринку ОС з'явилася Windows 7 - клієнтська ОС, по відкликаннях користувачів, досить надійна й зручна.

Такий лише дуже короткий перелік унікальних результатів фірми Microsoft в області операційних систем - за невеликий відрізок часу розроблено більше десятка клієнтського й серверних ОС сімейства Windows, значно підвищені їхня надійність і безпека, розширені користувальницькі можливості.

Найбільш значної представляється лінія розвитку ОС Windows NT - Windows 2000 - Windows XP - Windows 2003 - Windows Vista - Windows 2008 - Windows 7. Це сімейство ОС використає загальні принципи архітектури й загальну кодову базу (код ядра). Тому надалі в даній і наступній лекціях, розглядаючи принципи організації Windows 2000, ми фактично розглядаємо архітектуру всіх нових ОС сімейства Windows.

Принципи проектування Windows 2000 - розширюваність, переносимость, надійність, безпека, сумісність, продуктивність, підтримка інтернаціоналізації й локалізації.

Розширюваність. Windows 2000 має багаторівневу архітектуру. Ядро і його виконавча підсистема (executive), щовиконує в захищеному режимі, забезпечує базові системні сервисы. Поверх ядра реалізовані кілька серверних підсистем, що працюють у користувальницькому режимі. Модульна структура дозволяє додавати нові підсистеми оточення без модифікації ядра.

Переносимость.Завдяки своїм принципам проектування й архітектури, Windows 2000 може бути перенесена з однієї апаратної платформи на іншу з порівняно невеликими змінами. Система написана на мовах високого рівня - C й C++. Код, що залежить від процесора, ізольований у динамічно линкуемую бібліотеку (DLL), називану рівень абстрагування від апаратур - hardware abstraction layer (HAL).Ідея HAL була реалізована фірмою Microsoft, по визнанню її менеджерів, набагато раніше - при розробці в 1980-х рр. пакета Microsoft Office для різних апаратних платформ, включаючи Macintosh / MacOS (ОС Windows тоді ще не було). Ця ж ідея була використана й в Windows 2000, і ще пізніше - при реалізації академічної версії .NET - SSCLI (Rotor), що працює на трьох різних платформах.

Надійність. Windows 2000 використає апаратний захист для віртуальної пам'яті й програмні захисні механізми для ресурсів ОС.

Безпека. Як уже було сказано в попередніх лекціях, саме з поліпшення безпеки Windows 2000 була почата ініціатива trustworthy computing, і з тих пор у кожної нової ОС Microsoft приділяє особливу увагу безпеки.

Сумісність. Додатка, які розроблені з урахуванням вимог стандарту IEEE 1003.1 (POSIX), можуть компілюватися для Windows 2000 без змін у вихідному коді й виконуватися в середовищі Windows 2000.

Продуктивність. Підсистеми Windows 2000 можуть взаємодіяти один з одним за допомогою високопродуктивної передачі повідомлень. Переривання низкоприоритетных потоків дозволяє системі швидко реагувати на зовнішні події. Windows 2000 спроектована для підтримки симетричного мультипроцессирования.

Підтримка інтернаціоналізації (i18n) і локалізації (l10n).Windows 2000 підтримує різні мови й культурні середовища (locales)за допомогою спеціалізованих бібліотек - NLS API.

Архітектура Windows 2000

ОС Windows 2000 з погляду архітектури організована як багаторівнева система модулів. Система підтримує захищений (системний) режим, у якому виконуються HAL, ядро й виконавча підсистема (executive). У користувальницькому режимі виконується набір підсистем, серед яких - підсистеми оточення, эмулирующие різні ОС, з метою сумісності додатків. Підсистеми захистуреалізують різні функції безпеки.

Схема архітектури Windows 2000 наведена на рис. 27.1.

 

Рис. 27.1. Архітектура Windows 2000.

У наступній частині лекції розглянемо докладніше основні компоненти архітектури Windows 2000.

Ядро Windows 2000

Ядро в системі є основою функціонування виконавчої підсистеми (executive)і підсистем, виконуваних у користувальницькому режимі. Відмови сторінок у ядрі виключені. Його виконання ніколи не переривається.

Ядро виконує наступні основні функції:

· Планування потоків

· Обробка переривань і виключень

· Низкоуровневую синхронізацію процесів

· Відновлення після відмов електроживлення.

Особливо важливої й принципово нової в операційних системах особливістю є те, що ядро системи Windows - объектно-ориентированное. Ядро використає два набори об'єктів:

· Об'єкти-диспетчери -- об'єкти, що управляють диспетчеризацією й синхронізацією (події, мьютексы, семафори, потоки, таймери).

· Керуючі об'єкти- асинхронні виклики процедур, оброблювачі переривань, об'єкти нотифікації про електроживлення, об'єкти стану електроживлення, об'єкти профілювання.

Підтримка потоків і процесів у ядрі.Процес має адресний простір у віртуальній пам'яті, інформацію (наприклад, базовий пріоритет) і тісний зв'язок з одним або декількома процесами. Потоки – одиниці виконання, плановані диспетчером ядра. Кожен потік має свій власний стан, включаючи пріоритет, зв'язок із процесором і статистичною інформацією. Потік може бути в наступних станах: ready, standby, running, waiting, transitionй terminated.

Планування в ядрі.Диспетчер використає 32-уровневую схему пріоритетів для визначення порядку виконання потоків. Пріоритети розбиті на два класи:

· Клас real-time містить потоки із пріоритетами від 16 до 31.

· Клас variable містить потоки із пріоритетами від 0 до 15.

Характерними рисами стратегії пріоритетів Windows 2000 є наступні:

· Гарний час відповіді для потоків, що використають мишу й вікна.

· Надання можливості потокам, пов'язаним із вводом-виводом, забезпечувати зайнятість пристроїв вводу-виводу.

Планування виконується, коли потік переходить у стан ready або wait, коли потік завершується, або коли додаток змінює пріоритет потоку або зв'язок із процесором.

Потокам реального віддається перевага при виділенні процесора; але ОС не гарантує, що потік почне виконуватися протягом якого-небудь певного інтервалу часу (такий підхід відомий як soft real-time).

Обработка переривань у ядрі

Ядро забезпечує обробку переривань, якщо виключення й переривання генеруються апаратурами й програмним забезпеченням. Таким чином, в Windows 2000 уведені засоби обробки виключень (exceptions)– більше высокоуровневый механізм обробки помилок, чим сигнали в UNIX.

Виключення, які не можуть бути оброблені програмно, обробляються диспетчером виключеньядра ОС.

Диспетчер переривань у ядрі обробляє переривання або шляхом виклику підпрограми, що обслуговує переривання (наприклад, драйвера пристрою), або шляхом виклику внутрішньої підпрограми ядра.

Рівні запитів на переривання в Windows 2000 наведені в таблица 1.

Таблиця 1. Рівні запитів на переривання в Windows 2000
рівні переривань типи переривань
апаратний контроль або помилка шини
відмова електроживлення
межпроцессорная нотифікація (запит до активності іншого процесора, наприклад, для диспетчеризації або відновлення TLB - кэша сторінок
годинники (використається для відстеження часу
профіль
3-26 традиційні IRQ-переривання
диспетчеризація або відкладений виклик процедури (DPC) - ядро
асинхронний виклик процедури (АРС)
пасивно

Ядро використає блокировщики (spin locks,буквально – замки, що вертяться), що перебувають в основній пам'яті, для взаємного виключення процесів.





Последнее изменение этой страницы: 2016-07-11; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.238.107.166 (0.007 с.)