Команди керування файловою системою ОС Unix
Лекція №1
Л-ра: Оліфер; все шо найдем.
Поняття операційної системи (ОС). Історія розвитку ОС.
Розташування ОС у загальній структурі комп’ютера
Програми-застосунки: Браузер, наприклад
Системні програми: компілятори, редактори, інтерпретатори команд, операційна система
Обладнання, апаратура: фізичні пристрої, мікроархітектура, машинна мова
Операційна система – те програмне забезпечення, котре працює або завантажується у режимі ядра, тобто є захищене від втручання користувача.
Різновиди програмного забезпечення
· Системне ПЗ: операційні системи; окремі утиліти (робота з диском, файлові системи, антивірусні програми і т.д.); системні ПЗ для організації роботи прикладного ПЗ, написаного на мові високого рівня (компілятори, інтерпретатори тощо)
· Прикладне ПЗ
· Системи і мови програмування
Операційні системи виконують дві основні функції:
1. Розширює можливості машини
Архітектура більшості комп’ютерів на рівні машинної мови примітивна та незручна для роботи. Програма, що приховує істину про ПЗ і представляє простий список іменованих файлів, котрі можна читати і записувати, і є ОС. ОС усуває не лише необхідність роботи з дисками і представляє простий інтерфейс, але і приховує багато «неприємної» роботи з перериваннями, лічильниками часу, організаціями пам’яті та іншими елементами нижнього рівня. Тобто, у будь-якому випадку абстракція, яку пропонує операційна система, набагато простіша і зручніша, ніж робота з обладнанням. З точки зору користувача ОС виконують функції розширеної машини або віртуальної машини, котрі проще програмувати і з якими легше працювати, ніж безпосередньо з апаратурою. Тобто, ОС надає ряд можливостей, які можуть використовувати програми за допомогою спеціальних команд, які називаються системними викликами. Ця концепція – зверху вниз.
2. Керує ресурсами
Концепція знизу вверх, у відповідності з другим «підходом» робота ОС полягає у забезпеченні організованого і контрольованого розподілу процесора, пам’яті і пристрої введення-виведення між різноманітними програмами. Управління ресурсами включає у себе їх мультиплексування (розширення) двома способами: у просторі або часі.
Операційна система представляє собою…
· структурне визначення – комплекс взаємопов’язаних програм, який діє як інтерфейс між за стосунками і користувачами з одного боку, і апаратурою комп’ютера з іншого боку;
· функціональне – комплекс взаємопов’язаних програм, що виконує дві основні функції: ефективне управління ресурсами комп’ютера і створення зручного інтерфейсу між комп’ютером та користувачем. Або: Ос це є системне програмне забезпечення, що забезпечує керування ресурсами комп’ютера і надає прикладному ПЗ стандартні функції, доступні через певний інтерфейс.
Історія появи ОС
ОС – найбільш близьке до апаратури ПЗ, тому етапи розвитку ОС тісно пов’язана з етапами розвитку техніки.
Покоління:
1) Перше, 1945-1955, електронні лампи і комутаційні панелі
Лампові машини: нема розподілу роботи у середовищі працюючих з нею, програмування – лише на машинній мові, і так як ОС ще не з’явилися, то всі задачі організації обчислювального процесу виконувалися вручну.
2) Друге, 1955-1965, транзистори і системи пакетної обробки
Комп’ютери стали більш надійними, їм стало можливим «довірити» виконання дійсно практично важливих задач, з’явилися перші алгоритмічні мови і заодно – транслятори. Процесор – доволі дорогий пристрій (простоює більшість часу), низька ефективність його використання означала низьку ефективність використання комп’ютера у цілому, тому було розроблено системи пакетної обробки для вирішення цієї проблемки.
Характеристики систем пакетної обробки (кожна задача виконується повністю, максимальна пропускна здатність (?)):
· Плюс – підвищення ефективності використання комп’ютера
· Мінус – програмісти-користувачі втратили можливість безпосереднього доступу до комп’ютера, що знижало ефективність їх роботи – внесення будь-якого виправлення вимагало набагато більше часу, ніж при роботі з пультом.
3) Третє, 1965-1980, інтегральні схеми і багатозадачність
У період 1965-1975 були реалізовані практично всі основні механізми, які притаманні сучасним ОС: мультипрограмування (у пам’яті знаходяться одночасно декілька програм, що позмінно виконуються на одному процесорі), мультипроцесування, підтримка багато термінального багатокористувацького режиму, віртуальна пам’ять, файлові системи, розмежування доступу і мережева робота. Додаткові особливості: розподіл цін на апаратуру і ПЗ, створення сімейств програмно-сумісних машин і операційних систем для них, поява систем розподілу часу (на відміну від пакетної обробки – задачі виконуються «шматками»).
Зміни у апаратній частині, що були викликані розвитком ОС: у процесорах з’явився привілегійований і користувацький режим роботи, спеціальні регістри для швидкого перемикання з одної програми на іншу, засоби захисту областей пам’яті, розвита система переривань.
Мережеві ОС:
§ З’явилися з появою глобальних мереж
§ Виконують усі функції локальної ОС
§ Мають деякі додаткові засоби, що дозволяють їм взаємодіяти по мережі з операційними системами інших комп’ютерів
§ 1969 – ARPANET.
Локальні мережі і ОС – середина 70-х років: широке застосування одержали міні-комп’ютери, операційні системи яких…бла-бла-бла
4) Четверте, 1980 і донині, персональні комп’ютери
80-ті роки: розробка стека TCP/IP, становлення Інтернету, стандартизація технологій локальних мереж, поява персональних і операційних систем для них (серпень 1981 року) (DOS; нема графічного інтерфейсу – оболочки компенсуюють).
MS DOS – одна з перших ОС для ПК
Ø Однопрограмна
Ø Одно користувацька
Ø З інтерфейсом командного рядка
Ø Здатна стартувати з дискети
Ø Має UNIX-подібну ієрархічну файлову систему
Інші відомі ОС для ПК (80-ті роки): NetWare (Novell); OS 2 (Microsoft & IBM)…
Особливості ОС у 90-ті роки:
§ Багатозадачні (принцип мультипрограмування)
§ Багатокористувацькі
§ Мають графічний інтерфейс
§ Мають вбудовану підтримку мережі
§ Підтримка роботи у Інтернеті (комп’ютер перетворився з чисто обчислюваного пристрою у засіб комунікації з розвиненими обчислювальними можливостями)
Лідери ОС в даний момент: Windows і UNIX.
Windows: 3 XX -> 95/98 (для клієнтських станцій, домашніх комп’ютерів), NT (New Technology – для професійної роботи – для робочих станцій, домашніх комп’ютерів і для серверів). Версій Windows Vista багацько. «Сімка» носить номер 6.1 у лінії «нових технологій».
ОС на основі UNIX – це або комерційні з закритим кодом (в основному – для спецобладнання) або некомерційні з відкритим (Linux).
Вільне ПЗ:
Ø Свобода запускати програму у будь-яких цілях (свобода 0)
Ø Свобода вивчення роботи програми і адаптація її до ваших потреб (свобода 1), доступ ловарпдлі
Ø Вплорів …до 5-ої.
FreeBSD – займає 2-ге місце у світі серед систем з відкритим кодом; серед варіантів системи: Current (для розробників), Stable (кінцевих користувачів), Release… Розробляється як цілісна операційна система. Вихідний код ядра, драйверів пристроїв і базових користувацьких…
Mac OS – лише для ПК фірми Apple.
*************** щодо першої та другої лабораторних робіт ********
ОС Unix
Обладнання – ядро – командний інтерпретатор: Bourne (sh), C (csh), Korn (ksh або pdksh), Bourne Again Shell (bash), Tesh (tcsh). Більшість стандартних команд працює однаково у всіх інтерпретаторів. Для того щоб дізнатися який командний інтерпретатор використовується у даний момент необхідно ввести наступну команду: s grep foo /etc/password. Якщо bash не запущено, то треба його назву набирати у командному рядку.
Важливо слідкувати за регістрами, у назвах файлів, папок краще не використовувати « «, а «_».
Команда man – довідка. Якщо не можете пригадати як називається потрібна Вам команда, то можна ввести щось типу man –k search – виведеться список команд для пошуку. Опція –f виводить коротку інформацію про вказану команду.
Розділи довідкових керівництв: User Commands, System Calls, Subroutines, Devices, File Formats, Games, Miscellaneous, System Administration, Kernel Interfaces.
Команди керування файловою системою ОС Unix
ls, dir, vdir з ключами –a, -l, -m, -p, -x.
Повна інформація про файл включає у себе:
1) Права доступу та інші атрибути файлу. У цьому полі вказано, хто має права на читання, запис і виконання кожного файлу (чи каталогу).
2) Кількість посилань. Звичайні файли містять не менше одного посилання (на себе), а каталоги – не менше двох (на себе і на батьківський каталог).
3) Ім’я користувача-власника файлу.
4) Ім’я групи-власника файлу.
5) Розмір файлу у байтах.
6) Дата створення.
7) Ім’я файлу.
Команда cd: у домашній каталог, у кореневий, будь-куди (повний шлях чи відносний), на рівень вище.
Копіювання файлів – за допомогою команди cp. Якщо newfile – каталог, то файл копіюється у нього, інакше – він копіюється з назвою newfile у каталог stuff: cp file stuff/newfile. Якщо треба скопіювати кілька файлів, то вони перелічуються через пропуск.
Переміщення та перейменуванн: mv. Видалення: rm. Створення папок та файлів: mkdir, touch.
Робота з нестандартними іменами файлів: використовуємо символи екранування, наприклад, rm \*, rm file\\1.txt, file\”3\”.txt, rm “File 1”.
Rm –i\* - видалить тільки те, що треба, а не усі файли; опція –і – «запитає».
Метасимволи та символи-заміщувачі:
· ? – співпадає з будь-яким одиночним файлом
· * - з будь-якому послідовністю символів
· [] – з діапазоном символів.
Підрахунок числа рядків, слів та символів у текстовому файлі використовується команда wc.
Пошук по шаблону у текстових файлах – grep: S grep what where. Те, що шукаємо, розглядається як послідовність символів, але якщо нам потрібно знайти саме це слово, то беремо його у лапки. Різноманітні ключі також використовуються.
Сортування – у оберненому порядку, команда sort.
Можна виводити не весь файл, але лише певні рядки: cut.
Перенаправлення введення-виведення: символ >; також >>.
S tr ‘a-z’ ‘A-Z’ < file1 > file2 – у файлі1 замінюємо символи і записуємо це все у файл2.
Cat file file2 file3| sort > file4 – три файли об’єднуються, сортуються і записуються у четвертий.
Адміністрування ОС Unix
Користувач root – «може все». Для зміни прав володіння файлом користуються командою chown: chown bob file.txt (ім’я власника тепер - боб), наприклад.
Різновиди користувачів: користувач, група та інші; набір бітів повноважень – читання, запис, запуск… Команда chmode – для встановлення прав символічними аргументами: chmode <режим> <файл>. Зміна режимів числовими аргументами: наприклад, «0» - немає доступу, «755» - власник може все, а групи і решта – читати і виконувати.
**************************************** ************ *******
Лекція №2
Операційна система -
це базове системне ПЗ. Цілі її роботи:
· забезпечити зручність, ефективність, надійність і безпеку виконання користувацьких програм;
· - || - використання комп’ютера (ОС забезпечує максимальну користь використання комп’ютера, захищає його від збоїв, відмов та, по мірі можливостей, від хакерських атак);
· - || - використання мережевих, дискових і інших зовнішніх пристроїв, підключених до комп’ютера;
· забезпечення безпеки і надійності даних.
ОС керує такими апаратними ресурсами: процесорами, пам’яттю та пристроями введення-виведення. Тому, основні, базові функції ОС наступні:
Ø керування процесорами і розподіл процесорного часу;
Ø керування і розподіл пам’яті;
Ø керування пристроями введення-виведення.
ОС забезпечує наступні стандартні функції для прикладного програмного забезпечення і його користувачів:
Ø розподіл апаратних ресурсів між задачами та користувачами;
Ø ефективне виконання операцій введення-виведення;
Ø можливість працювати із загальними даними у режимі колективного користування;
Ø планування доступу користувачів
Ø ше шось.
Головною вимогою до ОС є виконання нею основних функцій ефективного керування ресурсами і забезпечення зручного інтерфейсу для користувача і роботи прикладних програм. Тобто, сучасна операційна система, як правило, має підтримувати мультипрограмне опрацювання даних, віртуальну пам’ять, багато-віконний графічний інтерфейс користувача і т.д. Окрім основних вимог функціональної повноти до ОС пред’являють і не менш важливі експлуатаційні вимоги, а саме наявність у ОС властивостей до:
§ розширення – якщо код ОС написаний таким чином, що доповнення та зміни можуть вноситися без порушення цілісності системи, то таку ОС називають, тою що може розширюватися. Така властивість досягається за рахунок модульної її структури.
§ перенесення – з однієї системи на іншу.
§ сумісність – коли ОС має засоби для виконання прикладних програм, написаний для іншої ОС.
§ надійність та відмово-стійкість – система має захищена як від внутрішніх, так і від зовнішніх помилок, відмов. Дії ОС мають бути завжди передбачуваними, а «додатки» не повинні втручатися у роботу ОС. Зазвичай, визначається архітектурними рішеннями, відлагодженим кодом ОС.
§ безпека – ОС має захищати дані та інші ресурси обчислювальної системи від несанкціонованого доступу. Засоби безпеки ОС мають включати у себе, як мінімум, засоби аутоідентифікації (визначення легальності користувача), авторизації (представлення легальним користувачам ідентифікованих прав доступу до ресурсів та даних) та аудиту (фіксація усіх підозрілих для безпеки подій).
§ продуктивність – швидкодія.
Класифікація ОС дозволяє проводити ідентифікацію їх типу і призначення. Критерії:
1) за кількістю одночасно виконуваних задач – одно- і багатозадачні
2) підтримуваних процесорів
3) користувачів
4) за наявністю вбудованих засобів мережевого обміну
5) за підтримкою побудови систем реального часу
6) за типом користувацького інтерфейсу.
Другий підхід до класифікації - ОС діляться на чотири групи, залежно від таких критеріїв:
1. особливості алгоритмів управління ресурсів (процесорів)
2. особливості апаратних платформ (персональні, міні, мейнфрейми, кластери, мережі ЕВМ)
3. особливості областей використання (системи пакетної обробки (багато чого робимо), розподілу часу (зручне користування) та реального часу (за певний час))
4. особливості методів побудови.
Класифікація комп’ютерних систем:
· суперкомп’ютери – потужні багатопроцесорні комп’ютери, найбільш сучасні з яких мають продуктивність до декількох …? Призначені для великих, серйозних обчислень (моделювання; наприклад, яка погода буде у певному регіоні протягом якогось проміжку часу)
· багатоцільові – комп’ютері загального призначення, «мейн-фрейми»; багацько введення-виведення
· кластери – групи комп’ютерів, фізично розташованих поруч і з’єднаних одне з одним високошвидкісними шинами і лініями зв’язку; використовуються для високопродуктивних обчислень (наукові центри)
· настільні – з розподілом часу; зручні у користуванні
· портативні – аналогічно, але плюс wifi (вид радіозв’язку, що дозволяє працювати у безпровідній мережі (конференції, аеропорти…)), bluetooth (менша відстань, використовується для взаємодії комп’ютера з мобільним телефоном тощо), зовнішні пристрої підключаються до них через usb-порти (і плюс порт для читання різноманітних карт пам’яті), і не забуваємо про батареєчку
· кармані портативні – як ноутбук, але воно ж маленьке…
· мобільні пристрої – використовуються для голосового зв’язку, в основному
· wearable computers – (пере)носимо ми їх – шось страшне, але надійне
· розподілені системи – для великих обчислень, особливо у межах однієї задачі
· системи реального часу – гнучкі та жорсткі
Операційні системи:
· ОС мейнфреймів – орієнтовано на обробку великої кількості одночасних завдань, більшість з яких потребують багато введення-виведення; часто пропонується три види обслуговування: пакети (не потребують участі користувача; наприклад, формування звітів у мережі депозитів..), транзакції (обробка безлічі незначних запитів) і розподіл часу (багато користувачів користуються однією машиною)
· Серверні ОС – працюють на серверах, що представляють собою або дуже великий ПК, або робочу станцію, чи навіть комп’ютер класу мейнфрейм; обслуговують велику кількість користувачів, дозволяють їм ефективно ділити апаратні та програмні ресурси
· Багатопроцесорні ОС – для багатопроцесорних комп’ютерів; залежно від виду з’єднання процесорів поділяються на паралельні, мультикомп’ютери чи багатопроцесорні системи
· ОС для ПК – основна їх задача полягає у наданні зручних можливостей для роботи
· ОС реального часу – основним їх критерієм є час
· Вбудовані ОС – керують діями пристроїв, працюють на машинах, котрі не вважаються комп’ютерами (телевізори, пральні машини та т.д.), мають ті ж характеристики, що і системи реального часу, але мають обмеження по пам’яті і потужності
· ОС для старт-карт – розташовані на карточках, часто обмеженні виконанням однієї операції; багатозадачні + жорсткі обмеження по розмірах, потужності
Функціональні компоненти ОС автономного комп’ютера
Функції ОС автономного комп’ютера зазвичай групуються або у відповідності з типами локальних ресурсів, котрими управляє ОС, або із загальними підсистемами.
Підсистема керування процесами
Під процесом у загальному випадку розуміють програму у стадії виконання, його можна визначити як декотру заявку на використання системних ресурсів. Щоб процес міг бути виконаний система має йому назначити область оперативної пам’яті, у якій будуть розміщатися коди і дані процесу, а також надати процесорний час для виконання. У мультипрограмній ОС одночасно може існувати декілька процесів. Частина процесів породжується по ініціативі користувачів і їх за стосунків, такі процеси зазвичай називають користувацькими. Системні процеси ініціалізуються самою ОС для виконання своїх функцій. Важливо, що ОС підтримує черги заявок на ресурси, врахування та моніторинг зайнятих та вільних ресурсів; захищає ресурси.. Сукупність усіх областей оперативної пам’яті, виділених ОС процесу, називається його адресним простором.
СИНХРОНІЗАЦІЯ ПРОЦЕСІВ!!!!!
Основні функції підсистеми керування процесами:
· Створення та знищення процесів, тобто структур даних, пов’язаних з ними
· Підтримка черг заявок процесів на ресурси
· Захист ресурсів, виділених даному процесу, від решти процесів; організація сумісного використання ресурсів
· ….
Підсистема керування пам’яттю, її основні функції:
· Розподіл фізичної пам’яті між усіма існуючими у системі у даний момент процесами
· Завантаження кодів і даних процесів у відведені їм області пам’яті
· Налаштування адресно-залежних частин кодів процесу на фізичні адреси області, що виділяються
· Захист областей пам’яті кожного процеса…
Підсистема керування файлами і зовнішніми пристроями
Файл – проста неструктурована послідовність байтів, що має символьне ім’я.
Драйвер – програма, що управляє конкретним пристроєм і є «обізнана» з його характеристиками; може керувати як конкретним пристроєм, так і групою пристроїв.
Основні функції: перетворення символьних імен файлів, з якими працює користувач, у фізичні адреси даних на диску; організація сумісного доступу до файлів; захист даних від несанкціонованого доступу.
Підсистема захисту даних
Безпека даних забезпечується:
· Засобами відмово стійкості ОС, котрі направлені на захист від збоїв і відмов апаратури та помилок програмного забезпечення
· Засобами захисту від несанкціонованого доступу (ОС захищає дані від помилкової або навмисної «злючої» поведінки користувачів системи)
Реалізація відмовостійкості реалізується ОС, як правило, на основі чогось там, я не прочитала навіть. *сумний смайлик* Приммммммітка. Уточнити все оце ге можна у відповідального за усе це ге і його зберігання і передачу і ше шось, Данилки.
Підсистема користувацького інтерфейсу
Примітка. Див вище щодо уточнень.
Лекція №3
Функціональна складність операційної системи -> складність її архітектури.
Звичайний склад ОС:
· Виконувані та об’єктивні модулі стандартних для даної ОС форматів
· Бібліотеки різних типів
· Модули вихідного тексту програм
· Програмні модулі спеціального формату
· Конфігураційні файли
· Файли документації
· Модулі довідкової системи
· Інші файли
Звичайний принцип побудови ОС
Розподіл усіх її модулів на дві групи: ядро – модулі, що виконують основні функції ОС; модулі, що виконують додаткові функції ОС.
Функції ядра! Повікіпедити.
Додаткові модулі ОС зазвичай поділяються на такі групи:
· Утиліти – програми, що розв’язують окремі задачі управління і супроводу комп’ютерної системи, влпдрідлпрі
· Системні програми опрацювання
· Бібліотеки процедур
· Прикладні програми користувачів
Відмінності привілегійованого і користувацького режиму роботи:
· Заборона виконання у користувацькому режимі декотрих критичних команд, пов’язаних з перемиканням процесора з задачі на задачу…
· Ван моар.
Багатошаровий підхід
· Система складається з ієрархії шарів, кожен з них відповідає за виконання функцій певного рівня ієрархії
· Кожен шар обслуговує вищий, виконуючи для нього декотрий набір функцій, котрі створюють міжшаровий інтерфейс
Ю…
Переваги такого підходу:
· Значно спрощується розробка системи (спочатку «зверху-вниз» - визначаються функції слоїв і міжсло… інтерфейси, а потім навпаки – реалізація чогось)
· Проста модернізація
Багатошарова структура ядра ОС: апаратура – засоби апаратної підтримки ОС – машинно-залежні модулі (програмні модулі, що відображаються специфіку апаратного модуля комп’ютера; у ідеалі має повністю екранувати особливості апаратури) – базові механізми ядра (виконує найбільш примітивні операції ядра, такі як програмне перемикання контекстних процесів, стилізація переривання тощо) – менеджери ресурсів (складається з потужних функціональних модулів, реалізує стратегічні задачі керування основними ресурсами; усередині цього шару існують тісні взаємні зв’язки) – інтерфейс системних викликів (взаємодіє безпосередньо з прикладними програмами та системними утилітами, створюючи прикладний програмний інтерфейс)
Шари ядра – траляляляляляляляляляляля
Класична архітектура (на базі ядра). Висновки:
· Усі основні функції ОС, що складають багатошарове ядро, виконуються у привілегійованому режимі.
· Деякі додаткові функції ОС оформляються у вигляді за стосунків і виконуються у користувацькому режимі поруч із звичайними користувацькими програмами (стаючи системними утилітами бао опрацьовуючи ми програмами).
· Кожна прикладна програма користувацького режиму працює у власному адресному просторі і захищена тим самим від якого-небудь втручання інших прикладних програм.
· Код ядра, ….
Лекція №4
Багато ОС успішно працюють на апаратних платформах без існуючих змін у своєму складі. Це пояснюється тим, що хоч деталі засобів різняться…. У результаті, у ОС можна виділити достатньо компактний шар машинно-залежних компонентів ядра і зробити основні шари ОС загальними для різних платформ. Чіткої межі між апаратною та програмною організацією не існує.
Типовий набір апаратної підтримки ОС:
1. Засоби підтримки привілегійованого – основано на системному регістрі процесора, що містить деякі ознаки, що визначають режим роботи процесора, у тому числі і поточний режим; + визначає допустимий…
2. Засоби трансляції адрес – виконує операції перетворення віртуальних адрес, що знаходяться у коді процесора, у адреси фізичної пам’яті; таблиця адрес міститься у оперативній пам’яті, а апаратура містить лише вказівники на ці адреси
3. Засіб переключення процесора – призначений для швидкого збереження контексту процесу, призупиняючи його, і швидкого відновлення контексту процесу, який стає активним
4. Система переривання – дозволяє комп’ютеру реагувати на зовнішні події, синхронізувати виконання процесів, роботу пристроїв введення-виведення, переходити з однієї програми на іншу; при виникненні умов переривання його джерело подає сигнал, що перериває виконання процесу і викликає автоматичний перехід на зараннє визначену процедуру (процедуру обробки переривання)
5. Системний таймер – часто реалізується у вигляді швидкодіючого лічильника; необхідний ОС, щоб витримувати задані інтервали часу
6. Засіб захисту областей пам’яті – забезпечує на апаратному рівні перевірку можливостей програмного коду, здійснює з даними у певних областях такі операції як запис, читання, виконання
Машинно-залежні компоненти ОС
Одна й та сама ОС не може без будь-яких змін встановлюватися на комп’ютер, що відрізняється або типом процесору, або способом організації обчислювального процесу, або і тим і іншим. У модулях ядра ОС не можуть не відобразитися такі особливості апаратних платформ як тип переривання, формат таблиці посилань на процедури обробки переривань, системні регістри і т.д. Одначе, ядро ОС можна спроектувати таким чином, що лише частина модулів буде машинно-залежною, а решта – машинно-незалежною. Для зменшення кількості машинно-залежних модулів виробники ОС зазвичай обмежують універсальність машинно-незалежних модулів.
Переносимість… тре:
1. Більша частина коду має бути написана на мові, трансляція якого є на усіх машинах, на які передбачається перенести ОС
2. Об’єм машинно-залежних частин коду має, по можливості, бути мінімізованим
3. Апаратно-залежний код має бути локалізований у декількох модулях
Мікроядерна архітектура – альтернатива класичному способу побудови ядра. Її суть полягає у наступному: у привілегійованому режимі лишається працювати лише дуже невелика частина ОС, що називається мікроядром. Воно захищене від інших частин ОС… У його склад входять …. , а також процедури для пересилання повідомлень. Функції мікроядра зазвичай відповідають шарам базових механізмів звичайного ядра. Усі інші, більш високо рівневі функції ядра, оформлюються у вигляді прикладних програм, що працюють у користувацькому режимі. Менеджери ресурсів, що працюють у користувацькому режимі, мають принципіальну відмінність від традиційних системних утиліт і прикладних програм.. : вони зазвичай називаються серверами ОС, тобто, модулями, основним призначенням яких є обслуговування запитів локальних застосувань та інших модулів ОС.
Переваги і недоліки ядерної архітектури
ОС, основана на концепції мікроядра, …. +висока степінь застосування виконання вимог ОС… Короче, максимально відповідає сучасним вимогам, та:
1. Висока степінь переносимості обумовлення тим, що машинно-залежний код ізольовано у мікроядрі, тому для .. системи треба менше змін, і усі вони логічно груповані
2. Здатність до розширення притаманна, у високій степені; обумовлена, знову ж таки, архітектурою
3. Використання мікроядерної архітектури підвищує надійність ОС
Але:
4. Зниження продуктивності - при системному виклику відбувається 4х-кратна затримка (звичайне ядро – 2х-кратна)
Сумісність ОС – можливість запускати за стосунки у даній ОС, що були написані для іншої ОС. Виділяють:
1) Двійкова сумісність – досягається у тому випадку, коли можна взяти виконувану програму і запустити її на виконання у середовищі іншої ОС
2) Сумісність вихідний текстів – потребує наявності відповідного компілятора, … бібліотек і системних викликів; при цьому необхідна перекомпіляція вихідних текстів у новий виконуваний модуль
Залежить від багатьох факторів: головний – архітектура процесора, на якому працює нова ОС. Якщо процесор використовує той самий набір команд, і той самий діапазон адрес, то двійкова сумісність може бути досягнута досить легко, для цього необхідно лише дві речі: виклик функції інтерфейсу прикладного програмування, що містить за стосунки, що підтримуються даною ОС, і внутрішня структура виконуваного модулю має відповідати внутрішній структурі модулів даної системи.
Набагато складніше досягти двійкової сумісності на різних архітектурах: тоді використовується емулятор, що послідовно обирає кожну двійкову інструкцію одного процесора, програмним чином виконує дешифрування для визначення дій, що вона виконує, і, відповідно, виконує еквіваленту підпрограму у інструкціях іншого процесору. Вихід з такої ситуації – використання прикладних програмних засобів. Одна з складових, що формує прикладне середовище, - набір функцій інтерфейсу прикладного програмування, котрі ОС надає своїм застосункам; 60-80% процентів часу витрачається на виконання функцій графічних інтерфейсів користувача, трансляція використовує власні бібліотеки, що імітують внутрішні бібліотеки графічних інтерфейсів, але є написані на інших мовах. Щоб програма, написана для однієї ОС, могла бути виконана у рамках іншої, недостатньо забезпечити … інтерфейсів прикладного програмування… Концепції, закладені у основи ОС, можуть протиречити одна одній: кожна ОС має свої алгоритми обробки помилок, схеми керування пам’яттю, семантику доступу до файлів і графічний інтерфейс користувача, тому для забезпечення сумісності треба організувати у рамках однієї ОС декілька способів керування ресурсами.
Структура ОС:
· Монолітні системи – «хаус», неструктуровані; сервісні процедури
· Багаторівневі – рівні: 5 – оператор, 4 – програми користувача, 3 – керування введенням-виведенням, 2 – зв’язок оператор-процес, 1 – керування пам’яттю і барабаном, 0 – розподіл процесору та багатозадачність
· Віртуальні машини
· Екзоядро
· Модель клієнт-сервер
Комп’ютерні архітектури:
§ CISC – історично перший підхід; суть полягає у тому, що система…. складні по семантиці операції реалізуючи дії, що використовуються при програмуванні і ще чомусь хз; ціль – з одного боку, бажання зробити архітектуру якомога більш розумною, а з іншого боку – жорстке вшивання алгоритмів приводило до того, що апаратура виконувала щоразу деякі алгоритми, що потребували дофіга ресурсів… але оптимізувати оцей процес ніяк не можна було; ще один недолік – групові операції на час їх виконання фактично зупиняли… ?))
§ RISC – простіший підхід до архітектури; принципи: простіша семантика, відсутність складних групових операцій, використання спеціальних команд зчитування з пам’яті, виконання арифметичних обчислень лише у регістрах і т.д. Ця архітектура дозволяє оптимізацію
§ VLIW - … послідовність команд і підкоманд; команди використовуються декілька під команд, що «розпаралелюють».. тому процесу легше жить
§ Multi-core computers – кожний процесор має кілька ядер, об’єднаних у одному кристалі і паралельно працюючих.. пам’яті
§ Hybrid processor computers – процесор має гібридну структуру, а саме складається з багатоядерного центрального процесора і також багатоядерного графічного процесора