Тема 1. Загальна характеристика операційних систем . Заняття 2. Структура ОС на базі ядра Linux .
Структурна схема ОС Linux

Загальна характеристика операційних систем. Структура ОС на базі ядра Linux

1.

Інститут спеціального зв’язку та захисту інформації
Національного технічного університету України
“Київський політехнічний інститут ім. Ігоря Сікорського”
Спеціальна кафедра № 5
практичне заняття
з навчальної дисципліни
“Операційні системи"
Тема 1. Загальна характеристика операційних систем .
Заняття 2. Структура ОС на базі ядра Linux .
Київ 2023
1

2. Тема 1. Загальна характеристика операційних систем . Заняття 2. Структура ОС на базі ядра Linux .

Навчальні питання:
1. Історія створення та розвитку UNIX-систем.
2. Архітектура ОС Linux.
3. Введення у віртуалізацію
Література:
Основна література: [1, стор. 34-64], [8, стор. 181-215], [9, стор. 317-329].
Додаткова література: [4, стор. 42-60], [18, стор. 135-179], [16, стор. 155-165],
[19, стор. 41-56].
http://habrahabr.ru/post/227729/
2

3.

Аналітична машина Бебіджа (1833)
3

4.

Перше покоління (1945–1955): електронні лампи
Konrad Zuse 1941
John Atanasoff 1942
4

5.

Перше покоління (1945–1955): електронні лампи
5

6.

Друге покоління (1955-1965):транзистори та системи
пакетної обробки
16 грудня 1947 року Волтер
Браттейн, Джон Бардін, перший
робочий точковий транзистор
1954 рік, IBM 704 під управлінням
першої в світі ОС GM-NAA I/O
6

7.

Друге покоління (1955-1965):транзистори та системи
пакетної обробки
ІВМ 7094 під
управлінням ОС IBSYS
(1960)
7

8.

Третє покоління (1965–1980):інтегральні схеми та
багатозадачність
IBM System/360 під управлінням
OS/360 (1964)
8

9.

Третє покоління (1965–1980):інтегральні схеми та
багатозадачність
Мейнфрейм GE-645 під управлінням ОС MULTICS
www.multicians.org
9

10.

Третє покоління (1965–1980):інтегральні схеми та
багатозадачність
Міні-комп'ютер PDP-1 розроблений корпорацією DEC на початку 60-х
Кен Томпсон (Ken Thompson)
працював над модифікованою
версією MULTICS для даної
машини, що призвело до появи
UNIX ОС у 1969 році
10

11.

Четверте покоління (з 1980 року по наші дні):
персональні комп'ютери
IBM PC — перший масовий персональний комп'ютер виробництва
компанії IBM, випущений в 1981 році
11

12.

Третє покоління (1965–1980):інтегральні схеми та
багатозадачність
У 1974 році, коли корпорація Intel випустила Intel 8080 – перший
універсальний 8-розрядний центральний процесор
12

13.

Четверте покоління (з 1980 року по наші дні):
персональні комп'ютери
Apple Lisa-1 — перший масовий персональний комп'ютер виробництва
компанії Apple , випущений в 1983 році
13

14.

Четверте покоління (з 1980 року по наші дні):
персональні комп'ютери
14

15.

Четверте покоління (з 1980 року по наші дні):
персональні комп'ютери
Лінус Торвальдс
Річард Столлман
15

16.

Ідея і перші реалізації ОС UNIX належать працівникам
дослідницького підрозділу Bell Laboratories компанії American
Telephone and Telegraph (AT&T) Кену Томпсону (Ken Tompson)
і Деннісу Рітчи (Dennis Ritchie) – спробувати реалізувати
працездатний варіант принаймні базових принципів проекту
MULTiplexed Information and Computing Service (MULTICS):
організація колективного використання єдиної ЕОМ
(мейнфрейм) на основі примусового розподілу процесорного
часу між багатьма одночасно працюючими обчислювальними
задачами різних користувачів.
16

17.

У 1969 році за низкою причин, включаючи і об’єктивні
технологічні труднощі щодо досягнення досить амбіційних на
той час цілей, Bell Laboratories виходить з проекту без будьяких юридичних зобов’язань. І цього ж року К. Томпсон і Д.
Рітчи розпочинають розробку ОС UNiplexed Information and
Computing Service (UNICS) для управління роботою
комп’ютерів, встановлених у регіональних відділеннях
телефонної мережі компанії AT&T .
17

