- •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.Лекция 1.Операционная система. Введение
В данной теме вводится понятие операционной системы; рассматривается эволюция развития операционных систем; описываются функции операционных систем и подходы к построению операционных систем.
1.1.Структура вычислительной системы
Вычислительная система состоит из аппаратной части и программного обеспечения. К аппаратной части относятся память, процессор, периферийные устройства и т.д, объединенные между собой при помощи магистрали (шины).
Память запоминает программы и данные в двоичном виде. Она представляет собой упорядоченный массив ячеек, каждая ячейка которой, имеет уникальный цифровой адрес. Типовыми операциями над памятью являются считывание и запись.
Центральный процессор (ЦП) при помощи регистров осуществляет операции над данными. Существуют регистры общего назначения и специализированные регистры. Регистры общего назначения предназначены для временного хранения данных и результатов операций. Данные в регистры общего назначения поступают из ячеек памяти, процессор обрабатывает данные, результаты передаются обратно в память. Специализированные регистры организуют работу процессора (программный счетчик, регистр команд и т.д.). Программа представляет собой последовательность машинных команд, подлежащих выполнению процессором. Команда состоит из кода операции и данных, над которыми выполняется операция. Набор машинных команд называется машинным языком.
При выполнении программы программный счетчик содержит информацию о текущей команде для выполнения. На основании содержания счетчика команда считывается из памяти и копируется в регистр команд. Далее команда декодируется и исполняется. После выполнения команды в программный счетчик загружается адрес следующей команды. Цикл продолжается. Действия цикла называются машинным циклом.
Периферийные устройства служат для ввода и вывода информации. В своем составе они содержат контроллер или адаптер, представляющий собой специализированный компьютер. При подключении контроллера к материнской плате с помощью разъема, он подсоединяется к шине и получает уникальный адрес. Процессор при выполнении команды ввода – вывода посылает по шине сигналы контроллеру устройства для осуществления программируемого ввода-вывода. Со своей стороны, периферийное устройство выставляет сигналы на шину для процессора. С точки зрения ЦП выставление сигналов на шине периферийным устройством является асинхронным событием, которое требует соответствующей обработки. Для обнаружения асинхронного события, процессор опрашивает специальный регистр в промежутки времени между машинными циклами. Данный регистр содержит информацию о типе устройства, сгенерировавшего сигнал. Задача процессора в этом случае – отреагировать на прерывание и запустить программу обработки прерывания (например, занести символ, введенный с клавиатуры, в специальный буфер). После завершения обработки прерывания процессор возвращается к выполнению плановой программы. Осуществляется ввод - вывод с использованием прерываний. Между контроллером и памятью существует еще один способ связи, который использует механизм прямого доступа. Механизм прямого доступа заключается в том, что связь между контроллером и памятью осуществляется напрямую без участия центрального процессора.
Большую роль при работе компьютера играет программное обеспечение. Программное обеспечение делится на две части: прикладное и системное. Прикладное программное обеспечение состоит из разнообразных программ для пользователя, например, игры, текстовые редакторы и т. п. Системное программное обеспечение должно обеспечить функционирование вычислительной системы и разработку прикладных программ. Иерархию программного обеспечения по отношению к пользователю можно представить в виде последовательности слоев: техническое обеспечение, операционная система, прочие системные программы, прикладные программы.