- •Лекция 1. Этапы развития операционных систем
- •5 Этапов развития ос:
- •5 Этап – персональные ос
- •Лекция 2. Цели и задачи операционной системы
- •Лекция №3. Архитектура операционных систем
- •Принципы разработки архитектуры ос:
- •Архитектуры ядра (что хранить в ядре; какие функции необходимо хранить в ядре):
- •Лекция №4. Составляющие вычислительного процесса
- •8 Функций подсистемы управления процессами:
- •4. Планирование выполнения процессов и потоков.
- •6. Организация меж процессного взаимодействия.
- •7. Синхронизация процессов и потоков.
- •Жизненный цикл процесса.
- •Виды и критерии планирования ресурсов вычислительной системы
- •4. Планирование доступа к отдельным устройствам. Лекция №5. Планирование ресурсов вычислительной системы
- •Алгоритмы планирования
- •Лекция №6. Планирование процессов. Синхронизация процессов. Критические секции процессов Гарантированное планирование
- •Приоритетное планирование
- •Многоуровневые очереди (Multilevel Queue)
- •3.5.7. Многоуровневые очереди с обратной связью (Multilevel Feedback Queue)
- •5.3. Программные алгоритмы организации взаимодействия процессов
- •5.3.1. Требования, предъявляемые к алгоритмам
- •5.3.4. Строгое чередование
- •5.3.5. Флаги готовности
- •5.3.6. Алгоритм Петерсона
- •6.1. Семафоры
- •6.1.1. Концепция семафоров
Лекция 1. Этапы развития операционных систем
5 Этапов развития ос:
1 этап (40е года) – диспетчеры файлов: Процессор был связан с оперативной памятью и вводом/выводом. Напрямую ввод/вывод с оперативной памятью не взаимодействовали. Программы-диспетчеры появились для автоматизации загрузки и линковки данных, которые писались под конкретную машину. Когда осознали, что многие части кода повторяются, решили отвести специально место в оперативной памяти для библиотек, отсюда возникли задачи:
автоматизировать линковку (связь приложений с ячейками памяти),
оптимизировать взаимодействия с устройствами ввода/вывода.
Прерывание - специальный сигнал, который останавливает центральный процесс и заставляет переключиться с одной задачи на другую.
2 этап (60-70е года) – мультипрограммные ОС: В это время появляется сам термин ОС. Операционная система - базовое системное программное обеспечение, управляющее работой компьютера и являющееся интерфейсом между аппаратурой, прикладным программным обеспечением и пользователем.
Задачи, решавшиеся на данном этапе:
Разделение времени между программы привело к созданию таймера и смене контекста, выполнения нескольких программ.
Виртуализация памяти: только ОС имеет право писать физические адреса памяти, ПО может работать только с выделенной памятью.
Системные вызовы - обращение программного обеспечения к операционной системе с просьбой предоставить какие-либо возможности.
Мульти планирование времени
Синхронизация и коммуникация между программами
Разделение доступа к внешней информации, файлам
3 этап – сетевые и распределенные ОС: удаленный ввод/вывод данных, появляется распределенный ввод/вывод и хранение.
4 этап – открытые ОС (мобильные): Появление Unix (1969) - Томсон, Кенргин, Рич (создатели языка Си) - за основу взяли систему Балтикс, написанную на языке Би.
5 Этап – персональные ос
Развитие ОС:
Unix (первая операционная система)
-> BSD - свободная ОС с открытым кодом (до нас дожили NetBSD, OpenBSD, FreeBSD) - серверные ОС
-> system V -> HPUX
(От BSD) -> SunOS -> SunSolaris / OpenSolaris (в настоящее время)
(От BSD) -> nextstep -> MacOS
(От BSD) -> AIX
GNU/Linux развивался отдельно
Лекция 2. Цели и задачи операционной системы
Процесс работы на компьютере состоит из 4 компонентов:
Hardware
Software
пользователь
внешние сети
Всем компонентам запрещено работать напрямую, только через ОС - концепция виртуализации (компоненты не знают друг о друге и вправе обратиться только к ОС)
Обычно выделяют 4 цели работы ОС:
1 цель: обеспечение эффективности, надежности и безопасности выполнения пользовательских программ.
2 цель: обеспечение эффективности, надежности и безопасности использования аппаратного обеспечения.
3 цель: обеспечение эффективности, надежности и безопасности доступа к телекоммуникационным ресурсам.
4 цель: возможность обеспечения диалога с пользователем.
Функции ОС:
1 функция: Организация интерфейса между пользователем и ПО. Задачи функции:
поддержать API
Обнаружение и обработка ошибок
Управление исполнением программ (операции ОС - загрузить исходный код, породить процессы, выделить ресурсы, заблокировать ресурсы и тд)
Обеспечивать доступ к устройствам ввода/вывода и файловой системе
Аудит или учет использования ресурсов (оптимизировать работу конкретного приложения)
2 функция: Обеспечение эффективности использования ресурсов компьютера
3 функция: Обеспечение надежности эксплуатации аппаратных средств. Задачи функции:
резервирование
обеспечивать профилактические работы
восстановление утилитами после сбоя
4 функция: обеспечить возможность развитие ОС. Задачи данной функции:
система обновлений
избыточность
Основные подсистемы ОС:
Подсистема управления процессами. Процесс - структура данных в памяти. Планировщик (набор алгоритмов подпрограмм для планирования) и механизм PCB (Process Control Block)
Подсистема управления файлами
Подсистема управления устройствами (драйвера, механизм PlaginPlay)
Подсистема защиты и администрирования данных (разделение прав по ролям (администратор, обычный пользователь и тд), обеспечение логического входа)
Подсистема пользовательского интерфейса (командой интерпретатор, графический пользовательских интерфейс)
