Операційна система Unix

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Федеральне агентство з освіти
Ростовська-на-Дону державна академія
Сільськогосподарського машинобудування
Кафедра: "Інформаційних і управляючих систем"
Контрольна робота
по операційним системам
на тему:
"Операційна система Unix"
Студентки заочного факультету ІС
Групи ЗІС 3-1
Керівник:
кандидат технічних наук доцент
м. Ростов-на-Дону
2008-09 н.р.

Зміст
Введення
1. Історія створення, призначення
2. Функціональні характеристики
3. Особливості архітектури ОС UNIX
4. Способи управління процесами і ресурсами
5. Умови експлуатації
6. Переваги і недоліки ОС UNIX
Висновок
Список використаної літератури

Введення
UNIX з'явилася в 1969 році. За 30 з гаком років система стала досить популярною і набула поширення на машинах з різною потужністю обробки, від мікропроцесорів до великих ЕОМ, забезпечуючи на них загальні умови виконання програм. Система ділиться на дві частини. Одну частину складають програми та сервісні функції - це робить операційну середу UNIX такою популярною; дана частина ОС легко доступна користувачам, вона включає такі програми, як командний процесор, обмін повідомленнями, пакети обробки текстів і системи обробки вихідних текстів програм. Інша частина включає в себе власне операційну систему, що підтримує ці програми і функції.
UNIX - традиційно мережева операційна система.

1. Історія створення, призначення
UNIX зародився в лабораторії Bell Labs фірми AT & T більш 30 років тому. У той час Bell Labs займалася розробкою багатокористувацької системи поділу часу MULTICS (Multiplexed Information and Computing Service) разом з MIT і General Electric, але ця система зазнала невдачі. Bell Labs відмовилася від участі в проекті MULTICS, що дало можливість одному з її дослідників, Кену Томпсону, зайнятися пошуковою роботою в напрямку поліпшення операційного середовища Bell Labs. Томпсон, а також співробітник Bell Labs Денис Рітчі і деякі інші розробляли нову файлову систему, багато рис якої вели своє походження від MULTICS. Для перевірки нової файлової системи Томпсон написав ядро ​​ОС і деякі програми для комп'ютера GE-645, який працював під управлінням мультипрограмній системи поділу часу GECOS. У Кена Томпсона була написана ним ще за часів роботи над MULTICS гра "Space Travel" - "Космічна подорож". Він запускав її на комп'ютері GE-645, але вона працювала на ньому не дуже добре через невисоку ефективність розділення часу. Крім цього, машинний час GE-645 коштувало дуже дорого. У результаті Томпсон та Рітчі вирішили перенести гру на машину PDP-7 фірми DEC, що має 4096 18-бітних слів, телетайп і хороший графічний дисплей. Але у PDP-7 було неважливе програмне забезпечення, і, закінчивши перенесення гри, Томпсон вирішив реалізувати на PDP-7 ту файлову систему, над який він працював на GE-645. З цієї роботи і виникла перша версія UNIX. Вже тоді вона включала характерну для сучасної UNIX файлову систему, засновану на індексних дескрипторах inode, мала підсистему керування процесами і пам'яттю, а також дозволяла двом користувачам працювати в режимі поділу часу. Система була написана на асемблері. Ім'я UNIX (Uniplex Information and Computing Services) було дано їй одним співробітником Bell Labs, Брайаном Керніганом,
Першими користувачами UNIX'а стали співробітники відділу патентів Bell Labs, що знайшли її зручним середовищем для створення текстів. Великий вплив на долю UNIX зробив перепис її мовою високого рівня З, розробленого Денисом Рітчі спеціально для цих цілей. Це відбулося в 1973 році, UNIX нараховував до цього часу вже 25 інсталяцій, і в Bell Labs була створена спеціальна група підтримки UNIX.
Після опису системи Томпсоном і Рітчі в комп'ютерному журналі CACM в 1974 р . UNIX одержав широке поширення. ОС стала затребувана в університетах, тому що для них вона поставлялася безкоштовно разом з вихідними кодами на С. Широке поширення ефективних C-компіляторів зробило UNIX унікальної для того часу ОС через можливість переносу на різні комп'ютери. Університети внесли значний вклад у поліпшення UNIX і подальшу його популяризацію. Ще одним кроком на шляху до визнання UNIX, як стандартизованого середовища стала розробка Денисом Рітчі бібліотеки введення-виведення stdio. Завдяки використанню цієї бібліотеки для компілятора З, програми для UNIX стали легко стерпними.
ОС UNIX є інтерактивною операційною системою, це традиційно мережева операційна система.
2. Функціональні характеристики
До основних функцій ядра ОС UNIX прийнято відносити наступні:
1) Ініціалізація системи - функція запуску й розкручування. Ядро системи забезпечує засіб розкручування (bootstrap), що забезпечує завантаження повного ядра в пам'ять комп'ютера і запускає ядро.
2) Управління процесами і нитками - функція створення, завершення та відстеження існуючих процесів і ниток ("процесів", виконуваних на загальній віртуальній пам'яті). Оскільки ОС UNIX є мультипроцессной операційною системою, ядро ​​забезпечує поділ між запущеними процесами часу процесора (або процесорів у мультипроцесорних системах) і інших ресурсів комп'ютера для створення зовнішнього відчуття того, що процеси реально виконуються в паралель.
3) Управління пам'яттю - функція відображення практично необмеженої віртуальної пам'яті процесів у фізичну оперативну пам'ять комп'ютера, яка має обмежені розміри. Відповідний компонент ядра забезпечує поділюване використання одних і тих самих областей оперативної пам'яті декількома процесами з використанням зовнішньої пам'яті.
4) Управління файлами - функція, що реалізує абстракцію файлової системи, - ієрархії каталогів і файлів. Файлові системи ОС UNIX підтримують кілька типів файлів. Деякі файли можуть містити дані у форматі ASCII, інші будуть відповідати зовнішнім пристроям. У файловій системі зберігаються об'єктні файли, виконувані файли і т.д. Файли звичайно зберігаються на пристроях зовнішньої пам'яті; доступ до них забезпечується засобами ядра. У світі UNIX існує кілька типів організації файлових систем. Сучасні варіанти ОС UNIX одночасно підтримують більшість типів файлових систем.
5) Комунікаційні засоби - функція, що забезпечує можливості обміну даними між процесами, що виконуються всередині одного комп'ютера (IPC - Inter-Process Communications), між процесами, що виконуються в різних вузлах локальної або глобальної мережі передачі даних, а також між процесами і драйверами зовнішніх пристроїв.
6) Програмний інтерфейс - функція, що забезпечує доступ до можливостей ядра з боку користувальницьких процесів на основі механізму системних викликів, оформлених у вигляді бібліотеки функцій.

