ОС лекцiя-02ua

Содержание

Слайд 2

Тема лекції: Архітектура різноманітних операційних систем

Л е к ц і я № 2 по

Тема лекції: Архітектура різноманітних операційних систем Л е к ц і я
курсу "Операційні системи"

Тема 1: Архітектура ОС

18.09.2022

Лектор:
Доцент кафедри Інформаційних систем
кандидат технічних наук, доцент
Голубничий Дмитро Юрійович

Слайд 3

НАВЧАЛЬНІ ПИТАННЯ:

НАВЧАЛЬНІ ПИТАННЯ:

Слайд 4

1. Архітектура ОС Windows

1. Архітектура ОС Windows

Слайд 5

Історія Windows

Microsoft
Windows

Логотип Microsoft Windows

Група сімейств комерційних операційних систем корпорації Microsoft, орієнтованих на

Історія Windows Microsoft Windows Логотип Microsoft Windows Група сімейств комерційних операційних систем
управління за допомогою графічного інтерфейсу.
MS-DOS – є прабатьком Windows. Спочатку, Windows був лише графічним інтерфейсом для MS-DOS. Кожне сімейство обслуговує певний сектор комп'ютерної індустрії.

1. OC WINDOWS

Слайд 6

Графік виходу і підтримки Windows

1. OC WINDOWS

Графік виходу і підтримки Windows 1. OC WINDOWS

Слайд 7

Клони Windows

1.x
(Листопад 1985)

версія 1.0

версія 1.03

2.X
(Листопад 1987)

версія 2.0

3.x
(Травень 1990)

версія 3.0

Версія 3.1 (листопад 1992)

Версія

Клони Windows 1.x (Листопад 1985) версія 1.0 версія 1.03 2.X (Листопад 1987)
3.11 (for Workgroups)

NT 3.x
(Липень 1993)

Версія NT 3.1

Версія 3.5 (сентябрь1994)

Версія 3.51 (травень 1995)

9x
(Серпень 1995)

версія 95

Версія 98 (червень 1998)

Версія Me (вересень 2000)

Версія 95 OSR2

NT 4.x
(Липень 1996)

Версія NT 4.0

2000 (NT 5.0)
(Лютий 2000)

Professional

Server

Advanced Server

DataCenter

2003 (NT 5.2)
(Квітень 2003)

Web Edition

XP (NT 5.1)
(Жовтень 2001)

Home Edition

Professional

Media Center Edition

Professional x64 Edition

Starter Edition

Vista (NT 6.0)
(листопад 2006)

- 16-ти розрядні OC

- 32-ти розрядні OC з підтримкою
16-ти розрядності

- 32-ти розрядні OC

- 64-ти розрядні OC

Ultimate

Enterprise

Starter

Server 2008 R2 (NT 6.1)

Server 2008 (NT 6.0)

Windows 7
(NT 6.1) (2009)

Home Server
(NT 6.1) (2011)

Starter

Home Basic

Home Premium

Professional

Enterprise

Ultimate

Standard

Enterprise

Datacenter

Web Server

Storage Server

Home Basic

Home Premium

Business

Standard Edition

Enterprise Edition

Datacenter Edition

1. OC WINDOWS

Windows 8
(NT 6.2) (2012)

- 32-ти і 64-ти розрядні OC

Server 2012
(NT 6.2) (2012)

Professional

Enterprise

Foundation

Essentials

Standard

Datacenter

Windows 8.1
(NT 6.3) (2013)

Server 2012 R2
(NT 6.3) (2013)

Windows 10
(NT 10) (2015)

Professional

Home

Enterprise

Windows Server 2016
(NT 10) (2016)

Standard

Datacenter

Windows 11
(NT 11) (2021)

Professional

Home

Enterprise

Windows Server 2019
(NT 10) (2019)

Standard

Datacenter

Windows Server 2022
(NT 11) (2021)

Standard

Datacenter

Слайд 8

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

Види

