У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент


Сучасні операційні системи

1.ОС Unix

1.1. Історія і загальна характеристика

UNIX зародився в лабораторії Bell Labs фірми AT&T більш 20 років тому. У той час Bell Labs займалася розробкою багатокористувальницької системи поділу часу MULTICS (Multiplexed Information and Computing Service) разом з MIT і General Electric. Денис Рітчі і деякі інші розробляли нову ФС, багато рис якої вели своє походження від MULTICS. Для перевірки нової ФС Томпсон написав ядро ОС і деякі програми для комп'ютера GE-645, що працював під керуванням мультипрограмної системи поділу часу GECOS. Виникла перша версія UNIX, хоча вона і не мала в той час ніякого назви. Але вона уже включала характерну для UNIX ФС, засновану на індексних дескрипторах inode, мала підсистему керування процесами і пам'яттю, а також дозволяла двом користувачам працювати в режимі поділу часу. Система була написана на ассемблері. Ім'я UNIX (Uniplex Information and Computing Services) було дано їй ще одним співробітником Bell Labs, Брайаном Керніганом, що спочатку назвав її UNICS, підкреслюючи її відмінність від багатокористувальницької MULTICS. Незабаром UNICS почали називати UNIX.

Першими користувачами UNIX'а стали співробітники відділу патентів Bell Labs, що знайшли її зручним середовищем для створення текстів.

Великий вплив на долю UNIX зробив перепис її мовою високого рівня З, розробленого Денисом Рітчі спеціально для цих цілей. Це відбулося в 1973 році, UNIX нараховував до цього часу вже 25 інсталяцій, і в Bell Labs була створена спеціальна група підтримки UNIX.

Широке поширення UNIX одержав з 1974 року, після опису цієї системи Томпсоном і Рітчі в комп'ютерному журналі CACM. UNIX одержав широке поширення в університетах, тому що для них він поставлявся безкоштовно разом з вихідними кодами на С. Широке поширення ефективних C-компіляторів зробило UNIX унікальної для того часу ОС через можливість переносу на різні комп'ютери. Університети внесли значний вклад у поліпшення UNIX і подальшу його популяризацію. Ще одним кроком на шляху одержання визнання UNIX як стандартизованого середовища стала розробка Денисом Рітчі бібліотеки в/в stdio. Завдяки використанню цієї бібліотеки для компілятора З, програми для UNIX стали легко стерпними.

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

Незалежно від версії, загальними для UNIX рисами є:

багатокористувацький режим із засобами захисту даних від несанкціонованого доступу,

реалізація мультипрограмної обробки в режимі поділу часу, заснований на використанні алгоритмів витісняючої багатозадачності (preemptive multitasking),

використання механізмів ВП і свопінгу для підвищення рівня мультипрограмування,

уніфікація операцій в/в на основі розширеного використання поняття "файл",

ієрархічна ФС, що утворить єдине дерево каталогів незалежно від кількості фізичних пристроїв, використовуваних для розміщення файлів,

перенесення на інші типи комп’ютерів системи за рахунок написання її основної частини мовою C,

різноманітні засоби взаємодії процесів, у тому числі і через мережу,

кешування диску для зменшення середнього часу доступу до файлів.

1.2. Управління процесами. Образ, дескриптор, контекст процесу.

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

Кожен процес працює у своєму ВАП. Сукупність ділянок фізичної пам'яті, відображуваних на ВА процесу, називається образом процесу.

При керуванні процесами ОС використовує два основних типи інформаційних структур: дескриптор процесу (структура proc) і контекст процесу (структура user).

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

Контекст процесу містить менш оперативну, але більш об'ємну частину інформації про процес, необхідну для поновлення виконання процесу з перерваного місця: уміст регістрів процесора, коди помилок виконуваних процесором системних викликів, інформацію про усі відкриті даним процесом файлів і незавершені операції в/в (покажчики на структури file) і інші дані, що характеризують стан обчислювального середовища в момент переривання. Контекст, так само як і дескриптор процесу, доступний тільки програмам ядра, тобто знаходиться у ВАП ОС, однак він зберігається не в області ядра, а безпосередньо межує з образом процесу і


Сторінки: 1 2 3 4 5 6 7 8 9 10 11 12