Популярність і успіх системи UNIX пояснювалися декількома причинами:
Система написана на мові високого рівня, завдяки чому її легко читати, розуміти, змінювати і переносити на інші машини. За оцінками, зробленим Річі, перший варіант системи на Сі мав на 20-40% більший обсяг і працював повільніше порівняно з варіантом на асемблері, проте переваги ис-користування мови високого рівня набагато переважають недоліки [Ritchie 78b], стр. 1965). p> Наявність досить простого користувальницького інтерфейсу, в якому є можливість надавати всі необхідні користувачеві послуги.
Наявність елементарних засобів, що дозволяють створювати складні програми з простіших.
Наявність ієрархічної файлової системи, легкої в супроводі та ефек-ної в роботі.
Забезпечення узгодження форматів у файлах, робота з послідовним потоком байтів, завдяки чому полегшується читання прикладних програм.
Наявність простого, послідовного інтерфейсу з периферійними пристрої-ми.
Система є багато користувачів, багатозадачного; кожен користувач може одночасно виконувати декілька процесів.
Архітектура машини прихована від користувача, завдяки цього полегшений про-цес написання програм, що працюють на різних конфігураціях апаратних засобів.
Простота і послідовність взагалі відрізняють систему UNIX і пояснюють більшість з вищенаведених доводів на її користь. p> Хоча операційна система і більшість команд написані на Сі, система UNIX підтримує ряд інших мов, таких як Фортран, Бейсік, Паскаль,
Ада, Кобол, Лісп і Пролог. Система UNIX може підтримувати будь-яку мову програмування, для якого є компілятор або інтерпретатор, і забезпечувати системний інтерфейс, що встановлює відповідність між призначеними для користувача запитами до операційної системи і набором запитів, прийнятих в UNIX.
2. СТРУКТУРА СИСТЕМИ
На Малюнку 1.1 зображена архітектура верхнього рівня системи UNIX. Технічні засоби, показані в центрі діаграми, виконують функції, що забезпечують функціонування операційної системи. Операційна система взаємодіє з апаратурою безпосередньо (* **), Забезпечуючи обслуговування програм та їх незалежність від деталей апаратної конфігурації. Якщо уявити систему складається з пластів, в нейможно виділити системне ядро, ізольоване від користувацьких
Малюнок 1.1. Архітектура системи UNIX програм. Оскільки програми не залежать від апаратури, їх легко переносити з однієї системи UNIX в іншу, функціонуючу на іншому комплексі технічних засобів, якщо тільки в цих програмах не мається на увазі робота з конкретним обладнанням. Наприклад, програми, розраховані на певний
розмір машинного слова, набагато важче перекладати на інші машини в порівнянні з програмами, що не вимагають подібних установлень.
Програми, подібні командному процесору shell і редакторам (ed і vi) і показані на зовнішньому по відношенню до ядра шарі, взаємодіють з ядром за допомогою добре певного набору звернен...