Сумісність - можливість операційної системи виконувати застосунки, розроблені для інших операційних систем.
сумісності:
1. На довічним рівні (рівень виконуваної програми).
2. На рівні вихідних текстів (рівень вихідного модуля).

Вид сумісності визначається:

1. Архітектурою центрального процесора.
2. Інтерфейсом прикладного програмування (API).
3. Внутрішньої структурою виконуваного файлу.
4. Наявністю відповідних компіляторів і бібліотек.

Способи досягнення сумісності:

1. Емуляція двійкового коду.
2. Трансляція бібліотек.
3. Створення множинних прикладних середовищ різної архітектури.

1. OC WINDOWS

Слайд 9

1. OC WINDOWS

1. OC WINDOWS

Слайд 10

1. OC WINDOWS

1. OC WINDOWS

Слайд 11

1. OC WINDOWS

1. OC WINDOWS

Слайд 12

System Processes (Winlogon, LSASS etc)

Services

User Processes (Explorer, Task Manager etc)

Підсистема Win32

Підсистема Posix,

System Processes (Winlogon, LSASS etc) Services User Processes (Explorer, Task Manager etc)
OS/2

NTDLL.DLL

Диспетчер системних викликів ядра (System Core Calls Dispatcher)

Інтерфейс ядра (Core Interfaces)

Ядро ОС (Kernel OS)

Hardware Abstraction Layer (HAL)

Диспетчер PnP

Диспетчер пам'яті

Диспетчер живлення

Диспетчер RPC / IPC

Диспетчер кеша I/O

HARDWARE (Motherboard, CPU, MEM, IO contollers etc)

User Mode

Kernel Mode

Архітектура Windows 2000

Диспетчер введення / виведення

Диспетчер GUI і графічних пристроїв

Диспетчер процесів

1. OC WINDOWS

Слайд 13

Архітектура Windows XP/ Windows Server 2003

System Processes (Winlogon, LSASS etc)

Services

User Processes (Explorer, Task

Архітектура Windows XP/ Windows Server 2003 System Processes (Winlogon, LSASS etc) Services
Manager etc)

Підсистема Win32

підсистема Posix, OS/2

NTDLL.DLL

Диспетчер системних викликів ядра (System Core Calls Dispatcher)

Інтерфейс ядра (Core Interfaces)

Ядро ОС (Kernel OS)

Hardware Abstraction Layer (HAL)

Диспетчер PnP

Диспетчер пам'яті

Диспетчер живлення

Диспетчер RPC / IPC

Диспетчер кеша I/O

HARDWARE (Motherboard, CPU, MEM, IO contollers etc)

User Mode

Kernel Mode

Диспетчер введення / виведення

Диспетчер GUI і графічних пристроїв

Диспетчер процесів

1. OC WINDOWS

Слайд 14

System Processes (Winlogon, LSASS etc)

Services

User Processes (Explorer, Task Manager etc)

підсистема Win32

підсистема Posix

NTDLL.DLL

Диспетчер

System Processes (Winlogon, LSASS etc) Services User Processes (Explorer, Task Manager etc)
системних викликів ядра (System Core Calls Dispatcher)

Інтерфейс ядра (Core Interfaces)

Ядро ОС (Kernel OS)

Hardware Abstraction Layer (HAL)

Диспетчер PnP

Диспетчер пам'яті

Диспетчер живлення

Диспетчер RPC / IPC

Диспетчер кеша I/O

HARDWARE (Motherboard, CPU, MEM, IO contollers etc)

User Mode

Kernel Mode

Архітектура Windows Vista / Windows Server 2008

Диспетчер введення / виведення

Диспетчер GUI і графічних пристроїв

Диспетчер процесів

1. OC WINDOWS

Слайд 15

System Processes (Winlogon, LSASS etc)

Services

User Processes (Explorer, Task Manager etc)

підсистема Win32

підсистема Posix

NTDLL.DLL

Диспетчер

System Processes (Winlogon, LSASS etc) Services User Processes (Explorer, Task Manager etc)
системних викликів ядра (System Core Calls Dispatcher)

