- •1 Ядро. Модули ос
- •Функции ядра
- •2 Ядро в привилегированном режиме
- •3 Процесс. Модель процесса
- •Создание процессов
- •Состояния процессов
- •4 Завершение процесса
- •5 Иерархия процессов
- •6 Структура ядра
- •7 Переключение процессов
- •Содержимое таблицы процессов (ее столбцы)
- •8 Потоки. Модель потока
- •9 Межпроцессорное взаимодействие. Состояние состязания
- •10 Критические области
- •11 Запрещения прерываний и переменные блокировки Попытка аппаратного решения проблемы
- •Рассмотрим программные решения
- •12 Алгоритм петерсона. Команда tsl
- •Примитивы межпроцессорного взаимодействия
- •13 Семафоры
- •14 Мьютексы
- •15 Функции ос по управлению памятью
- •16 Типы адресов
- •17 Образ процесса. Виртуальное адресное пространство
- •18 Методы распределения памяти
- •Распределение памяти фиксированными разделами
- •Распределение памяти динамическими разделами
- •Перемещаемые разделы
- •19 Swopping и виртуальная память
- •Включает решение следующих задач
- •20 Страничное распределение памяти
- •22 Сегментное распределение памяти
- •24 Кэш память
- •Принцип действия кэш памяти
- •25 Устройство ввода-вывода
- •Контроллеры внешних устройств
- •1 Способ. Раздельные адресные пространства
- •2 Способ. Одно адресное пространство
- •3 Способ. Гибридный
- •27 Использование нескольких шин для ввода-вывода
- •28 Прямой доступ к памяти. Direct Memory Access (dma)
- •29 Процедура прерываний. Контроллер прерываний
- •30 Принципы программного обеспечения ввода-вывода
- •31 Программный ввод-вывод
- •31 Управляемый прерываниями ввод-вывод. Использование дма
- •32 Программные уровни ввода-вывода
- •Обработка прерываний и драйверы
- •Программные уровни ввод-вывод
- •33 Независимое от устройств программное обеспечение ввода-вывода Единообразный интерфейс для устройств
- •Единообразный интерфейс драйверов устройств
- •34 Структура и функции драйверов
- •35 Буферизация ввода-вывода
- •36 Юникс подобные ос
- •37 Структура ядра ос юникс
- •38 Загрузка юникс подобной ос
- •39 Процессы в системе юникс
- •40 Управление процессами ядром юникс
- •41 Системные вызовы управления процессами
- •42 Системные вызовы управления потоками
- •43 Сигналы
- •44 Файловая система и иерархия данных
- •45 Файловая система fat
1 Ядро. Модули ос
Некоторые ОС выполнены так, что ядро содержит лишь 1 модуль, в этом случае изменение свойств ядра весьма сложно (Linux). Другие ядра содержат несколько модулей, они называются микроядерными (напр.Word 2000).
Функции ядра
В состав ядра входят функции, выполняющие внутрисистемные задачи организации вычислительных процессов: переключение контекстов, загрузка-выгрузка страниц, обработка прерываний. Эти функции недопустимы для приложений. Другой класс функций ядра служит для поддержки приложений, создавая для них прикладную программную среду. Приложения могут обращаться к ядру с запросами, т.е. системными вызовами для выполнения тех или иных задач, напр. Чтение – открытие файлов; вывод графической информации на дисплей. Функции ядра, которые могут вызываться приложениями, образуют интерфейс прикладного программиста. Функции, выполняемые модулями ядра, являются наиболее часто используемыми функциями ОС, поэтому скорость их выполнения определяет производительность всей системы в целом. Для обеспечения высокой скорости работы ОС все модули ядра (их большая часть) постоянно находятся в оперативной памяти, т.е. являются резидентными.
2 Ядро в привилегированном режиме
Для надежного выполнения кода вычислительного процесса ОС должна иметь по отношению к приложениям привилегии, иначе некорректно работающее приложение может разрушить часть кода. Поэтому ОС должна обладать полномочиями, а так же для того, чтобы играть роль «арбитра в споре» приложений за ресурсы системы. Ни одно из приложений не должно иметь возможность без ведома ОС получить дополнительную область памяти, занимать процессор дольше разрешенного времени, управлять совместно используемыми внешними устройствами. Также привилегии можно обеспечить без специальных средств аппаратной поддержки. Аппаратура ПК должна поддерживать как минимум 2 режима работы: Пользовательский режим и Привилегированный режим (режим ядра). Приложение ставится в подготовительное положение за счет запрета воспроизведения в привилегированном режиме некоторых критических команд, связанных с переключением процессора с задачи на задачу, управлением устройства ввода-вывода, доступа к механизмам распределения и защиты памяти. Выполнение некоторых команд в пользовательском режиме запрещается (например команда перехода из польз. режима в привилегированный и обратно). Тогда как другие программы могут быть запрещены для выполнения в определенных условиях.
3 Процесс. Модель процесса
Модель процесса базируется на двух независимых концепциях: группирование ресурсов и выполнение программы. Процесс – это абстрактное понятие, описывающее работу программы. Процесс – выполняемая программа, включающая текущее значение счетчика команд, регистров и переменных. С позиции данной абстрактной модели у каждого процесса есть свой собственный центральный процессор. Процесс – это активность определенного рода. У процесса есть программа, входные, выходные данные, а также состояние (стек, аккумулятор, состояние регистров). Один процессор может переключаться между различными процессами, используя алгоритм планирования для определения моментов переключения от одного процесса к другому.