3. Особливості архітектури ОС UNIX
Архітектура ОС UNIX - багаторівнева (рис.1). На нижньому рівні, безпосередньо над устаткуванням, працює ядро ​​операційної системи. Функції ядра доступні через інтерфейс системних викликів, що утворюють другий рівень. На наступному рівні працюють командні інтерпретатори, команди й утиліти системного адміністрування, комунікаційні драйвери та протоколи, - все те, що зазвичай відносять до системного програмного забезпечення. Нарешті, зовнішній рівень утворюють прикладні програми користувача, мережні та інші комунікаційні служби, СУБД і утиліти.
4. Способи управління процесами і ресурсами
Файли і процеси, є центральними поняттями моделі операційної системи UNIX. Малюнок 1.2 представляє блок-схему ядра системи, яка відображатиме склад модулів, з яких складається ядро, і їх взаємозв'язку один з одним. Зліва зображено файлова підсистема, а праворуч підсистема управління процесами - дві головні компоненти ядра.

точка перетину
Бібліотеки
Рівень користувача
Рівень ядра
Звернення до операційної системи
підсистема управління файлами
підсистема
управління
процесами
взаємодія процесів
планувальник
розподіл пам'яті
буфер над-оперативної пам'яті (кеш)
символ блок
- - - - - - - - - - - - - - - - - - - - -
драйвери пристроїв
апаратний контроль


