Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры СПО 1 аттестация.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
38.51 Кб
Скачать

Введение в ОС

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

СПО делится на программы СПО и ОС.

ОС как виртуальная машина

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

ОС как менеджер ресурсов

Выделяет ресурсы процессам, перераспределяет и отнимает.

ОС как интерфейс для пользователя и программ

POSIX – Portable Operating System

ОС предоставляет пользователю возможность взаимодействия с вычислительной системой, реализуя графический интерфейс, интерфейс командной строки, кроме того предоставляет ПО интерфейс приложений (API) для взаимодействия с ОС.

ОС как защитник пользователей и программ

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

Классификация ОС

  1. Однозадачные и многозадачные – различаются тем, что в многозадачных системах псевдопараллельно выполняется несколько процессов, причём, пространство памяти этих процессов защищены от влияния других процессов.

  2. Многопользовательские и однопользовательские – многопользовательские позволяют пользователям работать защищая свои данные друг от друга.

  3. По применению:

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

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

В) системы реального времени – ориентируются на время реального мира. Предназначены для работы на вычислительных системах, управляющих различными технологическими процессами и промышленными объектами. Критерий эффективности – способность выполнения требуемой задачи к конкретному моменту реального времени. Существуют 2-ух типов: жёсткие и гибкие. Связано с теми ограничениями, которые накладываются на выполнение задачи. Жёсткие системы – пороговый момент времени не может превышаться, поскольку это чревато необратимыми последствиями для управляемых объектов. Гибкие системы – превышать время нежелательно, но допустимо.

Типы ядер операционной системы

Ядро операционной системы – это постоянно функционирующая часть операционной системы, которая запускается с запуском вычислительной системы и функционирует до её выключения. Реализует в зависимости от типа различные низко и высокоуровневые функции.

Типы ядер:

  1. Монолитное ядро – представляет собой одну большую программу, которая целиком находится в памяти и поддерживает все возможные функции. Поскольку всё в памяти, то функции ядра выполняются максимально быстро, но размер ядра велик из-за избыточности функций. Для того, чтобы уменьшить ядро, нужна его перекомпиляция без лишней функциональности;

  2. Модульное ядро – в отличие от монолитного разбивается на функциональные части, которые можно добавить или удалить без перекомпиляции ядра. При этом всё ядро всё равно в памяти и все функции выполняются быстро. Размер меньше, чем у монолитного ядра;

  3. Микроядро – ядро, которое обеспечивает только основную функциональность работы с процессами, памятью и оборудованием. Всё остальное выносится в пользовательское пространство. Достоинство: малый размер ядра в памяти. Недостаток: замедление работы за счёт дополнительной коммуникации между процессором и ядром;

  4. Экзоядро – ещё меньше микроядра. Ядро выполняет только функции управления процессами, межпроцессной коммуникации и управление памятью. Всё остальное выносится в пространство пользователя, в том числе поддержка аппаратуры в библиотеку lib OS.

Требования к операционным системам

  1. Расширяемость – необходимость добавления новых функциональных возможностей и поддержки нового программного и аппаратного обеспечения без переписывания операционной системы;

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

А. написание кода на стандартизованном языке, например C-99;

Б. использование переносимых системных вызовов, например POSIX;

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

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

  2. Безопасность – операционная система должна обеспечивать защиту ресурсов пользователей;

  3. Надёжность и отказоустойчивость – операционная система должна быть защищена от внутренних и внешних сбоев;

  4. Производительность – операционная система должна обеспечивать настолько высокую производительность вычислительной системы, насколько это позволяет аппаратное обеспечение.

Принципы построения операционных систем

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

  2. Принцип генерируемости – операционная система должна настраиваться на конфигурацию аппаратного обеспечения;

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

  4. Принцип функциональной избыточности – одни и те же действия всегда можно выполнить несколькими способами;

  5. Принцип защищённости;

  6. Принцип открытости – операционная система должна быть открыта для изучения и использования. Операционная система открыта, если открыт и описан набор системных вызовов (API);

  7. Принцип перемещаемости – возможность загрузки процессов в любое место памяти и независимость их работы от этого места.

  8. Принцип по умолчанию. Любые настраиваемые параметры в ОС должны иметь значение по умолчанию.

  9. Принцип независимости программ от внешних устройств. Программы должны единообразно работать с АО разных производителей, моделей и т.д.

  10. Принцип наращиваемости. ОС должна предоставить возможность добавления функциональных частей.

  11. Принцип производительности. ОС не должна ограничивать производительность вычислительной системы.

Процессы

Процесс – это абстракция, описывающая выполняющуюся программу.

Процесс – это совокупность алгоритма входных и выходных данных, ресурсов системы, находящееся под управлением ОС в текущий момент времени.

Классификация процессов

  1. по генеалогическим признакам:

    1. рождённые

    2. родительские

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

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

  4. по принадлежности к CPU:

    1. внешние

    2. внутренние

  5. по принадлежности к ОС:

    1. системные

    2. пользовательские