Інтерфейс ядра (Core Interfaces)

Ядро ОС (Kernel OS)

Hardware Abstraction Layer (HAL)

Диспетчер PnP

Диспетчер пам'яті

Диспетчер живлення

Диспетчер RPC / IPC

Диспетчер кеша I/O

HARDWARE (Motherboard, CPU, MEM, IO contollers etc)

User Mode

Kernel Mode

Архітектура Windows 7 (10) / Windows Server 2008 R2

Диспетчер введення / виведення

Диспетчер GUI і графічних пристроїв

Диспетчер процесів

1. OC WINDOWS

Слайд 16

Стартова інформація захищених підсистем зберігається в розділі реєстру:
HKEY_LOCAL_MACHINE \ SYSTEM \

Стартова інформація захищених підсистем зберігається в розділі реєстру: HKEY_LOCAL_MACHINE \ SYSTEM \
CurrentControlSet \ Control \ Session Manager \ SubSystems.

Required – список підсистем, що завантажуються при запуску системи.

Windows – вказується специфікація файлу підсистеми Windows - csrss.exe

Debug – залишається незаповненим. Він використовується для внутрішнього тестування і не виконує ніяких функцій.

Optional – вказує, що підсистеми OS/2 і POSIX запускаються на вимогу

Posix – вказується специфікація файлу підсистеми POSIX, psxss.exe

Kmode – містить ім'я файлу тієї частини підсистеми Windows, яка працює в режимі ядра, - win32k.sys

1. OC WINDOWS

Слайд 17

1. OC WINDOWS

1. OC WINDOWS

Слайд 18

1. OC WINDOWS

1. OC WINDOWS

Слайд 19

Взаємозв'язок системних модулів

1. OC WINDOWS

Взаємозв'язок системних модулів 1. OC WINDOWS

Слайд 20

Різні маршрути виконання виклик Win32 API

1. OC WINDOWS

Різні маршрути виконання виклик Win32 API 1. OC WINDOWS

Слайд 21

Залежність системних модулів, включаючи win32k.sys

1. OC WINDOWS

Залежність системних модулів, включаючи win32k.sys 1. OC WINDOWS

Слайд 22

Приклад виклику системного сервісу для створення файлу

1. OC WINDOWS

Приклад виклику системного сервісу для створення файлу 1. OC WINDOWS

Слайд 23

2. Архітектура ОС React OS

2. Архітектура ОС React OS

Слайд 24

ReactOS - міжнародний проект вільної і безкоштовної операційної системи з відкритим кодом.

ReactOS - міжнародний проект вільної і безкоштовної операційної системи з відкритим кодом.
ReactOS не є точним клоном Windows, але операційною системою, сумісної з додатками і драйверами Microsoft Windows (зараз це Windows NT версії 5.x і вище - Windows 2000 і далі).

Логотип операційної системи ReactOS

2. OC REACT OS

Для відстоювання інтересів проекту був створений фонд
"ReactOS Deutschland eV", розташований в Німеччині.

Слайд 26

ФУНКЦІОНАЛЬНІСТЬ REACTOS

Велика частина ядра повністю сумісна з Windows 2003 Server SP1:
Виконавча

ФУНКЦІОНАЛЬНІСТЬ REACTOS Велика частина ядра повністю сумісна з Windows 2003 Server SP1:
система (Executive)
Модулі ядра (Планувальник, Диспетчер завдань, Переривання тощо)
рівень HAL
Локальний виклик процедур ядра,
Управління процесами і потоками
Підтримка системи введення / виводу (крім PnP).
Інші частини ядра повністю сумісні з NT-архітектурою: примітний Диспетчер Cache, Менеджер Кофігурації (включаючи реєстр) і Менеджер Пам'яті.
Підтримка додатки Win32 в основному, залежить від двох компонентів:
Win32k - режим ядра для GUI.
Win32 бібліотеки (gdi32.dll, user32.dll, kernel32.dll, advapi32.dll)

2. OC REACT OS

Слайд 27

Характеристика ядра ReactOS

2. OC REACT OS

Характеристика ядра ReactOS 2. OC REACT OS

Слайд 28

Порівняння архітектури ReactOS з іншими ОС

2. OC REACT OS

Порівняння архітектури ReactOS з іншими ОС 2. OC REACT OS

Слайд 29

Архітектура ReactOS
білим кольором позначено стороннє програмне забезпечення. зеленим - компоненти "простору користувача".

Архітектура ReactOS білим кольором позначено стороннє програмне забезпечення. зеленим - компоненти "простору

червоним - компоненти режиму ядра.

2. OC REACT OS

Слайд 30

Спрощена архітектура ReactOS

2. OC REACT OS

Спрощена архітектура ReactOS 2. OC REACT OS

Слайд 31

Характеристика підсистем середовища ReactOS

1. API DLLs
для Windows: kernel32.dll, gdi32.dll, user32.dll, і т.п

Характеристика підсистем середовища ReactOS 1. API DLLs для Windows: kernel32.dll, gdi32.dll, user32.dll,
..
2. Процес Підсистеми середовища
для Windows: csrss.exe (Client Server Runtime SubSystem)
3. Тільки для Windows: код режиму ядра GDI
win32k.sys - (цей код був колись частиною csrss.exe)

2. OC REACT OS

Слайд 32

Віртуальний адресний простір користувачевого процесу в ReactOS

2. OC REACT OS

Віртуальний адресний простір користувачевого процесу в ReactOS 2. OC REACT OS

Слайд 33

Характеристика виконавчої системи ReactOS

2. OC REACT OS

Характеристика виконавчої системи ReactOS 2. OC REACT OS

Слайд 34

Проблеми проектування призначеного для користувача режиму в ReactOS

Проблема звернення до ntdll.dll. Не

Проблеми проектування призначеного для користувача режиму в ReactOS Проблема звернення до ntdll.dll.
можна використовувати Wine для kernel32. ReactOS вимагає для своєї реалізації виклик ntdll.dll, які потім виконує ці системні виклики, тоді як Wine передбачає здійснення функцій API безпосередньо в DLL.
Проблема звернення до GDI і бібліотеки USER32. Технологія NT вимагає безпосереднього звернення до GDI через режим ядра (win32k.sys) . В ReactOS в підсистемі Wine робиться це всередині GDI
Проблема підтримки h-заголовків. Інші DLL безпосередньо виконуються з підсистеми Wine з мінімальними змінами, щоб підтримувати наші заголовки і формувати систему.
Проблема сумісності з Windows NT. DLL припускають працювати на рівні сумісності двійкових кодів з Windows.
Проблема підтримки файлових систем. В ReactOS доступні файлові системи FAT32, ext2, ISO-9660 (CDFS), NTFS, BtrFs, ReiserFS і UFS.

2. OC REACT OS

Слайд 35

3. Архітектура ОС Kolibri OS

3. Архітектура ОС Kolibri OS

Слайд 36

Kolibri OS – операційна система для PC, повністю написана на асемблері fasm,

Kolibri OS – операційна система для PC, повністю написана на асемблері fasm,
поширювана на умовах GPL. Створена на основі MenuetOS. Є альтернативної операційною системою, так як вона використовує власні стандарти і НЕ заснована на POSIX.

Логотип операційної системи Kolibri OS

3. KOLIBRI OS

GNU General Public License — одна з найпопулярніших ліцензій на вільне програмне забезпечення, створена Річардом Столменом для проєкту GNU.
Мета GNU GPL — надання користувачеві прав на копіювання, зміни й розповсюдження програми та зобов'язань, згідно з якими користувачі всіх похідних від неї програм теж отримають ці права.

Слайд 37

ПІДТРИМКА МОВИ В KOLIBRI ОС

Ада

Сі

C++

Free Pascal

Forth

Assembler

C--

General Public Licence (GPL) - кожен має

