![](/user_photo/2706_HbeT2.jpg)
- •Что такое операционная система Структура вычислительной системы
- •Что такое ос
- •Операционная система как виртуальная машина
- •Операционная система как менеджер ресурсов
- •Операционная система как защитник пользователей и программ
- •Операционная система как постоянно функционирующее ядро
- •Краткая история эволюции вычислительных систем
- •Первый период (1945–1955 гг.). Ламповые машины. Операционных систем нет
- •Второй период (1955 г.–начало 60-х). Компьютеры на основе транзисторов. Пакетные операционные системы
- •Третий период (начало 60-х – 1980 г.). Компьютеры на основе интегральных микросхем. Первые многозадачные ос
- •Четвертый период (с 1980 г. По настоящее время). Персональные компьютеры. Классические, сетевые и распределенные системы
- •Основные понятия, концепции ос
- •Системные вызовы
- •Прерывания
- •Исключительные ситуации
- •Процессы, нити
- •Архитектурные особенности ос
- •Монолитное ядро
- •Многоуровневые системы (Layered systems)
- •Виртуальные машины
- •Микроядерная архитектура
- •Смешанные системы
- •Классификация ос
- •Реализация многозадачности
- •Поддержка многопользовательского режима
- •Многопроцессорная обработка
- •Системы реального времени
- •Заключение
- •Приложение 1. Некоторые сведения об архитектуре компьютера
- •Взаимодействие с периферийными устройствами
- •Лекция 2. Процессы
- •Понятие процесса
- •Состояния процесса
- •Операции над процессами и связанные с ними понятия Набор операций
- •Process Control Block и контекст процесса
- •Одноразовые операции
- •Многоразовые операции
- •Переключение контекста
- •Заключение
- •Лекция 3: Планирование процессов
- •Уровни планирования
- •Критерии планирования и требования к алгоритмам
- •Параметры планирования
- •Вытесняющее и невытесняющее планирование
- •Алгоритмы планирования
- •First-Come, First-Served (fcfs)
- •Round Robin (rr)
- •Shortest-Job-First (sjf)
- •Гарантированное планирование
- •Приоритетное планирование
- •Многоуровневые очереди (Multilevel Queue)
- •Многоуровневые очереди с обратной связью (Multilevel Feedback Queue)
- •Заключение
- •Лекция 4: Кооперация процессов и основные аспекты ее логической организации
Основные понятия, концепции ос
В процессе эволюции возникло несколько важных концепций, которые стали неотъемлемой частью теории и практики ОС. Рассматриваемые в данном разделе понятия будут встречаться и разъясняться на протяжении всего курса. Здесь дается их краткое описание.
Системные вызовы
В любой операционной системеподдерживается механизм, который позволяет пользовательским программам обращаться к услугам ядраОС. Воперационных системахнаиболее известной советской вычислительной машины БЭСМ-6 соответствующие средства «общения» с ядром назывались экстракодами, воперационных системахIBM они назывались системными макрокомандами и т.д. ВОСUnix такие средства называютсистемными вызовами.
Системные вызовы(system calls) – это интерфейс междуоперационной системойи пользовательской программой. Они создают, удаляют и используют различные объекты, главные из которых – процессы и файлы. Пользовательская программа запрашивает сервис уоперационной системы, осуществляясистемный вызов. Имеются библиотеки процедур, которые загружают машинные регистры определенными параметрами и осуществляютпрерываниепроцессора, после чего управление передается обработчику данноговызова, входящему в ядрооперационной системы. Цель таких библиотек – сделатьсистемный вызовпохожим на обычныйвызовподпрограммы.
Основное отличие состоит в том, что при системном вызовезадача переходит в привилегированный режим или режим ядра (kernel mode). Поэтомусистемные вызовыиногда еще называют программнымипрерываниями, в отличие от аппаратныхпрерываний, которые чаще называют простопрерываниями.
В этом режиме работает код ядра операционной системы, причем исполняется он в адресном пространстве и в контексте вызвавшей его задачи. Таким образом, ядрооперационной системыимеет полный доступ к памяти пользовательской программы, и присистемном вызоведостаточно передать адреса одной или нескольких областей памяти с параметрамивызоваи адреса одной или нескольких областей памяти для результатоввызова.
В большинстве операционных систем системный вызовосуществляется командой программногопрерывания(INT). Таким образом, программноепрерывание– это синхронное событие.
Прерывания
Прерывание(hardware interrupt) – это событие, генерируемое внешним (по отношению кпроцессору) устройством. Посредством аппаратныхпрерыванийаппаратура либо информирует центральныйпроцессоро том, что произошло какое-либо событие, требующее немедленной реакции (например, пользователь нажал клавишу), либо сообщает о завершении асинхронной операции ввода-вывода (например, закончено чтение данных с диска в основную память). Важный тип аппаратныхпрерываний–прерываниятаймера, которые генерируются периодически через фиксированный промежуток времени.Прерываниятаймера используютсяоперационной системойпри планировании процессов. Каждый тип аппаратныхпрерыванийимеет собственный номер, однозначно определяющий источникпрерывания. Аппаратноепрерывание– это асинхронное событие, то есть оно возникает вне зависимости от того, какой код исполняетсяпроцессоромв данный момент. Обработка аппаратногопрерыванияне должна учитывать, какой процесс является текущим.