Введение. Назначение, функции и архитектура операционных систем. Основные определения и понятия:

Из чего состоит любая вычислительная система? Во-первых, из того, что в англоязычных странах принято называть словом 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.Обеспечение безопасности вычислений

Ядро—центральная часть ОС, обеспечивающая приложениям координированный доступ к ресурсам компьютера, таким как процессорное время, память и внешнее аппаратное обеспечение. Также ядроможет предоставлять сервисы файловой системы и сетевых протоколов.

Состав ядра:

- Средства аппаратной поддержки ОС

- Машинно-зависимые компоненты ОС

- Базовые механизмы ядра

- Менеджеры ресурсов

- Интерфейс системных вызовов

Классификация ОС по архитектуре

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

Многоуровневые системы

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

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

Экзоядро

Наноядро

Смешанные системы