Введение. Назначение, функции и архитектура операционных систем. Основные определения и понятия:
Из чего состоит любая вычислительная система? Во-первых, из того, что в англоязычных странах принято называть словом hardware, или техническое обеспечение. Во-вторых, вычислительная система состоит из программного обеспечения.

Рис.1. Устройство вычислительной системы.
Вычислительная система
- Вычислительная система–совокупность аппаратных и программных средств, а также навыков, предназначенных для решения определенных практических задач вычислительной техники.
- Аппаратное обеспечение (hardware)–комплекс электронных, электрических и механических устройств, входящих в состав системы или сети.
- Программное обеспечение (software)–это совокупность программ, позволяющих осуществить на компьютере автоматизированную обработку информации.
Что такое ОС. Основные функции ОС:
Проще сказать, не что такое есть операционная система, а для чего она нужна, и что она делает
Операционная система (ОС) – это программа, которая обеспечивает возможность рационального использования оборудования компьютера удобным для пользователя образом.
1. Операционная система как виртуальная машина
- При разработке ОС широко применяется абстрагирование, которое является важным методом упрощения и позволяет сконцентрироваться на взаимодействии высокоуровневых компонентов системы, игнорируя детали их реализации.
- Пример высокоуровневой абстракции: представление информационного пространства диска как набор файлов.
2. Операционная система как менеджер ресурсов
- ОС, как менеджер ресурсов, осуществляет упорядоченное и контролируемое распределение процессоров, памяти и других ресурсов между различными программами.
- Пример: при неуправляемом доступе к ресурсам одновременный вывод на принтер информации порождает мешанину строчек и страниц, выведенных различными программами.
3. Операционная система как защитник пользователей и программ
Операционная система:
- обеспечивает сохранность информации на диске, чтобы никто не мог удалить или повредить чужие файлы;
- запрещает программам одних пользователей произвольно вмешиваться в работу программ других пользователей;
- пресекает попытки несанкционированного использования вычислительной системы.
4. Операционная система как постоянно функционирующее ядро
- Операционная система –это программа, постоянно работающая на компьютере и взаимодействующая со всеми прикладными программами.
- Примечание: постоянно в оперативной памяти компьютера находится только ядро ОС.
Краткая история эволюции вычислительных систем на основе ОС
- Поколениеотражает изменения элементной базы компьютеров (лампы, транзисторы, микросхемы и др.), расширение области применения и изменение характера использования компьютеров.
- Поколения компьютеров:
1.1947-55, электронные лампы
2.1955-65, транзисторные элементы
3.1960-70, интегральные схемы
4.1970-…, большие интегральные схемы
1-й период (1945 г. – 1955 г.) (ламповые машины; нет разделения персонала; нет операционных систем; ввод программы с пульта или с колоды перфокарт; отладка программы с пульта; одновременное выполнение только одной операции; появление прообразов первых компиляторов.
Научно-исследовательская работа в области вычислительной техники)
- В середине 40-х появились первые ламповые ЭВМ.
- В 1946 г. сформулированы принципыДж. фон Нейманом.
- ЭВМ использовались длянаучно-исследовательской работы.
- Программирование осуществлялосьна машинном языке
- В 1951–1952 гг. возникают прообразы первых компиляторов с символических языков(Fortranи др.)
- В 1954 г. NatRochesterразрабатывает Ассемблер для IBM-701.
2-й период (1955 г. – начало 60х гг.) (транзисторные машины; происходит разделение персонала; бурное развитие алгоритмических языков; ввод задания с колоды перфокарт; отладка программы по изучению распечаток; пакеты заданий и системы пакетной обработки.
Начало использования ЭВМ в научных и коммерческих целях)
- Появление алгоритмических языков (LISP, COBOL, ALGOL-60, PL-1 и т. д.), компиляторов, редакторов связей, библиотек математических и служебных подпрограмм.
- Разделение персонала на программистов и операторов, специалистов по эксплуатации и разработчиков вычислительных машин.
- Появление систем пакетной обработкидля управления вычислительным процессом.
- Появление формализованного языка управления заданиями, с помощью которого программист сообщал системе и оператору, какую работу он хочет выполнить на вычислительной машине.
3-й период (начало 60х гг. – 1980 г.) (машины на интегральных схемах; использование спулинга (spooling); планирование заданий; мультипрограммные пакетные системы)

Рис.3. Организация вычислительного процесса.
Задание —колода перфокарт.
Пакет заданий —набор заданий с похожими ресурсами.
Влияние идеи мультипрограммирования на эволюцию вычислительных систем:
Hardware Защита памяти Сохранение контекста Механизм прерываний Привилегированные команды
Software
Планирование заданий
Управление памятью
Сохранение контекста
Планирование использования процессора
Системные вызовы
Средства коммуникации
Средства синхронизации
(машины на интегральных схемах; использование спулинга (spooling); планирование заданий; мультипрограммные пакетные системы; системы разделения времени (time-sharing); виртуальная память; интерактивная отладка программ; развитые файловые системы; семейства ЭВМ)
- Появление алгоритмических языков (LISP, COBOL, ALGOL-60, PL-1 и т. д.), компиляторов, редакторов связей, библиотек математических и служебных подпрограмм.
- Разделение персонала на программистов и операторов, специалистов по эксплуатации и разработчиков вычислительных машин.
- Появление систем пакетной обработкидля управления вычислительным процессом.
- Появление формализованного языка управления заданиями, с помощью которого программист сообщал системе и оператору, какую работу он хочет выполнить на вычислительной машине.
- Появление техники подкачки-откачки (spooling)

