- •1. Поняття обчислювального процесу і ресурсу. Діаграма станів процесу
- •2. Планування і диспетчеризація процесів і задач в ос. Стратегії планування. Дисципліни диспетчеризації
- •3. Переривань по рівнях пріоритету. Облік пріоритету. Дисципліни обслуговування переривань
- •5. Способи виділення памяті під новий розділ. Їх переваги і недоліки. Сегмента, сторінкова і сегменто-сторінка організація памяті. Дисципліни змішченя сегментів. Організация, переваги і недоліки.
- •6. Транслятори, компілятори й інтерпретатори — загальна схема роботи
- •7. Призначення й особливості побудови таблиць ідентифікаторів
- •8. Призначення й особливості побудови таблиць ідентифікаторів
- •9. Призначення й особливості побудови таблиць ідентифікаторів
- •10. Призначення й особливості побудови таблиць ідентифікаторів. Комбіновані способи побудови таблиць ідентифікаторів
- •12. Способи внутрішнього представлення програм
- •13. Визначення формальної мови і граматики
- •14 Сімейство операційних систем unix . Історія розвитку ос unix .
14 Сімейство операційних систем unix . Історія розвитку ос unix .
Зміст
Запровадження
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.
