Файл: Литература по курсу аос (по всем вопросам должен быть представлен краткий рукописный конспект в общей тетради).docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 08.02.2024

Просмотров: 77

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


Наиболее существенные изменения в ОС

- Интерфейс между прикладной программой и ОС организуется в виде набора системных вызовов

- Организация очереди из заданий в памяти и выделение процессора одному из заданий требуют планирования заданий

- Для переключения процессора  с одного задания на другое возникает потребность в  сохранении содержимого регистров и структур данных, необходимых для продолжения выполнения задания, иначе говоря, контекста

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

- Для обеспечения санкционированного обмена данными между программами, нужны средства коммуникации

- Для корректного обмена данными необходимо предусмотреть координацию программами своих действий, т.е. средства синхронизации


  • Логическим развитием идей мультипрограммирования стали системы разделения времени

  • Процессор переключается между задачами не только на время операций ввода-вывода, но и просто по прошествии определенного интервала времени

  • Эти переключения происходят столь часто, что пользователи могут взаимодействовать со своими программами во время их выполнения, то есть интерактивно

  • Возможность одновременной работы многих пользователей на одной компьютерной системе


Внешняя эволюция вычислительных систем

  • Идея создания семейств программно-совместимых машин, работающих под управлением одной и той же операционной системы

  • Первым таким семейством машин, построенных на интегральных микросхемах, явилась серия машин IBM/360

  • Превосходило машины второго поколения по критерию цена/производительность

  • За ней последовала линия компьютеров PDP, несовместимых с линией IBM, кульминацией которой  стала PDP-11




  1. Четвертый период (1980-настоящее время)

  • Персональные компьютеры; классические, сетевые и распределенные системы

  • Появление больших интегральных схем (БИС)

  • Возрастание степени интеграции и удешевление микросхем

  • Эра персональных компьютеров

  • Однопользовательский режим

  • Деградация архитектуры PC и их операционных систем

  • Потребность в "дружественном" ПО

  • Конец кастовости программистов

  • Со временем рост сложности и разнообразия задач, решаемых на персональных компьютерах, необходимость повышения надежности их работы привели к возрождению практически всех черт, характерных для архитектуры больших вычислительных систем





  • В середине 80-х стали бурно развиваться сети компьютеров, в том числе PC

  • Появились сетевые и распределенных операционных систем

  • В сетевой ОС пользователи знают о наличии другого сетевого компьютера и могут воспользоваться его ресурсами

  • В локальной ОС имеются программная поддержка сетевых интерфейсных устройств доступа к удаленным ресурсам

  • Эти дополнения существенно не меняют структуру операционной системы




  • Распределенная система внешне выглядит как обычная автономная система

  • Пользователь не знает и не должен знать, где хранятся его файлы и где выполняются его программы

  • Может не знать, подключен ли компьютер к сети

  • Внутреннее строение распределенной операционной системы существенно отличается от автономных систем

  • Автономные ОС будем называть классическими



  1. Основные функциональные компоненты ОС.

Функции ОС группируются:

- по типам локальных ресурсов

- по задачам, применимым ко всем ресурсам

Группы функций называют подсистемой.

Наиболее важные подсистемы:

- управления процессами

- памятью

- файлами

- внешними устройствами

Для всех ресурсов:

- Подсистема пользовательского интерфейса

- Защиты данных

- Администрирования

  1.   1   2   3   4   5   6   7   8   9   10


Подсистема управления процессами

Процесс – заявка на потребление системных ресурсов. Ему нужна область оперативной памяти для размещения кодов и данных проги, процессорное время и разные вспомогательные ресурсы (файлы, внешние устройства и тд);
При создании процесса система создает информационную структуру процесса, где хранит данные о:

- его потребностях

- фактически выделенных ресурсах

- историю пребывания процесса в системе

- его текущее состояние (активное, заблоченное)

- приоритет

- и тд.
Процессы бывают пользовательские и системные.

У каждого процесса есть свое адресное пр-во, надо следить, чтобы они не пересекались – защита ресурсов процесса.

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

