Призначення
та функціонування операційної системи.
Операційна
система — це базовий комплекс програмного
забезпечення, що виконує управління
апаратним забезпеченням комп'ютера або
віртуальної машини; забезпечує керування
обчислювальним процесом і організує
взаємодію з користувачем.
Операційна
система звичайно складається з ядра
операційної системи та базового набору
прикладного програмного забезпечення.
Функції
операційної системи:
Виконання
на вимогу програм користувача тих
елементарних (низькорівневих) дій, які
є спільними для більшості програмного
забезпечення і часто зустрічаються
майже у всіх програмах (ввід і вивід
даних, запуск і зупинка інших програм,
виділення та вивільнення додаткової
пам'яті тощо).
Стандартизований
доступ до периферійних пристроїв
(пристрої введення-виведення).
Завантаження
програм у оперативну пам'ять і їх
виконання.
Керування
оперативною пам'яттю (розподіл між
процесами, організація віртуальної
пам'яті).
Керування
доступом до даних енергозалежних носіїв
(твердий диск, оптичні диски тощо),
організованим у тій чи іншій файловій
системі.
Забезпечення
користувацького інтерфейсу.
Мережеві
операції, підтримка стеку мережевих
протоколів.
Додаткові
функції:
Паралельне
або псевдопаралельне виконання задач
(багатозадачність).
Розподіл
ресурсів обчислювальної системи між
процесами.
Організація
надійних обчислень (неможливості впливу
процесу на перебіг інших), основана на
розмежуванні доступу до ресурсів.
Взаємодія
між процесами: обмін даними, синхронізація.
Захист
самої системи, а також користувацьких
даних і програм від дій користувача
або програм.
Багатокористувацький
режим роботи та розділення прав доступу
(автентифікація, авторизація).
-
Організація
системи вводу-виводу.
Організація
системи вводу-виводу здійснюється в
ОС підсистемою управління вводу-виводу.
Підсистема
управління введенням-виведенням реалізує
базові механізми обміну даними між
пристроями введення-виведення та
оперативною пам'яттю обчислювальної
машини та забезпечує організацію файлів
в файлові системи.
Операція
введення виконується як читання даних
з зовнішнього пристрою в оперативну
пам'ять, операція виведення - як запис
даних з оперативної пам'яті на зовнішній
пристрій.
При
роботі з файлами система вводу-виводу
впроваджує спеціальну абстракцію -
поток вводу-виводу, що дозволяє програмам,
які звертаються за сервісами вводу-виводу,
використовувати одноманітний перелік
функцій роботи з файлами не залежно від
типу пристрою, на якому знаходиться
файл, та типу файлової системи, яка
містить цей файл. Відмінності доступу
до різних пристроїв та файлових систем
забезпечуються додатковими програмними
модулями - драйверами пристроїв та
файлових систем.
В
окремих операційних системах підсистема
управління вводу-виводу також може
впроваджувати механізми, які призвані
підвищити швидкість обміну даними між
задачами та файлами. Найчастіше
використовується механізм буферизації
(кешування) даних, який полягає в тому,
що при читанні даних з файлу підсистема
намагається за одну операцію введення
читати дані блоками зручного (звичайно
досить великого) розміру, а не порціями,
які запитує задача. Завдяки цьому за
одну операцію введення в оперативну
пам'ять потрапляють також додаткові
дані, які зберігаються в кеші і в
подальшому передаються в програму без
додаткових звернень до пристрою. Подібним
чином цей механізм працює і при виконанні
операцій запису.
3. Функції
керування системою в багатозадачних
операційних системах.
Процес – це
деякий програмний код який виконується
в пам’яті КС, може використовувати
пристрої вводу-виводу та задіює системні
ресурси. Дескриптор складається з
ідентифікатора символьного ім’я
процеса, пріоритету і користувача.
Менеджер
процесів на основі дескриптора який
визначає певні параметри переключає
контексти процесів. Вимоги до менеджера
процесів такі:
Враховувати
пріоритет процесу;
Конкретне
перемикання між контекстами програм;
Розподіл
ресурсів так щоб мінімізувати взаємні
блокування;
Не
перевантажувати процесор своєю роботою.
Також
багатозадачна ОС поділяються з витісняючою
багатозадачність і без. У випадку ОС з
витісняючою багатозадачність передбачає
що МП є інтегрований в програму, а тому
ОС немає власного МП.
Звісно що МП
працює на різних складних алгоритмах
прикладом яких є PBS, FJS,
SJF, FCFS.
4. Операційні
системи сімейства Windows.
Версії Windows
можна умовно поділити на кілька груп.
Родина Windows
9X
Сімейство
ОС, розроблених спеціально для процесорів
з 32-бітною архітектурою. На відміну від
попередніх версій, Windows цього сімейства
вже є повноцінними операційними системами
та не потребують для своєї роботи
підтримки з боку MSDOS. Пришвидшення роботи
частково відбулось за рахунок архітектурних
компромісів, що теж вплинуло на
стабільність цих систем.
1995 24 серпня
— Windows 95 (Номер версії: 4.00.950)
1998 25 червня
— Windows 98 (Номер версії: 4.1.1998)
1999 5 травня
— Windows 98 Second Edition (Windows 98 SE) (Номер версії:
4.1.2222)
2000 19 червня
— Microsoft Windows Me (Номер версії; 4.9.3000)
Родина Windows
NT
Операційні
системи цього сімейства працювали на
процесорах з архітектурою IA32 та деяких
менших RISC-процесорів: Alpha, MIPS (до версії
2000, що вийшла лише у версії для IA32).
Розробка Windows NT велась на тих самих
засадах, що і Windows 9X, але NT із самого
початку позиціонувалась не на домашнє
використання, а на серверний ринок. Це
дозволяло не звертати значної уваги на
зворотню сумісність та накладало не
такі жорсткі обмеження на швидкість
роботи.
1993 серпень
— Windows NT 3.1
1994 вересень
Windows NT 3.51
1996 29 липня
Windows NT 4.0, Windows NT 4.0 Server
2000 17 лютого
Windows 2000 Professional, Windows 2000 Server, Windows 2000 Advanced
Server, Windows 2000 Datacenter Server
2001 25 жовтня
Windows XP Home Edition, Windows XP Professional
2003 Windows Server
2003
2007 30 січня
Windows Vista
2009 22 жовтня
Windows 7
Операційні
системи сімейства Windows 9X та Windows NT належать
до операційних систем з витіснюваною
багатозадачністю. Поділ процесорного
часу між потоками відбувається за
принципом «каруселі». Операційна система
виділяє квант часу (в Windows 2000 квант
становить близько 20 мс) кожному потоку
за чергою з врахуванням пріоритету.
Windows XP
Windows XP (кодова
назва при розробці — Whistler; внутрішня
версія — Windows NT 5.1) — операційна система
сімейства Windows NT від компанії Microsoft. Вона
була випущена 25 жовтня 2001 року і є
розвитком Windows 2000 Professional. Назва XP походить
від англ. experience Назва увійшла до практики
використання, як професійна версія.
Windows XP є
виключно клієнтською системою. Її
серверним варіантом є випущена пізніше
система Windows Server 2003. Windows XP і Windows Server 2003
побудовані на основі одного і того ж
ядра.
Windows 7
Наступною
операційною системою Microsoft стала Windows
7, яка вийшла 22 жовтня 2009 року
Родина ОС
для кишенькових комп'ютерів: Підтримуються
процесори StrongARM і деякі інші.Windows CE,
Microsoft PocketPC, Microsoft Windows Mobile. Хмарні
обчислення: Windows Azure
29
лютого 2012 Microsoft випустила Windows 8 Consumer
Preview, по суті це бета-версія Windows 8, збірка
8250. Вперше з моменту випуску версії
Windows 95, кнопка Пуск, більше не існує на
панелі завдань, дія Consumer Preview закінчується
15 січня 2013 року.
5. UNIX-подібні
операційні системи.
UNIX® (Ю́нікс)
— це операційна
система, яка спочатку
розроблялася протягом 1969—1970-х років
групою співробітників підрозділу Bell
Labs корпорації AT&T,
яка включала Кена
Томпсона,Денніса
Рітчі та Дугласа
Макілроя. Натепер існує
безліч різних UNIX-систем, які, в свою
чергу, об'єднуються в родини. В їх розробці
в різний час брали участь AT&T,
деякі комерційні фірми, а також
некомерційні організації.
У 1983 році Річард
Столлмен оголосив про
створення проекту GNU —
спроби створити вільної UNIX-подібної
операційної системи з нуля, без
використання оригінального вихідного
коду. Більша частина
програмного забезпечення, розробленого
в рамках даного проекту — такого, як GNU
toolchain, Glibc (стандартна
бібліотека мови Сі)
та Coreutils —
відіграють ключову роль у інших вільних
операційних системах. Однак, роботи з
створення заміни для ядра UNIX,
необхідного для повного виконання задач
GNU, відбувались дуже повільно. На
теперішній час GNU
Hurd — спроба створити
сучасне ядро на основі мікроядерної архітектури Mach —
все ще далека від завершення.
У 1991 році,
коли Лінус
Торвальдс опублікував
ядро Linux та
залучив помічників, використання
інструментів, розроблених у рамках
проекту GNU, було очевидним вибором.
Об'єднавшись з ядром Linux, програмне
забезпечення GNU стало основою для
UNIX-подібної операційної системи, відомою
як Linux. Дистрибутиви цієї
системи (такі як Red
Hat та Debian),
які включають ядро, утиліти GNU та додаткове
програмне забезпечення стали популярними
як серед аматорів, так і серед фахівців.
У результаті
регулювання юридичної справи,
відкритою UNIX
Systems
Laboratories проти університету
Берклі та Berkeley
Software Design Inc.,
було встановлено, що університет може
розповсюджувати BSD UNIX, в тому числі і
безкоштовно. Після цього були відновлені
експерименти, пов'язані з BSD-версією
UNIX. Незабаром розробка BSD UNIX була
продовжена у декількох напрямах
одночасно, що призвело до появи проектів,
відомих як FreeBSD, NetBSD,OpenBSD та DragonFlyBSD.
На теперішній
час Linux та представники сімейства BSD
швидко відвойовують ринок у комерційних
UNIX-систем та одночасно проникають як у
персональні комп'ютери користувачів,
так і на мобільні вмонтовані системи.
Одним із свідчень даного успіху служить
той факт, що коли фірма Apple шукала
основу для своєї операційної системи,
вона вибрала NEXTSTEP —
операційну систему з вільно розповсюджуваним
ядром, розроблену фірмою NeXT та
перейменованою у Darwin після
придбання фірмою Apple. Ця система
відноситься до сімейства BSD та базується
на ядрі Mach.
Застосування Darwin BSD UNIX у Mac
OS X робить його однією
з найбільш розповсюджених версій UNIX.
Однак, з
виходом ОС UNIX на комерційний ринок,
переходом до широкого трактування
системи та суттєвим збільшенням числа
користувачів різних її варіантів, стало
необхідним ввести можливість виробництва
побудованих на основі ОС UNIX операційних
систем, які були б дійсно сумісними. Для
цього необхідна стандартизація
(інтерфейсів)
засобів операційної системи на різних
рівнях. Така робота триває вже біля 10
років, ще не завершена й навряд чи колись
буде завершена у вигляді кінцевого
набору стандартів
6. Ядро
операційної системи і його функціональне
призначення.
Операці́йна
систе́ма — це базовий
комплекс програмного
забезпечення,
що виконує управління апаратним
забезпеченням комп'ютера або віртуальної
машини; забезпечує
керування обчислювальним процесом і
організує взаємодію з користувачем.
Операційна
система звичайно складається з ядра
операційної системи та
базового набору прикладного
програмного забезпечення
Ядро системи
— це набір функцій, структур даних та
окремих програмних модулів, які
завантажуються в пам'ять комп'ютера
при завантаженні
операційної системи та
забезпечують три типи системних сервісів:
управління
введенням-виведенням інформації
(підсистема вводу-виводу ядра ОС);
управління
оперативною пам'яттю (підсистема
управління оперативною пам'яттю ядра
ОС);
управління процесами (підсистема
управління процесами ядра ОС).
Інтерфейс
ядра операційної системи
Функції ядра
операційної системи можуть бути виконані
внаслідок виконання в прикладних
програмах спеціальних функцій - системних
викликів. Призначення
системного виклику полягає в тому, що
прикладні програми не взмозі самотужки
визначити, за якими адресами знаходяться
функції ядра.
Підсистема
управління введенням-виведенням
Підсистема
управління введенням-виведенням реалізує
базові механізми обміну даними між
пристроями введення-виведення та
оперативною пам'яттю обчислювальної
машини та забезпечує організацію файлів
в файлові системи.
Операція
введення виконується як читання даних
з зовнішнього пристрою в оперативну
пам'ять, операція виведення - як запис
даних з оперативної пам'яті на зовнішній
пристрій.
Підсистема
управління задачами (процесами)
Підсистема
управління задачами (процесами) забезпечує
створення задачі (процесу), завантаження
програмного коду і його виконання та
завершення задачі (процесу).
В багатозадачних
системах підсистема управління задачами
(процесами) також забезпечує механізми
залежностей між задачами, в тому
числі: синхронізацію
задач та успадкування
властивостей.
Засоби
міжпроцесної взаємодії
Взаємодія
процесів дозволяє процесам синхронізувати свою
роботу, сумісно і узгоджено використовувати
спільні ресурси та спільно виконувати
обробку даних.
Взаємодія
процесів забезпечується всіма підсистемами
ядра ОС: підсистема управління
введенням-виведенням забезпечує передачу
даних між процесами; підсистема управління
оперативною пам'яттю розподіляє під
процеси спільну оперативну пам'ять,
підсистема управління процесами
забезпечує синхронізацію виконання
процесів та впроваджує механізм обміну
сигналів, за допомогою якого процеси
повідомляються про виникнення в системі
надзвичайних подій.
7. Основні
групи драйверів сучасних операційних
систем і їх призначення.
Драйвери —
це особливий тип комп'ютерних програм,
розроблених для коректної взаємодії з
пристроями. Вони представляють інтерфейс для
взаємодії з пристроєм через певну шину
комп'ютера, до котрої даний пристрій
під'єднано, за допомогою ряду команд що
відправляють та отримують дані з
пристрою. Ці програми залежні як від
пристрою так і від операційної системи,
тобто кожен пристрій потребує свого
драйвера під кожну ОС.
Ключовим
моментом проектування драйверів є
абстрагування. Кожна модель пристрою
(навіть якщо пристрої однакового класу)
є унікальною. Новіші моделі часто
працюють швидше чи продуктивніше і
інакше контролюються. ОС не може знати,
як контролювати кожен пристрій зараз
і в майбутньому. Для вирішення цієї
проблеми ОС лише задає правила поведінки
класу пристроїв. Задачею драйвера є
перетворення цих правил у специфічні
для кожного пристрою команди керування.
У міру розвитку
систем, що сполучають у собі на одній
платі не тільки центральні елементи
комп'ютера, але й більшість пристроїв
комп'ютерів у цілому, виникло запитання
зручності підтримки таких систем, що
одержали назву "апаратна
платформа", або просто
"платформа".
Драйвер –
програма, що розширює можливості
операційної системи.
Драйвер
пристрою – програма операційної
системи для керування роботою периферійними
пристроями: дисководами, монітором,
клавіатурою, принтером, маніпулятором
"миш” та ін.
Драйвер
пристрою повинен враховувати специфіку
роботи зовнішнього приладу, усі тонкості
його функціонування. В зв’язку з цим
кожному приладу повинен відповідати
свій драйвер.
Функції
драйвера пристрою складаються в
наступному:
прийняття
та обробка запросу (керуючого сигналу),
що надходить до даного периферійного
пристрою;
перетворення
запросу про необхідність зв’язку
з цим пристроєм у серію команд керування
ним, з урахуванням усіх деталей
конструкції та особливостей його
роботи;
обробка
сигналу переривання, який
надходить від відповідного цьому
драйвера периферійного пристрою.
Драйверами
також вважаються програми, які забезпечують
керування розширеної пам'яті, а також
створення і обслуговування віртуальних
пристроїв, наприклад електронного диска
в кооперативній пам’яті.
Драйвери
можуть бути або стандартні, або
завантажувальними.
Стандартні
(внутрішні) драйвери – це
програми, які знаходяться усередині BIOS або
його модуля розширення EM BIOS служать
для керування зовнішніми пристроями,
що входять до стандартного комплекту
поставки персонального комп’ютера. Ці
драйвери підключаються до системи
автоматично після переходу комп’ютера
в нормальне робоче становище.
Завантажувальні
(зовнішні, встановлювані) драйвери –
це програми, що зберігаються на диску
і призначені для керування зовнішніми
пристроями, які відрізняються від
стандартних або за своїми технічними
властивостями, або особливими режимами
використання. Завантажувальні драйвери
підключаються до системи тільки тоді,
коли вони вказані у файлі
конфігурації CONFIG.SYS.
Можливість використання завантажувальних
драйверів полегшує адаптацію операційної
системи до нових зовнішніх пристроїв.
8. Базові
команди текстового режиму ОС Linux.
Імена
файлів в Linux
можуть мати довжину до 255 символів і
складатися з будь-яких символів, окрім
символу з кодом 0 і символу "/"
(слеша). Проте є ще ряд символів, які
мають в оболонці shell
спеціальне значення і які не
рекомендується включати в імена. Це
наступні символи: ! @ # $ & ~ % * () [] {} ' "
\ : ; > < пропуск
сd
– перехід до іншого каталогу.
cat
– виводить на экран вміст одного чи
більш файлів.
cat><імя
файлу> – створення файлу. Для виходу
з тексту слід натиснути
комбінацію
клавіш Ctrl+C.
cat
–n – виводить
номери рядків.
touch
– створення файлу.
less
– поглядання великих файлів.
ls
– вивід списку файлів в каталозі.
more
– виводить вміст файлів.
mkdir
– створення каталогу.
wс
-1 – виводить число рядків в файлі.
Для створення
нових каталогів (підкаталогів)
використовується команда mkdir. Формат
команди: mkdir [–опції] [<Каталог1>
<…>] Основні опції: m <права>
– задання прав доступу для створюваного
каталога (в символьному вигляді або у
вигляді числа у восьмеричній системі
числення).
Для переходу
із поточного каталогу в інший каталог
використовується команда cd. Формат
команди: cd [<Каталог>]
Для знищення
каталогів (підкаталогів) використовується
команда rmdir. Формат команди: rmdir
[–опції] [<Каталог1> <…>] За
замовчуванням знищуються лише пусті
каталоги та підкаталоги. Основні
опції: p – знищення всіх
підкаталогів того каталога,
який ліквідовується.
Створити
файл можна за допомогою багатофункціональної
команди cat. Формат команди для виконання
цієї задачі: cat > <file>
Для копіювання
файлів використовується команда cp.
Формат команди: cp [–опції] <Файл1>
… < ФайлN> <Файл>|<Каталог>
|