- •Операционные системы Оглавление
- •Введение. Общие сведения.
- •1.2 История вычислительной системы
- •1.2.1 Первый период 45 – 55 гг.
- •1.2.2 Второй период 55-60 гг.
- •1.2.3 Третий период 60 – 80 гг.
- •1.2.4 Четвертый период с 80-х годов по наст. Время (персональные компьютеры, сетевые и распределенные системы).
- •1.2.5 Итоги развития вс.
- •1.3 Основные понятия и концепции ос
- •1.3.1 Системные вызовы.
- •1.3.2 Программные прерывания.
- •1.3.3 Файл.
- •1.4 Процессы и потоки. Архитектурные особенности ос.
- •1.4.1 Монолитное ядро.
- •1.4.2 Слоеные системы (Layered Systems)
- •1.4.3 Виртуальные машины.
- •1.4.4 Микроядерная архитектура.
- •1.4.5 Смешанные системы.
- •1.5 Классификация ос
- •2. Процессы и их поддержка в ос.
- •2.1 Понятие процесса.
- •2.2 Состояние процесса.
- •2.3 Операции над процессами и связанные с ними понятия
- •2.3.1 Набор операций.
- •2.3.2 Процесс Control Block и контекст процесса.
- •2.3.3 Одноразовые операции.
- •2.3.4 Многоразовые операции над процессами.
- •2.3.5 Переключение контекста.
- •3.Планирование процесса.
- •3.1. Уровни планирования
- •3.2 Критерии планирования и требовании к алгоритмам.
- •3.3 Параметры планирования
- •3.4 Вытесняющие и невытесняющие планирования
- •3.5 Алгоритмы планирования
- •3.5.1FirstComeFirstServed
- •3.5.2 Round Robin
- •3.5.3ShortestJob–First
- •3.5.4 Гарантированное планирование
- •3.5.5 Приоритетное планирование
- •3.5.6 Многоуровневые очереди (multilevelQueue)
- •3.5.7 Многоуровневые очереди
- •4. Кооперация процессов и основные аспекты в её логической реализации.
- •4.1 Взаимодействующие процессы
- •4.2 Категории средств обмена информацией
- •4.3 Логическая организация механизма передачи информации
- •4.3.1 Установление связи
- •4.3.2 Информационная валентность процессов и средств связи.
- •4.3.3 Особенности передачи информации с помощью линии связи.
- •4.3.4 Надежность средств связи
- •4.3.5 Как завершается связь?
- •4.4 Потоки исполнения
- •5. Алгоритмы синхронизации
- •5.1 Interleaving race condition
- •5.2 Критическая секция
- •5.3 Программные алгоритмы организации взаимодействия процессов
- •5.3.1 Требования, предъявляемые к алгоритму.
- •5.3.2 Запрет прерываний
- •7.8.2 Недостатки алгоритма банкира
- •8.2 Логическая память
- •8.3 Связывание адресов
- •8.4 Функции системы управления памятью
- •8.6 Страничная память
- •8.7 Сегментная и сегментно-страничная организация памяти
- •9. Виртуальная память
- •9.1 Понятие виртуальной памяти
- •9.2 Архитектурные средства поддержки виртуальной памяти
1.2.4 Четвертый период с 80-х годов по наст. Время (персональные компьютеры, сетевые и распределенные системы).
Появилась возможность уменьшить энергопотребление и увеличить быстродействие. Появились ПК изначально рассчитанные для использования одним человеком. Исчезла потребность защиты данных от др. пользователей, использования мультипрограммирования, т.е. на начальном этапе ВС претерпела деградацию. Увеличившуюся мощность стало возможно использовать для создания упрощенного интерфейса, т.е. появилась возможность работать с компьютером непрофессионалу.
Появились зачатки сетевых технологий, стали развиваться сети компьютеров. Два направления:
Сетевые ОС;
Распределенные ОС.
Сетевая ОС, когда используется для организации сетевого взаимодействия – это модифицированная ОС, ранее использовавшаяся для обычного ПК. Распределенная ОС выглядит как автономная ОС отдельного ПК, она сама распоряжается ресурсами сети.
1.2.5 Итоги развития вс.
Планирование заданий (разобраться какие из заданий должны быть запущены и в каком порядке) и использование процессора (какому из заданий отдать процессор);
Обеспечение программ (процессов) средствами коммуникации и синхронизации (обеспечение возможности взаимодействия нескольких программ, которые выполняются в ВС по определенным правилам, и согласование их по времени);
Управление памятью;
Управление файловой системы;
Управление вводом/выводом;
Проблема обеспечения безопасности.
Каждая из функций бывает реализована в ОС в виде отдельной подсистемы.
1.3 Основные понятия и концепции ос
1.3.1 Системные вызовы.
В любой ОС поддерживается механизм, который позволяет пользователям обращаться за услугами ядра ОС, называется этот механизм макрокомандами/экстракодами/системный вызов.
Системный вызов – это механизм, который позволяет пользователям обращаться за услугами ядра ОС.
Системные вызовы
Создают и удаляют объекты (процессы и файлы)
Пользовательская прога запрашивает сервис у ОС, осуществляя системный вызов. Существуют проги, которые позволяют загружать регистры ВС спец содержанием, существуют проги для прерывания процесса, потом обработчик вызова, который в системе ОС.
1.3.2 Программные прерывания.
Код ядра ОС выполняется в адресном пространстве и контексте вызвавшей его задачи, иначе говоря, оказывается, что ядро ОС имеет полный доступ к адресному пространству любой задачи. Таймер – программное устройство, которое с определенным периодом генерирует сигналы;
прерывание таймера используется при планировании процесса;
Каждый тип прерываний имеет собственный номер, количество прерываний ограничено. Уже наперед известно как на каждое прерывание надо реагировать.
Аппаратное прерывание – асинхронное событие;
Синхронное прерывание – прерывание, связанное с ходом выполнения программы;
Исключительные ситуации – события, которые возникают в результате выполнения программой недопустимой команды, например, при попытке получить доступ к ресурсу при отсутствии привилегий. Их разделяют:
Исправимые;
Неисправимые (заканчивается снятием проги с вычисления)
1.3.3 Файл.
Понятие файла связано с хранением данных на внешнем носителе. Под файлом понимается часть пространства на носителе информации, имеющая имя.
<- Имя файла
Рис.1 Понятие файла
Главная задача файлов системы – скрыть детали вводы/вывода и дать программисту простую абстрактную модель файлов, не зависящих от устройств. Системы вывозов файлов:
Create
Delete
Open
Close
Read
Write
При работе с файлами используются такие понятия как каталог/текущий каталог/корневой каталог.