Посещение сайта
Благодарность: Школа StartUp.
)

Понятие ОПЕРАЦИОННАЯ СИСТЕМА

Понятие ОПЕРАЦИОННАЯ СИСТЕМА

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

компоненты компьютерной системы

компоненты компьютерной системы

На нижнем уровне иерархии компьютерной системы находится аппаратура (hardware) компьютера, основные части которой – центральный процессор (Central Processor UnitCPU), выполняющий команды (инструкции) компьютера; память (memory), хранящая данные и программы, и устройства ввода- вывода, или внешние устройства (inputoutput devices, I/O devices), обеспечивающие ввод информации в компьютер и вывод результатов работы программ в форме, воспринимаемой пользователем-человеком или другими программами. Часто на программистском сленге аппаратуру называют «железом».

Уровнем выше располагается операционная система (operating system) – основной предмет нашего курса; системное программное обеспечение, управляющее использованием аппаратуры компьютера различными программами и пользователями.

Далее — прикладное программное обеспечение (applications software) – программы, предназначенные для решения различных классов задач. К ним относятся системы управления базами данных (СУБД); графические библиотеки, игровые программы, офисные программы. Прикладное программное обеспечение образует следующий, более высокий уровень, по сравнению с операционной системой, и позволяет решать на компьютере различные прикладные и повседневные задачи.

Общая картина функционирования компьютерной системы

Общая картина функционирования компьютерной системы

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

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

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

Зачем нужна операционная система?

Удобно для прикладного программного обеспечения:

  • Упращение разработки, например, использование высокоуровневой абстракции (файлы) вместо низкоуровнего доступа (адресация контроллера устройства через его регистры).  Эти абстракции могут использоваться разным ПО
  • Портируемость (на разные конфигурации или архитектуры) — независимость от устройств, например видеокарты разных типов NVIDIA или ATI позволяют выводить двух-трех-мерную графику не заботясь о строении видеокарты.

Удобно для пользователя:

  • Безопасность
    ОС защищает программы от других программ
    -ОС распределяет ресурсы между программами
  • Эффективность
    — разделяет один компьютер между многими пользователями
    — обеспечивает одновременное выполнение нескольких программ

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

