Добавлен: 15.05.2023
Просмотров: 431
Скачиваний: 3
СОДЕРЖАНИЕ
Классификация операционных систем
История возникновения и развития операционной системы
BIOS – первый шаг к созданию операционных систем
Система пакетной обработки – прообраз современной операционной системы
Многозадачные операционные системы
Операционные системы с поддержкой виртуальной памяти
Графические интерфейсы пользователя
Назначение операционных систем
Служебные приложения в составе ОС
Системные библиотеки
Преобразуют системные вызовы приложений в системные вызовы ядра.
Пользовательские оболочки
Предоставляют пользователю интерфейс – удобный способ работы с операционной системой. Реализуют один из двух основных видов пользовательского интерфейса: текстовый интерфейс и графический интерфейс.
Утилиты
Вспомогательные компьютерные программы в составе общего программного обеспечения, делающие удобным и многосторонним процесс общения пользователя с компьютером.
Справочная система
Для удобства пользователя в состав операционной системы обычно входит также справочная система. Справочная система позволяет оперативно получить необходимую информацию как о функционировании операционной системы в целом, так и о работе ее отдельных модулей.
Подсистемы ОС
- Подсистема ввода-вывода: принимает запросы на передачу или прием данных от всех выполняющихся программ, как прикладных, так и системных, упорядочивает их и переадресует внешним устройствам с учетом их аппаратных особенностей. Производит изоляцию всех других компонентов операционной системы и прикладных программ от особенностей аппаратной реализации внешних устройств компьютера и организует бесконфликтное и эффективное использование внешних устройств всеми исполняющимися программами.
- Файловая подсистема: обеспечивает пользователя удобным, аппаратно независимым интерфейсом для упорядоченного хранения пользовательских программ и данных на внешних устройствах долговременной памяти. Во многих современных операционных системах интерфейс файловой подсистемы используется не только для доступа к данным на дисках, но и для всех операций ввода-вывода. Взаимодействие прикладных программ с клавиатурой, монитором, принтером или другим периферийным оборудованием выглядит как запись или чтение некоторых файлов.
- Подсистема управления памятью: решает бесконфликтное распределение памяти между исполняющимися программами и предоставляет защиту памяти от несанкционированного доступа.
- Подсистема управления процессами: выполнение программы в рамках любой современной операционной системы начинается с создания процесса – специального объекта операционной системы, обеспечивающего выполнение программы, таким образом, подсистема управления процессами в конечном итоге отвечает за выполнение программ.
- Подсистема планирования процессов: определяет, какой из готовых к выполнению процессов, когда, и на какой интервал времени следует передать процессору для выполнения. Выполняет переключение процессов, т.е. снимает с исполнения текущий процесс и ставит на исполнение запланированный процесс. Такое переключение процессов называют диспетчеризацией.
- Подсистема учета пользователей: необходима в операционной системе для защиты данных пользователей и сохранения их индивидуальных настроек. Первоначально, подсистема учета пользователей ориентировалась исключительно на решение задачи разграничения прав доступа, но в последствии, по мере развития графических интерфейсов пользователя, появилась еще и необходимость сохранять для каждого пользователя его индивидуальные настройки (цветовая схема, состав и расположение пунктов меню и иконок и т.п.).
Назначение операционных систем
В настоящее время существует большое количество различных типов операционных систем, отличающихся областями применения, аппаратными платформами, способами реализации и др. Назначение операционных систем можно разделить на четыре основные составляющие:
- Организация (обеспечение) удобного интерфейса между приложениями и пользователями, с одной стороны, и аппаратурой компьютера – с другой. Вместо реальной аппаратуры компьютера ОС представляет пользователю расширенную виртуальную машину, с которой удобнее работать и которую легче программировать. Список основных сервисов, предоставляемых типичными операционными системами:
- Разработка программ: ОС представляет программисту разнообразные инструменты разработки приложений: редакторы, отладчики и т.п. Ему не обязательно знать, как функционируют различные электронные и электромеханические узлы и устройства компьютера. Часто пользователь не знает даже системы команд процессора, поскольку он может обойтись мощными высокоуровневыми функциями, которые представляет ОС.
- Исполнение программ: Для запуска программы нужно выполнить ряд действий: загрузить в основную память программу и данные, инициализировать устройства ввода-вывода и файлы, подготовить другие ресурсы. ОС выполняет всю эту рутинную работу вместо пользователя.
- Доступ к устройствам ввода-вывода: Для управления каждым устройством используется свой набор команд. ОС предоставляет пользователю единообразный интерфейс, который скрывает все эти детали и обеспечивает программисту доступ к устройствам ввода-вывода с помощью простых команд чтения и записи. Если бы программист работал непосредственно с аппаратурой компьютера, то для организации, например, чтения блока данных с диска ему пришлось бы использовать более десятка команд с указанием множества параметров. После завершения обмена программист должен был бы предусмотреть еще более сложный анализ результата выполненной операции.
- Контролируемый доступ к файлам: При работе с файлами управление со стороны ОС предполагает не только глубокий учет природы устройства ввода-вывода, но и знание структур данных, записанных в файлах. Многопользовательские ОС, кроме того, обеспечивают механизм защиты при обращении к файлам.
- Системный доступ: ОС управляет доступом к совместно используемой или общедоступной вычислительной системе в целом, а также к отдельным системным ресурсам. Она обеспечивает защиту ресурсов и данных от несанкционированного использования и разрешает конфликтные ситуации.
- Обнаружение ошибок и их обработка: При работе компьютерной системы могут происходить разнообразные сбои за счет внутренних и внешних ошибок в аппаратном обеспечении, различного рода программных ошибок (переполнение, попытка обращения к ячейке памяти, доступ к которой запрещен и др.). В каждом случае ОС выполняет действия, минимизирующие влияние ошибки на работу приложения (от простого сообщения об ошибке до аварийной остановки программы).
- Учет использования ресурсов: Хорошая ОС имеет средства учета использования различных ресурсов и отображения параметров производительности вычислительной системы. Эта информация важна для настройки (оптимизации) вычислительной системы с целью повышения ее производительности.
В результате реальная машина, способная выполнить только небольшой набор элементарных действий (машинных команд), с помощью операционной системы превращается в виртуальную машину, выполняющую широкий набор гораздо более мощных функций. Виртуальная машина тоже управляется командами, но уже командами более высокого уровня, например: удалить файл с определенным именем, запустить на выполнение прикладную программу, повысить приоритет задачи, вывести текст файла на печать и т.д. Таким образом, назначение ОС состоит в предоставлении пользователю (программисту) некоторой расширенной виртуальной машины, которую легче программировать и с которой легче работать, чем непосредственно с аппаратурой, составляющей реальный компьютер, систему или сеть.
- Организация эффективного использования ресурсов компьютера. ОС не только представляет пользователям и программистам удобный интерфейс к аппаратным средствам компьютера, но и является своеобразным диспетчером ресурсов компьютера. К числу основных ресурсов современных вычислительных систем относятся процессоры, основная память, таймеры, наборы данных, диски, накопители на магнитных лентах (МЛ), внешние накопители памяти(CD/DVD/Blu-Ray/USB), принтеры, сетевые устройства и др. Эти ресурсы распределяются операционной системой между выполняемыми программами. В отличие от программы, которая является статическим объектом, выполняемая программа – это динамический объект, он называется процессом и является базовым понятием современных ОС. Управление ресурсами вычислительной системы с целью наиболее эффективного их использования является вторым назначением операционной системы. Критерии эффективности, в соответствии с которыми ОС организует управление ресурсами компьютера, могут быть различными. Например, в одних системах важен такой критерий, как пропускная способность вычислительной систем, в других – время ее реакции. Зачастую ОС должны удовлетворять нескольким, противоречащим друг другу критериям, что доставляет разработчикам серьезные трудности. Управление ресурсами включает решение ряда общих, не зависящих от типа ресурса задач:
планирование ресурса – определение, какому процессу, когда и в каком качестве (если ресурс может выделяться частями) следует выделить данный ресурс;
удовлетворение запросов на ресурсы – выделение ресурса процессам;
отслеживание состояния и учет использования ресурса – поддержание оперативной информации о занятости ресурса и распределенной его доли;
разрешение конфликтов между процессами, претендующими на один и тот же ресурс.
Для решения этих общих задач управления ресурсами разные ОС используют различные алгоритмы, особенности которых, в конечном счете, определяют облик ОС в целом, включая характеристики производительности, область применения и даже пользовательский интерфейс. Таким образом, управление ресурсами составляют важное назначение ОС. В отличие от функций расширенной виртуальной машины большинство функций управления ресурсами выполняются операционной системой автоматически и прикладному программисту недоступны.
- Облегчение процессов эксплуатации аппаратных и программных средств вычислительной системы. Ряд операционных систем имеет в своем составе наборы служебных программ, обеспечивающие резервное копирование, архивацию данных, проверку, очистку и дефрагментацию дисковых устройств и др. Кроме того, современные ОС имеют достаточно большой набор средств и способов диагностики и восстановления работоспособности системы.
Сюда относятся:
Диагностические программы для выявления ошибок в конфигурации ОС;
Средства восстановления последней работоспособной конфигурации;
Средства восстановления поврежденных и пропавших системных файлов и др.
- Возможность развития. Современные ОС организуются таким образом, что допускают эффективную разработку, тестирование и внедрение новых системных функций, не прерывая процесса нормального функционирования вычислительной системы. Большинство операционных систем постоянно развиваются (нагляден пример Windows). Происходит это в силу следующих причин:
- Обновление и возникновение новых видов аппаратного обеспечения. Например, ранние версии ОС UNIX и OS/2 не использовали механизмы страничной организации памяти, потому, что они работали на машинах, не обеспеченных соответствующими аппаратными средствами.
- Новые сервисы. Для удовлетворения пользователей или нужд системных администраторов ОС должны постоянно предоставлять новые возможности. Например, может потребоваться добавить новые инструменты для контроля или оценки производительности, новые средства ввода-вывода данных (речевой ввод). Другой пример – поддержка новых приложений, использующих окна на экране дисплея.
- Исправления. В каждой ОС есть ошибки. Время от времени они обнаруживаются и исправляются. Отсюда постоянные появления новых версий и редакций ОС. Необходимость регулярных изменений накладывает определенные требования на организацию операционных систем. Очевидно, что эти системы (как, впрочем, и другие сложные программы системы) должны иметь модульную структуру с четко определенными межмодульными связями (интерфейсами). Важную роль играет хорошая и полная документированность системы.
Функции операционных систем
Функции ОС обычно группируются либо в соответствии с типами локальных ресурсов, которыми управляет ОС, либо в соответствии со специфическими задачами, применимыми ко всем ресурсам.
Основная функция всех операционных систем — посредническая. Она заключаются в обеспечении нескольких видов интерфейса:
- интерфейс пользователя (интерфейса между пользователем и программно-аппаратными средствами компьютера);
- аппаратно-программный интерфейс (интерфейса между программным и аппаратным обеспечением);
- программный интерфейс (интерфейса между разными видами программного обеспечения).
-
Организация и обслуживание файловой системы
Все современные дисковые операционные системы обеспечивают создание файловой системы, предназначенной для хранения данных на дисках и обеспечения доступа к ним. Принцип организации файловой системы - табличный. Поверхность жесткого диска рассматривается как трехмерная матрица, измерениями которой являются номера поверхности, цилиндра и сектора. Под цилиндром понимается совокупность всех дорожек, принадлежащих разным поверхностям и находящихся на равном удалении от оси вращения. Данные о том, в каком месте диска записан тот или иной файл, хранятся в системной области диска в специальных таблицах размещения файлов (Д4Г-таблицах). Поскольку нарушение Е4Г-таблицы приводит к невозможности воспользоваться данными, записанными на диске, к ней предъявляются особые требования надежности, и она существует в двух экземплярах, идентичность которых регулярно контролируется средствами операционной системы. Наименьшей физической единицей хранения данных является сектор. Размер сектора равен 512 байт. Поскольку размер РЛГ-таблицы ограничен, то для дисков, размер которых превышает 32 Мбайт, обеспечить адресацию к каждому отдельному сектору не представляется возможным. В связи с этим группы секторов условно объединяются в кластеры. Кластер является наименьшей единицей адресации к данным. Размер кластера, в отличие от размера сектора, не фиксирован и зависит от емкости диска. Несмотря на то что данные о местоположении файлов хранятся в табличной структуре, пользователю они представляются в виде иерархической структуры - людям так удобнее, а все необходимые преобразования берет на себя операционная система. К функции обслуживания файловой структуры относятся следующие операции, происходящие под управлением операционной системы: