Більшість - операційна система

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

Більшість операційних систем спроектовано так, щоб працювати на різних платформах. Ці платформи можуть відрізнятися центральними процесорами, блоками MMU, довжиною машинного слова, об'ємом оперативної пам'яті і іншими параметрами, які важко замаскувати рівнем HAL або його еквівалентом. Проте бажано мати єдиний набір вихідних файлів, використовуваних для формування всіх версій.

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

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

Дерево каталогів UNIX. Більшість операційних систем, що підтримують ієрархічні каталоги, мають спеціальні елементи в кожному каталозі.

 Більшість операційних систем спроектовано так, щоб працювати на різних платформах. Ці платформи можуть відрізнятися центральними процесорами, блоками MMU, довжиною машинного слова, об'ємом оперативної пам'яті і іншими параметрами, які важко замаскувати рівнем HAL або його еквівалентом. Проте бажано мати єдиний набір вихідних файлів, використовуваних для формування всіх версій.

Дерево каталогів UNIX. Більшість операційних систем, що підтримують ієрархічні каталоги, мають спеціальні елементи в кожному каталозі.

Більшість операційних систем ЕОМ забезпечені набором підпрограм для виконання операцій введення-виведення з використанням стандартних пристроїв введення-виведення. Ці підпрограми називають драйверами. Драйвер вводу-виводу приховує від програміста технічні деталі пристрою і його апаратно-реалізованого інтерфейсу, надаючи в його розпорядження чисто програмний інтерфейс.

Більшість операційних систем СМ ЕОМ (ОС РВ, РАФОС, ДІАМС, ДОС КП) надають можливість роботи з асинхронними комунікаційними пристроями, забезпечуючи побудова термінальних комплексів без додаткового програмного забезпечення. Стартостопні символьні протоколи обміну термінальних комплексів використовують методи підвищення достовірності передачі, засновані на посимвольной захисту. Передача символу по каналу електрозв'язку може перевірятися паритетним контролем, а також за допомогою ехо-підтвердження. Сутність відлуння полягає в тому, що в якості квитирующего інформації відправнику надсилається копія отриманого символу. Цей метод підвищує достовірність передачі, але знижує ефективність використання каналу, так як пересилка одного символу вимагає передач в обох напрямках.

Для більшості операційних систем показник сукупного попиту залежить від пори року.

У більшості операційних систем ці вимоги забезпечуються тільки частково.

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

Як і більшість операційних систем, ДОС призначена для автоматизації процесу створення програм, скорочення проміжку часу між постановкою завдання для вирішення і отриманням результатів і для збільшення обсягу роботи, виконуваної машиною в одиницю часу.

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

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

Наступний коефіцієнт в табл. 11.6 відображає початкове якість програмного забезпечення, причому більшість досить великих операційних систем, випущених за останні кілька років, належать до однієї з перших трьох категорій. Два коефіцієнта дозволяють врахувати зміни (про них говорилося вище), які вносять постачальники і користувачі відповідно. В обох випадках слід було б вважати, що значення коефіцієнтів будуть змінюватися з плином часу відповідно до переробками, зробленими за конкретний рік: наприклад для операційної системи або пакета прикладних програм, розроблених для конкретного користувача, коефіцієнти для обліку річних змін можна прийняти рівними 1 в 1 - й рік життя і 025 - у 2 - й і наступні роки за умови, що вихідний проект не змінює своєї суті при випуску нових версій. Кожен з цих коефіцієнтів відображає середньорічне, а для випадку універсального програмного забезпечення - короткочасне зміна якості, обумовлене випуском нових версій або очікуваним розходженням в завантаженості, причому значення цього зміни узгоджується з даними, наведеними в гл.

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

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

Для виробника 32-розрядних мікропроцесорних систем-змонтувати на новій машині операційну систему Unix легше, ніж будь-яку іншу, тому що на відміну від більшості операційних систем система Unix написана на мові Сі, а не на процесорної-орієнтованої мови асемблера. Оснащення нового процесора системою Unix може зажадати переробки не більше 1% програмного забезпечення для того, щоб компілятор мови Сі став доступний для процесора. Замість того щоб робити ці перетворення власними силами, більшість виготовлювачів знаходять менш ризикованим вдаватися для цієї мети до послуг фірм - розробників програмного забезпечення.

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

Третя проблема - збереження і відновлення інформації, необхідної для продовження обробки перерваного повідомлення - вирішується дещо складніше. Більшість операційних систем при обробці переривання запам'ятовує поточний стан ЕОМ і поточний адресу команди. Програміст, що становить абсолютну програму, повинен, крім того, забезпечити запам'ятовування покажчика адреси я всіх проміжних і кінцевих результатів, отриманих до переривання. Якщо програма пишеться для міні - ЕОМ, в якій немає операційної системи, то і тут необхідно передбачати запам'ятовування поточного адреси команди.

Системне програмне забезпечення безперервно удосконалюється системними програмістами з тим, щоб зробити доступ до ЕОМ легше і зменшити витрати часу на це. Більшість операційних систем має відкриту модульну структуру, що дозволяє користувачеві пристосувати її для конкретних умов.

Третя проблема - збереження і відновлення інформації, необхідної для продовження обробки перерваного повідомлення - вирішується дещо складніше. Більшість операційних систем при обробці переривання запам'ятовує поточний стан ЕОМ і поточний адресу команди. Програміст, що становить абсолютну програму, повинен, крім того, забезпечити запам'ятовування покажчика адреси і всіх проміжних в кінцевих результатів, отриманих до переривання. Якщо програма пишеться для міні - ЕОМ, в якій немає операційної системи, то і тут необхідно передбачати запам'ятовування поточного адреси команди.

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

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

Чому процедура COPY корисна. Більшість операційних систем дають можливість визначити, які зовнішні файли, набори даних або пристрої введення-виведення відповідають внутрішнім файлів Вашої програми. Це відповідність встановлюється після компіляції програми, під час її виконання. Ті системи, які не підтримують таке визначення файлів, можна поповнити, щоб в них визначалося відповідність за допомогою нашого стандартного інтерфейсу. Це означає, що у Вас під рукою можуть бути програми, готові до запуску, а вирішити, який файл або пристрій використовувати, можна в останній момент. Це означає також, що подібні програми Ви можете розглядати як чорні ящики і зовсім забути про їх внутрішній устрій. Якщо є примітив GETC, призначений для читання даних зі стандартного вводу, типу файлу INPUT, звичайно пов'язаного з Паскаль-програмою, і є примітив PUTC, призначений для запису в стандартний висновок, типу файлу OUTPUT, то Ви можете пов'язати їх з відповідними файлами і пристроями в процесі виконання програми.

В системі на базі мінікомп'ютера легко здійснюється доступ декількох користувачів до одного набору даних. Більшість операційних систем миникомпьютеров зазвичай забезпечують багатокористувацький доступ до даних, і ця можливість може застосовуватися в хроматографічних додатках. Зникають проблеми з даними великого обсягу, які потрібно модифікувати по-різному. Це дозволяє поліпшити цілісність даних. Крім того, якщо потрібен захист даних, набагато легше контролювати доступ до одного набору даних, ніж до кількох розподіленим копій набору. Нарешті, перевагою на багато користувачів доступу до загального пулу даних є менша вартість зберігання даних. Це особливо важливо в додатках, де потрібне тривале зберігання великих обсягів інформації.

сукупний попит - це сумарний обсяг попиту на всі товари і послуги, вироблені операційною системою, за той чи інший місяць, рік. Для більшості операційних систем показник сукупного попиту залежить від пори року.

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

Однак стоїчно прийняття неминучості помилок мало втішає, коли ви стикаєтеся з програмою, яка не працює так, як їй слід було б. У більшість операційних систем PDP-11 входить системна програма ODT-11 (On-line Debugging Technique - інструмент оперативної налагодження), призначена для виявлення помилок.

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

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

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

такий тип засобів управління був природним кроком до забезпечення сполучного управління наборами завдань, зазвичай згрупованими разом у пакети. Ці набори засобів управління завданнями використовуються і сьогодні більшістю операційних систем. Причина цього полягає в тому, що автоматичне керування переходом від завдання до завдання спрощує роботу обслуговуючого персоналу, а не тільки програмістам.

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

Кешування на рівні системи управління файлами забезпечує кращі результати, але вимагає значних зусиль при реалізації. Так як в більшості випадків дискові файли обробляються цілком або частково послідовно, значно простіше передбачити, який блок потрібно вибрати наступним при кешуванні дисків, ніж передбачити, які дані з оперативної пам'яті будуть потрібні процесору. Більшість операційних систем має логічні блоки файлу на диску не безперервно один за одним, а фізичними пакетами (кластерами) різних розмірів. При записи на тільки що початкові диски система управління файлами записує дані фізично безперервними кластерами. Через деякий час роботи з диском, коли багато файлів віддалялося, модифікувався і додавалося, простір на диску фрагментируется і фізично сусідами кластери вже не належатимуть одному файлу.

Ситуація, в якій алгоритм LRU НЕ діє (1. | Ситуація, в якій алгоритм LRU НЕ діє (2. Вибирати таку сторінку просто навмання не можна. Більшість операційних систем намагаються передбачити, які зі сторінок в пам'яті найменш корисні в тому сенсі, що їх відсутність не вплине сильно на хід програми. Іншими словами, замість того щоб видаляти сторінку, яка скоро знадобиться, постарайтеся вибрати таку сторінку, яка не буде потрібна довгий час.

Монітор звернень. Важливу частину високонадійній обчислювальної бази становить монітор звернень, як показано на рис. 920. Монітор звернень приймає всі системні виклики, які стосуються безпеки, такі як відкриття файлів, і приймає рішення, слід їх виконувати чи ні. Таким чином, монітор звернень дозволяє всі рішення про безпеку помістити в одному місці, не надаючи можливості обійти їх. Організація більшості операційних систем відрізняється від даної схеми, в чому полягає одна з причин їх ненадійності.

Якщо Ви повернетеся до програм DETAB і ENTAB, то згадайте, що в них використовується один і той же угоду, а саме, табулірует кожна четверта колонка. Було б чудово, проте, якщо б існувала певна спосіб передачі списку місць установки символів табуляції в якості аргументів в ці програми під час їх виконання так, щоб звичайні місця установки можна було тимчасово ігнорувати. У більшості операційних систем є деяка угода для програм, що забезпечує доступ до командного рядка або керуючої карті, так що можна отримати опції, параметри або іншу інформацію. Програмуватимемо, використовуючи примітив GETARG, за допомогою якого робиться все необхідне для того, щоб інформація про аргумент досягала програми. Більшість представлених тут програм виграє від наявності декількох додаткових аргументів. Для деяких аргументи обов'язкові. Наш конкретний проект GETARG виглядає наступним чином. Для всіх примітивів сторінки керівництва і приклади використання наведені в додатку.

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

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

Програма на ПЛ /1 сама по собі є хорошим документом. Наприклад, опис модуля може містити структуру ПЛ /1-даних і список операторів обробки цих даних. У зв'язку з цим доречно нагадати вислів, що більшість операційних систем - це прості програми зі складними структурами даних.

Мало хто системи послідовні і систематизовані за наданим їм інтерфейсу і, звичайно, існує безліч відмінностей між ними. Була зроблена спроба вести обговорення програм виходячи з невеликого числа примітивних операцій, наявність яких бажано, або таких, які принаймні реалізовані в більшості операційних систем. Як відомо, опис взаємодії систем тільки за допомогою таких примітивів найбільш ефективно, оскільки дозволяє подолати збивають з толку складність операційних систем.

Частота звернення до збирачеві сміття залежить від виду виконуються програм. Так, програми, які виконуються на мові Ада можуть (а програми, подібні програмами на мові ЛИСП, безумовно будуть) приводити до інтенсивного використання збирача сміття; при виконанні самого місива програм на мовах Бейсік, Фортран і Кобол, навпаки, збирач сміття не використовуватиметься взагалі. Хоча взаємні впливи між трьома механізмами відновлення простору виразно дуже складні, сам факт, що управління пам'яттю може в будь-який даний час вибирати з цих трьох, забезпечує в принципі деяку ступінь гнучкості і створює сприятливу ситуацію для досягнення рівнів продуктивності, які не забезпечені в більшості раніше розроблених операційних систем.

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



Інші публікації на тему:
  • Класифікація - техніко-економічна соціальна інформація
  • Пакет - програмний модуль
  • Захист - база - дані