Рівень ядра
технічні засоби (апаратура)
апаратури
Рісунок.1.2 Блок-схема ядра операційної системи
Звернення до операційної системи виглядають так само, як звичайні виклики функцій в програмах на мові Сі, і бібліотеки встановлюють відповідність між цими викликами функцій і елементарними системними операціями. При цьому програми на асемблері можуть звертатися до операційної системи безпосередньо, без використання бібліотеки системних викликів. Програми часто звертаються до інших бібліотек, таким як бібліотека стандартних підпрограм введення-виведення, досягаючи тим самим більш повного використання системних послуг. Для цього під час компіляції бібліотеки зв'язуються з програмами і частково включаються в програму користувача. Сукупність звернень до операційної системи розділена на ті звернення, які взаємодіють з підсистемою управління файлами, і ті, які взаємодіють з підсистемою управління процесами. Файлова підсистема управляє файлами, розміщує запису файлів, управляє вільним простором, доступом до файлів і пошуком даних для користувачів. Процеси взаємодіють з підсистемою управління файлами, використовуючи при цьому сукупність спеціальних звернень до операційної системи, таких як open (для того, щоб відкрити файл на читання або запис), close, read, write, stat (запросити атрибути файлу), chown (змінити запис з інформацією про власника файлу) і chmod (змінити права доступу до файлу).
Підсистема управління файлами звертається до даних, які зберігаються у файлі, використовуючи буферний механізм, керуючий потоком даних між ядром і пристроями зовнішньої пам'яті. Буферний механізм, взаємодіючи з драйверами пристроїв введення-виведення блоками, ініціює передачу даних до ядра і назад. Драйвери пристроїв є такими модулями у складі ядра, які керують роботою периферійних пристроїв. Пристрої введення-виведення блоками відносяться програми користувача до типу запам'ятовуючих пристроїв з довільною вибіркою; їх драйвери побудовані таким чином, що всі інші компоненти системи сприймають ці пристрої як запам'ятовуючі пристрої з довільною вибіркою. Наприклад, драйвер пристрою, що запам'ятовує на магнітній стрічці дозволяє ядру системи сприймати цей пристрій як запам'ятовуючий пристрій з довільною вибіркою. Підсистема управління файлами також безпосередньо взаємодіє з драйверами пристроїв "неструктурованого" вводу-виводу, без втручання буферного механізму. До пристроїв неструктурованого введення-виведення, іноді іменованим пристроями посимвольного введення-виведення (текстовими), відносяться пристрої, відмінні від пристроїв введення-виведення блоками.
Підсистема управління процесами відповідає за синхронізацію процесів, взаємодія процесів, розподіл пам'яті і планування виконання процесів. Підсистема управління файлами і підсистема управління процесами взаємодіють між собою, коли файл завантажується в пам'ять на виконання: підсистема управління процесами читає в пам'ять виконувані файли перед тим, як їх виконати.
Прикладами звернень до операційної системи, що використовуються при управлінні процесами, можуть служити fork (створення нового процесу), exec (накладення образу програми на виконуваний процес), exit (завершення виконання процесу), wait (синхронізація продовження виконання основного процесу з моментом виходу з породженого процесу ), brk (управління розміром пам'яті, виділеної процесу) і signal (управління реакцією процесу на виникнення екстраординарних подій.
Модуль розподілу пам'яті контролює виділення пам'яті процесам. Якщо в якийсь момент система відчуває нестачу у фізичній пам'яті для запуску всіх процесів, ядро ​​пересилає процеси між основною і зовнішньою пам'яттю з тим, щоб всі процеси мали можливість виконуватися. Існує два способи управління розподілом пам'яті: завантаження (підкачка) і заміщення сторінок. Програму підкачки іноді називають планувальником, тому що вона "планує" виділення пам'яті процесам і впливає на роботу планувальника центрального процесора. «Планувальник» планує черговість виконання процесів до тих пір, поки вони добровільно не звільнять центральний процесор, дочекавшись виділення будь-якого ресурсу, або поки ядро ​​системи не вивантажить їх після того, як їхній час виконання перевищить заздалегідь певний квант часу. Планувальник вибирає на виконання готовий до запуску процес з найвищим пріоритетом; виконання попереднього процесу (призупиненого) буде продовжено тоді, коли його пріоритет буде найвищим серед пріоритетів всіх готових до запуску процесів. Існує кілька форм взаємодії процесів між собою, від асинхронного обміну сигналами про події до синхронного обміну повідомленнями.
Нарешті, апаратний контроль відповідає за обробку переривань і за зв'язок з машиною. Такі пристрої, як диски та термінали, можуть переривати роботу центрального процесора під час виконання процесу. При цьому ядро ​​системи після обробки переривання може відновити виконання перерваного процесу. Переривання обробляються не самими процесами, а спеціальними функціями ядра системи, перерахованими в контексті виконуваного процесу.
5. Умови експлуатації
UNIX - багатокористувацька операційна система. Користувачі, що займаються загальними завданнями, можуть об'єднуватися в групи. Кожен користувач обов'язково належить до однієї або декількох груп. Всі команди виконуються від імені певного користувача, що належить в момент виконання до певної групи.
У багатокористувацьких системах необхідно забезпечувати захист об'єктів (файлів, процесів), що належать одному користувачеві, від всіх інших. ОС UNIX пропонує базові засоби захисту та обміну файлами на основі відстеження користувача і групи, що володіють файлом, трьох рівнів доступу (для користувача-власника, для користувачів групи-власника, і для всіх інших користувачів) і трьох базових прав доступу до файлів (на читання, на запис та на виконання). Базові засоби захисту процесів засновані на відстеженні приналежності процесів користувачам.
Для відстеження власників процесів і файлів використовуються числові ідентифікатори. Ідентифікатор користувача і групи - ціле число (зазвичай) в діапазоні від 0 до 65535. Присвоєння унікального ідентифікатора користувача виконується при закладі системним адміністратором нового реєстраційного імені. Значення ідентифікатора користувача і групи - не просто числа, які ідентифікують користувача, - вони визначають власників файлів і процесів. Серед користувачів системи виділяється один користувач - системний адміністратор або суперкористувач, що володіє всією повнотою прав на використання і конфігурування системи. Це користувач з ідентифікатором 0 і реєстраційним ім'ям root.
При поданні інформації людині зручніше використовувати замість відповідних ідентифікаторів символьні імена - реєстраційне ім'я користувача і назва групи. Відповідність ідентифікаторів і символьних імен, а також інша інформація про користувачів і групи в системі (облікові записи), як і більшість іншої інформації про конфігурацію системи UNIX, за традицією, представлена ​​у вигляді текстових файлів. Ці файли - / etc / passwd, / etc / group та / etc / shadow.
6. Переваги і недоліки
Широке поширення UNIX породило проблему несумісності його численних версій. Для користувача дуже неприємний той факт, що пакет, куплений для однієї версії UNIX, відмовляється працювати на іншій версії UNIX. Періодично робилися і робляться спроби стандартизації UNIX, але вони поки що мають обмежений успіх. Процес зближення різних версій UNIX і їхньої розбіжності носить циклічний характер. Перед лицем нової загрози з боку будь-якої іншої ОС різні виробники UNIX-версій зближають свої продукти, але потім конкурентна боротьба змушує їх робити оригінальні поліпшення і версії знову розходяться. У цьому процесі є і позитивна сторона - поява нових ідей і засобів, що поліпшують як UNIX, так і багато інших операційні системи, що перейняли в нього за довгі роки його існування багато корисного. Найбільшого поширення набули дві несумісні лінії версій UNIX: лінія AT & T - UNIX System V, і лінія університету Berkeley-BSD. Багато фірм на основі цих версій розробили і підтримують свої версії UNIX: SunOS та Solaris фірми Sun Microsystems, UX фірми Hewlett-Packard, XENIX фірми Microsoft, AIX фірми IBM, UnixWare фірми Novell (проданий тепер компанії SCO), і список цей можна ще довго продовжувати.
Найбільший вплив на уніфікацію версій UNIX надали такі стандарти як SVID фірми AT & T, POSIX, створений під егідою IEEE, і XPG4 консорціуму X / Open. У цих стандартах сформульовані вимоги до інтерфейсу між додатками і ОС, що дає можливість додаткам успішно працювати під управлінням різних версій UNIX.
Одним з основних переваг сімейства операційних систем типу UNIX і виник на їх основі підходу до стандартизації інтерфейсів операційних систем (важлива частина загального підходу відкритих систем) є те, що вони забезпечують єдину операційну середу на комп'ютерах з різною архітектурою.

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

Список використаної літератури
1. Історія та загальна характеристика сімейства операційних систем UNIX http://www.osys.ru/
2. Ебен М., Таймен Б. «FreeBSD. Енциклопедія користувача »- К: ТОВ« ТІД «ДС», 2002.
3. Керніган Б.В., Пайк Р. «UNIX - універсальне середовище програмування» - М.: Фінанси і статистика, 1992.
4. С.Д. Кузнєцов, «Операційна система UNIX» - стаття в Інтернеті.
Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Контрольна робота
40.2кб. | скачати


Схожі роботи:
Операційна система Unix 3
Операційна система Unix 2
Основні роботи операційної системи UNIX Підтримка мережі UNIX
Файлова система Unix
Файлова система UNIX
Операційна система OS 2 Warp
Операційна система NetWare
Операційна система Windows-95
Операційна система Windows 2
© Усі права захищені
написати до нас