ПІДТРИМКА МОВИ В KOLIBRI ОС Ада Сі C++ Free Pascal Forth Assembler
необмежене право вивчати, довільно змінювати або змінювати програмне забезпечення, що володіє ліцензією GPL без будь-яких обмежень, але результат такої зміни теж повинен бути викладений під ліцензією GPL

3. KOLIBRI OS

Слайд 38

ІСТОРІЯ KOLIBRI OS

3. KOLIBRI OS

ІСТОРІЯ KOLIBRI OS 3. KOLIBRI OS

Слайд 40

ФУНКЦІОНАЛЬНІСТЬ KOLIBRI OS

БАГАТО ВАРІАНТІВ ЗАВАНТАЖЕННЯ, в тому числі з NTFS-розділу.
ГРАФІЧНИЙ

ФУНКЦІОНАЛЬНІСТЬ KOLIBRI OS БАГАТО ВАРІАНТІВ ЗАВАНТАЖЕННЯ, в тому числі з NTFS-розділу. ГРАФІЧНИЙ
ІНТЕРФЕЙС НА ОСНОВІ VESA. Можливість збільшення частоти монітора за рахунок зменшення дозволу.
СЕРЕДОВИЩЕ РОЗРОБКИ: редактор, макро-асемблер (fasm) для збирання ядра і додатків.
ПІДТРИМКА TCP/IP-СТЕКА для деяких мережевих карт.
ЄМНІСТЬ ОСНОВНОГО дистрибутивів – 1,44 Мбайт.
МІНІМАЛЬНИЙ ОБСЯГ ОПЕРАТИВНОЇ ПАМ'ЯТІ – 8 Мбайт.
Багатозадачність, можливість створення потоків, паралельне виконання системних викликів.
сторінковий адресації.
Підтримка файлової СИСТЕМ FAT12, FAT16, FAT32, NTFS, ISO 9660.
ПІДТРИМКА звукового кодеку AC'97 і Intel HD Audio для більшості популярних чіпсетів.
ПІДТРИМКА ВІДТВОРЕННЯ CD ТА DVD-ДИСКІВ.
ПІДТРИМКА USB (Open Host Controller Interface (OHCI), Universal Host Controller Interface (UHCI), Enhanced Host Controller Interface (EHCI)).

3. KOLIBRI OS

Слайд 41

Монолітна архітектура Kolibri OS

Монолітне ядро - класична і найбільш поширена архітектура ядра

Монолітна архітектура Kolibri OS Монолітне ядро - класична і найбільш поширена архітектура
операційних систем. Монолітні ядра надають багатий набір абстракцій обладнання.
Всі частини монолітного ядра працюють в одному адресному просторі.

3. KOLIBRI OS

Слайд 42

модулі Kolibri OS

Модуль управління потоками
(Task manager)

Модуль динамічного розподілу пам'яті
(Memory manager)

Модуль

модулі Kolibri OS Модуль управління потоками (Task manager) Модуль динамічного розподілу пам'яті
синхронізаційних примітивів (Synchronization primitives)

Модуль управління переривань (Interrupt controller)

Модуль вводу-виводу (IO manager)

Модуль початкового завантаження

Software

Слайд 43

Характеристика ядра Kolibri OS

Модуль управління потоками (Task manager) включає:
Планувальник потоків,
Набір функцій

Характеристика ядра Kolibri OS Модуль управління потоками (Task manager) включає: Планувальник потоків,
для управління станом потоку.
планувальник завдань реалізований у вигляді функції, що здійснює вибір активного потоку і перемикання контексту

Модуль динамічного розподілу пам'яті містить функції для динамічного розподілу пам'яті:
Alloc() - для виділення пам'яті даного розміру.
Free() - для звільнення виділеної пам'яті.

Модуль синхронізаційних примітивів включає:
Функції для створення синхронізаційних об'єктів.
Управління синхронізаційних примітивами:
семафори,
м'ютекси,
бінарні події.

Слайд 44

Характеристика ядра Kolibri OS

Модуль управління переривань представляє:
Набір функцій для управління станом