Также процессы надо синхронизировать.
Итого – подсистема управления процессами:

- планирует выполнение процессов

- распределяет процессорное время

- создает и уничтожает процессы

- обеспечивает их ресурсами

- синхронизирует

- обеспечивает взаимодействие между процессами


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

Процесс может выполняться, только если его коды и данные находятся в памяти.

Системе нужно:

- распределять физическую память между процессами

- загружать в нее коды и данные

- настраивать адресно-зависимые части прог на физические адреса

- защищать память каждого процесса
Распределение памяти идет по разным алгоритмам

По количеству выделяемых областей:

- непрерывная область

- несколько несмежных областей

По степени свободы границы областей:

- жестко зафискированная

- динамически перемещается

По размеру:

- фиксированные страницы

- сегменты переменной длины
Также ОС организует виртуальную память: подгружает и выгружает нужные страницы и транслирует виртуальные адреса в физические адреса оперативной памяти.

ОС занимается защитой памяти: память выделенная одной задачей не должна быть затронута другой.
Итого, ОС:

- отслеживает свободную и занятую память

- выделяет память процессам и освобождает ее по завершении их работы

- вытесняет процессы из оперативы на диск, когда оперативы не хватает и загружает обратно

- настраивает адреса проги на конкретную область физической памяти


  1. Управление файлами и внешними устройствами

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

- преобразует символьные имена файлов в физические адреса

- организует совместный доступ к файлам

- защищает их от несанкционированного доступа.
Файловая система тесно вз-т с подсистемой управления внешними устройствами (подсистемой ввода-вывода). Эта система исполняет роль удобного интерфейса по отношению ко всем подключенным к ней внешним устройствам (накопители, диски, принтеры, сканеры, флэшки и тд). Управление устройствами осуществляется через драйвера. ОС должна иметь широкий набор драйверов для популярности на рынке.


  1. Защита данных и администрирование

Можно поделить на:

- защиту системы от сбоев, отказов аппаратуры, ошибок ПО

- защиту от несанкционированного доступа
Защита от несанкционированного доступа

- процедура входа в систему

- права пользователя

Все это тесно связано с администрированием, т.к. именно админ определяет права юзеров.

- кроме того, система осуществляет т.н. аудит – фиксацию всех событий, связанных с безопасностью системы (попытки входа не того юзера, попытки доступа к защищенным файлам и тд)
Защита от сбоев:

- На основе резервирования (несколько копий важных данных, принтеров, устройств ввода-вывода)

- Мультипроцессирование (несколько процессоров, если один сломается, второй подхватит)

- подсистема обработки ошибок (ошибки есть, но не ведут к катастрофе, обнаружить и локализовать ошибку значит снизить ущерб)
5а) Служба времени – поддерживает отсчет времени, календарного и внутреннего


В системах разделения времени должно быть

- средство для измерения времени (интервальный таймер)

- обработка прерываний

- служба календарного времени.


  1. Интерфейс прикладного программирования


Система предоставляет API – набор функций, доступных для взаимодействия с системой.

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


  1. Пользовательский интерфейс

CUI – юзер использует набор команд и работает через командный интерпретатор.

GUI – окна, мышь и все такое.



  1. Сетевые и распределенные операционные системы.


ОС по способности связывать несколько компов можно разделить на:

- Локальные

- Сетевые

- Распределенные
Локальные – работают на одном автономном компьютере и больше ничего не знают.

Но т.к. современные Оси являются сетевыми, нас больше интересуют именно они.
СОС – ОС, способная работать в сети, использовать ресурсы других компов и предоставлять им свои собственные ресурсы.
Чем она отличается от локальной сети:

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

Оболочка состоит из серверной части, клиентской части и коммуникационных средств, обеспечивающих взаимодействие.
Раньше для того, чтобы «получить» сетевую ОС, эта оболочка устанавливалась как отдельное ПО, но сейчас все современные ОС являются сетевыми, и все в них уже давно встроено.



По типу взаимодействия:

- однородная сеть – ПК одновременно и клиент и сервер

- ПК только предоставляет свои ресурсы – сервер

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