ЗНАЕТЕ ЛИ ВЫ?

Класифікація комп'ютерних архітектур



Комп'ютерні системи відрізняються між собою не тільки по своїх параметрах і своєму призначенні, але й по своїх внутрішніх архітектурних принципах. Найбільш відомі наступні підходи до архітектури комп'ютерних систем.

CISC (Complicated Instruction Set Computers – комп'ютери з ускладненою системою команд) –історично перший підхід до комп'ютерної архітектури, суть якого в тім, що в систему команд комп'ютера включаються складні по семантиці операції, що реалізують типові дії, часто використовувані при програмуванні й при реалізації мов – наприклад, виклик рекурсивних процедур й автоматичне відновлення дисплеїв-регістрів, групові операції пересилання рядків і масивів й ін. Типовими представниками CISC -комп'ютерів були: із закордонних комп'ютерних систем – машини серії IBM 360/370. В IBM 360, наприклад, була реалізована команда MVC (move characters), що виконувала пересилання масиву символів (рядка) з однієї області пам'яті в іншу, причому адреси джерела, одержувача й довжина пересилає строки, що задавалися в регістрах. З одного боку, зрозуміле прагнення авторів CISC-архітектур зробити апаратуру як можна більше "розумною". З іншого боку, тверде "вшиття" складних алгоритмів виконання команд в "залізо" приводило до того, що апаратура виконувала щораз деякий загальний алгоритм команди, що вимагав десятків або навіть сотень тактів процесора, але оптимізувати виконання цих команд із використанням конкретної інформації про довжину рядка, непрямої ланцюжка й т.д. можливості не було. Інший недолік CISC-архітектури у тім, що подібні групові операції на час їхнього виконання фактично припиняли роботу конвеєра (pipeline).

RISC (Reduced Instruction Set Computers – комп'ютери зі спрощеною системою команд) –спрощений підхід до архітектури комп'ютерів, запропонований на початку 1980-х рр. професором Дэвидом Паттерсоном (університет Беркли, США) і його студентом Дэвидом Дитцелом (згодом – великим ученим, керівником компанії Transmeta). Приклади сімейств RISC -комп'ютерів: SPARC, MIPS, PA-RISC, PowerPC. Принципи даного підходу: спрощення семантики команд, відсутність складних групових операцій (які можуть бути реалізовані послідовностями команд, що містять цикли); однакова довжина команд (32 біта – архітектура була розроблена розраховуючи на 32-бітові процесори); виконання арифметичних операцій тільки в регістрах і використання спеціальних команд зчитування з пам'яті в регістр і записи з регістра на згадку; відсутність спеціалізованих регістрів (наприклад, дисплеїв-регістрів для адресації доступних областей локальних даних у стеці); використання великого набору регістрів ( регістрового файлу ) загального призначення – 512, 1024, 2048 регістрів і т.д., залежно від конкретної моделі процесора; передача при виклику процедур параметрів через регістри. Подібна архітектура дає широкий простір для оптимізації, виконуваних компіляторами, що й демонструють компілятори Sun Studio розробки фірми Sun / Oracle для ОС Solaris й Linux. RISC-архітектура дотепер використається при розробці нових комп'ютерів.

VLIW (Very Long Instruction Word – комп'ютери із широким командним словом) –підхід до архітектури комп'ютерів, що зложився в 1980-х – 1990-х рр. Основна ідея даного підходу – статичне планування паралельних обчислень компіляторомна рівні окремих послідовностей команд і подкоманд. При даній архітектурі кожна команда є " широкою" (long) імістить декілька підкоманд, виконуваних паралельно за один машинний такт на декількох однотипних пристроях процесора – наприклад, у такому комп'ютері може бути два пристрої додавання, два логічних пристрої, два пристрої для виконання переходів і т.д. Завданням компілятора є оптимальне планування завантаження всіх цих пристроїв у кожному машинному такті й генерація таких (широких) команд, які дозволили б оптимально завантажити на кожному такті кожне із пристроїв. Достоїнством такої архітектури є можливість распараллеливания обчислень, недоліком – складність (у порівнянні з RISC -архітектурою). Приклади комп'ютерів таких архитектур: із закордонних - комп'ютери Cray X/MP, Cray Y/MP й ін., розроблені Сеймуром Креем (Cray) і його фірмою Cray Research.

EPIC (Explicit Parallelism Instruction Computers – комп'ютери з явним распараллеливанием) –по архітектурі аналогічні VLIW, але з додаванням ряду важливих удосконалень: наприклад, спекулятивнихобчислень – паралельного виконання обох віток умовної конструкції з обчисленням умови. Підхід зложився й використається з 1990-х рр. Приклади процесорів даної архітектури - Intel IA-64, AMD-64.

Multi-core computers (багатоядерные комп'ютери) –архітектура комп'ютерів, яка одержала найбільш широка популярність, при якій кожен процесор має кілька ядер (cores), об'єднаних в одному кристалі й паралельно працюючих на одній і тій же загальній пам'яті, що дає широкі можливості для паралельних обчислень. У цей час відомі багатоядерныепроцесори фірми Intel (Core 2 Duo, Dual Core й ін.), а також потужні багатоядерныепроцесори фірми Sun / Oracle: Ultra SPARC-T1 ("Niagara")- 16-ядерний процесор ; Ultra SPARC-T2 ("Niagara2")– 32-ядерний процесор. Всі провідні фірми миру зайняті розробкою й випуском усе могутніших багатоядернихпроцесорів.

Hybrid processor computers (комп'ютери з гібридними процесорами)– новий, що усе ширше поширюється підхід до архітектури комп'ютерів, при якому процесор має гібриднуструктуру – складається з ( багатоядерного ) центрального процесора (CPU)і (також багатоядерного ) графічного процесора (GPU – Graphical Processor Unit ). Така архітектура була розроблена, у зв'язку з необхідністю паралельної обробки графічної й мультимедийной інформації, що особливо актуально для комп'ютерних ігор, перегляді на комп'ютері високоякісного цифрового відео й ін. Гібридна архітектура є новим "інтелектуальним викликом" для розроблювачів компіляторів, яким необхідно розробити й реалізувати адекватний набір оптимизацій як для центральних, так і для графічних процесорів. Прикладами таких архитектур є нові процесори фірми AMD, а також графічні процесори серії Tesla фірми NVidia.

Основні компоненти операційної системи

Ядро (kernel) –низькорівнева основа будь-якої операційної системи, виконувана апаратурою в особливому привілейованому режимі. Ядро завантажується в память один раз і перебуває в пам'яті резидентно– постійно, по тим самим адресах.

Підсистема керування ресурсами (resource allocator)– частина операційної системи, що управляє обчислювальними ресурсами комп'ютера - оперативною й зовнішньою пам'яттю, процесором й ін.

Керуюча програма (control program, supervisor) –підсистема ОС, що управляє виконанням інших програм і функціонуванням пристроїв вводу-виводу.


Лекція 2 ІсторіяОС. Діалекти UNIX. Режими пакетної обробки, мультипрограмування, розділу часу

План

1. Історія ОС

2. Діалекти UNIX

3. Особливості операційних систем для компьютерів загального призначення (mainframes)

4. Расподіл пам'яті в однозадачній ОС з пакетною обробкою завдань

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

6. Режим разподілу часу и особливості ОС з режимом разподілу часу

Історія ОС

У ранніх mainframe-комп'ютерах (1940-1950 р.), першим з яких був комп'ютер ENIAC (1947 р., США), операційні системи були відсутні. Звертання до пам'яті в цих комп'ютерах здійснювалося по реальним (фізичним) адресах, а звертання до зовнішніх пристроїв (наприклад, до пристрою вводу з перфокарт або накопичувача на магнітній стрічці) здійснювалося спеціальними командами, також по фізичних адресах. Зрозуміло, подібний спосіб взаємодії з комп'ютером був дуже незручний. Була потрібна хоча б мінімальна автоматизація. Для цього в 1950-х – 1960-х рр. – були створені диспетчери (dispatchers)- попередники ОС, системні програми, що управляли проходженням пакета завдань, що вводять із перфокарт. Програма- диспетчеркопіювала образ уведеної колоди перфокарт із завданням на стрічку уведення, на якій зберігалися всі образи завдань у хронологічному порядку їхнього уведення, незалежно від необхідних для них ресурсів – часу й обсягу пам'яті. Диспетчерздійснював запуск завдань по черзі, за принципом FIFO (First-In-First-Out)– у порядку надходження. Вибираючи із черги деяке завдання, диспетчеррозміщав його в пам'яті й запускав. По закінченні завдання (або при його перериванні внаслідок помилки) на друкувальний пристрій видавалася роздруківка результатів. Потім керування передавалося наступному завданню. Такий режим доступу до комп'ютера був, звичайно, набагато зручніше, ніж робота з пульта. Недоліки його в тім, що, по-перше, програми пропускалися по черзі (була відсутня одночасна обробка декількох завдань), по-друге, ресурси, необхідні для виконання завдання, ніяк не враховувалися, і програма, що вимагає для виконання всього 1 хв., повинна була очікувати завершення великого завдання, що вимагала для виконання, наприклад, п'яти годин, - тільки тому, що остання була раніше уведена в систему.

В 1960-х - 1970-х рр. були розроблені класичні операційні системи, які усе більше й більше ускладнювалися. Усе більше складними ставали їхні системи файлів й інші компоненти ОС. Найбільш відомі з операційних систем цього періоду: серед закордонних - ATLAS, MULTICS, OS IBM/360, серед вітчизняних - ОС ДИСПАК для ЕОМ БЭСМ-6. Для класичних операційних систем були характерні наступні основні можливості:

1. мультипрограмування (multi-programming) - одночасна обробка декількох завдань;

2. пакетна обробка (batch mode) - обробка пакета завдань, уведених з перфокарт або з терміналів, з урахуванням їх пріоритетів і необхідних ресурсів

3. поділ часу (time sharing) - паралельна робота декількох користувачів з терміналів (телетайпів або дисплеїв), що управляли проходженням своїх завдань, що виконували їхнє уведення в текстових редакторах, компіляцію, виконання й налагодження;

4. керування процесами - паралельне (або поперемінне, якщо комп'ютер був однопроцесорним) виконання користувальницьких процесів; можливість явного запуску паралельного процесу.

Розробка кожної операційної системи для кожної нової моделі комп'ютера вимагала багатьох років напруженої висококваліфікованої роботи. При цьому кожна ОС спочатку розроблялася на низькорівневій мові – мові асемблера. Тому ще в 1960-х рр. виникла ідея розробки мобільних (які можна переносити) ОС– операційних систем, які могли б використатися на декількох сімействах комп'ютерів шляхом переносу їхнього коду (можливо, з невеликими змінами) з більше старих моделей на більше нові. Помітимо, що термін мобільнийвикористається тут в іншому розумінні, відмінному від того, до якого ми звикли нині ( мобільні телефони й операційні системи для них).

Перша мобільна ОСбула розроблена в 1970 р. Брайаном Керниганом (B. Kernighan) і Деннисом Ритчи (D. Ritchie) у фірмі AT & T й одержала назву UNIX. Навіть у самій її назві закладено свого роду протиставлення MULTICS (multi - багато, uni – один) – остання відома своєю ускладненістю. Цією назвою автори підкреслювали основну ідею UNIX – уніфікаціюй спрощенняподання файлів й операцій над ними (в UNIX файл – це послідовність байтів), користувальницьких програм і процесів. Уніфікованим, не залежним від цільової апаратної платформи, був також вихідний код UNIX, що був повністю написаний на спеціально розробленій новій мові Си (основними авторами Си, як й UNIX, є Б. Керниган і Д. Ритчи). Використання мови високого рівня для розробки UNIX було революційним кроком в історії ОС і дозволило, по-перше, значно прискорити й полегшити розробку, по-друге – перенести UNIX на багато моделей комп'ютерів (для яких при цьому, зрозуміло, необхідно було розробити компілятор з мови Си). Уперше система UNIX була використана в 1970 р. на мінікомп'ютері PDP-10. Комп'ютери фірми PDP зразка початку 1970-х рр. прийнято відносити до класу мінікомп'ютерів. Хоча дана назва із сучасної точки зору не цілком правомірно: такий комп'ютер займав ... дві невеликих шафи, у порівнянні з mainframe-комп'ютером зразка 1960-х рр., що займали цілий зал. Обсяг оперативної пам'яті мінікомп'ютерів становив усього порядку 32 кілобайт (!). Однак на них успішно працювала ОС UNIX (були й інші ОС - наприклад, RSX-11), був компілятор з мови Паскаль, була реалізована зручна система файлів і програма для роботи з ними, були доступні математичні бібліотеки програм.

На початку 1980-х років з'явилися персональні комп'ютери. Операційні системи для них фактично повторили у своєму розвитку операційні системи для комп'ютерів загального призначення: у них були використані аналогічні ідеї й методи. Однак перші персональні комп'ютери були менш потужними, чим mainframes, як по обсязі пам'яті, так і по швидкодії й розрядності мікропроцесора. Перший розповсюджений мікропроцесор фірми Intel був 8-розрядним, і для нього була розроблена також 8-розрядна операційна система CP/M. В 1975 р. була створена фірма Microsoft, і її першою розробкою була 16-розрядна операційна система MS DOS для персональних комп'ютерів із процесорами Intel 8086 (або, коротко, x86). У командній мові MS-DOS почувається явний вплив UNIX, однак MS-DOS надає набагато менші можливості командної мови.

На початку 1980-х рр. фірма Apple випустила персональні комп'ютери Lisa й Macintosh з операційною системою MacOS. Її характерною рисою була реалізація зручного графічного користувальницького інтерфейсу (GUI)у вигляді вікон, меню, "іконок" і багатьох інших елементів GUI, до яких ми з Вами нині так звикли. MacOS стала першої ОС із розвинутою підтримкою GUI (для порівняння, MS-DOS надавала можливості роботи безпосередньо командною мовою).

Наприкінці 1980-х - початку 1990-х рр., під впливом MacOS, Microsoft розробила графічну оболонку Windows над операційною системою MS-DOS. Перша версія Windows, таким чином, ще не була операційною системою; вона запускалася командою winз командної мови MS-DOS. Однак багато сучасних рис GUI, характерних для Windows, що стали "рідними" для користувачів Windows. Потім були випущені Windows 3.x й Windows for Workgroups (уже операційні системи), в 1995 р. - Windows 95 (з розвиненими мультимедийными можливостями, більшим набором убудованих драйверів для різних пристроїв і підтримкою механізму Plug-and-Play підключення нового пристрою без зупинки комп'ютера) і Windows NT з розвиненими мережними можливостями й підвищеною надійністю. Саме Windows NT стала основою для наступного розвитку Windows. У цей час найбільш популярними моделями Windows є Windows XP (підтримка якої фірмою Microsoft уже завершується - система випущена в 2001 р.), Windows 2003 Server, , Windows 2008 Server й Windows 7, Windows 8.

В початку 1990-х рр. з'явилася перша версія ОС Linux (ОС типу UNIX з відкритими вихідними кодами ядра), що поступово придбала значну популярність, але, головним чином, використається на серверах. Більшість клієнтів (користувачів) у світі віддають перевагу на своїх комп'ютерах Windows або MacOS (помітимо, що, наприклад, у США й Канаді комп'ютери Macintosh більше популярні, чим Windows-машини із процесорами Intel або їхніми аналогами).

Не будемо також забувати, що у відповідь на такий, на перший погляд, просте питання: "Яка ОС сама популярна у світі?" навіть співробітники Microsoft не відповідають "Windows". Справа в тому, що найбільш популярними у світі комп'ютерними пристроями є не настільні або портативні комп'ютери, а більше дешеві й компактні мобільні телефони, для яких першість утримувала спеціалізована ОС сімейства Symbian, що, зокрема, використовується в більшості мобільних телефонів найбільшої фірми Nokia. Операційну систему Symbian активно доганяє на ринку ОС для мобільних пристроїв нова ОС Google Android. Так що, операційні системи сімейства Windows по своїй поширеності виявляються лише на другому місці.

Діалекти UNIX

Одним з найбільше широко використовуваних сімейств операційних систем з 1970-х рр. є UNIX. Існують сотні діалектів UNIX. Всі вони мають ряд загальних можливостей, у тому числі - потужні командні мови й розвинені системні бібліотеки. Однак всі вони трохи відрізняються друг від друга. Фактично більшість великих фірм в області ІТ розробили або розробляють власні діалекти UNIX. Серед них найбільш відомі наступні.

· Berkeley Software Distribution (BSD), у цей час - FreeBSD (University of Berkeley) - один з найбільш відомих діалектів UNIX, розроблений в Університеті Беркли, США. У ньому вперше були реалізовані мережні сокеты. Саме цей діалект був покладений в основу першої версії ОС Solaris фірми Sun (Solaris 1.x) при її створенні в 1982 р. Один з авторів даного діалекту - Білл Джой (Bill Joy), один із чотирьох легендарних творців фірми Sun.

· System V Release 4 (SVR4) - діалект UNIX, розроблений у фірмі AT&T. Для нього найбільш характерні розширені можливості паралельного багатопоточного програмування (multi-threading). Даний діалект був покладений в основу другої версії ОС Solaris (Solaris 2.x) фірми Sun на початку 1990-х років.

· Linux (RedHat, SuSE, Mandrake, Caldera, Debian, Fedora й ін.) – ОС типу UNIX з вільно розповсюджуваним ядром з вихідними кодами. Перша версія Linux була розроблена на початку 1990-х рр. У цей час діалекти Linux активно використаються як серверні ОС(ОС, що управляють роботою всіляких серверів), а також як основа для розробки ОС для мобільних пристроїв.

· Solaris (Sun Microsystems, нині - Oracle / Sun) - один з найбільш відомих і розвинених діалектів UNIX. Має зручну графічну оболонку, розвинені засоби паралелізму й синхронізації процесів, зручні мережні можливості (зокрема, класичну мережну файлову систему NFS), ряд нових оригінальних файлових систем (зокрема, ZFS - файлова система з більшим розміром файлів і можливістю криптования інформації). У цей час поширюється ОС Solaris 10.

· IRIX (Silicon Graphics) - діалект UNIX, розроблений фірмою Silicon Graphics (SGI), США, широко відомим виробником графічних робочих станцій.

· HP-UX (Hewlett-Packard) - діалект UNIX, розроблений і використовуваний однією з найбільших "акул" у світі ІТ - фірмою Hewlett-Packard.

· Digital UNIX (DEC) - діалект UNIX, розроблений на початку - середині 1990-х рр. фірмою Digital Equipment Corporation (DEC), згодом придбаною фірмою Compaq. Перша версія UNIX, що підтримувала 64-розрядні процесори.





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

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