Что такое операционная система? Архитектурные особенности ОС. Классификация ОС

Содержание

Слайд 2

Структура вычислительной системы и место курса в общем цикле курсов по информатике

Техническое

Структура вычислительной системы и место курса в общем цикле курсов по информатике
обеспечение

Пользователь

Прикладные программы

Системные программы

Прочие системные программы

Операционная система

Алгоритмы и алгоритмические языки

Архитектура ЭВМ и язык ассемблера

Современные операционные системы

Слайд 3

Вычислительная система как совокупность ресурсов

5. Уровень прикладных систем
4. Уровень систем программирования
3. Уровень

Вычислительная система как совокупность ресурсов 5. Уровень прикладных систем 4. Уровень систем
управления логическими/виртуальными ресурсами вычислительной системы
2. Уровень управления физическими ресурсами вычислительной системы
1. Аппаратный уровень вычислительной системы

Слайд 4

Что такое операционная система ?

Виртуальная машина
Менеджер ресурсов
Защитник пользователей и программ
Постоянно функционирующее

Что такое операционная система ? Виртуальная машина Менеджер ресурсов Защитник пользователей и
ядро

Основные точки зрения

Слайд 5

История ОС

История ОС

Слайд 6

Краткая история эволюции вычислительных систем

Ламповые машины
Нет разделения персонала
Нет операционных систем
Ввод программы

Краткая история эволюции вычислительных систем Ламповые машины Нет разделения персонала Нет операционных
с пульта или с колоды перфокарт
Отладка программы с пульта
Одновременное выполнение только одной операции
Появление прообразов первых компиляторов

Научно-исследовательская работа в области вычислительной техники

1-й период (1945 г. – 1955 г.)

Слайд 7

Краткая история эволюции вычислительных систем

Транзисторные машины
Происходит разделение персонала
Бурное развитие алгоритмических языков
Ввод

Краткая история эволюции вычислительных систем Транзисторные машины Происходит разделение персонала Бурное развитие
задания с колоды перфокарт
Отладка программы по изучению распечаток
Пакеты заданий и системы пакетной обработки

Начало использования ЭВМ в научных и коммерческих целях

2-й период (1955 г. – начало 1960х гг.)

Слайд 8

Краткая история эволюции вычислительных систем

Машины на интегральных схемах
Использование спулинга (spooling)
Планирование заданий
Мультипрограммные

Краткая история эволюции вычислительных систем Машины на интегральных схемах Использование спулинга (spooling)
пакетные системы

3-й период (начало 1960х гг. – 1980 г.)

Слайд 9

Влияние идеи мультипрограммирования на эволюцию вычислительных систем

Software
Планирование заданий
Управление памятью
Сохранение контекста
Планирование использования процессора
Системные

Влияние идеи мультипрограммирования на эволюцию вычислительных систем Software Планирование заданий Управление памятью
вызовы
Средства коммуникации
Средства синхронизации

Hardware
Защита памяти
Сохранение контекста
Механизм прерываний
Привилегированные команды

Слайд 10

Краткая история эволюции вычислительных систем

Машины на интегральных схемах
Использование спулинга (spooling)
Планирование заданий
Мультипрограммные

Краткая история эволюции вычислительных систем Машины на интегральных схемах Использование спулинга (spooling)
пакетные системы
Системы разделения времени (time-sharing)
Виртуальная память
Интерактивная отладка программ
Развитые файловые системы
Семейства ЭВМ

Широкое использования ЭВМ в научных и коммерческих целях

3-й период (начало 60х гг. – 1980 г.)

Слайд 11

Краткая история эволюции вычислительных систем

Машины на больших интегральных схемах (БИС)
Персональные ЭВМ
Дружественное

Краткая история эволюции вычислительных систем Машины на больших интегральных схемах (БИС) Персональные
программное обеспечение
Сетевые и распределенные операционные системы

Широкое использования ЭВМ в быту, в образовании, на производстве

4-й период (1980 г. – наше время)

Слайд 12

Основные функции, которые выполняли классические ОС в процессе своей эволюции

Планирование заданий и