Характеристика ядра Kolibri OS Модуль управління переривань представляє: Набір функцій для управління
системи переривань
Функцію для інсталяції обробників переривань

Модуль вводу-виводу надає уніфікований інтерфейс для доступу до пристроїв введення-виведення.
Стандартні пристрої: таймер, миша, клавіатура, відеокарта, аудіо, мережеві карти, CD / DVD, HDD
Пристрої, з якими система взаємодіє через драйвера.

Модуль початкового завантаження - ініціалізує регістри процесора, а також структури і модулі операційної системи. Він инициализирует головне завдання (функція main) І запускає її.
Заснований на концепції завантаження образу RAM-діску в ОЗП:
первинний завантажувач знаходить файл kernel.mnt,
завантажує його в пам'ять і передає йому управління,
зчитується образ файлу в ОЗУ в реальному режимі
переміщається образ за межі 1 Мб (обмеження на адресацію в реальному режимі).

Слайд 45

4. Архітектура Linux

4. Архітектура Linux

Слайд 46

Linux - сімейство Unix-подібних операційних систем на базі ядра Linux, що включають

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

4. OC LINUX

GNU General Public License (Універсальна громадська ліцензія GNU або Відкрита ліцензійна угода GNU) - ліцензія на вільне програмне забезпечення, створена в рамках проекту GNU, по якій автор передає програмне забезпечення в суспільну власність. Принцип "успадкування" прав називається "копілефт" (copyleft)

Слайд 47

Дистрибутив Softlanding Linux System

Пітер Мак-Дональд

Патрік Фолькердінк

дистрибутив Debian

Ян Мердок

дистрибутив
Red Hat

Марк Евінг

+1993

дистрибутив

Дистрибутив Softlanding Linux System Пітер Мак-Дональд Патрік Фолькердінк дистрибутив Debian Ян Мердок
Slackware

Слайд 48

Повний перелік дистрибутивів: https://distrowatch.com/ (всього 275)

Популярність дистрибутивів за останні 6 місяців
станом на

Повний перелік дистрибутивів: https://distrowatch.com/ (всього 275) Популярність дистрибутивів за останні 6 місяців
25.08.2022 року

H.P.D. = Хітів в день

Слайд 49

Нумерація версій

версія ядра

старша версія ревізії ядра

Парні числа позначають стабільні ревізії - призначені

Нумерація версій версія ядра старша версія ревізії ядра Парні числа позначають стабільні
для промислового використання

Непарні числа позначають ревізії для розробників

молодша версія ревізії ядра

невеликі виправлення (заплатки ядра)

Наприклад,
2. 6. 24. 4

A. B. C [.D]

Слайд 50

Ubuntu (людяність) – операційна система, заснована на Debian GNU/Linux. Основним розробником і

Ubuntu (людяність) – операційна система, заснована на Debian GNU/Linux. Основним розробником і
спонсором є компанія Canonical. В даний час проект активно розвивається і підтримується вільним спільнотою.

"Коло друзів"

При розробці компонентів Ubuntu активно використовується мова програмування Python.

4. OC LINUX UBUNTU

Слайд 51

Зовнішній вигляд Робочого столу Ubuntu 22.04 LTS

LTS (Long Term Support - "підтримка

Зовнішній вигляд Робочого столу Ubuntu 22.04 LTS LTS (Long Term Support -
на протязі тривалого періоду")

Слайд 52

Архітектура Linux

Архітектура Linux

Слайд 53

Один з можливих поглядів на архітектуру ядра Linux

4. OC LINUX UBUNTU

Один з можливих поглядів на архітектуру ядра Linux 4. OC LINUX UBUNTU

Слайд 54

Архітектура ядра Linux
(джерело: https://makelinux.github.io/kernel/map/)

OC LINUX

Архітектура ядра Linux (джерело: https://makelinux.github.io/kernel/map/) OC LINUX
Имя файла: ОС-лекцiя-02ua.pptx
Количество просмотров: 19
Количество скачиваний: 0