- •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.7.4.Системы реального времени
В разряд многозадачных ОС, наряду с пакетными системами и системами разделения времени, включаются также системы реального времени. Они используются для управления техническими объектами или технологическими процессами. Такие системы характеризуются предельно допустимым временем реакции на внешнее событие, в течение которого должна быть выполнена программа, управляющая объектом. Система должна обрабатывать поступающие данные быстрее, чем они могут поступать, причем от нескольких источников одновременно.
Данные ограничения сказываются на архитектуре систем реального времени, например, в них может отсутствовать виртуальная память, поддержка которой дает непредсказуемые задержки в выполнении программ.
Современные ОС - широко распространенные системы - во многом похожи друг на друга. Прежде всего это определяется требованием переносимости программного обеспечения. Именно для обеспечения этой переносимости был принят стандарт POSIX, определяющий минимальные функции по управлению файлами, межпроцессному взаимодействию и т.д., которые должна уметь выполнять система. POSIX® (англ.Portable Operating System Interface for Unix—Переносимый интерфейс операционных систем Unix) — набор стандартов, описывающих интерфейсы междуоперационной системойиприкладной программой. Стандарт создан для обеспечения совместимости различныхUNIX-подобных операционных систем и переносимости прикладных программ на уровнеисходного кода, но может быть использован и для не-Unix систем. Серия стандартов POSIX была разработана комитетом 1003IEEE. Международная организация по стандартизации (ISO) совместно c Международной электротехнической комиссией (IEC) приняли данный стандарт (POSIX) под названиемISO/IEC 9945
2 Процессы
Операционные системы выполняют шесть классических функций:
Планирование заданий и использования процессора.
Обеспечение программ средствами коммуникации и синхронизации.
Управление памятью.
Управление файловой системой.
Управление вводом-выводом.
Обеспечение безопасности
Операционная система управляет процессами, происходящими в вычислительной системе. Рассмотрим понятие процесса с точки зрения операционных систем.
2.1.Понятие процесса
Операционная система работает с процессами. Пользователи работают с программами и заданиями. С точки зрения операционной системы понятие процесс не совпадает с понятиями программа или задание.
Так, выполнение одной и той же программы с разными исходными данными приводит к разным результатам. С точки зрения пользователя запущена одна и та же программа; с точки зрения операционной системы, выполняются различные вычислительные процессы: разные исходные данные приводят к разному набору вычислений. Программа с одними и теми же входными данными может запускаться со сдвигом во времени. С точки зрения пользователя запускается одна и та же программа. С точки зрения операционной системы выполняются разные вычислительные процессы. Один процесс начинает выполнять задание, второй выводит результаты.
Под заданием понимается совокупность программ, команд языка управления заданиями и входные данные.
Термины "программа" и "задание" описывают статические объекты. Программа в процессе исполнения является динамическим объектом. В ходе ее выполнения обрабатываются различные команды, преобразуются значения переменных. Операционная система выделяет и резервирует ресурсы (оперативную память, стеки, используемые устройства ввода-вывода или файлы и т.д.), фиксирует данные текущего момента выполнения (значения регистров, программного счетчика, состояние стека, значения переменных). Количество и конфигурация ресурсов меняются с течением времени. Термин «процесс» описывает программы или задания в процессе ее выполнения.
Процесс характеризует набор исполняющихся команд и задействованных с ними ресурсов (выделенная память или адресное пространство, стеки, используемые файлы и устройства ввода-вывода и т. д.), состояние процессора в текущий момент выполнения команд (значения регистров, программного счетчика, состояние стека и значения переменных), которые находятся под управлением операционной системы.
Между процессами и программами нет взаимно-однозначного соответствия. Операционная система может задействовать несколько процессов для работы одной программы или один процесс для исполнения различных программ. Процесс всегда находится под управлением операционной системы. В нем возможно выполнение части кода ядра операционной системы, которая не находится в исполняемом файле. Системный вызов может произойти как в предусмотренных, так и в непредусмотренных случаях. В предусмотренных случаях автор программы предусматривает системный вызов. В непредусмотренных случаях системный вызов не зависит от воли автора, например, при обработке внешних прерываний.