Similar presentations:
Архитектура ядра
1. Архитектура опрерационных систем
Курс АОС.Тема
«Архитектура ядра»
Москалев А.А.
07.12.2009
Москалев А. Архитектура операционных систем
1
2. Два режима исполнения кода
В режиме ядра (kernel mode)разрешено выполнение всех инструкций.
Программа имеет доступ к любым аппаратным
средствам (физическая память, регистры
процессора, устройства ввода-вывода.
В пользовательском режиме (user mode)
прямой доступ к любым аппаратным
средствам (регистрам, памяти, устройствам вводавывода) запрещен либо ограничен.
07.12.2009
Москалев А. Архитектура операционных систем
2
3. Классическая архитектура ОС
Наиболее общим подходом кструктуризации ОС является
подразделение модулей на две группы:
модули, выполняющие основные функции
ОС - ядро ОС;
модули, выполняющие вспомогательные
функции ОС.
07.12.2009
Москалев А. Архитектура операционных систем
3
4. Модули ядра
Модули ядра выполняютбазовые функции ОС:
управление
► процессами,
► памятью,
► файлами,
► устройствами
ввода-вывода и
др.
07.12.2009
Москалев А. Архитектура операционных систем
4
5. Модули ядра
Функции модулей ядра - это частоиспользуемые функции ОС
Скорость выполнения этих функций
определяет производительность всей
системы в целом
Большинство модулей ядра являются
резидентными.
07.12.2009
Москалев А. Архитектура операционных систем
5
6. Вспомогательные модули ОС
Не относящиеся к ядру модули выполняют полезные, но не являющиесяобязательными функции. Будем называть их вспомогательными.
Обычно вспомогательные модули подразделяются на следующие группы:
утилиты - программы, которые решают отдельные задачи
управления и сопровождения компьютерной системы (сжатие,
дефрагментация …);
библиотеки процедур и функций различного назначения
(библиотека математических функций, библиотека функций вводавывода и т.д.);
программы предоставления пользователю дополнительных
услуг - специальный вариант пользовательского интерфейса,
калькулятор, некоторые игры;
системные обрабатывающие программы - текстовые
графические редакторы, компиляторы, компоновщики, отладчики.
07.12.2009
Москалев А. Архитектура операционных систем
и
6
7. Вспомогательные модули ОС
Вспомогательные модули ОС обращаются кфункциям ядра, как и обычные приложения,
посредством системных вызовов.
Вспомогательные модули, в отличие от
модулей ядра, являются транзитными.
07.12.2009
Москалев А. Архитектура операционных систем
7
8. Архитектуру ОС, основанную на привилегированном ядре и приложениях, выполняемых в пользовательском режиме, называют
Классическая архитектура ОС(1)Архитектуру ОС, основанную на
привилегированном ядре и приложениях,
выполняемых в пользовательском режиме,
называют классической.
Ее используют многие популярные ОС (UNIX, VAX VMS,
IBM OS/390, OS/2, Windows NT (c модификациями)).
07.12.2009
Москалев А. Архитектура операционных систем
8
9.
Классическая архитектура ОС(2)Пользовательский режим
Привилегированный режим
07.12.2009
Вспомогательные
модули ОС
Приложения
пользователей
Ядро ОС
Москалев А. Архитектура операционных систем
9
10. Классическая архитектура ОС(3)
Термин "ядро" в различных ОС трактуется поразному. Но чаще всего, именно этосвойство -- работа в привилегированном режиме служит основным определением понятия "ядра".
Каждое приложение пользовательского режима
работает в своем адресном пространстве и
защищено тем самым от вмешательства других
приложений.
Код ядра имеет доступ к областям памяти всех
приложений, но сам полностью от них защищен.
Приложения обращаются к ядру с запросами на
выполнение системных функций.
07.12.2009
Москалев А. Архитектура операционных систем
10
11.
Классическая архитектура ОС(4)Работа системы с привилегированным ядром замедляется за
счет затрат времени на переключение режима при
выполнения системных вызовов.
приложение
приложение
ЯДРО
t
t
t - время переключения режимов
07.12.2009
Москалев А. Архитектура операционных систем
11
12. В операционной системе Novell NetWare работа и ядра и приложений осуществляется в привилегированном режиме выполнение ядра и
Оптимизация производительности(пример)
В операционной системе Novell NetWare
работа и ядра и приложений осуществляется в
привилегированном режиме
выполнение ядра и других загружаемых модулей
системы в привилегированном режиме исключает
необходимость переключения режима работы процессора при
исполнении программного кода.
07.12.2009
Москалев А. Архитектура операционных систем
12
13. РЕЗЮМЕ (простейшая структурная организация ОС)
Все компоненты ОС разделяются на модули, выполняющиеосновные функции ОС (ядро), и модули, выполняющие
вспомогательные функции ОС.
Вспомогательные модули оформляются либо в виде
приложений, либо в виде библиотек процедур и функций.
Вспомогательные модули являются транзитными. Модули
ядра – чаще всего резидентными.
Устойчивость ОС повышается путем выполнения функций
ядра в привилегированном режиме, а вспомогательных
модулей ОС и пользовательских приложений - в
пользовательском.
07.12.2009
Москалев А. Архитектура операционных систем
13
14.
Архитектура операционных системМонолитная
архитектура ядра
App
App
User Mode
Kernel Mode
System services
Неструктурирована
При обращении
к системе
происходит
переключение
режима пользователя
на режим ядра
Процедуры
ОС
Hardware
07.12.2009
Москалев А. Архитектура операционных систем
14
16
15.
07.12.2009Москалев А. Архитектура операционных систем
15
16. Многослойное ядро
Ядро может быть представлено в виде совокупностиследующих уровней (слоев):
машинно-зависимые компоненты ОС - часть функций
ОС, выполняемая аппаратными средствами; программные
модули, поддерживающие аппаратную платформу;
базовые механизмы ядра - наиболее примитивные
операции ядра:программное переключение контекстов
процессов, диспетчеризация прерываний, подкачка страниц и
т.п.;
менеджеры ресурсов - модули, управляющие основными
ресурсами компьютера; обычно это менеджеры процессов, ОП,
ввода-вывода, файловой системы)
интерфейс системных вызовов - функции API,
обслуживающие системные вызовы.
07.12.2009
Москалев А. Архитектура операционных систем
16
17.
Микроядерная (клиент-серверная)архитектура
Пользовательский режим:
Клиентские приложения
Серверы – менеджеры
ресурсов
Client
App
Memory
Server
Process
Server
Network
Server
File
Server
Display
Server
User Mode
Микроядро:
Планир - е процессора
Kernel Mode
Запрос
Управление памятью
Межпроцессные
взаимодействия (IPC)
Микроядро
Ответ
Hardware
07.12.2009
Москалев А. Архитектура операционных систем
18
17
18.
Менеджеры ресурсов: подсистема управления файлами,подсистемы управления виртуальной памятью и процессами,
менеджер безопасности и др.
Назначение каждого менеджера - обслуживать запросы
других приложений (в том числе других менеджеров) .
Программы, ориентированные на выполнение запросов
других программ называются серверами.
Таким образом менеджеры ресурсов реализуются в виде
серверов:файлового сервера; сервера процессов; сервера
памяти и др.
07.12.2009
Москалев А. Архитектура операционных систем
18
19. Механизм обращения к серверам ОС
Приложения пользователейМенеджеры ресурсов
Пользовательский режим
Привилегированный режим
микроядр
о
07.12.2009
Москалев А. Архитектура операционных систем
19
20. Преимущества микроядерной архитектуры
Микроядерные ОС удовлетворяют большинству требований,предъявляемым к современным ОС:
обладают переносимостью (весь машинно-зависимый код
изолирован в микроядре необходимо мало изменений при
переносе системы на новый процессор, к тому же все
изменения сгруппированы вместе)
высокая степень расширяемости (для того, чтобы
добавить новую подсистему требуется разработать новое
приложение, для чего не требуется затрагивать микроядро; с
другой стороны, пользователь легко может удалить ненужные
подсистемы, удалять из ядра было бы сложнее)
07.12.2009
Москалев А. Архитектура операционных систем
20
21. Преимущества микроядерной архитектуры
07.12.2009Москалев А. Архитектура операционных систем
21
22. Недостатки микроядерной архитектуры
07.12.2009Москалев А. Архитектура операционных систем
22
23.
07.12.2009Москалев А. Архитектура операционных систем
23
24. РЕЗЮМЕ (микроядерная архитектура ОС)
07.12.2009Москалев А. Архитектура операционных систем
24
25. ОС реального времени QNX - наиболее яркий представитель микроядерных ОС
Представитель микроядерных ОСОС реального времени QNX наиболее яркий представитель микроядерных ОС
Микроядро QNX поддерживает только
планирование и диспетчеризацию процессов,
взаимодействие процессов,
обработку прерываний и
сетевые службы нижнего уровня.
(Несколько десятков системных вызовов. Объем ядра - 8-46 Кб.)
07.12.2009
Москалев А. Архитектура операционных систем
25
26. Структура ОС Windows 2000
ОС состоит из двух основных частей:- сама ОС, работающая в режиме ядра,
- подсистемы окружения, менеджеры ресурсов,
вспомогательные службы, работающие в режиме
пользователя.
Базовые мехонизмы, файловая система и другие
основные компоненты системы постоянно находятся
в режиме ядра. Практически вся ОС помещена в
пространство ядра.
Смешанная архитектура -- архитектуру Windows
2000 можно отнести и к монолитной, и к
микроядерной.
07.12.2009
Москалев А. Архитектура операционных систем
26
27.
07.12.2009Москалев А. Архитектура операционных систем
27
28.
Истоки Windows NTРазработка началась в конце 1988 начале 1989 после того как Дэйв Гатлер
(Dave Cutler)
Cutler) и группа сотрудников DEC (Digital
(Digital Equipment Corp.)
Corp.) перешла в
Microsoft
Dave Cutler—
Cutler— легенда в мире операционных систем
Руководитель проекта Digital’
Digital’s VMS (Virtual Memory System)
Внутренне Windows NT имеет много общего с Digital’
Digital’s VMS
(планирование,
планирование, управление памятью,
памятью, ввод/
ввод/вывод,
вывод, модель драйвера и др.)
др.)
VMS+1=WNT (чистое совпадение?)
совпадение?)
Исходной целью была замена OS/2
Позднее целью стала замена Windows 3.0
Происхождение имени “Windows NT”
NT”
NT сокращение от New Technology
По большому счету архитектура и пользовательский интерфейс не были действительно “новыми”
новыми”
(по сравнению с большинством 3232-разрядных ОС)
ОС)
Risc - процессор i860,
i860, на который изначально NT была ориентирована,
ориентирована, имел
кодовое название N-Ten
Интересная книга о ранних годах Windows NT:
NT:
ShowShow-stopper!: The Breakneck Race to Create Windows NT and the Next Generation
Generation at Microsoft
By G. Pascal Zachary, ISBN: 0029356717
Замечание:
Замечание: “Windows”
Windows” обозначает Windows 2000, Windows XP, and Windows Server 2003
07.12.2009
Москалев А. Архитектура операционных систем
21
28
29.
История релизовХотя имена продуктов различаются, существует внутренняя
идентификация версии по номеру сборки ( “build number”)
Номер сборки увеличивается всякий раз,
раз, когда осуществляется сборка NT
из исходного кода (5(5-6 раз за неделю)
неделю)
История на временной оси:
оси:
http://windows2000.about.com/library/weekly/aa010218a.htm
Build#
297
511
807
1057
1381
2195
2600
3790
4051
07.12.2009
Version
PDC developer release
NT 3.1
NT 3.5
NT 3.51
NT 4.0
Windows 2000 (NT 5.0)
Windows XP (NT 5.1)
Windows Server 2003 (NT 5.2)
Longhorn PDC Developer Preview
Москалев А. Архитектура операционных систем
Date
Jul 1992
Jul 1993
Sep 1994
May 1995
Jul 1996
Dec 1999
Aug 2001
Mar 2003
Oct 2003
23
29
30.
VMS и WindowsВзгляд на архитектуру с высоты птичьего полета
Environment Subsystems
System
& Service
Processes
Многослойная архитектура
VAX/VMS
User
Application
Subsystem DLL
OS/2
Windows
Windows
User
Mode
Layered Products
(Apps)
Program
Development Tools
Utilities
Kernel
Mode
Executive
Support Libraries
Device Drivers
User
Hardware Abstraction Layer (HAL)
Command Language Interpreter (CLI)
Supervisor
Record Management Service (RMS)
Executive
I/O Subsystem
Kernel
Windows
User/GDI
Device
Driver
Укрупненная архитектура
Windows
System services
Kernel
Memory
Management
POSIX
Process and
time management
System-wide data structures
Platform-Adaptation Layer (PAL) - Alpha
07.12.2009
Москалев А. Архитектура операционных систем
22
30
31.
Windows And Linux EvolutionWindows and Linux kernels are based on foundations developed in
the mid-1970s
W
W
NT
in
do
w
s
2000
v2
.0
x
v1
.0
1990
nu
1980
Li
UN
IX
bo
rn
UN
IX
pu
bl
ic
UN
IX
V6
1970
v2
v2.2
v2.3
.4
v2
.6
VM
S
NT
3.
1
2000
in
do
W ws
in 2
d
Se ow 000
rv s X
er P
20
03
1990
4.
0
1980
v1
.0
1970
(see http://www.levenez.com for diagrams showing history of Windows & Unix)
07.12.2009
Москалев А. Архитектура операционных систем
24
31
32.
Эволюция операционных систем55
IOCS
IBSYS
60
CTSS
65 DOS/360
OS/360
70
75
MULTICS
CP/CM5
DOS/VDSE MVS/370
RT-11
UNIXV.7
VM/370
80
SYSTEM III
VS
85
MVS/XA
SYSTEM V.4
VS/ESA MVS/ES
VM/ESA
AIX/370
LINUX AIX/ESA
OSF/1
4.3BSD
SOLARIS 2
4.4BSD
00
03
07.12.2009
CP/M
VMS 1.0
4.1BSD XENIX
MS-DOS 1.0
SUN OS
4.2BSD
AIX POSIX
MACH
VM/XA SYSTEM V
90
95
RSX-11M
UNIX
TSO
OS/2
WIN 3.0
VMS 5.4
DR/DOS
WIN 3.1
WIN NT
WIN 9X
VMS 7.3 WIN 2000
LINUX 2.6
SOLARIS 10
Москалев А. Архитектура операционных систем
WIN XP
WIN Server 2003
11
32