
- •1.Лекция 1.Операционная система. Введение
- •1.1.Структура вычислительной системы
- •1.2.Что такое операционная система
- •1.2.1. Операционная система как виртуальная машина.
- •1.2.2.Операционная система как менеджер ресурсов
- •1.2.3.Операционная система как защитник пользователей и программ
- •1.2.4.Операционная система как постоянно функционирующее ядро
- •1.3.История эволюции вычислительных систем
- •1.3.1.Первый период (1945–1955 гг.). Ламповые машины. Операционных систем нет
- •1.3.2.Второй период (1955 г.–начало 60-х). Компьютеры на основе транзисторов. Пакетные операционные системы
- •1.3.3.Третий период (начало 60-х – 1980 г.). Компьютеры на основе интегральных микросхем. Первые многозадачные ос
- •1.3.4.Четвертый период (с 1980 г. По настоящее время). Персональные компьютеры. Классические, сетевые и распределенные системы
- •1.4. Функции операционной системы.
- •1.5.Основные понятия, концепции ос
- •1.5.1.Системные вызовы
- •1.5.2.Прерывания
- •1.5.3.Исключительные ситуации
- •1.5.4.Файлы
- •1.6.Архитектурные особенности ос
- •1.6.1.Монолитное ядро
- •1.6.2.Многоуровневые или слоеные системы (Layered systems)
- •1.6.3.Виртуальные машины
- •1.6.4.Микроядерная архитектура
- •1.6.5.Смешанные системы
- •1.7.Классификация операционных систем
- •1.7.1.Реализация многозадачности
- •1.7.2.Поддержка многопользовательского режима
- •1.7.3.Многопроцессорная обработка
- •1.7.4.Системы реального времени
- •2 Процессы
- •2.1.Понятие процесса
- •2.2.Состояния процесса
- •2.3.Операции над процессами и связанные с ними понятия
- •2.3.1.Набор операций
- •2.3.2.Блок управления процессом (рсв Process Control Block) и контекст процесса
- •2.3.3.Одноразовые операции
- •2.3.4.Многоразовые операции
- •2.3.5.Переключение контекста
- •2.3.7.Нити исполнения
- •2.4.Заключение
- •3. Планирование процессов
- •3.1.Уровни планирования
- •3.2.Цели планирования
- •3.4. Критерии планирования
- •3.5.Вытесняющее и не вытесняющее планирование
- •3.5.Алгоритмы планирования
- •3.5.1.Планирование по принципу fifo
- •3.5.2.Циклическое планирование)
- •3.5.3. Планирование по принципу кратчайшее задание - первым
- •3.5.4.Гарантированное планирование
- •3.5.5.Приоритетное планирование
- •3.5.6.Многоуровневые очереди (Multilevel Queue)
- •3.5.7.Многоуровневые очереди с обратной связью (Multilevel Feedback Queue)
- •3.6.Заключение
- •4. Лекция: Кооперация процессов и основные аспекты ее логической организации
- •4.1.Взаимодействующие процессы
- •4.2.Средства обмена информацией
- •4.3.Логическая организация механизма передачи информации
- •4.4.Информационная валентность процессов и средств связи
- •4.5.Особенности передачи информации с помощью линий связи
- •4.5.1.Буферизация
- •4.5.2.Поток ввода/вывода и сообщения
- •4.5.3.Надежность средств связи
- •4.5.4.Завершение связи
- •4.6.Нити исполнения
- •4.7.Заключение
1.5.3.Исключительные ситуации
Исключительная ситуация – событие, возникающее в результате попытки выполнения программой команды, которая по каким-либо причинам не может быть выполнена до конца. Примеры таких команд: попытки доступа к ресурсу при отсутствии достаточных привилегий, обращение к отсутствующей странице памяти и т.д. Исключительные ситуации, как и системные вызовы, являются синхронными событиями, возникающими в контексте текущей задачи. Исключительные ситуации подразделяются на исправимые и неисправимые. При исправимых исключительных ситуациях программы после устранения причины могут выполняться дальше. Возникновение в процессе работы операционной системы исправимых исключительных ситуаций считается нормальным явлением. Неисправимые исключительные ситуации чаще всего возникают в результате ошибок в программах (например, деление на ноль). На неисправимые исключительные ситуации операционная система реагирует завершением программы, вызвавшей исключительную ситуацию.
1.5.4.Файлы
Файлы предназначены для хранения информации и представляют собой именованную часть пространства на носителе информации. Главной задачей файловой системы операционной системы является простота модели организации хранения информации, которая независима от устройств. Для чтения, создания, удаления, записи, открытия и закрытия файлов в операционных системах имеются большая категория системных вызовов.
1.6.Архитектурные особенности ос
Существуют разные способы построения операционных систем. Ниже описаны архитектурные особенности существующих операционных систем
1.6.1.Монолитное ядро
Операционная система представляет собой обычную программу. Ее, как и большинство программ, можно составить из процедур и функций. Компоненты операционной системы, отвечающие за те или иные функции, являются не самостоятельными модулями, а составными частями одной большой программы. Такая структура операционной системы называется монолитным ядром. Монолитное ядро представляет собой набор процедур, каждая из которых может вызвать любую из процедур. Все процедуры работают в привилегированном режиме. Таким образом, монолитное ядро – это архитектура операционной системы, при которой все ее компоненты являются составными частями одной программы, используют общие структуры данных и взаимодействуют друг с другом путем с помощью процедур. Для монолитной операционной системы ядро совпадает со всей системой.
В операционных системах с монолитным ядром сборка ядра, то есть его компиляция, осуществляется отдельно для каждого компьютера, на который устанавливается операционная система. При этом выбирается список оборудования и программных протоколов, поддержка которых будет включена в ядро. В монолитных операционных системах ядро является единой программой. Добавление новых компонентов или исключение неиспользуемых осуществляется с помощью перекомпиляции. Ядро программы полностью располагается в оперативной памяти, поэтому присутствие в ядре лишних компонентов нежелательно. Кроме того, исключение ненужных компонентов повышает надежность операционной системы.
В монолитном ядре можно выделить сервисные процедуры, соответствующие системным вызовам и набор программных утилит. Системные вызовы выполняются в привилегированном режиме в отличие от пользовательских программ.
Монолитное ядро – старейший способ организации операционных систем. Примером систем с монолитным ядром является большинство Unix-систем.