
- •1.Операционные системы, классификация, функциональные
- •2. Подсистема защиты информации
- •3. Многослойность ос, ядро и вспомогательные функции.
- •4. Управление оперативной памятью: основные подходы.
- •2 Способа преобразования виртуального адреса в физический.
- •Организация виртуальной памяти, стратегии вытеснения страниц
- •6. Преобразование виртуального адреса в физический
- •9. Структурная обработка исключений
- •10. Пример работы с ис (конвертирование графических форматов)
- •11. Создание компонентов, иерархия, области видимости
- •12. Создание свойств
- •13. События компонентов
- •14. Пример создания компонента часы
- •15. Пример создания компонента с опубликованным свойством Tstrings.
- •16. Класс Tstrings
- •17. Свойства и методы Tcanvas
- •18. Встроенные графические классы
3. Многослойность ос, ядро и вспомогательные функции.
Вспомогательные функции — редактор реестра, управление компьютером. Все эти функции — транзитные — после выполнения удаляются из памяти.
Функции ядра — резидентные — находятся в оперативной памяти постоянно.
Модули ядра выполняют основные базовые функции:
управление памятью
управление процессами
управление устройствами ввода-вывода
Часть функций недоступна для приложений. Это загрузка страниц ОП, переключение контекста процессов. Контекст — содержимое памяти, с которым работает процесс.
Вторая группа функций доступна для приложений через интерфейс API:
запуск потоков и процессов:
межпроцессное взаимодействие
Главное отличие ядра и пользовательский приложений:
ядро наиболее приближено к аппаратуре
ядро работает в привилегированном режиме работы процессора, остальные — в пользовательском режиме. В привилегированном режиме:
разрешено гораздо больше
ядро может вмешиваться в работу всех остальных приложений
ядро имеет доступ к их адресным пространством
все процессы работают в своих собственных изолированных адресных пространствах
адресное пространство — это диапазон доступных адресов. Размер 2^n, где n — разрядность центрального процессора.
Приложения могут получить доступ к некоторым функциям ядра (запуск дочернего процесса).
Для запуска дочерних процессов существуют функции API, а внутри них происходит системный вызов (переключение в привилегированный режим, выполнение нужной функции, переключение обратно)
Ядро состоит из следующих слоев:
средства аппаратной поддержки ОС (это то, что выполняется ЦП: прерывание, адресация, переключение страниц)
машинно зависимые компоненты (BIOS, HAL)
базовые механизмы ядра (выполняют наиболее примитивные операции, переключения контекстов, потоков и процессов)
менеджеры ресурсов (диспетчер процессов, диспетчер ОП, менеджер ФС, менеджер безопасности, сетевая подсистема)
интерфейс системных вызовов (часто обычные функции API, в некоторой части происходит переключение в привилегированный режим)
Общее правило - нельзя перескакивать через слои.
Существует несколько архитектур ядра:
классическая
микроядро
Классическая — все основные функции выполняются в привилегированном режиме. Но часть функций выполняется в пользовательском режиме, то есть выполняются как обычные приложения. Например сетевая подсистема, подсистема безопасности. Преимуществом является большая скорость, недостатком большой объем занимаемой памяти.
Микроядро — в этом случае в привилегированном режиме работают очень ограниченное количество приложений (3,4 слой). (функции управления процессами, ОП, функции прямого управления устройствами)
Гибридное ядро - большая часть файлов реализовано в составе ядра
Микроядра больше на мобильных устройствах, в Linux – классические ядра, в Windows – гибридные.
Привилегированный режим — Kernel Mode
Пользовательский режим — User Mode.
4. Управление оперативной памятью: основные подходы.
Решаются задачи: выделение памяти процессу, настройка адресов на конкретные участки памяти, работа с файлами подкачки, защита памяти.
Типы адресов:
символьные (имена переменных и процедур)
виртуальные (логические)
Выражаются компилятором и компоновщиком ссылок (имена процедур и функций); объединить все модули в один исполняемый файл; если процедура небольшая, то подставляется на место вызова, если большая и часто вызывается, то происходит передача управления на нее.
Совокупность виртуальных адресов — виртуально адресное пространство (ВАП).
Физические адреса. Они соответствуют номерам байт памяти (физической), где будут находится программа или данные
ВАП и ФАП – не совпадают. Поэтому ОС должна правильно отображать 2 вида АП.
ВАП бывает плоской или сегментированной, сейчас — плоская. Сегментированный адрес состоит из пары — начало сегмента, смещение сегмента (пример MS DOS).