Похожие презентации:
Operacionnye-sistemy-osnovnye-ponyatiya-naznachenie-i-funkcii
1.
Операционные системы:основные понятия, назначение и
функции
Лекция 1 — Введение в теорию операционных систем: от определений
до ключевых механизмов взаимодействия программ и аппаратного
обеспечения.
2.
Что такое операционная система?Определение понятия «операционная система» охватывает всю совокупность программных кодов,
обеспечивающих функционирование основных и вспомогательных компонентов вычислительной системы.
Операционные системы существуют везде, где возникает необходимость управления процессом — от
простого кофейного аппарата до сложнейших систем управления полётом космических объектов.
Сложность ОС напрямую зависит от сложности управляемого устройства.
Бытовая техника
Персональные устройства
Критические системы
Простые встроенные ОС управляют
кофемашинами, стиральными
машинами и другими устройствами.
Компьютеры, ноутбуки,
Системы управления полётом
космических объектов
используют высококомплексные
специализированные ОС.
планшеты и телефоны — все они
обязательно оснащены
операционной системой.
3.
История операционных системПервые операционные системы появились в середине 1950-х годов как
простейшие системы пакетной обработки. Например, GM-NAA I/O
(1956 г.) — одна из первых ОС, задачей которой было автоматическое
последовательное выполнение заданий без участия оператора между
запусками программ.
1
1950-е
Системы пакетной обработки (GM-NAA I/O, 1956)
2
1960–70-е
Многозадачные и многопользовательские ОС
3
1980–90-е
Сетевые и графические операционные системы
4
2000-е — н.в.
Мобильные ОС, облачные и системы реального времени
4.
Определение операционной системыФормальное определение
Задачи операционной системы
Операционная система (ОС) — комплекс взаимосвязанных
программ, предназначенных для рационального
управления ресурсами устройства (компьютера) и
организации взаимодействия с пользователем.
1. Планирование заданий и использования ресурсов
процессора
2. Создание рабочей среды и интерфейса пользователя
3. Управление файлами и данными
4. Выполнение команд пользователя и программных
инструкций
5. Организация ввода/вывода и хранения информации
6. Обеспечение безопасности
ОС является базовой и необходимой составляющей
программного обеспечения и загружается
непосредственно при включении устройства. Она
обеспечивает целостное функционирование всех
компонентов компьютера и предоставляет пользователю
доступ к основным возможностям системы.
Перечисленные задачи решаются во взаимосвязи:
планирование заданий невозможно без учёта
занятых ресурсов, а безопасность зависит от
строгости регламентации доступа к файлам.
5.
Основные функции операционной системыВыполнение низкоуровневых действий
Управление памятью
Ввод и вывод данных, запуск и остановка
Загрузка программ в оперативную память,
программ, выделение и освобождение памяти —
распределение памяти между процессами,
общие операции, востребованные большинством
организация виртуальной памяти.
программ.
Сетевые операции
Управление данными
Поддержка стека сетевых протоколов,
Доступ к данным на энергонезависимых
обеспечение сетевого взаимодействия между
носителях (жёсткий диск, оптические диски),
устройствами и приложениями.
организованным в файловой системе.
Пользовательский интерфейс
Периферийные устройства
Обеспечение взаимодействия пользователя с
Стандартизованный доступ к периферийным
системой через графический или командный
устройствам через унифицированные
интерфейс.
интерфейсы и драйверы.
6.
Классификация операционных системПо совокупности реализуемых функций операционные системы принято классифицировать по нескольким признакам.
7.
Однопользовательские и многопользовательские ОСОднопользовательские ОС
Многопользовательские ОС
Рассчитаны на работу одного пользователя в
Обеспечивают одновременную работу нескольких
каждый момент времени. Не требуют сложных
пользователей, каждый из которых имеет
механизмов разграничения доступа между
собственное рабочее пространство, файлы и права
пользователями. Типичны для персональных
доступа. Требуют развитых механизмов
компьютеров и мобильных устройств. Примеры:
аутентификации, авторизации и изоляции данных.
ранние версии Windows, MS-DOS.
Примеры: Unix, Linux, Windows Server.
8.
Однозадачные и многозадачные ОСОднозадачные системы
Многозадачные системы
В однозадачных операционных системах в каждый
Многозадачные ОС обеспечивают
момент времени выполняется только одна программа.
псевдопараллельное выполнение нескольких
Пользователь должен дождаться завершения текущей
программ путём быстрого переключения процессора
задачи, прежде чем запустить следующую. Такой подход
между ними. Пользователь может одновременно
прост в реализации, но неэффективен при наличии
слушать музыку, редактировать документ и загружать
операций ввода-вывода, во время которых процессор
файлы из интернета.
простаивает.
Различают кооперативную многозадачность
Примеры: ранние версии MS-DOS, простые встроенные
(программа сама отдаёт управление) и вытесняющую
системы.
многозадачность (ОС принудительно переключает
процессор по истечении кванта времени).
Современные ОС используют вытесняющую
многозадачность.
9.
Сетевые и локальные операционные системыЛокальные операционные системы
Сетевые операционные системы
Предназначены для управления ресурсами одного
Специально оптимизированы для управления
компьютера. Обеспечивают работу пользователя с
сетевыми ресурсами и обслуживания множества
локальными приложениями и данными. Сетевые
клиентов. Включают развитые средства управления
возможности присутствуют, но не являются
пользователями, общими ресурсами (файлы,
основной функцией. Примеры: Windows 10/11 для
принтеры), сетевыми службами (DNS, DHCP, веб-
домашних пользователей, macOS.
сервер). Примеры: Windows Server, Linuxсерверные дистрибутивы (Ubuntu Server, CentOS).
10.
Системы реального времениЧто такое ОС реального времени?
Системы реального времени (RTOS — Real-Time Operating
System) — это операционные системы, для которых
критично гарантированное время реакции на событие. В
отличие от систем общего назначения, где важна средняя
производительность, в RTOS важна предсказуемость и
соблюдение жестких временны́х ограничений.
Различают:
• Жёсткие RTOS — нарушение временного ограничения
недопустимо (авиация, медицина, АЭС)
• Мягкие RTOS — нарушение допустимо, но нежелательно
(мультимедиа, телекоммуникации)
Области применения
• Системы управления полётом самолётов и
космических аппаратов
• Медицинское оборудование
(кардиостимуляторы, аппараты ИВЛ)
• Промышленные контроллеры и роботы
• Автомобильные системы управления (ABS,
подушки безопасности)
• Телекоммуникационное оборудование
11.
Основные понятияоперационных систем
12.
Понятие «Программа»Ежедневно человек выполняет сотни инструкций,
работая как «биоробот» — исполняет набор
определённых действий. Аналогично происходит в
программировании: компьютеру даются команды,
которые он выполняет. Программа — это:
1. Текст (код), написанный на языке программирования,
содержащий инструкции и операторы в логической
последовательности, заставляющие работать аппаратное
обеспечение
2. Заданная последовательность действий
Виды программного обеспечения
• Системное ПО — операционные системы, программы
обслуживания аппаратуры, системные утилиты и
драйверы
• Прикладное ПО — текстовые редакторы, графические
программы и другие пользовательские приложения
• Вредоносное ПО — программы, нарушающие работу
аппаратного и прикладного обеспечения
• Среды разработки — программы для создания других
программ
13.
Способы выполнения программКомпилируемые программы
Интерпретируемые программыПромежуточный вариант
Перед запуском полностью
Инструкции считываются и
Используют байт-код и
переводятся в машинный код
выполняются построчно
виртуальную машину. Пример:
специальной программой-
специальной программой-
Java. Программа компилируется в
компилятором. Примеры языков:
интерпретатором. Примеры
байт-код, который затем
C, C++. Компиляция выполняется
языков: Python, JavaScript.
интерпретируется виртуальной
один раз, после чего программа
Перевод в машинный код
машиной JVM на любой
запускается напрямую
происходит в момент выполнения
платформе.
процессором.
каждой строки.
14.
Понятие «Процесс»Пример для понимания
Определение процесса
Пользователь одновременно запускает два окна
Процесс — это:
программы извлечения квадратного корня: в одном
вычисляется √4, в другом — √1. С точки зрения
пользователя запущена одна программа, но с точки
зрения компьютерной системы — два различных
вычислительных процесса, поскольку разные исходные
данные приводят к разному набору вычислений.
Именно поэтому на уровне внутреннего устройства
системы термин «программа» в пользовательском смысле
неприменим.
1. Выполнение пассивных инструкций компьютерной
программы на процессоре ЭВМ
2. Совокупность взаимосвязанных и взаимодействующих
действий, преобразующих входящие данные в исходящие
Процесс содержит всю информацию, необходимую для работы
программы: собственное адресное пространство, выполняемую
программу, данные, стек, регистры (счётчик команд и
указатель стека), список открытых файлов, необработанные
предупреждения и список связанных процессов.
15.
Состояния процессаВ течение своего существования процесс переходит между несколькими базовыми состояниями.
Переходы между ними контролирует планировщик (диспетчер) операционной системы.
Новый
Готов
Выполняется
Ожидание
Процесс может приостанавливаться и возобновляться именно с того состояния, в котором был остановлен. На период
приостановки вся информация о процессе (за исключением содержимого его адресного пространства) хранится в таблице
процессов — массиве или связанном списке структур. Также возможно создание дочерних процессов и межпроцессное
взаимодействие.
16.
Роль планировщика в управлении процессамиПланировщик (диспетчер) операционной системы — ключевой компонент, контролирующий переходы
процессов между состояниями. Его задача — обеспечить эффективное использование процессора,
справедливое распределение времени между процессами и своевременную реакцию на события.
1
Долгосрочное планирование
Определяет, какие задания допускаются к выполнению и переводятся в состояние «готов». Влияет на степень
многозадачности системы.
2
Краткосрочное планирование
Выбирает из очереди готовых процессов тот, которому будет выделен процессор в следующий момент
времени. Работает очень часто — десятки раз в секунду.
3
Среднесрочное планирование
Управляет выгрузкой процессов из оперативной памяти на диск (свопинг) и их последующей загрузкой
обратно для оптимизации использования памяти.
17.
Понятие «Интерфейс»Интерфейс — это комплекс средств, предназначенных для взаимодействия двух систем друг с другом.
Пользовательский интерфейс — это элементы и компоненты программы, оказывающие влияние на
взаимодействие пользователя с программным обеспечением, а также совокупность правил, методов и
программно-аппаратных средств, обеспечивающих взаимодействие пользователя с компьютером.
CLI — интерфейс командной строки
Управление осуществляется путём ввода текстовых команд. Требует знания синтаксиса
команд, но обеспечивает высокую гибкость и мощь управления системой.
GUI — графический интерфейс
Основан на окнах, значках и указателе мыши. Интуитивно понятен для большинства
пользователей, обеспечивает визуальное взаимодействие с системой.
API — программный интерфейс приложения
Обеспечивает взаимодействие не человека с системой, а одной программы с другой
или с самой операционной системой. Основа современной разработки ПО.
18.
Понятие «Системный вызов»Что такое системный вызов?
В любой операционной системе поддерживается
механизм, позволяющий пользовательским
программам обращаться к услугам ОС. Системный
вызов — это интерфейс между операционной
системой и пользовательской программой.
Посредством системных вызовов программы
создают, удаляют и используют различные объекты,
главные из которых — процессы и файлы.
Пользовательская программа запрашивает сервис у
операционной системы, осуществляя системный
вызов. Как правило, системные вызовы
оформляются в виде библиотечных функций,
которые от имени программы обращаются к ядру и
переводят процессор в привилегированный режим
для выполнения запрошенного действия.
Типичные примеры системных вызовов
• read, write — операции чтения и записи
данных
• fork — создание нового процесса
• exec — запуск новой программы
• open, close — открытие и закрытие файла
Системный вызов переводит процессор из
пользовательского режима в
привилегированный (режим ядра), что
обеспечивает защиту системных ресурсов.
19.
Понятие «Прерывание»Прерывание — это событие, генерируемое внешним (по отношению к процессору) устройством.
Посредством аппаратных прерываний аппаратура либо информирует центральный процессор о
произошедшем событии, требующем немедленной реакции (например, пользователь нажал клавишу), либо
сообщает о завершении асинхронной операции ввода-вывода (например, закончено чтение данных с диска).
Аппаратные прерывания
Программные прерывания
Вырабатываются внешними устройствами:
клавиатурой, таймером, сетевой картой, диском.
Сигнализируют процессору о внешних событиях.
Инициируются самой выполняемой программой,
например для обращения к системному вызову.
Генерируются изнутри программного кода.
Маскируемые прерывания
Немаскируемые прерывания
Обработку таких прерываний процессор может
временно отложить, если в данный момент
выполняется более приоритетная задача.
Требуют немедленной реакции независимо от
текущего состояния системы. Используются для
критических аппаратных событий.
20.
Понятие «Исключительные ситуации»Исключительная ситуация — событие, возникающее в результате попытки выполнения программой команды, которая по
каким-то причинам не может быть выполнена до конца. Примеры: попытка доступа к ресурсу при отсутствии достаточных
привилегий или обращение к отсутствующей странице памяти. Исключительные ситуации, как и системные вызовы,
являются синхронными событиями, возникающими в контексте текущей задачи.
Исправимые исключительные ситуации
Неисправимые исключительные ситуации
После устранения причины программа может продолжать
Чаще всего возникают в результате ошибок в
выполнение. Возникновение исправимых
программах. Операционная система реагирует
исключительных ситуаций в процессе работы ОС
завершением программы, вызвавшей
считается нормальным явлением. Типичный пример —
исключительную ситуацию.
страничное исключение (page fault), которое ОС
использует для организации механизма виртуальной
Page fault (страничное исключение)
памяти.
Обращение к странице памяти, которая ещё не
Деление на ноль
загружена в оперативную память.
Попытка выполнить операцию деления, в которой
Запрещённая инструкция
делитель равен нулю.
Попытка выполнения инструкции процессора,
Переполнение стека
Превышение допустимого размера стека вызовов,
например при бесконечной рекурсии.
недоступной в текущем режиме привилегий.
21.
Понятие «Ресурс вычислительной системы»Ресурс вычислительной системы — средство вычислительной системы, которое может быть выделено процессу
обработки данных на определённый интервал времени.
1
2
Процессоры
3
Центральные и
Области основной памяти
Наборы данных
специализированные
Оперативная память (RAM),
Файлы, базы данных и другие
вычислительные устройства,
распределяемая между
структуры хранения
выполняющие команды программ.
активными процессами.
информации.
4
5
Периферийные устройства
Программы
Принтеры, сканеры, сетевые карты и другое
Программный код и библиотеки, используемые
подключённое оборудование.
несколькими процессами.
22.
Разделяемые и неразделяемые ресурсыРазделяемые ресурсы
Неразделяемые (эксклюзивные) ресурсы
Ресурсы, которыми могут пользоваться сразу
Ресурсы, которые в конкретный момент времени могут
несколько процессов одновременно. Операционная
быть закреплены только за одним процессом. Другие
система управляет совместным доступом, обеспечивая
процессы вынуждены ожидать освобождения ресурса.
справедливое распределение.
Примеры:
Примеры:
• Принтер во время печати документа
• Процессор в режиме разделения времени
• Файл, открытый на запись в монопольном режиме
• Оперативная память (разные области для разных
• Некоторые порты ввода-вывода
процессов)
• Сетевые интерфейсы
Управление доступом к неразделяемым ресурсам — одна из ключевых задач ОС, решаемая с помощью механизмов синхронизации и
взаимного исключения.
23.
Файловая система и управление даннымиУправление доступом к данным на энергонезависимых носителях — одна из важнейших функций
ОС. Файловая система определяет способ организации, хранения и именования данных на
носителе.
Организация данных
Операции с файлами
Файлы и директории образуют иерархическую
структуру. ОС обеспечивает единый интерфейс
доступа к данным независимо от типа носителя.
Создание, чтение, запись, удаление, переименование
файлов — всё это реализуется через системные
вызовы (open, read, write, close, unlink).
Права доступа
Типы носителей
ОС контролирует, какие пользователи и процессы
имеют право читать, изменять или исполнять каждый
файл. Это основа безопасности системы.
Жёсткие диски (HDD), твердотельные накопители
(SSD), оптические диски — ОС предоставляет к ним
стандартизованный доступ.
24.
Безопасность операционной системыПочему безопасность критична?
Механизмы обеспечения безопасности
Безопасность системы напрямую зависит
• Режимы привилегий — разделение на пользовательский режим
от строгости регламентации доступа к
и режим ядра предотвращает несанкционированный доступ к
файлам и устройствам. ОС является
системным ресурсам
последним рубежом защиты между
пользовательскими программами и
аппаратными ресурсами.
• Права доступа к файлам — каждый файл имеет набор
разрешений для владельца, группы и остальных пользователей
• Изоляция процессов — каждый процесс работает в собственном
адресном пространстве и не может напрямую обратиться к
памяти другого процесса
• Аутентификация пользователей — проверка личности
пользователя при входе в систему
• Аудит и журналирование — запись событий безопасности для
последующего анализа
25.
Сводная таблица ключевых понятийПонятие
Определение
Ключевая особенность
Программа
Текст (код) на языке программирования —
заданная последовательность инструкций
Статический объект; бывает компилируемой,
интерпретируемой или байт-кодовой
Процесс
Выполнение программы на процессоре с
собственным адресным пространством и
ресурсами
Динамический объект; переходит между
состояниями: новый → готов → выполняется
→ ожидание → завершён
Интерфейс
Комплекс средств взаимодействия двух
систем (CLI, GUI, API)
Определяет способ взаимодействия: человек–
система или программа–программа
Системный вызов
Интерфейс между пользовательской
программой и ядром ОС
Переводит процессор в привилегированный
режим для выполнения запроса
Прерывание
Событие от внешнего устройства, требующее
реакции процессора
Бывает аппаратным/программным,
маскируемым/немаскируемым
Исключительная
ситуация
Событие при невозможности выполнить
команду программы
Исправимые (page fault) и неисправимые
(деление на ноль, запрещённая инструкция)
Ресурс
Средство вычислительной системы,
выделяемое процессу на интервал времени
Разделяемые (процессор, RAM) и
неразделяемые (принтер во время печати)
26.
Итоги лекции 1Операционная система — фундамент любой вычислительной системы, обеспечивающий управление ресурсами
и взаимодействие с пользователем.
Что такое ОС
Ключевые функции
Комплекс взаимосвязанных программ для управления
ресурсами и организации взаимодействия с
пользователем. Загружается при включении
устройства.
Управление процессами и памятью, файловая система,
ввод/вывод, сетевые операции, безопасность,
пользовательский интерфейс.
Базовые понятия
Классификация ОС
Программа, процесс, интерфейс, системный вызов,
прерывание, исключительная ситуация, ресурс
вычислительной системы.
По числу пользователей, задач, способу построения и
назначению — от однозадачных до систем реального
времени.
Программное обеспечение