Основные функции, которые выполняли классические ОС в процессе своей эволюции Планирование заданий
использования процессора
Обеспечение программ средствами коммуникации и синхронизации
Управление памятью
Управление файловой системой
Управление вводом-выводом
Обеспечение безопасности

Слайд 13

Основные понятия, концепции ОС

Системные вызовы
Прерывания
Исключительные ситуации
Файлы
Процессы, нити

Основные понятия, концепции ОС Системные вызовы Прерывания Исключительные ситуации Файлы Процессы, нити

Слайд 14

Системные вызовы (system calls)

- это интерфейс между операционной системой и пользовательской программой.

Системные вызовы (system calls) - это интерфейс между операционной системой и пользовательской
Они создают, удаляют и используют различные объекты, главные из которых – процессы и файлы. Пользовательская программа запрашивает сервис у операционной системы, осуществляя системный вызов. Имеются библиотеки процедур, которые загружают машинные регистры определенными параметрами и осуществляют прерывание процессора, после чего управление передается обработчику данного вызова, входящему в ядро операционной системы. Цель таких библиотек – сделать системный вызов похожим на обычный вызов подпрограммы. Основное отличие состоит в том, что при системном вызове задача переходит в привилегированный режим или режим ядра (kernel mode). Поэтому системные вызовы иногда еще называют программными прерываниями, в отличие от аппаратных прерываний, которые чаще называют просто прерываниями. В большинстве операционных систем системный вызов осуществляется командой программного преры вания (INT). Программное прерывание – это синхронное событие, которое может быть повторено при выполнении одного и того же программного кода.

Слайд 15

Прерывание (hardware interrupt)

– это событие, генерируемое внешним (по отношению к процессору) устройством.

Прерывание (hardware interrupt) – это событие, генерируемое внешним (по отношению к процессору)
Посредством аппаратных прерываний аппаратура либо информирует центральный процес сор о том, что произошло какое-либо событие, требующее немедленной реакции (например, пользова тель нажал клавишу), либо сообщает о завершении асинхронной операции ввода-вывода (например, за кончено чтение данных с диска в основную память). Важный тип аппаратных прерываний – прерывания таймера, которые генерируются периодически через фиксированный промежуток времени. Прерывания таймера используются операционной системой при планировании процессов. Каждый тип аппаратных прерываний имеет собственный номер, однозначно определяющий источник прерывания. Аппаратное прерывание – это асинхронное событие, то есть оно возникает вне зависимости от того, какой код испол няется процессором в данный момент. Обработка аппаратного прерывания не должна учитывать, какой процесс является текущим.

Слайд 16

Исключительная ситуация (exception)

– событие, возникающее в результате попытки выполнения программой команды, которая

Исключительная ситуация (exception) – событие, возникающее в результате попытки выполнения программой команды,
по каким-то причинам не может быть выполнена до конца. Примерами таких команд могут быть попытки доступа к ресурсу при отсутствии достаточных привилегий или обращения к отсутствующей странице памяти. Исключительные ситуации, как и системные вызовы, являются синхронными событиями, возникающими в контексте текущей задачи. Исключительные ситуации можно разделить на исправимые и неисправимые. К исправимым относятся такие исключительные ситуации, как отсутствие нужной информации в оперативной памяти. После устранения причины исправимой исключительной ситуации программа может выполняться дальше. Возникновение в процессе работы операционной системы исправимых исключительных ситуаций считается нормальным явлением. Неисправимые исключительные ситуации чаще всего возникают в результате ошибок в программах (например, деление на ноль). Обычно в таких случаях операционная система реагирует завершением программы, вызвавшей исключительную ситуацию.

Слайд 17

Файлы

Файлы предназначены для хранения информации на внешних носителях, то есть принято, что

Файлы Файлы предназначены для хранения информации на внешних носителях, то есть принято,
информация, записанная, например, на диске, должна находиться внутри файла. Обычно под файлом понимают именованную часть пространства на носителе информации. Главная задача файловой системы (file system) – скрыть особенности ввода-вывода и дать программисту простую абстрактную модель файлов, независимых от устройств. Для чтения, создания, удаления, записи, открытия и закрытия файлов также имеется обширная категория системных вызовов (создание, удаление, открытие, закрытие, чтение и т.д.). Пользователям хорошо знакомы такие связанные с организацией файловой системы понятия, как каталог, текущий каталог, корневой каталог, путь. Для манипулирования этими объектами в операционной системе имеются системные вызовы.