Операционная система предоставляет основу и среду для выполнения прикладных программ пользователя, а именно:

  • Общее абстрактное представление ресурсов, которые могут запрашиваться и использоваться прикладным программным обеспечением(процессор, память, устройства вв/выв (диск, сеть)
  • Использует аппаратные ресурсы одного или нескольких процессоров
  • Управляет вторичной памятью и устройствами вв/выв

Цели:

  •  сделать компьютер более удобным
  •  сделать компьютер более эффективным
  • сделать компьютер более безопасным

Операционная система (ОС, в англоязычном варианте operating system) – базовое системное программное обеспечение, управляющее работой компьютера и являющееся посредником (интерфейсом) между аппаратурой (hardware), прикладным программным обеспечением (application software) и пользователем компьютера (user).

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

Цели работы операционной системы

Основные цели работы операционной системы следующие:

  • Обеспечение удобства, эффективности, надежности, безопасности выполнения пользовательских программ.
    Для пользователя самое главное – чтобы его программа работала, вела себя предсказуемо, выдавала необходимые ему правильные результаты, не давала сбоев, не подвергалась внешним атакам. Вычислительную среду для такого выполнения программ и обеспечивает операционная система.
  • Обеспечение удобства, эффективности, надежности, безопасности использования компьютера.
    Операционная система обеспечивает максимальную полезность и эффективность использования компьютера и его ресурсов, обрабатывает прерывания, защищает компьютер от сбоев, отказов и хакерских атак. Эта деятельность ОС может быть не столь заметной для пользователя, но она осуществляется постоянно.
  • Обеспечение удобства, эффективности, надежности, безопасности использования сетевых, дисковых и других внешних устройств, подключенных к компьютеру.
    Особая функция операционной системы, без которой невозможно использовать компьютер, — это работа с внешними устройствами. Например, ОС обрабатывает любое обращение к жесткому диску, обеспечивая работу соответствующего драйвера (низкоуровневой программы для обмена информацией с диском) и контроллера (специализированного процессора, выполняющего команды ввода-вывода с диском). Любая «флэшка», вставленная в USB-слот компьютера, распознается операционной системой, получает свое логическое имя (в системе Windows – в виде буквы, например, G) и становится частью файловой системы компьютера на все время, пока она не будет извлечена (демонтирована).
  • Подчеркнем особую важность среди функций современных ОС обеспечения безопасности, надежности и защиты данных. Следует учитывать, что компьютер и операционная система работают в сетевом окружении, в котором постоянно возможны и фактически происходят атаки хакеров и их программ, ставящие своей целью нарушение работы компьютера, «взлом» конфиденциальных данных пользователя, хранящихся на нем, похищение логинов, паролей, использование компьютера как «робота» для рассылки реклам или вирусов и др.
    В связи с этим в 2002 г. фирма Microsoft объявила инициативу по надежным и безопасным вычислениям (trustworthy computing initiative), целью которой является повышение надежности и безопасности всего программного обеспечения, прежде всего – операционных систем.

Функции операционных систем

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

  • Параллелизм: позволяет нескольким разным задачам выполняться в одно и тоже время так, как будто каждая из них работает на отдельной машине. Для учета были введены понятия процессов и потоков.
  • Устройства ввода/вывода: ЦП не должен простаивать, ожидая операции ввода/вывода
  • Память: как в одной памяти организовать множество процессов?
  • Файлы: позволяет множеству файлов для множества разных пользователей разделять пространство одного физического носителя – диска
  • Сети: позволяет группе компьютеров работать совместно
  • Безопасность: как обеспечить взаимодействие, при этом защищая каждого участника от всевозможных небезопасных действий остальных участников
  • Представление сервисов
    ОС представляет набор услуг для системных пользователей
  • Управление ресурсами 
    Использование аппаратных ресурсов одного или нескольких процессоров и выделение их пользовательским программам
  • Управление программой  
    Управление процессом выполнения программа и операциями устройств вв/выв. Прерывание программы для приема/передачи данных через ввод/вывод или для перераспределения ресурсов другой программе
  • Защита и безопасность
    — Обеспечивает защиту запущенных программ друг от друга
    — Контролирует доступ пользователей к данным, процессам и другим объектам.

Операционная система как менеджер (система управления) ресурсов

Операционной системе необходимо организовать эффективное использование ограниченных ресурсов, а именно:

  • Улучшить использование
  • Минимизировать накладные расходы
  • Увеличить скорость

Это достигается с помощью:

  • Многопользовательского режима и мультипрограммирования: несколько программ выполняются параллельно
  • Выделение приложениям ресурсов
  • Разделение ресурса во времени (планирование доступа к ресурсу разными пользователями)
  • Разделение ресурса в пространстве (выделение памяти или ее части разным пользователям)

Планирование и управление ресурсами

ОС управляет и выделяет ресурсы процессора и память. Политика выделения ресурсов должна опираться на:

  • Эффективность: максимизация скорости
  • Справедливость: все процессы должны обслуживаться справедливо
  • Дифференцированность: у процессов может быть разный приоритет и разные требования

Операционная система как менеджер безопасности

Обеспечивает:

  1. Защиту приложений друг от друга
    — Установку границ между программами, работающими на компьютере
    — Защиту самой ОС от пользовательских программ (в них может произойти сбой)
  2. Защиту данных
    — Доступ к данным регулируется и ограничивается
    — Определяется владелец и права доступа данных и процессов
    — Выполнение программ

 

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

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

Исторические наработки и решения проблем привели к следующим основополагающим понятиям в теории ОС:

  • Процессы и потоки
    — Реализуют концепцию мультипрограммирования/многозадачности, переключения контекстов и вытесняющей многозадачности
  • Управление памятью
    — Кеширование, виртуальная память, защита и изоляция задач
  • Безопасность
    — Идентификация пользователей, защита данных
  • Планирование и управление ресурсами
    — Справедливое распределение процессорного времени на задачи
  • Структура системы
    — Послойный подход к дизайну ОС, разделение пользовательских программ и структур ядра
 Процессы

Фундаментальное понятие ОС

Процесс – это выполняющаяся программа

  • Код программы
  • Ассоциированные с ней и необходимые ей данные (статические переменные, стек, буферы…)
  • Контекст выполнения (состояние процесса)

Контекст выполнения очень важен для управления процессами

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

У операционных систем есть пять основных принципов управления устройствами хранения информации:

  1. Изоляция процессов
  2. Автоматическое выделение и управление памятью
  3. Поддержка модульного программирования
  4. Защита и контроль доступа
  5. Долговременное хранение
Планирование и управление ресурсами

ОС управляет и выделяет ресурсы процессора и память

Политика выделения ресурсов должна опираться на:

  • Эффективность: максимизация скорости
  • Справедливость: все процессы должны обслуживаться справедливо
  • Дифференцированность: у процессов может быть разный приоритет и разные требования
Защита информации и безопасность

Доступ к вычислительным ресурсам и данным должен контролироваться

Основные проблемы:

  • Доступность: защита системы от прерывания ее работы
  • Конфиденциальность: предотвращение неавторизованного доступа к данным
  • Целостность данных: предотвращение неавторизованного изменения данных
  • Аутентификация: идентификация пользователей, проверка их прав доступа, проверка правильности переданных сообщений и данных

Состав ОПЕРАЦИОННОЙ СИСТЕМЫ

  1. Первая часть — ядро, низкоуровневая основа любой ОС, выполняемая аппаратурой в особом привилегированном режиме. Ядро загружается в память один раз и находится в памяти резидентно – постоянно, по одним и тем же адресам. Ядро — командный интерпретатор, «переводчик» с программного языка на «железный», язык машинных кодов.
  2. Вторая часть Подсистема управления ресурсами (resource allocator) — управляет вычислительными ресурсами компьютера — оперативной и внешней памятью, процессором
  3. Третья часть — Управляющая программа (control program, supervisor) – управляет исполнением других программ и функционированием устройств ввода-вывода.(используются специализированные программы для управления различными устройствами, входящими в состав компьютера. Драйвера «системные библиотеки»)
  4. Четвертая часть — удобная оболочка, с которой общается пользователь — интерфейс. Своего рода красивая обертка, в которую упаковано скучное и не интересное для пользователя ядро.

 

Перейдем к рассмотрению истории развития(эволюции) операционных систем.

 

Понравилась статья, рекомендуйте Вашим друзьям!

Давайте дружить!

Оставить комментарий