- •Операционные системы
- •1. Назначение и функции операционных систем. История развития
- •1.1. Основные функции операционных систем
- •1.2. Эволюция ос
- •1.2.1. Первый период (1945 -1955)
- •1.2.2. Второй период (1955 - 1965)
- •1.2.3. Третий период (1965 – 1980)
- •1.2.4. Четвертый период (1980 - настоящее время)
- •2. Классификация операционных систем
- •2.1. Классификация ос в зависимости от особенностей алгоритмов управления ресурсами
- •2.1.1. Поддержка многозадачности
- •2.1.2 Поддержка многопользовательского режима
- •2.1.3 Вытесняющая и невытесняющая многозадачность
- •2.1.4 Поддержка многонитевости.
- •2.1.5 Наличие механизма многопроцессорной обработки
- •2.2. Классификация ос в зависимости от особенностей аппаратных платформ
- •2.3. Классификация ос по областям использования
- •2.4. Особенности методов построения ос
- •3. Управление процессами
- •3.1. Состояния процессов
- •3.2. Контекст и дескриптор процесса
- •3.3. Алгоритмы планирования процессов
- •3.4. Средства синхронизации и взаимодействия процессов
- •3.4.1. Проблема синхронизации
- •3.4.2 Критическая секция
- •3.4.3 Тупики
- •3.4.4 Нити
- •4. Управление памятью
- •4.1. Типы адресов
- •4.2. Методы распределения памяти без использования дискового пространства
- •4.2.1. Распределение памяти фиксированными разделами
- •4.2.2. Распределение памяти разделами переменной величины
- •4.2.3. Перемещаемые разделы
- •4.3 Методы распределения памяти с использованием дискового пространства
- •4.3.1. Понятие виртуальной памяти
- •4.3.2. Страничное распределение
- •4.3.3. Сегментное распределение
- •4.3.4. Странично-сегментное распределение
- •4.3.5. Свопинг
- •4.4. Иерархия запоминающих устройств. Принцип кэширования данных
- •5. Управление вводом-выводом
- •5.1. Физическая организация устройств ввода-вывода
- •5.2. Организация программного обеспечения ввода-вывода
- •5.2.1. Обработка прерываний
- •5.2.2. Драйверы устройств
- •5.2.3. Независимый от устройств слой операционной системы
- •5.2.4. Пользовательский слой программного обеспечения
- •6. Файловая система
- •6.1. Правила именования и типы файлов
- •6.2. Логическая организация файла
- •6.3. Физическая организация и адрес файла
- •6.4. Права доступа к файлу
- •6.5. Кэширование диска
- •6.6. Общая модель файловой системы
- •6.7. Современные архитектуры файловых систем
- •7. Управление распределенными ресурсами
- •7.1. Базовые примитивы передачи сообщений в распределенных системах
- •7.2. Способы адресации
- •7.3. Блокирующие и неблокирующие примитивы
- •7.4. Буферизуемые и небуферизуемые примитивы
- •7.5. Надежные и ненадежные примитивы
- •8. Современные концепции проектирования операционных систем
- •8.1. Расширяемость
- •8.2. Переносимость
- •8.3. Совместимость
- •8.4. Безопасность
- •9. Варианты построения информационных приложений
- •9.1. Типовые компоненты информационных приложений
- •9.2. Централизованные многотерминальные системы
- •9.3. Файл-серверные приложения
- •9.4. Приложения клиент-сервер
- •9.5. Распределенные вычисления
- •9.6. Офисные системы
- •9.7. Информационные системы на основе Internet/Intranet-технологии
- •10. Концепции windows nt
- •10.1 Структура: nt-executive и защищенные подсистемы
- •10.2. Множественные прикладные среды в Windows nt
- •10.3. Объектно-ориентированный подход в Windows nt
- •10.4. Процессы и нити
- •10.5. Алгоритм планирования процессов и нитей
- •10.6. Сетевые средства Windows nt
- •10.7. Совместимость линейки операционных систем Windows nt с Novell NetWare
- •Оглавление
2.4. Особенности методов построения ос
При описании операционной системы часто указываются особенности ее структурной организации и основные концепции, положенные в ее основу.
К таким базовым концепциям относятся:
1) Способы построения ядра системы – монолитное ядро и микроядерный подход.
Большинство ОС использует монолитное ядро – программу, работающую в привилегированном режиме и использующую быстрые переходы с одной процедуры на другую, не требующие переключения из привилегированного режима в пользовательский и наоборот.
ОС на базе микроядра, которое работает в привилегированном режиме и выполняет только минимум функций по управлению аппаратурой, а функции ОС более высокого уровня выполняют специализированные компоненты ОС – серверы, работающие в пользовательском режиме. При таком построении ОС работает более медленно, так как часто выполняются переходы между привилегированным режимом и пользовательским, зато система получается более гибкой, ее функции можно наращивать, модифицировать или сужать, добавляя, модифицируя или исключая серверы пользовательского режима. Кроме того, серверы хорошо защищены друг от друга, как и любые пользовательские процессы.
Построение ОС на базе объектно-ориентированного подхода дает возможность построения решений в форме стандартных объектов, создания новых объектов на базе имеющихся с помощью механизма наследования, структурирования системы, состоящей из набора хорошо определенных объектов.
2) Наличие нескольких прикладных сред дает возможность в рамках одной ОС одновременно выполнять приложения, разработанные для нескольких ОС (Пример: Сеанс MS_DOS). Многие современные операционные системы поддерживают одновременно прикладные среды MS-DOS, Windows, UNIX (POSIX), OS/2. Концепция множественных прикладных сред наиболее просто реализуется в ОС на базе микроядра, над которым работают различные серверы, часть которых реализуют прикладную среду той или иной операционной системы.
3) Распределенная организация ОС позволяет упростить работу пользователей и программистов в сетевых средах. Здесь реализованы возможности визуального представления сети в виде одного компьютера. Характерными признаками распределенной организации ОС являются: наличие единой справочной службы разделяемых ресурсов, единой службы времени, использование механизма вызова удаленных процедур для распределения программных процедур по машинам, многонитевой обработки, позволяющей распараллеливать вычисления в рамках одной задачи и выполнять эту задачу сразу на нескольких компьютерах сети и т.д.
3. Управление процессами
Важнейшей частью операционной системы, влияющей на функционирование вычислительной машины, является подсистема управления процессами.
Процесс (задача) – абстракция, описывающая выполняющуюся программу.
Для операционной системы процесс это единица работы, заявка на потребление системных ресурсов. Подсистема управления процессами распределяет системные ресурсы между одновременно существующими в системе процессами, а также занимается созданием и уничтожением процессов и поддерживает взаимодействие между процессами.