Слайд 18

Внутреннее строение операционных систем

Каждая процедура может вызывать каждую
Все процедуры работают в

Внутреннее строение операционных систем Каждая процедура может вызывать каждую Все процедуры работают
привилегированном режиме
Ядро совпадает со всей операционной системой
Пользовательские программы взаимодействуют с ядром через системные вызовы

= ядро

- точки входа в ядро – системные вызовы

Привилегированный режим

ОС

Программа пользователя

Программа пользователя

Программа пользователя

Монолитное ядро

Слайд 19

Внутреннее строение операционных систем

Процедура уровня N может вызывать только процедуры уровня

Внутреннее строение операционных систем Процедура уровня N может вызывать только процедуры уровня
N -1
Все или почти все уровни работают в привилегированном режиме
Ядро совпадает или почти совпадает со всей операционной системой
Пользовательские программы взаимодействуют с ОС через интерфейс пользователя

Интерфейс пользователя

Управление вводом-выводом

Управление памятью

Планирование задач и процессов

Hardware

Драйвер связи с консолью

Многоуровневые системы (Layered systems)

0

N

1

2

3

4

5

Система THE

Слайд 20

Внутреннее строение операционных систем

Функции микроядра:
взаимодействие между программами
планирование использования процессора
первичная обработка прерываний

Внутреннее строение операционных систем Функции микроядра: взаимодействие между программами планирование использования процессора
и операций ввода-вывода
базовое управление памятью

Микроядерная (microkernel) архитектура

Микро- ядро

Приложе-
ние 1

Приложе-
ние 2

Менеджер памяти

Менеджер файлов

Менеджер сети

Привилегированный режим

ОС

Слайд 21

Внутреннее строение операционных систем

Взаимодействие частей ОС между собой и с программами

Внутреннее строение операционных систем Взаимодействие частей ОС между собой и с программами
пользователей путем передачи сообщений через микроядро
В привилегированном режиме работает только микроядро
Микроядро составляет лишь малую часть ОС

Микроядерная (microkernel) архитектура

Слайд 22

Внутреннее строение операционных систем

Монолитное ядро – необходимость перекомпиляции при каждом изменении,

Внутреннее строение операционных систем Монолитное ядро – необходимость перекомпиляции при каждом изменении,
сложность отладки, высокая скорость работы.
Многоуровневые системы – необходимость перекомпиляции при изменениях, отлаживается только измененный уровень, меньшая скорость работы
Микроядро – простота отладки, возможность замены компонент без перекомпиляции и остановки системы, очень медленные

Смешанные системы – почему?

Слайд 23

Внутреннее строение операционных систем

Linux – монолитная система с элементами микроядерной архитектуры

Внутреннее строение операционных систем Linux – монолитная система с элементами микроядерной архитектуры
(подгружаемые модули).
4.4 BSD – запуск монолитной системы под управлением микроядра
Windows NT – почти микроядерная система с элементами монолитности
Многоуровневый подход применяется почти во всех ОС в их отдельных компонентах

Смешанные системы – примеры

Слайд 24

Внутреннее строение операционных систем

Каждому пользователю предоставляется своя копия виртуального hardware

Виртуальные машины

Реальное

Внутреннее строение операционных систем Каждому пользователю предоставляется своя копия виртуального hardware Виртуальные
hardware

Реальная операционная система

Виртуальное hardware

Виртуальное hardware

Виртуальное hardware

Linux

Windows-XP

MS-DOS

Пользователь

Пользователь

Пользователь

Слайд 25

Классификация ОС

По назначению ОС делятся на универсальные и специализированные
По способу загрузки

Классификация ОС По назначению ОС делятся на универсальные и специализированные По способу
можно выделить загружаемые ОС (большинство) и системы, постоянно находящиеся в памяти вычислительной системы
Поддержка многозадачности: однозадачные и многозадачные
Поддержка многопользовательского режима: однопользовательские и многопользовательские
Виды многопрограммной работы: не вытесняющая многопрограммность и вытесняющая многопрограммность
Отсутствие или наличие средств поддержки многопроцессорной обработки
Многопроцессорные ОС классифицируются по способу организации вычислительного процесса: асимметричные ОС и симметричные ОС

