asyan.org
добавить свой файл
1 2 ... 25 26


Міністерство освіти і науки України

ОДЕСЬКА ДЕРЖАВНА АКАДЕМІЯ ХОЛОДУ





Жуковецька С.Л.
Операційна система UNIX


Навчальний посібник

Одеса 2008

Жуковецька С.Л. Операційна система UNIX: навчальний посібник. Одеська державна академія холоду, 2008. – 123 с.

Посібник призначений для студентів, що навчаються за спеціальністю “Комп'ютерні системи та мережі”.

Посібник містить теоретичні основи побудови та функціонування ОС UNIX. Розглянути питання маніпулювання файловою системою, пам'ятью, взаємодія процесів, використання інструментальних засобів розробки.

Рецензент: Шпинарьова І.М., к. т. н., доцент кафедри МОКС ОНУ

ОДАХ, 2008

Анотація


Вперше система UNIX була описана в 1974 году в статті Кена Томпсона та Дэнніса Річі у журналі "Communications of the ACM". Від цього часу вона набула широке розповсюдження та завоювала широку популярність серед виробників ЕОМ, які все частіше стали оздоблювати нею свої машини. Тому вивчання ОС UNIX є бажаним для спеціалістів по комп’ютерним системам та мережам.

Матеріал посібника побудований в наступний спосіб. Розділ 1 служить введенням, що містить кратку історію та загальний опис системи. У розділі 2 розглядається побудова файлової системи. Розділ 3 містить розгляд питань функціонування процесів в ОС UNIX. Розділ 4 містить розгляд питань розподілу пам’яті в ОС UNIX. У розділі 5 розглядається побудова системи введення-виводу. Розділ 6 стосується питань функціонування ОС UNIX у мережах.

Зміст


ОДЕСЬКА ДЕРЖАВНА АКАДЕМІЯ ХОЛОДУ 1

Навчальний посібник 1

Анотація 4

Зміст 5

1 Введення в ОС UNIX 6

2 Файлова підсистема 23

3 Підсистема керування процесами 51

4 Керування пам'ятью 84

5 Підсистема введення-виводу 99

6 UNIX у мережах 108

Література 123

Навчальний посібник 124



1 Введення в ОС UNIX




1.1 Історія створення


В 1965 р. в Bell Telephone Laboratories (BTL) почали розробляти нову операційну систему MULTiplexed Information and Computing Service (MULTICS). Хотіли створити багатокористувальницьку (сотні користувачів) і багатозадачную операційну систему поділу часу. Кен Томпсон і Денис Рітчі брали участь у розробці від BTL. Система MULTICS так і не була завершена й в 1969 році BTL вийшла із проекту. Використовуючи наробітку в 1969 році, операційна система все-таки створили. Вона містить:

  • файлову систему;

  • підсистему керування процесами;

  • набір утиліт.

Система була написана на асемблері для PDP-7 і назвали її UNIX (uni - один) (передражнюючи MULICS multi - багато).

Коли, в 1971 році патентному відділу BTL знадобилася система обробки тексту, у якості ОС вибрали UNIX. Систему перенесли на PDP-11:

  • система займала 16 Кб;

  • для прикладних програм можна було використовувати 8 Кб;

  • максимальний розмір файлу, що система підтримувала був 64 Кб;

  • максимальний розмір дискового простору, що система підтримувала, був 512 Кб.


Після створення перших асемблерних версій Томпсон почав працювати над компілятором для FORTRAN і розробив мову В (інтерпретатор), а Рітчі переробив його в мову С. В 1973 році ядро ОС було переписано мовою високого рівня С. Тепер з'явилася можливість переносити ОС UNIX на інші апаратні платформи. Відповідно до федерального закону BTL не мала права комерційного поширення UNIX, але починаючи з 1974 року початку продавати її університетам за символічною ціною для освітніх цілей. ОС модернізувалася, і кожна версія забезпечувалася відповідною редакцією керівництва програміста. Усього було випущено 10 версій редакцій. Перші 7 редакцій були розроблені в BTL. Їхньою розробкою займалася Computer Research Group (CRG). Вони були призначені для PDP-11, а потім для VAX. UNIX System Group відповідала за супровід системи.
Таблиця 1

Основні редакції

1-я редакція

1971

написана на асемблері й включає компілятор В

3-я редакція

1973

включає компілятор З

4-я редакція

1973

ядро написане на З

6-я редакція

1975

