Что такое операционная система

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

История появления ОС

  1. Спецвычислители

  2. «Большие» компьютеры и пакетный режим выполнения, очередь заданий (возможно, ручная)
    • Ken_Thompson_(sitting)_and_Dennis_Ritchie_at_PDP-11_(2876612463).jpg

    • ⇒ Заданию доступны все ресурсы
    • «Operating System» — «инструкция по использованию» + подпрограммы, которые можно вызвать, чтобы сделать что-то стандартное (например, вывести данные на печать)
    • Унификация использования ресурсов (устройства печати разные, подпрограмма называется одинаково)

    • Скорее всего, ЭВМ на фото изначально работала именно в пакетном режиме: для запуска задания надо было вставить магнитную ленту (белые кольца вверху посередине), считать его в память. Оставшиеся три ленты можно было использовать для загрузки утилит и записи данных. Видно пять секций, хранящих таких ленты.
  3. Мультипрограммный режим: каждое задание в очереди работает в течение небольшого кванта времени, затем уступает место следующему, а когда все немного поработают, снова продолжает выполнение. Графический рабочий стол, приложения в системном лотке (апплеты), демоны, пользовательские приложения в окнах — все они работают «одновременно» по этой схеме.
    • Разделение доступа к ресурсам

      • несколько заданий обращаются к печати — как не перемешать их вывод?
      • несколько заданий работают с оперативной памятью — как им не испортить данные друг друга?
    • Учёт использования ресурсов

      • Планировщик заданий; «справедливое» выделение квантов времени на работу
      • Процедура выделения оперативной памяти (со стороны ОС) и дисциплина доступа к ней

Современные ОС, чем они занимаются

Кстати, на фото выше — авторы Unix, операционной системы, которая включала в себя все компоненты, характерные для современной ОС. Её и пишут!

attachment:FrBrGeorge/Baumanka2024/system_architecture_flower.svg

Ядро
монолитный программный компонент, который постоянно находится в памяти и выполняет основные функции ОС
Модули ядра
части ядра, которые компонуются с ним по необходимости
  • Например, для унификации работы с внешними устройствами («драйверы») — при обнаружении соответствующего устройства
Демоны

(в действительности — даймоны) программы, которые запускаются при старте системы, но обычно ничего не делают, а по наступлении определённых событий активизируются для их обработки. Часто называются «службами» или «подсистемами».

  • Подсистема печати начинает печатать, если в очереди появился документ
  • Подсистема выполнения заданий по расписанию запускает задание, когда подойдёт время
Утилиты
небольшие программы для решения простых задач, связанных с объектами ОС
  • Утилиты для работы с файлами и т. п.

  • Утилита для постановки документа на печать и другие утилиты взаимодействия со службами
  • Оболочка (например, Bash) — утилита для склейки результатов работы других утилит (скриптования). Называется также интерпретатором командной строки.

Приложения
программы (или комплекты), решающие задачи пользователя. Часто (но не всегда) обладают GUI.
  • Офис, браузер, мессенджер… you name it
Интерфейс ОС

способ взаимодействия с операционной системой. Условно можно выделить три типа взаимодействия.

Графический интерфейс
основан на визуальном поиске и выборе из вариантов. Не обязательно использует собственно графику, есть т. н. TUI.
Командный интерфейс
основан на интерпретаторе командной строки, в котором можно запускать все доступные в системе утилиты / приложения, передавая им дополнительные параметры, а также пользоваться функцией склейки / скриптованием.
Программный интерфейс

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

FrBrGeorge/QA/00_OS (последним исправлял пользователь FrBrGeorge 2024-06-16 17:57:00)