Слайд 26

Классификация ОС

По области использования и форме эксплуатации:
- системы пакетной обработки;
- системы

Классификация ОС По области использования и форме эксплуатации: - системы пакетной обработки;
разделения времени;
- системы реального времени.
По аппаратной платформе - типу вычислительной техники для которой они предназначаются:
- Операционные системы для смарт-карт
- Встроенные операционные системы
- Операционные системы для персональных компьютеров
- Операционные системы мини-ЭВМ
- Операционные системы мэйнфреймов (больших машин)
- Серверные операционные системы
- Кластерные операционные системы

Слайд 27

Операцио́нная систе́ма, сокр. ОС (англ. operating system, OS) - комплекс взаимосвязанных программ, предназначенных для управления ресурсами компьютера и

Операцио́нная систе́ма, сокр. ОС (англ. operating system, OS) - комплекс взаимосвязанных программ,
организации взаимодействия с пользователем.
Операционная система, ОС (англ. operating system) базовый комплекс компьютерных программ, обеспечивающий интерфейс с пользователем, управление аппаратными средствами компьютера, работу с файлами, ввод и вывод данных, а также выполнение прикладных программ и утилит. Таким образом, операционная система обеспечивает несколько видов интерфейса: интерфейса между пользователем и программно-аппаратными средствами компьютера (интерфейс пользователя); интерфейса между программным и аппаратным обеспечением (аппаратно-программный интерфейс); интерфейса между разными видами программного обеспечения (программный интерфейс).
Операционная система (ОС) - комплекс системных и управляющих программ, предназначенных для наиболее эффективного использования всех ресурсов вычислительной системы (ВС) и удобства работы с ней. Под ресурсом понимают любой логический или физический компонент ЭВМ и предоставляемые ими возможности (основными ресурсами являются процессорное время, память и устройства ввода-вывода).

Слайд 28

Литература
Гордеев А. В. Операционные системы: Учебник для вузов. - 2-е изд. - СПб.: Питер, 2007. - 416 с.
Деннинг

Литература Гордеев А. В. Операционные системы: Учебник для вузов. - 2-е изд.
П. Дж., Браун Р. Л. Операционные системы // Современный компьютер. - М., 1986.
Иртегов Д. В. Введение в операционные системы. - 2-е изд. - СПб.: BHV-СПб, 2007. 
Карпов В. Е., Коньков К. А. Основы операционных систем. Курс лекций: учебное пособие. - Изд. 2-е, доп. и испр. - Москва : ИНТУИТ, 2005. – 531 с.
Олифер В. Г., Олифер Н. А. Сетевые операционные системы. - СПб.: Питер, 2002. - 544 с.
Столлингс У. Операционные системы = Operating Systems: Internals and Design Principles. - М.: Вильямс, 2004. - 848 с. 
Таненбаум Э. С. Многоуровневая организация ЭВМ = Structured Computer Organization. - М.: Мир, 1979. - 547 с.
Таненбаум Э. С. Современные операционные системы = Modern Operating Systems. - 4-е изд. - СПб.: Питер, 2015. — 1120 с. 
Таненбаум Э. С., Вудхалл А. С. Операционные системы. Разработка и реализация = Operating Systems: Design and Implementation. - 3-е изд. - СПб.: Питер, 2007. — 704 с.
Шоу А. Логическое проектирование операционных систем = The Logical Design of Operating Systems. - М.: Мир, 1981. - 360 с.
Рэймонд Э. С. Искусство программирования для UNIX = The Art of UNIX Programming. - М.: Вильямс, 2005. - 544 с.
Электронные ресурсы - https://www.intuit.ru/studies/courses/2192/31/lecture/998

Слайд 29

Литература к курсу

Эндрю Таннебаум Современные операционные системы, 4-е издание

Литература к курсу Эндрю Таннебаум Современные операционные системы, 4-е издание

Слайд 30

Литература к курсу

В.Е.Карпов, К.А.Коньков Основы операционных систем

Литература к курсу В.Е.Карпов, К.А.Коньков Основы операционных систем