вийшла за межі BTL ( BSD-З'являється)

7-я редакція

1979

включає командний інтерпретатор Боурна


В 1989 році з'явилася System V Release 4 (SVR4), що об'єднала можливості декількох версій UNIX:

  • попередніх версій System V;

  • Sun OS фірми Microsystems;

  • BSD UNIX компанії Berkley Software Distribution.


Вона включала:

  • Командні інтерпретатори Корну й З (BSD);

  • Символічні посилання;

  • Відображувані на згадку файли (Sun OS);

  • Мережну файлову систему NFS і RPC (Sun OS);

  • Програмний інтерфейс сокетів (BSD).


BSD

Каліфорнійський університет у Берклі одержав одну з перших ліцензій на операційну систему UNIX у грудні 1974 року. За кілька років група випускників університету, до складу якої входив Білл Джой (Bill Joy) і Чак Хелей (Chuck Haley), розробила кілька утиліт для цієї системи, у тому числі редактор vi і компілятор мови Паскаль. Всі створені додатки були зібрані в єдиний пакет за назвою Berkeley Software Distribution (BSD) і продавалася навесні 1978 року за ціною $50 за одну ліцензію.
Комерційні версії

Популярність UNIX привела до того, що різні компанії почали випуск і продаж своїх власних варіантів системи. Вони використовували одну з базових реалізацій UNIX від BTL або Берклі, переносили її на інші машини й включали додаткові можливості.

В 1982 році Білл Джой покинув Берклі й став одним із творців корпорації Sun Microsystems, що випустила свій варіант UNIX на основі 4.2 BSD SunOS. Надалі компанією була розроблена ще одна версія системи, Solaris на основі 4.3 BSD.

Компанії Microsoft і BTL спільно створили систему XENIX. Пізніше SCO перенесла SVR 3 на платформу 80386 і випустила цю систему за назвою SCO UNIX.

В 80-х роках з'явилася множина різних комерційних варіантів системи UNIX:

  • AIX від IBM;

  • HP-UX від Hewlett-Packard Corporation;

  • ULTRIX (випущеної слідом за DEC OSF/1, перейменованої пізніше в Digital UNIX) від компанії Digital.


Стандарти

Поширеність різних реалізацій UNIX привела до появи проблем сумісності. Незважаючи на те, що всі існуючі варіанти на перший погляд “схожі на UNIX”, насправді вони істотно різняться між собою. Існування відмінностей було закладено споконвічно, за рахунок наявності двох основних гілок:

  • системи BTL System V

  • BSD (створеної в Берклі).

Поява комерційних варіантів UNIX тільки збільшило проблему.

Системи System V і 4 BSD істотно відрізнялися. Вони мали різні несумісні між собою файлові системи, реалізації підтримки мереж і архітектури віртуальної пам'яті. Деякі розходження були обумовлені дизайном ядра систем, але більшість із них перебувало на рівні програмування інтерфейсу. Це приводило до того, що неможливо було створити додаток, що працювало б без яких-небудь змін в обох операційних системах.

Всі комерційні варіанти UNIX будувалися на основі або System V, або BSD, до яких виробники додавали додаткові можливості. Ці додавання часто виявлялися нестерпними на інші платформи. У результаті творці додатків змушені були витрачати величезну кількість часу й зусиль, для того щоб їхньої програми нормально функціонували в різних реалізаціях UNIX.

Для рішення проблеми необхідно було розробити якийсь стандартний набір інтерфейсів, чим і зайнялися кілька груп ентузіастів. У результаті з'явилася множина стандартів. Вони відрізнялися друг від друга, як і варіанти UNIX.

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

В 1986 році організація IEEE доручила спеціальному комітету розробити й опублікувати стандарти на середовища операційних систем. Назва POSIX (Portable Operating System based on UNIX) переводяться як “Стерпні операційні системи, засновані на UNIX”. Ці документи описували компоненти ядра, систем SVR 3 і 4.3 BSD. Стандарт POSIX1003.1, більше відомий як POSIX.1, був опублікований в 19990 році. Багато виробників прийняли цей стандарт, тому що він не обмежувався якимсь одним варіантом системи UNIX.

X/Open це міжнародний консорціум виробників комп'ютерної техніки й програмного забезпечення. Він був сформований в 1984 році. Його метою була не тільки розробка нових стандартів, але й створення відкритого середовища Common Applications Environment (Загального програмного середовища, CAE), що базується на вже існуючих стандартах. Консорціум опублікував семи млосну працю ”X/Open Portability Guide” (XPG), останнє (четверте) видання якого вийшло в 1993 році. Матеріал керівництва був заснований на стандарті POSIX.1, розширював його й описував багато додаткових областей, такі як інтернаціоналізація, віконні інтерфейси й обробка даних.
LINUX

MINIX це демонстраційна OC, написана відомим ученим компьютерщиком Ендрю Танненбаумом. Вона призначалася для демонстрації різних концепцій ОС. Линусу Торвальдсу було 23 року, він намагався створити більше повну версію UNIX для користувачів MINIX. 5 жовтня 1991 року Линус представив миру першу офіційну версію LINUX.

Авторські права на OS/2 належить IBM, на MS DOS і Windows Microsoft. LINUX теж не “безправна система”. Авторські права на різні її частини належать різним людям. Линус Торвальдс володіє правами на основне ядро Linux, Red Hat має права на пакет Red Hat, Підлога Фолькердинг на пакет Slackware. Багато утиліт поширюються по ліцензії GNU General Public License (GPL). Copyright це авторське право, а copylef це авторське лево. Існує фонд безкоштовного програмного забезпечення (Free software Foundation). Його організував Ричард Сталлмен. По ліцензії GPL (авторське лево) застосування, модифікація й поширення ПО доступно будь-якому й кожногоого може переробити його як хоче. Єдиною умовою є надання переробленого вихідного тексту. При цьому творець зберігає своє авторське право, але він повинен надати іншим такої ж можливості.

LINUX сьогодні це безкоштовна, багатозадачна й багатокористувальницька ОС. Вам не потрібно обновляти свої програми кожні кілька років за непомірні гроші. Для LINUX їх можна одержати безкоштовно через Інтернет. Крім того, маючи вихідні тексти можна модифікувати систему по своєму смаку. Якщо у вас на роботі UNIX, то чому не мати будинку LINUX. Якщо ви адміністратор UNIX, то чому не брати роботу додому й не виконувати її в LINUX. Крім того, LINUX забезпечує простий доступ в Internet.
Розвиток системи

Система UNIX сильно змінилася за роки свого існування. Усе починалося з невеликого операційного середовища, що використовувала групою людей в одній лабораторії. Сьогодні UNIX це одна з основних операційних систем. У цей час UNIX використовується на всіляких системах, починаючи від невеликих убудованих контролерів і закінчуючи величезними мэйнфреймами. Під керуванням UNIX працюють різні додатки.

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




следующая страница >>