комп'ютерів, побудованих на базі мікропроцесорів Іntel 8086, а потім 80286, 80386 і 80486. Мультипрограмна загальнокористувальницька ОС UNІХ домінувала в середовищі "не-інтелівських" комп'ютерів, особливо побудованих на базі високопродуктивних RіSC-процесорів.
2.2.Класифікація операційних систем
В ОС є невелика кількість класифікацій: по призначенню, по режиму обробки задач, по способі взаємодії із системою і по способах побудови (архітектур):
а) ОС поділяються на однозадачні й багатозадачні. Однозадачні (DOS) можуть виконувати в один й той же час не більш однієї задачі, а багатозадачні (Wіndows 98/МЕ) здатні одночасно керувати декількома процесами, поділяючи між ними .потужність комп'ютера.
б) Ще один критерій - число користувачів ОС. ОС буває призначена для обслуговування одного користувача або розрахована на роботу з групою користувачів одночасно. Прикладом першої може служити усе та ж Wіndows 98/М Е, а другої - Wіndows NT/2000.
в) Розрядність. 16-розрядні ОС (DOS, Wіndows 3.1, Wіndows 3.11) пішли в минуле з появою 32-розрядних ОС (Wіndows 98/МЕ). 64-розрядних ОС для домашнього використання поки немає.
г) Спеціалізація призначення тієї або іншої ОС. Універсальних ОС не існує. Одна більш придатна для роботи в мережі, іншу виберуть програмісти, третю - домашні користувачі.
По режиму обробки задач розрізняють ОС, що забезпечують однопрограмний і мультипрограмний режими. Під мультипрограмою розуміється спосіб організації обчислень, коли на однопроцесорній обчислювальній системі створиться видимість одночасного виконання декількох програм. Мультипрограмний режим забезпечує рівнобіжне виконання декількох додатків і при цьому програмісти, що створюють ці програми, не повинні піклуватися про механізми організації їхньої рівнобіжної роботи. Ці функції бере на себе сама ОС, саме вона розподіляє між додатками, що виконують ресурси обчислювальної системи, здійснює необхідну синхронізацію обчислень і взаємодію. Мультизадачний режим навпаки, що рівнобіжне виконання і взаємодію додатків лягає саме на прикладних програмістів.
В мультитермінальних ОС з однією обчислювальною системою одночасно можуть працювати кілька користувачів, кожний зі свого термінала. Для організації мультитермінального доступу до обчислювальної системи необхідно забезпечити мультипрограмний режим роботи. У якості одного з прикладів мультитермінальних ОС для ПК можна назвати Linux.
Основною особливістю ОС реального часу (ОСРЧ) є забезпечення обробки завдань, що надходять протягом заданого інтервалу часу, який не можна перевищувати. Потік завдань у загальному випадку не є планомірним і не може регулюватися оператором, тобто завдання надходять у непередбачені моменти часу і без усякої черговості. В ОС не призначених для рішення задач реального часу, маються деякі накладні витрати процесорного часу на етапі ініціювання (при виконанні якого ОС розпізнає всі побажання користувачів щодо рішення своєї задачі, завантажує в ОП потрібну програму і виділяє необхідні для її виконання ресурси). Мультипрограмування є основним засобом підвищення продуктивності обчислювальної системи, а для рішення задач реального часу продуктивність стає найважливішим фактором. Однієї з найбільш відомих ОСРЧ для ПК є ОС QNX.
По основному архітектурному принципі ОС розділяються на мікроядерні і монолітні. До деякої міри цей розподіл теж умовний, однак можна в якості прикладу мікроядерної ОС привести ОСРЧ QNX, тоді як у якості монолітної можна назвати Windows 95/98 чи ОС Linux. Ядро ОС Windows ми не можемо змінити, нам не доступні його вихідні коди й у нас немає програми для зборки (компіляції) цього ядра. А от у випадку з Linux ми можемо самі зібрати ядро, що нам необхідно, включивши в нього ті необхідні програмні модулі і драйвери, що ми вважаємо за доцільне включити саме в ядро (а не звертатися до них з ядра).
2.3. Функції ОС та характеристики ОС
Функції ОС
Контроль працездатності устаткування ПК.
Виконання процедури початкового завантаження.
Управління роботою усіх пристроїв ПК.
Управління файловою системою.
Взаємодія користувача з ПК.
Завантаження виконання прикладних програм.
Розподіл ресурсів ПК.
Головні характеристики сучасних ОС.
Багатозначність (здатність забезпечувати одночасне використання деяких проблем).
Розвинутий графічний користувальний інтерфейс.
Використання всіх можливостей, які надаються сучасним мікропроцесорам.
Стійкість в роботі і захищеність.
Повна незалежність від апаратури.
Суміжність всіх додатків розроблених для MS-DOS.
До сучасних ОС відносяться:
Windows 90-x
Windows XX
Windows NT-New Technology фірми MS.
OS/2 Warp фірми IBM.
Conic.
2.4. ОС як віртуальна машина
Якби програміст працював безпосередньо з апаратурою комп'ютера, без участі ОС, то для організації читання блоку даних з диска програмісту довелося б використовувати більш десятка команд із указівкою безлічі параметрів: номера блоку на диску, номера сектора на доріжці і т.п. А після завершення операції обміну з диском він повинний був би передбачити у своїй програмі аналіз результату виконаної операції. З огляду на те, що контролер диска здатний розпізнавати більш двадцяти різних варіантів завершення операції, можна вважати програмування обміну з диском на рівні апаратури не самою тривіальною задачею. Не менш обтяжно виглядала б і робота користувача, якби йому для читання файлу з термінала треба було задавати числові адреси доріжок і секторів.
ОС рятує програмістів не тільки від необхідності прямо працювати з апаратурою дискового накопичувача, надаючи їм простий файловий інтерфейс, але і бере на себе всі інші рутинні операції, зв'язані з керуванням іншими апаратними пристроями комп'ютера: фізичною пам'яттю, таймерами, принтерами і т.д.
У результаті реальна машина, здатна виконувати тільки невеликий набір елементарних дій, обумовлених її системою команд, перетворюється у ВМ, що виконує широкий набір набагато більш могутніх функцій. ВМ теж керується командами, але це вже команди іншого, більш високого рівня: видалити файл із визначеним ім'ям, запустити на виконання деяку ПП, підвищити пріоритет задачі, вивести текст із файлу на друк. Таким чином, призначення ОС складається в наданні користувачу/програмісту деякої розширеної ВМ, що легше програмувати і з якою легше працювати, ніж