Слайд 1. Операционные системы
- Назначение, архитектура, управление ресурсами и современное развитие системного программного обеспечения
Доклад: Здравствуйте! Тема нашей презентации — операционные системы, то есть то программное обеспечение, без которого ни один компьютер не превращается из набора микросхем в рабочий инструмент. Мы разберём, зачем нужна операционная система, как она устроена изнутри и как управляет процессором, памятью и устройствами. Отдельно поговорим о современном состоянии рынка и об отечественных платформах.
Слайд 2. Содержание
- Введение
- Операционная система: определение и назначение
- Основные функции операционной системы
- История развития операционных систем
- Создатели операционных систем
- Уровни архитектуры операционной системы
- Монолитное ядро и микроядро
- Жизненный цикл процесса
- Алгоритмы планирования процессов
- Управление оперативной памятью
- Виртуальная память: ключевые понятия
- Классификация файловых систем
- Подсистема ввода-вывода
- Процесс и поток
- Безопасность операционной системы
- Доли настольных операционных систем
- Мобильные операционные системы
- Отечественные операционные системы
- Тенденции развития
- Выводы
- Список литературы
Доклад: Работа построена последовательно: сначала определение и функции операционной системы, затем история и люди, которые её создавали. Основная часть посвящена архитектуре ядра, управлению процессами, памятью, файлами и вводом-выводом. Завершают доклад вопросы безопасности, обзор рынка, отечественные разработки и тенденции развития.
Слайд 3. Введение
- Операционная система — обязательный посредник между программами и оборудованием: без неё ни компьютер, ни смартфон, ни банкомат не запустят ни одной прикладной программы.
- Сегодня под управлением операционных систем работает более шести миллиардов устройств — от микроконтроллеров умного дома до суперкомпьютеров с сотнями тысяч процессорных ядер.
- От устройства операционной системы напрямую зависят быстродействие, надёжность и защищённость любой информационной системы, поэтому это базовая дисциплина подготовки специалиста.
- Курс объединяет теорию — управление процессами, памятью и вводом-выводом — с практикой администрирования и системного программирования.
Доклад: Операционная система стоит между прикладной программой и оборудованием, и без неё не запустится ни одно приложение — ни в смартфоне, ни в банкомате. Сегодня под управлением операционных систем работает более шести миллиардов устройств, от микроконтроллеров до суперкомпьютеров. Именно от системного программного обеспечения зависят быстродействие, надёжность и защищённость любой информационной системы, поэтому эта дисциплина остаётся базовой для специалиста по информационным технологиям.
Слайд 4. Операционная система: определение и назначение
- Операционная система — комплекс взаимосвязанных программ, который управляет аппаратными ресурсами вычислительной машины, организует согласованное выполнение прикладных программ и предоставляет пользователю удобный и безопасный интерфейс работы с оборудованием.
- ≈400 — системных вызовов — столько точек входа в ядро предоставляет современная система на базе ядра Линукс
- 30 млн — строк кода — объём исходного кода ядра Линукс вместе с драйверами устройств
- 6 млрд — устройств — работают в мире под управлением операционных систем разных семейств
Доклад: Операционная система — это комплекс взаимосвязанных программ, управляющий аппаратными ресурсами и организующий выполнение прикладных задач. Чтобы почувствовать масштаб: ядро современной системы предоставляет программам около четырёхсот системных вызовов, а его исходный код вместе с драйверами насчитывает порядка тридцати миллионов строк. При этом для пользователя вся эта сложность скрыта за привычным рабочим столом.
Слайд 5. Основные функции операционной системы
- Управление процессами — запуск, планирование и завершение задач
- Управление памятью — распределение и защита адресных пространств
- Файловая система — хранение и именование данных на носителях
- Управление устройствами — драйверы и обмен данными с оборудованием
- Интерфейс пользователя — командная строка и графическая оболочка
Доклад: Все функции операционной системы — это грани одного целого: она одновременно распределяет процессорное время, память, дисковое пространство и доступ к устройствам. Управление процессами отвечает за запуск и завершение задач, управление памятью — за изоляцию программ друг от друга. Файловая система даёт данным имена и структуру, драйверы связывают систему с оборудованием, а интерфейс делает всё это доступным человеку.
Слайд 6. История развития операционных систем
- Операционные системы прошли путь от простых программ-загрузчиков для машин с перфокартами до многозадачных сетевых платформ.
- Каждое поколение отвечало на новые возможности оборудования: пакетную обработку сменило разделение времени, а затем — графический и мобильный интерфейс.
- 1956 — первая пакетная система для ЭВМ IBM 704
- 1964 — семейство машин System/360 и его система
- 1969 — рождение системы Юникс в лаборатории Bell Labs
- 1981 — система MS-DOS для персональных компьютеров
- 1991 — Линус Торвальдс публикует первое ядро Линукс
- 2007 — начало эпохи мобильных операционных систем
Доклад: История операционных систем — это история того, как оборудование становилось сложнее, а человек — дальше от машины. Первые пакетные системы середины пятидесятых просто автоматизировали смену заданий на перфокартах. Затем появились системы разделения времени, Юникс задал принципы, живые до сих пор, а девяностые и двухтысячные принесли персональные, а потом и мобильные платформы.
Слайд 7. Создатели операционных систем
- Кен Томпсон, род. 1943, Один из создателей системы Юникс и языка Би в лаборатории Bell Labs
- Деннис Ритчи, 1941–2011, Автор языка Си, на котором была переписана система Юникс
- Линус Торвальдс, род. 1969, Создатель ядра Линукс, начатого в 1991 году как студенческий проект
- Эндрю Таненбаум, род. 1944, Автор учебной микроядерной системы Миникс и классических учебников по операционным системам
Доклад: За каждой знаковой системой стоят конкретные люди. Кен Томпсон и Деннис Ритчи в лаборатории Bell Labs создали Юникс и язык Си, на котором система была переписана и стала переносимой. Линус Торвальдс в 1991 году опубликовал первое ядро Линукс, которое сегодня работает на большинстве серверов мира. Эндрю Таненбаум написал учебную микроядерную систему Миникс и учебники, по которым учится не одно поколение студентов.
Слайд 8. Уровни архитектуры операционной системы
- Многоуровневое строение позволяет заменить один слой, не переписывая остальные.
- Верхние слои работают в пользовательском режиме процессора, ядро — в привилегированном.
- Переход между режимами выполняется только через системные вызовы и прерывания.
- Чёткие границы слоёв упрощают перенос системы на новое оборудование.
- Прикладные программы — браузеры, редакторы, системы управления базами данных
- Утилиты и оболочки — командные интерпретаторы, службы, средства администрирования
- Системные библиотеки — готовые функции, скрывающие сложность обращения к ядру
- Ядро — планировщик, диспетчер памяти, файловая система, сетевая подсистема
- Уровень абстракции оборудования — драйверы и обработка прерываний
Доклад: Операционную систему удобно представлять как слоёный пирог. Внизу — драйверы и обработка прерываний, выше — ядро с планировщиком и диспетчером памяти, ещё выше — библиотеки, утилиты и, наконец, прикладные программы. Ключевая граница проходит между пользовательским и привилегированным режимом процессора: пересечь её можно только через системный вызов или прерывание.
Слайд 9. Монолитное ядро и микроядро
- Способ организации ядра определяет и быстродействие, и надёжность всей системы. Спор о двух подходах стал публичным после известной дискуссии Эндрю Таненбаума и Линуса Торвальдса в 1992 году.
- Все службы работают в едином привилегированном адресном пространстве
- Взаимодействие подсистем быстрое — это обычные вызовы функций
- Ошибка в одном драйвере способна обрушить систему целиком
- Примеры: ядро Линукс, гибридное ядро семейства Windows NT
- В ядре остаются лишь планирование, память и передача сообщений
- Драйверы и файловые системы вынесены в пользовательский режим
- Сбой службы не останавливает систему: её можно перезапустить на ходу
- Плата за надёжность — накладные расходы на обмен сообщениями (Миникс 3, QNX)
Доклад: Главный архитектурный выбор — что оставить внутри ядра. В монолитном ядре все службы работают в одном привилегированном пространстве: это быстро, но ошибка в драйвере роняет всю систему. В микроядре внутри остаются только планирование, память и обмен сообщениями, а драйверы вынесены наружу и при сбое просто перезапускаются. Спор о том, какой подход правильнее, публично начали Таненбаум и Торвальдс ещё в 1992 году, и он не закончен до сих пор.
Слайд 10. Жизненный цикл процесса
- Процесс — это программа в стадии выполнения вместе с её данными, стеком и контекстом.
- В состоянии готовности процесс ждёт своей очереди на процессор.
- Выполнение прерывается по истечении кванта времени или при обращении к устройству.
- В состоянии ожидания процесс ждёт завершения ввода-вывода или внешнего сигнала.
- Все сведения о процессе хранятся в блоке управления процессом.
- Создание
- Готовность
- Выполнение
- Ожидание
- Завершение
Доклад: Процесс — это программа в стадии выполнения вместе с данными, стеком и контекстом. Родившись, процесс попадает в очередь готовых, получает процессор, работает до конца кванта времени или до обращения к устройству, уходит в состояние ожидания и снова возвращается в очередь. Этот круг повторяется многократно, а вся информация о процессе хранится в специальной структуре — блоке управления процессом.
Слайд 11. Алгоритмы планирования процессов
- Планировщик решает, какой из готовых процессов получит процессор в ближайший квант времени.
- В настольных системах важнее отзывчивость интерфейса, в серверных — общая пропускная способность.
Доклад: Планировщик — сердце многозадачности: он решает, кто из готовых процессов получит процессор прямо сейчас. Простая очередь в порядке поступления честна, но длинная задача задерживает короткие; кратчайшая задача первой оптимальна теоретически, но требует знать время выполнения заранее. На практике используют круговое обслуживание с квантом в десятки миллисекунд и многоуровневые очереди с приоритетами.
Слайд 12. Управление оперативной памятью
- Диспетчер памяти выделяет каждой программе собственное адресное пространство и не позволяет ей читать чужие данные.
- Логические адреса программы преобразуются в физические аппаратным блоком управления памятью прямо во время обращения.
- Непрерывное распределение вытеснено страничной организацией: память делится на страницы, обычно по четыре килобайта.
- Редко используемые страницы вытесняются в файл подкачки, поэтому программа может быть больше объёма установленной памяти.
Доклад: Диспетчер памяти выдаёт каждой программе собственное адресное пространство, а блок управления памятью на лету переводит логические адреса в физические. Память делится на страницы, обычно по четыре килобайта, и редко используемые страницы вытесняются на диск в файл подкачки. Благодаря этому программа может занимать больше памяти, чем физически установлено в компьютере.
Слайд 13. Виртуальная память: ключевые понятия
- Виртуальная память — механизм, при котором программе доступно адресное пространство больше физической памяти
- Страница — блок виртуальной памяти фиксированного размера, чаще всего четыре килобайта
- Таблица страниц — структура, связывающая виртуальные страницы с физическими кадрами памяти
- Промах страницы — прерывание, возникающее при обращении к странице, которой нет в оперативной памяти
- Буфер быстрой трансляции — аппаратный кэш последних преобразований адресов, ускоряющий доступ в десятки раз
Доклад: Разберём ключевые термины виртуальной памяти. Страница и физический кадр связаны через таблицу страниц; если нужной страницы в памяти нет, возникает промах страницы, и система подгружает её с диска. Чтобы не обращаться к таблице при каждом доступе, процессор хранит последние преобразования в специальном аппаратном кэше — он ускоряет работу в десятки раз.
Слайд 14. Классификация файловых систем
- Файловая система задаёт правила именования, размещения и защиты данных на носителе. Удобнее всего классифицировать их по семейству операционных систем и по назначению.
- FAT32
- exFAT
- NTFS
- ReFS
- ext4
- XFS
- Btrfs
- F2FS
- NFS
- SMB
- ISO 9660
- Файловые системы в памяти
Доклад: Файловая система определяет, как данные именуются, размещаются на носителе и защищаются от постороннего доступа. В мире Windows это ряд от простой FAT32 до журналируемой NTFS, в системах на базе Линукс — ext4, XFS и Btrfs с моментальными снимками. Отдельную группу образуют сетевые и специальные системы: доступ к удалённым дискам, оптические носители и файловые системы, целиком живущие в оперативной памяти.
Слайд 15. Подсистема ввода-вывода
- Драйвер устройства переводит общие запросы операционной системы в команды конкретной модели оборудования.
- Обмен данными организуется тремя способами: программным опросом, по прерываниям и через прямой доступ к памяти.
- Буферизация сглаживает разницу в скорости между быстрым процессором и медленным внешним устройством.
- Кэширование дисковых блоков в оперативной памяти сокращает число обращений к накопителю в десятки раз.
- Спулинг выстраивает очередь заданий к устройству совместного пользования — например, к сетевому принтеру.
Доклад: Подсистема ввода-вывода скрывает от программиста различия между тысячами моделей устройств. Драйвер переводит общий запрос в команды конкретного оборудования, а обмен идёт опросом, по прерываниям или через прямой доступ к памяти. Буферизация сглаживает разницу в скоростях, кэширование резко сокращает обращения к диску, а спулинг выстраивает аккуратную очередь к общему принтеру.
Слайд 16. Процесс и поток
- Процесс — собственное адресное пространство, открытые файлы, права доступа
- Поток — свой стек, набор регистров и место в очереди планировщика
- Единица выполнения
Доклад: Процесс и поток часто путают, хотя разница принципиальна. Процесс владеет адресным пространством, открытыми файлами и правами доступа, а поток — это лишь линия выполнения со своим стеком и регистрами. Потоки одного процесса делят общую память, поэтому переключение между ними дешевле, но требует аккуратной синхронизации. Общее у них одно: и то и другое планируется ядром.
Слайд 17. Безопасность операционной системы
- Большая часть защиты скрыта от пользователя и работает внутри ядра.
- Свыше семидесяти процентов уязвимостей связаны с ошибками работы с памятью.
- Регулярные обновления закрывают уже известные бреши и обязательны в любой организации.
- Разграничение полномочий строится на принципе наименьших привилегий.
- Вход по паролю — то, что видит пользователь: экран блокировки и запрос учётных данных
- Права доступа — списки разграничения определяют, кто может читать и изменять данные
- Изоляция процессов — аппаратная защита памяти не даёт программе прочитать чужие данные
- Привилегированный режим — опасные команды доступны только ядру, а не прикладным программам
- Журналирование и аудит — система фиксирует события, по которым расследуют инциденты
Доклад: Безопасность операционной системы похожа на айсберг: пользователь видит только экран блокировки и запрос пароля. Под водой скрыты списки разграничения доступа, аппаратная изоляция памяти, привилегированный режим процессора и подробное журналирование событий. Больше семидесяти процентов уязвимостей связаны именно с ошибками работы с памятью, поэтому обновления безопасности — не формальность, а обязательная процедура.
Слайд 18. Доли настольных операционных систем
- На настольных компьютерах сохраняется преобладание одной платформы, тогда как на серверах и в мобильных устройствах картина обратная.
- Доля систем на базе ядра Линукс растёт медленно, но устойчиво, в том числе за счёт корпоративного и государственного сектора.
Доклад: На настольных компьютерах картина устойчива: около семидесяти процентов приходится на Windows, порядка пятнадцати — на macOS, а доля систем на базе Линукс держится на уровне нескольких процентов. Но стоит перейти к серверам и суперкомпьютерам, как соотношение переворачивается: там Линукс практически монополист. Это хорошо показывает, что «главная» система зависит от области применения.
Слайд 19. Мобильные операционные системы
- Мобильные системы построены на тех же принципах, но жёстко экономят энергию: неиспользуемые ядра процессора и модули связи отключаются автоматически.
- Андроид использует ядро Линукс и собственную среду выполнения приложений, а iOS построена на ядре семейства Юникс.
- Каждое приложение работает в «песочнице» и обязано запрашивать разрешения на доступ к камере, геоданным и списку контактов.
- На мобильные устройства приходится большая часть выходов в интернет — свыше шестидесяти процентов мирового трафика.
Доклад: Мобильные операционные системы решают те же задачи, но с жёстким ограничением по энергопотреблению: неиспользуемые ядра и радиомодули отключаются автоматически. Андроид построен на ядре Линукс, iOS — на ядре семейства Юникс, и обе изолируют приложения в «песочнице» с явным запросом разрешений. Сегодня на мобильные устройства приходится более шестидесяти процентов мирового интернет-трафика.
Слайд 20. Отечественные операционные системы
- 2008 — Astra Linux — Система на базе Дебиан, сертифицированная по требованиям защиты информации для государственных заказчиков
- 2001 — Альт — Семейство систем компании «Базальт СПО» с собственным репозиторием «Сизиф» и полным циклом сборки
- 2019 — РЕД ОС — Платформа для органов власти и организаций, включённая в реестр отечественного программного обеспечения
Доклад: В России сформировалось собственное семейство операционных систем. Astra Linux развивается с 2008 года и сертифицирована по требованиям защиты информации, включая работу с государственной тайной. Семейство «Альт» опирается на независимый репозиторий «Сизиф» и полный цикл сборки внутри страны, а РЕД ОС ориентирована на органы власти и включена в реестр отечественного программного обеспечения.
Слайд 21. Тенденции развития
- Контейнеры вместо тяжёлых виртуальных машин
- Микроядерные решения там, где критична надёжность
- Языки с безопасной работой с памятью в коде ядра
- Системы реального времени для интернета вещей
- Переход организаций на отечественные платформы
Доклад: Куда движутся операционные системы? Тяжёлые виртуальные машины уступают место контейнерам, которые запускаются за доли секунды. Там, где цена отказа высока — в транспорте и медицине — возвращается интерес к микроядрам, а в код ядра приходят языки с безопасной работой с памятью. Параллельно растёт спрос на компактные системы реального времени для интернета вещей и на отечественные платформы.
Слайд 22. Выводы
- Операционная система — фундамент вычислительной техники: она превращает набор микросхем в удобную, управляемую и защищённую среду для программ.
- Все системы, от встраиваемых до серверных, решают один набор задач: управление процессами, памятью, файлами, устройствами и доступом.
- Выбор архитектуры ядра всегда остаётся компромиссом между быстродействием монолита и надёжностью микроядра.
- Развитие оборудования постоянно смещает приоритеты: сегодня это энергоэффективность, контейнеризация и безопасная работа с памятью.
- Для российских организаций практическую значимость приобрёл переход на отечественные сертифицированные платформы.
Доклад: Подведём итоги. Операционная система превращает набор аппаратуры в управляемую и защищённую среду, и все системы решают один и тот же набор задач: процессы, память, файлы, устройства, доступ. Архитектура ядра всегда остаётся компромиссом между скоростью и надёжностью, а приоритеты развития задаёт оборудование. Для российских организаций отдельную практическую значимость приобрёл переход на сертифицированные отечественные платформы.
Слайд 23. Список литературы
- Гордеев, А. В. Операционные системы : учебник для вузов / А. В. Гордеев. — 2-е изд. — Санкт-Петербург : Питер, 2009. — 416 с.
- Олифер, В. Г. Сетевые операционные системы : учебник / В. Г. Олифер, Н. А. Олифер. — 2-е изд. — Санкт-Петербург : Питер, 2008. — 669 с.
- Столлингс, У. Операционные системы. Внутренняя структура и принципы проектирования / У. Столлингс. — 4-е изд. — Москва : Вильямс, 2004. — 848 с.
- Таненбаум, Э. Архитектура компьютера / Э. Таненбаум, Т. Остин. — 6-е изд. — Санкт-Петербург : Питер, 2013. — 816 с.
- Таненбаум, Э. Современные операционные системы / Э. Таненбаум, Х. Бос. — 4-е изд. — Санкт-Петербург : Питер, 2018. — 1120 с.
Доклад: В основу работы легли классические учебники: «Современные операционные системы» Эндрю Таненбаума, «Внутренняя структура и принципы проектирования» Уильяма Столлингса, а также отечественные пособия Гордеева и Олиферов. Эти источники рекомендуются для самостоятельного изучения темы. Библиографические описания приведены по действующему стандарту.
Слайд 24. Спасибо за внимание!
Доклад: На этом доклад завершён. Мы прошли путь от определения операционной системы до современных тенденций её развития. Благодарю за внимание, готов ответить на ваши вопросы.