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

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

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

Добавлен: 17.06.2021

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

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

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

Лекция 1. Принципы построения операционных систем. Обзор современных ОС.


1. Назначение, основные свойства и типы ОС.

2. Общие принципы взаимодействия пользователя с ОС.

3. Обзор современных ОС и операционных оболочек.




1. Назначение и основные свойства ОС


Связующим звеном между аппаратными средствами и пользователем выступают программы самого различного уровня сложности, которые все вместе образуют программное обеспечение (ПО) ПК. ПО ПК можно условно разделить на два больших класса:

Системное – операционные системы и системы программирования;

Прикладное – пакеты прикладных программ (ППП).

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

Рис. 1 Взаимосвязь ОС с прикладным ПО и аппаратной частью компьютера


Машинно-зависимые свойства ОС:

планирование процессов;

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

обслуживание ввода-вывода;

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

Машинно-независимые свойства ОС:

работа с файлами;

планирование заданий;

распределение ресурсов;

защита данных.

Общесистемные свойства системы.

1. Надежность.

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

2. Защита.

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

3.Предсказуемость.

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

4. Удобство.

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


5. Эффективность.

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

6. Общие системные услуги.

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

7. Гибкость.

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

8. Расширяемость.

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

9. Ясность.

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

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


Рис. 2 Основные виды ОС


ОС ПАКЕТНОЙ ОБРАБОТКИ.

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

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

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

СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ (СРВ)


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

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

МНОГОПРОЦЕССОРНЫЕ СИСТЕМЫ (МПС)

МПС состоят из двух или более ЦП, осуществляющих параллельное выполнение команд. Каждый процессор может работать в пакетном режиме, мультипрограммном режиме или режиме разделения времени. Два (или более) процессора могут быть связаны непосредственно или гибкой связью.

СИСТЕМЫ С РАЗДЕЛЕНИЕ ВРЕМЕНИ И СИСТЕМЫ МУЛЬТИПРОГРАММИРОВАНИЯ (СсРВ и СМП)

СсРВ на начальном этапе развития ОС являлись попыткой предоставить каждому пользователя свою персональную ЭВМ путем эффективного использования ресурсов относительно большой вычислительной машины.

Другими словами, с помощью разделения ресурсов машины среди нескольких одновременно работающих пользователей можно достиг лучшего использования оборудования. Т.к. большинство ЭВМ имеет ограниченное число периферийных устройств, содержание в оперативной памяти нескольких программ пользователей дает возможность одной программе использовать ЦП во время, когда другая программа ожидает передачи данных с периферийного устройства. Этот подход известен как мультипрограммирование.

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

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


С точки зрения природы доступа СсРВ могут быть классифицированы следующим образом:

ССРВ специального назначения.

Эти системы обычно дают возможность пользователям подготавливать и выполнять программы на ограниченном числе языков.

СсРВ общего назначения.

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

СИСТЕМЫ МУЛЬТИПРОГРАММИРОВАНИЯ ДЛЯ ПАКЕТНОЙ ОБРАБОТКИ

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

ИНФОРМАЦИОННЫЕ СИСТЕМЫ С НЕПОСРЕДСТВЕННЫМ ДОСТУПОМ

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

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

Пользователь устанавливает связь с СсРВ с помощью специальной последовательности команд входа в систему, осуществляющих открытие сеанса. После выполнения этих команд сеанс переводится в командное состояние, означающее, что все, что пользователь будет вводить с клавиатуры, будет интерпретироваться как команда для системы. Когда система загружает программу в память, сеанс находится в состоянии «ожидания команды». Когда команда готова для выполнения, она переходит в рабочее состояние. Когда программе предоставляется ЦП, считается, что она находится в состоянии выполнения. Программа обычно переходит из рабочего состояния в состояние выполнения и обратно до тех пор, пока ей не потребуется выполнить операцию ввода-вывода. Возможны три типа операций ввода-вывода с соответствующими им состояниями. 1) Если программа пытается считать строку с консоли пользователя, любая строка, находящаяся на входном буфере, будет передана программе, и выполнение программы будет продолжено. 2) Если в буфере нет строки, программа переходит в состояние ожидания ввода и будет находиться в этом состоянии до тех пор, пока пользователь не введет с клавиатуры законченную строку. 3) Программа может также оказаться в состоянии ожидания вывода, что происходит в случае, когда выходной буфер переполнен чрезмерным числом выводных строк. Кроме того, программа может перейти в состояние ожидания файла, в случае, когда она не может получить доступ к файлу, который в данный момент используется другой программой. Когда условие ожидания удовлетворено, программа автоматически переходит в рабочее состояние. И наконец, когда выполнение программы завершено, она переводится супервизором в пассивное состояние.


СЕТЕВЫЕ ОС РАСПРЕДЕЛЕННОЙ ОБРАБОТКИ

Появление технологии распределенной обработки и сетей ЭВМ как ценного метода для обеспечения пользователей всеми необходимыми ресурсами привело к созданию сетевых операционных систем (СОС). Работа СОС основывается на пяти основополагающих положениях:

обеспечение единообразных для всех пользователей видов ресурсов;

модульная расширяемость;

управление связями «Сервер – сеть – ЭВМ»;

распределение глобальных ресурсов сети между удаленными;

режим реализации.




2. Общие принципы взаимодействия пользователя с ОС


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

В более сложных системах существует несколько различных языков общения с ОС. Непрофессиональным программистам предоставляется возможность работать на простом языке директив. Профессиональные программисты имеют возможность использовать более мощный и сложный язык, называемый языком управления заданиями. Кроме того, обычно, существует специальный язык взаимодействия операторов с ЭВМ, позволяющий запускать и останавливать задания, выяснять их состояние и состояние системных ресурсов, управлять внешними действиями.

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

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

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

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