2. Системне програмне забезпечення
Системне програмне забезпечення – це комплекс програм, які забезпечують ефективне управління компонентами обчислювальної системи, такими як процесор, оперативна пам'ять, канали введення-виведення, мережеве й комунікаційне устаткування тощо. Системне ПЗ реалізує зв'язок апаратного і програмного забезпечення, виступаючи як інтерфейс між апаратурою та програмами (applications) користувача. Воно розробляється так, щоб комп'ютер міг ефективно виконувати прикладні програми.
Цей клас програмного забезпечення поділяють на такі види:
базове, до якого належать операційні системи;
сервісне, що містить програми діагностики працездатності комп'ютера, драйвери, антивірусні програми, програми обслуговування дисків, програми архівування даних, програми обслуговування мереж.
Базове програмне забезпечення
Операційні системи
Операційна система (ОС) – комплекс взаємопов'язаних програм, який забезпечує керування апаратними і програмними ресурсами комп'ютера та їх взаємодію з іншими програмними засобами, організує роботу з файлами, а також реалізує взаємодію з користувачем.
ОС є своєрідним "посередником". Ця посередницька функція ОС полягає у забезпеченні декількох видів інтерфейсу, а саме:
інтерфейсу між користувачем і програмно-апаратними засобами комп'ютера (інтерфейс користувача);
інтерфейсу між програмним та апаратним забезпеченням (апаратно-програмний інтерфейс);
інтерфейсу між різними видами програмного забезпечення (програмний інтерфейс).
ОС, виконуючи функцію посередника, служить двом цілям:
ефективно використовувати комп'ютерні ресурси;
створювати умови для ефективної роботи користувача.
Як ресурси комп'ютера розглядають час роботи процесора, адресний простір основної пам'яті, пристрої введення-виведення, файли, що зберігаються у зовнішній пам'яті.
Операційна система зазвичай зберігається у зовнішній пам'яті комп'ютера – на диску. При ввімкненні комп'ютера вона зчитується з дискової пам'яті й розміщується в оперативному запам'ятовуючому пристрої. Цей процес називається завантаженням операційної системи.
Класифікація ОС
Від ефективності алгоритмів керування локальними ресурсами комп'ютера багато в чому залежить ефективність всієї ОС. Тому, характеризуючи ОС, розглядають найважливіші особливості реалізації функцій ОС з керування процесорами, пам'яттю, зовнішніми пристроями комп'ютера. Наприклад, залежно від особливостей використаного алгоритму керування процесором операційні системи поділяють на багато- й однозадачні, багато- й однокористувацькі та ін.
Залежно від кількості одночасно виконуваних завдань ОС поділяють на одно- (наприклад MS-DOS), які передають усі ресурси обчислювальної системи одній виконуваній програмі, та багатозадачні, що розв'язують проблеми розподілу ресурсів і конкуренції (Unix, OS/2, Windows). Останні забезпечують можливість одночасної або почергової роботи декількох програм, обміну даними між програмами, спільного використання програмних, апаратних, мережевих та інших ресурсів обчислювальної системи декількома програмами.
Залежно від кількості одночасно працюючих користувачів серед ОС виокремлюють однокористувацькі (MS-DOS, Windows 3.x) та багатокористувацькі (Windows NT, Unix). Головною відмінністю багатокористувацьких систем від однокористувацьких є наявність засобів захисту інформації кожного користувача від несанкціонованого доступу інших користувачів.
Донедавна обчислювальні системи мали один центральний процесор. З підвищенням вимог до продуктивності з'явилися багатопроцесорні системи, що складаються із двох і більше процесорів та здійснюють паралельне виконання команд. Підтримка мультипроцесорної обробки є важливою властивістю ОС і приводить до ускладнення всіх алгоритмів керування ресурсами. Вона реалізована в таких ОС, як Linux, Solaris, Windows NT та ін.
Функції операційних систем
ОС реалізує різні функції, серед яких:
взаємодія з користувачем;
розподіл апаратних ресурсів між користувачами;
забезпечення безпеки, що дає можливість працювати із загальними даними в режимі колективного користування; забезпечує захист системи, даних користувача й програм від зловмисних дій користувачів або програм. Розмежування прав доступу й багатокористувацький режим роботи (аутентифікація, авторизація);
відновлення інформації й обчислювального процесу в разі збою;
забезпечення ефективного виконання операцій введення-ви-ведення;
передача інформації між різними внутрішніми пристроями;
робота в мережі.
Зазначені функції реалізуються компонентами операційної системи, серед яких основними є:
ядро, що забезпечує програмам координований доступ до ресурсів комп'ютера;
мережева та файлова підсистеми;
підсистема керування процесами й пам'яттю;
підсистема введення-виведення;
системні бібліотеки та оболонки з утилітами.
Файлова система
Файлова система (ФС) – це частина ОС, призначена організувати ефективну роботу з даними, що зберігаються в зовнішній пам'яті, і забезпечити користувачеві зручний інтерфейс роботи з ними. Організувати зберігання інформації на магнітному диску непросто. Безпосередню взаємодію з диском виконують компоненти системи введення-виведення (драйвер диска). Щоб позбавити користувача комп'ютера складнощів взаємодії з апаратурою, було створено зрозумілу абстрактну модель ФС. Операції запису або читання файлу концептуально простіші, ніж низькорівневі операції роботи з пристроями.
Файлова підсистема забезпечує уніфікований інтерфейс доступу до даних, розташованих на дискових накопичувачах, і до периферійних пристроїв, контролює права доступу до файлу, виконує операції розміщення й видалення файлу, а також виконує запис/читання даних файлу. Оскільки більшість прикладних функцій виконується через інтерфейс ФС, права доступу до файлів визначають привілеї користувача у системі.
Проте не всі ФС прямо пов'язані з носієм інформації. Є віртуальні й мережеві файлові системи, які слугують лише способом доступу до файлів, що містяться на віддаленому комп'ютері.
Обслуговує файли спеціальний модуль операційної системи – драйвер файлової системи. Він забезпечує доступ до інформації за іменем файлу й розподіляє простір носія між файлами.
Принцип організації ФС табличний. Поверхня жорсткого диска розглядається як тривимірна матриця, вимірами якої є номери поверхні, циліндра й сектора. Циліндр розглядають як сукупність усіх доріжок, що належать різним поверхням і рівновіддалені від осі обертання.
Дані про те, в якому місці диска записаний той чи інший файл, зберігаються у системній області диска. Формат службових даних визначається конкретною файловою системою. Порушення цілісності службових відомостей приводить до неможливості скористатися даними, записаними на диску. Тому до системної області пред'являються особливі вимоги щодо надійності. Цілісність, несуперечність і надійність цих даних регулярно контролюють засоби ОС.
На якому етапі та яким чином відбувається створення ФС на диску, розглянемо далі.
Форматування дисків
Кожен магнітний диск перед початком експлуатації розмічають, або форматують. Форматування необхідне для того, щоб підготувати диск до роботи, створити на ньому потрібні інформаційні структури. Форматують або нові диски, на які ще нічого не було записано, або проблемні. Така операція повністю знищує всю, раніше записану на диск, інформацію. Процес форматування складається із двох етапів.
На першому етапі, який називається форматуванням низького рівня, весь диск поділяється на логічні ділянки – сектори, зазвичай розміром по 512 байт кожен. Усі сектори нумеруються від нуля до певного максимального значення, обумовленого ємністю конкретного диска. Сектор – це частина доріжки гнучкого або жорсткого магнітного диска, на якій записані дані. Сектор є мінімальною одиницею пам'яті, що має свою адресу. Групи секторів поєднуються у кластери. Розмір кластера, на відміну від розміру сектора, чітко не фіксований і містить декілька сусідніх секторів.
На другому етапі – форматуванні високого рівня – на диск записується різна службова інформація, створюється основа файлової системи.
З метою зменшення втрат дискового простору один великий диск розбивають на кілька логічних дисків меншого обсягу, які називають томами (volumes). Поняття диска і тому часто використовують як синоніми, хоча це не зовсім коректно. Термін "диск" більше пов'язаний з фізичним носієм інформації, із середовищем збереження й електронікою керування пристроєм, а термін "том" – з логічною структурою даних на диску, з ФС.
Коли загальний простір доступних секторів диска поділяється на певні неперервні фрагменти, це називається розбивкою на розділи (partition). Коли, крім цього, у розділах створюються всі необхідні для окремих дисків інформаційні структури, розділи стають томами. Розбивка диска на розділи відбувається під час форматування низького рівня, створення дискових томів – під час форматування високого рівня. Це здійснюється такими програмами, як Partition magic.
Для кожного тому створюються свої окремі інформаційні структури. Таке розбиття на логічні томи має дві переваги. По-перше, блоки, які об'єднують декілька послідовних секторів, менші, а отже, втрати дискового простору менші. По-друге, при виникненні серйозних проблем з певним томом і потребою застосування радикальних заходів щодо наведення порядку на ньому можна видалити інформацію з цього тому, нічого не змінюючи в інших томах.
Перш ніж описувати структуру даних файлової системи на диску, коротко розглянемо методи виділення дискового простору та способи обліку вільної і зайнятої дискової пам'яті.
Ключовим є таке питання: який тип структур використовується для обліку окремих блоків файлу, тобто який спосіб зв'язування файлів із блоками диска? Для кожного з методів запис у директорії, який відповідає символьному імені файлу, містить покажчик, слідуючи за яким можна знайти всі блоки даного файлу.
Виділення неперервної послідовності блоків, тобто кожен файл зберігається як неперервна послідовність блоків диска. Переваги: по-перше, легко реалізувати, оскільки з'ясування місцезнаходження файлу зводиться до питання, де перебуває перший блок; по-друге, забезпечує хорошу продуктивність, оскільки цілий файл може бути зчитаний за одну дискову операцію. Недолік – зовнішня фрагментація, тобто не завжди є підходящий за розміром вільний фрагмент для нового файлу.
Зв'язний список. При такому способі виділення дискового простору кожен блок містить покажчик на наступний блок. Проблеми фрагментації немає, але є низка недоліків: по-перше, при прямому доступі до файлу для пошуку і-го блока потрібно здійснити кілька звернень до диска, послідовно зчитуючи блоки від 1 до і-1; по-друге, спосіб не дуже надійний. Дефектний блок у списку призводить до втрати інформації в іншій частині файлу. У чистому вигляді не використовується .
Таблиця розміщення файлів. Спосіб зберігання покажчиків не в дискових блоках, а в індексній таблиці в пам'яті. Переваги підходу: за таблицею відображення можна судити про фізичне сусідство блоків, що розташовуються на диску і при виділенні нового блока можна легко знайти вільний блок диска, що розміщений поблизу інших блоків даного файлу. Недолік: потреба зберігання в пам'яті цієї досить великої таблиці. Використовується в ОС OS/2, MS Windows та ін.
4. Індексні вузли. Виконується зв'язування з кожним файлом невеликої таблиці – індексного вузла, що перелічує атрибути й дискові адреси блоків файлу. Переваги: дає змогу підтримувати роботу з файлами, розмір яких може змінюватися від декількох байтів до декількох гігабайтів.
Керування вільним і зайнятим дисковим простором відбувається кількома способами:
облік за допомогою організації бітового вектора. Кожен блок представлений одним бітом, що набуває значення 0 або 1, залежно від того, зайнятий він чи вільний. Цей підхід ефективний при знаходженні першого вільного блока або n послідовних блоків на диску;
облік за допомогою організації зв'язного списку. Зв'язують у список усі вільні блоки, розміщуючи покажчик на перший вільний блок у спеціально відведеному місці диска.
Розмір логічного блока відіграє важливу роль. У деяких системах він може бути заданий при форматуванні диска. Невеликий розмір блока приводитиме до того, що кожен файл міститиме велику кількість блоків. Читання блока здійснюється із затримками на пошук та обертання, таким чином, файл, який містить багато блоків, буде читатися повільно. Великі блоки забезпечують вищу швидкість обміну з диском, але завдяки внутрішній фрагментації (кожен файл займає ціле число блоків і в середньому половина останнього блока пропадає) знижується відсоток корисного дискового простору.
Структура системи FAT
FAT (від англ. file allocation table – таблиця розміщення файлів) – файлова система, в якій логічний дисковий простір будь-якого логічного диска поділяється на дві області: системну та область даних.
Системну область формують такі компоненти, як:
завантажувальний запис;
зарезервовані сектори;
таблиці розміщення файлів;
кореневий каталог.
Для зберігання файлів увесь доступний для них простір розбивається на кластери. Таблиця розташування файлів містить комірки, кожна з яких вказує на певний кластер на жорсткому дискові. Якщо кластер належить файлу, то його комірка містить номер наступної комірки цього самого файлу. Якщо комірка вказує на кінець файлу, вона містить значення "FFFF". Незадіяні кластери позначені нулем, "погані" – спеціальним кодом.
Оскільки система FAT зберігає дані про файли й дані про вільне місце на диску в одній таблиці, то операція запису файлу відбувається шляхом додавання блока в перелік зайнятих та виключення цього самого блока зі списку вільних за одну дію. Завдяки цьому система FAT має стійкість до збоїв, тобто збій у момент виконання операції над файлом (наприклад вимкнення живлення) не приведе до втрати або пошкодження даних.
Є декілька версій FAT, які відрізняються кількістю біт, відведених для зберігання номера кластера. FAT12 застосовується в основному для дискет, FAT16 – для дисків малого обсягу. FAT32 є незалежною 32-розрядною файловою системою. Принципова відмінність FAT32 – ефективніше використання дискового простору, тобто кластери мають менший розмір.
ExFAT (extended FAT – розширена FAT) – файлова система, призначена для флеш-накопичувачів та операційних систем від Microsoft у тих випадках, коли використання інших ФС (FAT і NTFS) не доцільне. Основними перевагами перед іншими версіями FAT є: ліміт на розмір файла 264 байт (16 ексабайт); максимальний розмір кластера збільшений до 225 байт (32 мегабайти); поліпшено розподіл вільного місця за рахунок введення біт-карти вільного місця, що зменшує фрагментацію диска; прибрано ліміт на кількість файлів в одній директорії; введено підтримку списку прав доступу; введено підтримку транзакцій.
Підтримка exFAT є у Windows ХР з Service Pack 2 й 3, Windows Vista з Service Pack 1, Windows Server 2008, Windows 7, Windows 8 .
Структура системи NTFS
NTFS (від англ. new technology file system – файлова система нової технології) – стандартна файлова система для сімейства операційних систем Microsoft Windows NT (Windows 2000, Windows XP, Windows Server 2003, Windows Vista). Містить низку удосконалень та змін, що суттєво відрізняють її від інших файлових систем. З погляду користувача файли так само зберігаються у каталогах, проте робота на дисках великого об'єму в NTFS відбувається набагато ефективніше:
є засоби для обмеження доступу до файлів та каталогів;
введено механізми підвищення надійності файлової системи;
знято обмеження на максимальну кількість дискових секторів і/або кластерів.
Завдяки тому, що в основу структури каталогів NTFS закладена ефективна структура даних – "бінарне дерево", то час пошуку файлів у NTFS не пов'язаний лінійною залежністю з їх кількістю (на відміну від систем на базі FAT). NTFS також має певні засоби самовідновлення, швидкий доступ до довільного фрагмента файлу, швидкий доступ до малих файлів. Для нормальної роботи NTFS потрібно не менше 64 Мбайт оперативної пам'яті.
NTFS також підтримує різні механізми перевірки цілісності системи, включаючи ведення журналів транзакцій, що дають змогу відтворити всі файлові операції запису за спеціальним системним журналом. NTFS забезпечує безпеку на рівні файлів, тобто права доступу до томів, каталогів та файлів можуть залежати від облікового запису користувача й тих груп, до яких він належить. NTFS має вбудовані засоби стиснення, які можна застосовувати до окремих файлів, каталогів і навіть томів.
NTFS містить систему шифрування файлів на жорсткому диску EFS (encrypting file system). Тільки повноважні користувачі й призначені агенти відновлення даних здатні розшифрувати файли. Користувачі з іншими обліковими записами з доступом до файлу, навіть з дозволом на передачу прав власності, не в змозі його відкрити. Адміністратору доступ до вмісту файлу також закритий, якщо тільки він не призначений агентом відновлення даних. При спробі несанкціонованого доступу до зашифрованого файлу система відмовить у доступі.
При використанні NTFS можна задавати дискові квоти – кожному користувачеві комп'ютера можна визначити кількість місця, яку він може використовувати на диску.
Файлова система NTFS є досягненням структуризації: кожен елемент системи становить файл – навіть службова інформація. Найголовніший файл у NTFS називається MFT (master file table) – загальна таблиця файлів. Саме він розміщується в MFT-зоні і є централізованим каталогом усіх інших файлів диска і себе самого. MFT поділений на записи фіксованого розміру (як правило, 1 Кбайт) і кожен запис відповідає певному файлові. Перші 16 файлів мають службовий характер і недоступні ОС. Вони називаються метафайлами, причому найперший метафайл – сам MFT. Ці перші 16 елементів MFT – єдина частина диска з фіксованим положенням. Цікаво, що друга копія перших трьох записів для надійності зберігається рівно посередині диска. Інший MFT-файл може розташовуватися, як і будь-який інший файл, у довільних місцях диска – відновити його положення можна за допомогою його самого, "зачепившись" за основу – перший елемент MFT.
Перевага такого модульного підходу полягає у гнучкості. Наприклад, у FAT фізичне ушкодження в самій області FAT фатальне для функціонування всього диска, a NTFS може змістити, навіть фрагментувати по диску всі свої службові області, обійшовши будь-які несправності поверхні, крім перших 16 елементів MFT.
Як і будь-яка інша система, NTFS ділить весь корисний простір: на кластери. NTFS підтримує майже будь-яку розмірність кластерів – від 512 байт до 64 Кбайт.
Диск NTFS умовно поділяється на дві частини:
перші 12 % диска приділяються під так звану MFT-зону – простір, у який росте метафайл. Запис даних у цю область не можливий. MFT-зона завжди тримається порожньою. Це робиться для того, щоб найголовніший, службовий файл (MFT) не фрагментувався при розширенні;
інші 88 % диска є звичайним простором для зберігання файлів.
Механізм використання MFT-зони такий: коли файли вже не можна записувати у звичайний простір, MFT-зона зменшується, звільняючи у такий спосіб місце для запису файлів. При звільненні місця у звичайній області MFT-зона може знову розширитись.
NTFS – система, що може привести себе в коректний стан за, практично, будь-яких збоїв. Сучасна ФС заснована на такому понятті, як транзакція – дія, вчинена повністю і коректно або не вчинена взагалі. В NTFS не буває проміжних (помилкових або некоректних) станів – квант зміни даних або зроблений, або відмінений.
Наприклад, здійснюється запис даних на диск. Раптом з'ясовується, що в те місце, куди ми тільки що вирішили записати чергову порцію даних, записати не вдалося – фізичне ушкодження поверхні. Поводження NTFS у цьому випадку досить логічне: транзакція запису відкочується повністю – система "усвідомлює", що запис не зроблений. Місце позначається як збійне, а дані записуються в інше місце, починається нова транзакція.
Загальні відомості про файли
Імена файлів. Файли є абстрактними об'єктами. Їхнє завдання – зберігати інформацію, приховуючи від користувача деталі роботи із пристроями. Коли процес створює файл, він дає йому ім'я. Після завершення процесу файл продовжує існувати й через своє ім'я може бути доступний іншим процесам.
Правила іменування файлів залежать від ОС. Багато ОС підтримують імена із двох частин (ім'я + розширення), наприклад prog, doc. Тип розширення файлу дає змогу ОС організувати з ним роботу різних прикладних програм відповідно до обумовлених умов. Зазвичай ОС накладають деякі обмеження, на використовувані в імені символи і довжину імені файлу. Згідно зі стандартом POSIX, популярні ОС оперують зручними для користувача довгими іменами (до 255 символів) файлів.
Типи файлів. Важливий аспект організації файлової системи й ОС – підтримка й розпізнавання типів файлів. Це допомагає правильному функціонуванню ОС.
Основні типи файлів: регулярні (звичайні) файли та директорії (каталоги). Звичайні файли містять користувацьку інформацію. Директорії – системні файли, що підтримують структуру файлової системи. У каталозі міститься перелік файлів, які є у ньому, і встановлюється відповідність між файлами та їх атрибутами.
Атрибути файлів. Крім імені, ОС часто зв'язують із кожним файлом й іншу інформацію, наприклад, дату модифікації, розмір тощо. Ці інші характеристики файлів називаються атрибутами. Список атрибутів у різних ОС може варіюватися. Зазвичай він містить такі елементи: основну інформацію (ім'я, тип файлу), адресну інформацію (пристрій, початкову адресу, розмір), інформацію про керування доступом (власник, допустимі операції) й інформацію про використання (дати створення, останнього читання, модифікації та ін.). Список атрибутів зберігається у структурі директорій або інших структурах, що забезпечують доступ до даних файлу.
Операції над файлами – це створення, видалення, відкриття, закриття файлу, читання, запис даних та ін.
Підсистема керування процесами
Запущена на виконання програма породжує у системі один або більше процесів. Процес – це сукупність взаємопов'язаних дій, що перетворюють вхідні дані у вихідні. Комп'ютерна програма сама по собі є тільки пасивною сукупністю інструкцій, а процес – безпосереднє виконання цих інструкцій. До завдань підсистеми керування процесами належать:
створення й видалення процесів;
розподіл системних ресурсів (пам'яті, обчислювальних ресурсів) між процесами;
синхронізація процесів;
міжпроцесна взаємодія.
Підсистема введення / виведення
Підсистема введення / виведення виконує запити файлової підсистеми й підсистеми керування процесами для доступу до периферійних пристроїв. Вона забезпечує необхідну буферизацію даних і взаємодіє з драйверами пристроїв, які безпосередньо обслуговують зовнішній пристрій.
Ці підсистеми працюють на основі трьох важливих компонентів, сформованих у процесі еволюції ОС: перериваннях, системних викликах, виключних ситуаціях.
Після завантаження ядра ОС в оперативну пам'ять функціонування ОС здійснюється як реакція на події, що відбуваються у комп'ютері. Настання тієї чи іншої події сигналізується перериваннями. Переривання – сигнал, що повідомляє процесору про здійснення певної асинхронної події (у будь-який момент часу). При цьому виконання поточної послідовності команд припиняється, і керування передається обробнику переривання, що виконує роботу з обробки події й повертає керування у перерваний код.
Залежно від джерела переривання розрізняють апаратні та програмні переривання.
Апаратні переривання – це події від периферійних пристроїв. Наприклад, натискання клавіш клавіатури, рух миші, сигнал від таймера, мережевої карти або дискового накопичувача – це зовнішні переривання. Або події у мікропроцесорі, наприклад ділення на нуль – внутрішні переривання.
Програмні переривання ініціюються виконуваною програмою, тобто синхронно, а не асинхронно. Вони можуть служити для виклику сервісів операційної системи.
Апаратура "повідомляє" про переривання асинхронно шляхом пересилання у процесор через загальну шину сигналів переривань. Програма "повідомляє" про переривання шляхом виконання операції System Call (системний виклик). Кожне переривання обробляється відповідно обробником переривань, що входить до складу ОС.
Взаємодія прикладних задач із ядром відбувається за допомогою стандартного інтерфейсу системних викликів. Процес запитує послугу за допомогою системного виклику певної процедури ядра, зовні схожого на виклик звичайної бібліотечної функції. Отже, системні виклики – це інтерфейс між операційною системою та користувацькою програмою. Вони створюють, видаляють і використовують різні об'єкти, головні з яких – процеси та файли. Системні виклики іноді ще називають програмними перериваннями.
Ще однією концепцією роботи ОС є виняткові ситуації (exception) – події, що виникають у результаті спроби виконання програмою команд, які з певних причин не можуть бути виконані до кінця. Прикладами таких команд є спроби доступу до ресурсу за відсутності достатніх прав або звернення до сторінки пам'яті, якої немає. Виняткові ситуації, як і системні виклики, – події, що виникають у контексті поточної задачі.
Їх поділяють на поправні та непоправні. До поправних належать, наприклад, брак потрібної інформації в оперативній пам'яті. Після усунення причини поправної виняткової ситуації програма може виконуватися далі. Виникнення у процесі роботи операційної системи поправних виняткових ситуацій вважається нормальним явищем. Непоправні виняткові ситуації найчастіше виникають у результаті помилок у програмах (наприклад, ділення на нуль). У таких випадках операційна система реагує завершенням програми, що спричинила виняткову ситуацію.
Завдяки зазначеним вище концепціям операційні системи забезпечують пакетний та діалоговий режими роботи з користувачем. У пакетному режимі операційна система автоматично виконує задану послідовність команд. Здатність ОС перервати поточну роботу та відреагувати на події, викликані користувачем за допомогою керуючих пристроїв, сприймається як діалоговий режим роботи.
Сучасні ОС типово мають графічний інтерфейс користувача, який на додачу до клавіатури користується також вказівниковим пристроєм на зразок миші чи тачпадом. Старіші системи та системи, не призначені для частої безпосередньої взаємодії з користувачем (наприклад сервери), типово використовують інтерфейс командного рядка. Обидва підходи так чи інакше реалізують оболонку, котра перетворює команди користувача на системні виклики.
Сімейство Microsoft Windows
Найпоширеніша на сьогодні версія Microsoft Windows ХР, випущена 25 жовтня 2001 р. Станом на 27 червня 2008 p., операційні системи сімейства Microsoft Windows займають 91 % світового ринку ОС.
У листопаді 2006 p., після п'яти років розробки, корпорація Microsoft випустила ОС Windows Vista, що містить велику кількість нововведень та архітектурних змін, порівняно з попередніми версіями Windows. Серед них можна виділити новий інтерфейс користувача, названий Windows Aero, низку удосконалень безпеки, наприклад, контроль реєстраційного запису користувача (User account control) та нові програми для мультимедіа, приміром, Windows DVD Maker.
26 жовтня 2012 року поступила у продаж операційна система, що належить до сімейства ОС Microsoft Windows, що слідує в лінійці за Windows 7 – Windows 8.
Windows 8, на відміну від своїх попередників Windows 7 і Windows XP, – використовує новий інтерфейс під назвою Modern (раніше – Metro). Цей інтерфейс появляється першим після запуску системи; він схожий за функціональністю із робочим столом – стартовий екран має плитки додатків (подібних до ярликів0, по натисканню на які запускається додаток, відкривається сайт або папка (залежно від того, до якого елементу або додатку прив’язана плитка).
Відомі чотири редакції Windows 8: Windows 8 (Windows 8 Core), Windows 8 Професійна (Windows 8 Pro), Windows 8 Корпоративна (Windows 8 Enterprise) та Windows RT.
Юнікс-подібні ОС
До них належить велика кількість операційних систем, які можна умовно поділити на три категорії – System V, BSD та Linux. Сама назва Unix є торговою маркою, що належить "The Open Group", яка й ліцензує кожну конкретну ОС стосовно того, чи відповідає вона стандарту. Тому через ліцензійні чи інші неузгодження деякі ОС, які є юнікс-подібними, не визнані такими офіційно.
Системи Unix запускаються на великій кількості процесорних архітектур. Вони широко використовуються як серверні системи у бізнесі, як стільникові системи в академічному та інженерному середовищах.
Тут популярні вільні варіанти Unix, такі як Linux та BSD-системи. Окрім того, деякі з них останнім часом набувають поширення у корпоративному середовищі, особливо це стосується орієнтованих на кінцевого користувача дистрибутивів Linux, насамперед Ubuntu, Mandriva та Suse.
Сервісне програмне забезпечення
Цей клас ПЗ охоплює декілька типів програм, зокрема:
драйвери – програми, які розширюють можливості ОС з керування пристроями введення-виведення, оперативною пам'яттю тощо. За допомогою драйверів можливе підключення до комп'ютера нових пристроїв або нестандартне використання вже доступних;
утиліти – програми допоміжного або службового призначення. Вони або розширюють і доповнюють відповідні можливості операційної системи, або вирішують самостійні важливі завдання. До утиліт належать: програми контролю, тестування й діагностики функціонування пристроїв комп'ютера, програми-архіватори, засоби забезпечення комп'ютерної безпеки, програми оптимізації й контролю якості дискового простору, програми відновлення інформації, форматування, захисту даних, засоби перегляду й відтворення, програми запису дисків та ін.;
завантажники – програми, що виконують завантаження здійсненого коду в основну пам'ять системи.
Більша частина системного ПЗ входить до складу ОС, проте інша частина належить до автономних програм і постачається окремо.