Рис.4. Организация вычислительного процесса.
Spooling(SimultaneousPeripheralOperationOnLine)—техника подкачки-откачки, которая позволяет выполнять операции ввода-вывода в режиме on-line, на том же компьютере, который производит вычисления.
- Появление мультипрограммирования (пока одна программа выполняет операцию ввода-вывода, процессор не простаивает, как это происходило при однопрограммном режиме, а выполняет другую программу; когда операция ввода-вывода заканчивается, процессор возвращается к выполнению первой программы). Аппаратная поддержка мультипрограммирования: реализация защитных механизмов; наличие прерываний; развитие параллелизма в архитектуре.
Фукции многозадачных ОС
- Организация интерфейсамежду прикладной программой и ОС при помощи системных вызовов.
- Организация очереди из заданий в памяти и выделение процессора одному из заданий потребовало планированияиспользования процессора.
- Сохранение содержимого регистров и структур данных, необходимых для выполнения задания.
- Реализаций стратегийуправления памятью.
- Организация хранения информации на внешних носителях в виде файлов и обеспечение доступа к конкретному файлу только определенным категориям пользователей.
- Обеспечение программ средствами коммуникации.
- Разрешение конфликтных ситуаций, возникающие при работе с различными ресурсами.
- Предоставление средств синхронизации.
Системы разделения времени
- В системах разделения времени (time-sharingsystem)процессор переключается между задачами не только на время операций ввода-вывода, но и просто по прошествии определенного времени.
- Несколько пользователей могут работать с ЭВМ интерактивно.
- Идея неполного нахождения исполняемой программы в ОП: основная часть программы находится на диске, и фрагмент, который необходимо в данный момент выполнять, может быть загружен в ОП, а ненужный –выкачан обратно на диск (механизм виртуальной памяти).
- Появление понятий архитектуры и программной совместимости компьютеров.
- В начале 60-х появилось первое семейство программно совместимых машинIBM/360, работающих под управлением одной и той же ОС OS/360.
- Затем появилась линия компьютеров PDP (лучшая модель PDP-11).
4-й период (1980 г. – ???) (машины на больших интегральных схемах (БИС); персональные ЭВМ; дружественное программное обеспечение; сетевые и распределенные операционные системы
Широкое использования ЭВМ в быту, в образовании, на производстве)
- Появились персональные компьютеры, компьютерные сети, сетевые или распределенные операционные системы.
- Сетевая ОС –операционная система со встроенными возможностями для работы в компьютерных сетях.
- Распределенная ОС –единый глобальный межпроцессныйкоммуникационный механизм, глобальная схема контроля доступа, одинаковое видение файловой системы.
- Классическая ОС–автономная ОС.
Основные функции, которые выполняли классические ОС в процессе своей эволюции
- Планирование заданий и использования процессора
- Обеспечение программ средствами коммуникации и синхронизации
- Управление памятью
- Управление файловой системой
- Управление вводом-выводом
- Обеспечение безопасности
Основные понятия, концепции ОС
- Системные вызовы
- Прерывания
- Исключительные ситуации
- Файлы
- Процессы, нити
Системные вызовы (systemcalls) –это интерфейс между операционной системой и пользовательской программой.
- Они создают, удаляют и используют различные объекты, главные из которых –процессы и файлы.
- При системном вызове задача переходит в привилегированный режим или режим ядра(kernelmode).
Системные вызовы называют программными прерываниями. В большинстве ОС системный вызов осуществляется командой программного прерывания.
Программное прерывание –это синхронноесобытие, которое может быть повторено при выполнении одного и того же программного кода.
Прерывание (hardwareinterrupt)–это событие, генерируемое внешним (по отношению к процессору) устройством.
- Пример:прерывания таймера, которые генерируются периодически через фиксированный промежуток времени.
- Каждый тип аппаратных прерываний имеет собственный номер, однозначно определяющий источник прерывания.
Аппаратное прерывание –это асинхронное событие, то есть оно возникает вне зависимости от того, какой код исполняется процессором в данный момент.
Исключительная ситуация (exception) –событие, возникающее в результате попытки выполнения программой команды, которая по каким-то причинам не может быть выполнена до конца.
- Пример: доступ к ресурсу при отсутствии достаточных привилегий или обращения к отсутствующей странице памяти.
Исключительная ситуация - синхронное событие, возникающее в контексте текущей задачи.
- Исключительные ситуации делятся на исправимыеи неисправимые.
Файл–именованная совокупность взаимосвязанных данных.
- Главная задачафайловой системы (filesystem) –скрыть особенности ввода-вывода и дать программисту простую абстрактную модель файлов, независимых от устройств.
- Для чтения, создания, удаления, записи, открытия и закрытия файлов есть соответствующие системные вызовы.
Архитектурные особенности ОС (Основные принципы разработки архитектуры ОС)
1.Модульность
2.Функциональная избирательность
3.ГенерируемостьОС
4.Функциональная избыточность
5.Виртуализация
6.Независимость программ от внешних устройств
7.Совместимость
8.Открытость и наращиваемость ОС
9.Мобильность (переносимость)
10.Обеспечение безопасности вычислений
Ядро—центральная часть ОС, обеспечивающая приложениям координированный доступ к ресурсам компьютера, таким как процессорное время, память и внешнее аппаратное обеспечение. Также ядроможет предоставлять сервисы файловой системы и сетевых протоколов.
Состав ядра:
- Средства аппаратной поддержки ОС
- Машинно-зависимые компоненты ОС
- Базовые механизмы ядра
- Менеджеры ресурсов
- Интерфейс системных вызовов
Классификация ОС по архитектуре
Монолитное ядро
Многоуровневые системы
Виртуальные машины
Микроядернаяархитектура
Экзоядро
Наноядро
Смешанные системы