18.

У 1969 році за низкою причин, включаючи і об’єктивні
технологічні труднощі щодо досягнення досить амбіційних на
той час цілей, Bell Laboratories виходить з проекту без будьяких юридичних зобов’язань. І цього ж року К. Томпсон і Д.
Рітчи розпочинають розробку ОС UNiplexed Information and
Computing Service (UNICS) для управління роботою
комп’ютерів, встановлених у регіональних відділеннях
телефонної мережі компанії AT&T .
У 1971 році у стінах Bell Laboratories з’являється перша
версія ОС UNICS, яка працює на базі ЕОМ PDP-7. За
легендою назву UNIX запропонував Брайан Керниган (Brian
Kernigan).
18

19.

Термін “Unix-подібні ОС”, або “UNIX-системи”, або “ОС сімейства
UNIX”, хоча і не має офіційного статусу, але широко вживається для
позначення великого сімейства ОС подібних в тій чи іншій мірі ОС UNIX.
Dragon Fly BSD
Open Server
Net BSD
Unix Ware
Free BSD
Tru64 UNIX
Open BSD
HP-UX
GNU/Hurd
Open Solaris
Unix-подібні ОС
GNU/Linux
Solaris
Android
UNICOS
OS X
AIX
OS X Server
z/OS
iOS
IRIX
Minix
QNX
19

20.

В цей період 80-х років набуває вжитку поняття
,,дистрибутив” як форми продажу початкових текстів
оригінальної ОС UNIX System V Release 2.3 разом з правами
щодо подальшої незалежної розробки і розповсюдження Unixподібних ОС під власною торговою маркою.
Дистрибутив у Linux - операційна система, створена на
базі ядра Linux та забезпечена набором програм та
інструментів для роботи з комп'ютером.
У 1983 році був започаткований проект GNU (GNU is Not
Unix) з метою створення Unix-подібної ОС на принципах free
software, повністю звільненої від фрагментів початкового
тексту AT&T, UNIX-дистрибутивів з правами propirietary
software
і,
відповідно,
від
будь-яких
ліцензійних
домовленостей щодо обмеження використання, копіювання,
дослідження,
модифікації,
повторного
використання,
розповсюдження і т. ін. ядра та програмного забезпечення.
20

21.

Ініціатором проекту GNU, а також засновником у 1985 році
фонду вільного програмного забезпечення – Free Software
Foudation (FSF), перш за все, для забезпечення фінансування
проекту GNU акумулюючи відшкодування за права
інтелектуальної власності у багатьох програмних продуктах, є
Річард Сталлмен (Richard Stallman). Йому ж належить і
авторство поняття free software.
21

22.

GNU/Linux. Ідея і авторство перших редакцій ядра Unixподібної ОС у 1991 році для IBM PC-сумісного комп’ютера на
базі
процесора
обчислювальної
архітектури
i80386,
розглядаючи за основу положення стандарту POSIX, належить
Лінусу Торвальдсу (Linus Torvalds). Наприкінці 1991 року Л.
Торвальдс презентує ядро власної розробки, яке невдовзі
одержало ім’я Linux, спільноти учасників проекту GNU.
22

23.

У 1994 році з’являється ядро Linux 1.0, яке вважається
достатньо стабільним і повнофункціональним для
побудови Unix-подібних ОС різного цільового
призначення і у цьому ж році з’являються перші
дистрибутиви GNU/Linux у складі:
• ядро з динамічно-завантажувальними модулями (рис.
36);
• командний інтерпретатор, колекція утиліт CLI проекту
GNU;
• бібліотеки мов і засоби програмування проекту GNU;
• програмні засоби розробників дистрибутива.
23

24.

Важливою віхою в успішній адаптації Linux, як бренду до
потреб бізнесу, стало формулювання в 1998 році Еріком
Реймондом (Eric Raymond) поняття програмне забезпечення з
відкритим кодом – open source software, як альтернатива free
software. Це було обумовлено впевненістю достатньої широкої
спільноти програмістів у тому, що GPL у її початковій
редакції не може вважатись сповна прийнятною, оскільки
обмежує комерційне використання початкових текстів з
правами free software у комерційних програмних продуктах як
своєрідне протиріччя вільному духу, і відповідно, заробіток
“вільних” розробників.
24

25.

За даними distrowatch.com, станом на 2016 рік, найбільш
популярними гілками розробки дистрибутивів
GNU/Linux
є:
Mint (http://linuxmint.com).
Ubuntu (http://www.ubuntu.com).
Debian (http://www.debian.org).
Mageia (http://www.mageia.org).
Fedora (https://getfedora.org).
openSUSE (http://www.opensuse.org) .
Arch (http://www.archlinux.org).
CentOS (http://www.centos.org).
PCLinuxOS (http://www.pclinuxos.com).
Slackware (http://www.slackware.com).
25

26.

Slackware был создан Патриком Фолькердингом (Patrick
Volkerding) в конце 1992 года и впервые был представлен
широкой общественности 17 июля 1993 года. Это был первый
дистрибутив Linux, получивший широкое распространение.
Фолькердинг был впервые начал изучать Linux, когда для
проекта ему понадобился недорогой интерпретатор LISP.
Этот персональный дистрибутив быстро получил большую
популярность, поэтому Фолькердинг решил дать ему имя
Slackware и сделал его доступным для широкой
общественности. Со временем Патрик добавил в Slackware
новые вещи: программу установки с дружественным
интерфейсом, основанным на системе меню, а также понятие
управления пакетами, которое позволяет пользователям легко
выполнять в своей системе добавление, удаление или
обновление пакетов с программным обеспечением.
26

27. Структурна схема ОС Linux

Програми
користувача
Системні утіліти
ЯДРО
Файлові системи
Системні динамічні бібліотеки
Інтерфейс системних викликів
Віртуальна файлова система
На носіях
мережевий
інтерфейс
Підсистема управління
процесами
Планувальник
Підсистема введення/виведення
Керування пам’яттю
Драйвер потокових
пристроїв
Взаємодія процесів
Драйвер блочних
пристроїв
Апаратні засоби
27

28.

В ОС Linux можна виділити три основні частини:
1. ядро, яке реалізує основні функції ОС (керування
процесами, пам'яттю, введенням-виведенням тощо);
2. системні бібліотеки, що визначають стандартний набір
функцій для використання у застосуваннях (виконання таких
функцій не потребує переходу в привілейований режим);
3. системні утиліти (прикладні програми, які виконують
спеціалізовані задачі).
28

29.

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

30.

Linux kernel
30

31.

Основні відмінності між операційними системами Linux і Windows
Ліцензія та відкритий код:
o
o
Windows, натомість, є закритою операційною системою, розробленою компанією
Microsoft. Вихідний код Windows не доступний для змін, і система продається за
ліцензією.
Користувацький інтерфейс:
o
o
Linux є відкритою операційною системою, що означає, що її вихідний код доступний
для будь-кого. Користувачі можуть змінювати, покращувати та розповсюджувати її за
власним бажанням.
Windows має інтуїтивно зрозумілий графічний інтерфейс, орієнтований на
користувачів, які не мають досвіду роботи з комп'ютерами. Інтерфейс простий і зручний
для новачків.
Linux пропонує різноманітні графічні оболонки (наприклад, GNOME, KDE), які можуть
бути як простими, так і складними, залежно від дистрибутива. Тут користувач має більше
варіантів налаштування.
Сумісність із програмами:
o
o
Windows є стандартом для більшості комерційних програм, включаючи популярні
програми для офісної роботи, ігри та інші програми, які розповсюджуються в основному
для цієї платформи.
Linux не підтримує багато програм, створених для Windows, але є величезна кількість
відкритих альтернативних програм для Linux. Для запуску Windows-програм можна 31
використовувати емулятори, такі як Wine, але це не завжди ідеальне рішення.

32.


Безпека:
o
o
Windows є найбільшою ціллю для вірусів і шкідливих програм через її популярність.
Проте, Microsoft постійно покращує безпеку, випускаючи оновлення та засоби захисту
(наприклад, Windows Defender).
Встановлення та налаштування:
o
o
Linux вважається більш стійким до вірусів та шкідливих програм, зважаючи на його
архітектуру безпеки, а також через більшу кількість користувачів, які дотримуються
практик безпеки (наприклад, використання прав суперкористувача).
Linux може бути складнішим у налаштуванні для новачків, особливо для тих, хто не має
досвіду з командним рядком або специфічними командами для налаштування.
Windows зазвичай має простіший процес встановлення та налаштування, що дозволяє
користувачам швидко налаштувати свою систему без потреби в додаткових знаннях.
Ціна:
o
o
Linux зазвичай безкоштовний, хоча деякі дистрибутиви можуть мати платні версії або
комерційну підтримку.
Windows зазвичай вимагає покупки ліцензії, хоча іноді вона вже включена в ціну
комп'ютера.
32

33.

• Підтримка та спільнота:
o
o
Linux має велику спільноту користувачів, які допомагають
вирішувати проблеми через форуми, блоги та інші ресурси. Крім
того, деякі дистрибутиви Linux (наприклад, Red Hat, Ubuntu)
мають платну технічну підтримку.
Windows має професійну підтримку через Microsoft, але також є
велика кількість форумів і онлайн-ресурсів.
• Ресурси та продуктивність:
o
o
Linux зазвичай споживає менше ресурсів, тому він може бути
більш продуктивним на старих чи малопотужних пристроях.
Windows має більші системні вимоги і може потребувати більше
ресурсів для роботи, особливо на старих комп'ютерах.
33

34.

Призначення та можливості систем віртуалізації
Віртуальна машина — модель обчислювальної машини,
створеної шляхом віртуалізації обчислювальних ресурсів:
• процесора,
• оперативної пам'яті,
• пристроїв зберігання та вводу і виводу інформації.
Віртуальні машини поділяються на 2 головні категорії, в
залежності від їх використання та відповідності до реальної
апаратури:
прикладні віртуальні машини, які
розробленні для виконання лише
застосунків (прикладних програм),
наприклад, Віртуальна машина Java.
системні (апаратні) віртуальні
машини,
що
забезпечують
повноцінну
емуляцію
всієї
апаратної платформи і відповідно
підтримують
виконання
операційної системи.
34
34

35.

Призначення та можливості систем віртуалізації
Прикладні віртуальні машини виконують звичайні програми
всередині ОС. Вони зазвичай створюються коли програма
запускається та знищуються після її завершення. Їхня ціль —
забезпечити платформно-незалежне програмне середовище, яке
дозволяє абстрагуватися від конкретної апаратури та
операційної системи, на якій виконується програма.
Прикладна ВМ забезпечує високорівневу абстракцію (наприклад,
інтерпретатори високорівневих мов програмування — Lisp, Java,
Python, Perl), в той час як системні ВМ зазвичай обмежуються
низькорівневою абстракцією (машинним набором кодів). Сучасні
прикладні ВМ, що реалізуються за допомогою інтерпретаторів,
для підвищення швидкості виконання використовують компіляцію
«на льоту» (англ. JIT — just-in-time).
35
35

36.

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

37.

Призначення та можливості систем віртуалізації
Гіпервізор (hypervisor, virtual machine monitor,
VMM) – програмне або апаратне забезпечення,
що дозволяє одночасне і паралельне виконання
декількох віртуальних машин (VM, guest machine)
з власними операційними системами, на одній
фізичній ЕОМ.
37
37

38.

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

39.

Призначення та можливості систем віртуалізації
Гіпервізори поділяються на 2 типи:
• виконуються на «голій» апаратурі (1-й тип, або рідні),
• виконуються в певній ОС (2-й тип, або хостові).
Апаратне забезпечення
Xen, Oracle VM Server для SPARC, Oracle VM Server для x86,
Microsoft Hyper-V и VMware ESX / ESXi.
39

40.

Призначення та можливості систем віртуалізації
Гіпервізори поділяються на 2 типи:
• виконуються на «голій» апаратурі (1-й тип, або рідні),
• виконуються в певній ОС (2-й тип, або хостові).
Модуль
ядра
Апаратне забезпечення
40
40

41.

Призначення та можливості систем віртуалізації
41
41
English     Русский Правила