Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
У. Стоулинг ГЛАВА 2 Обзор ОС.doc
Скачиваний:
30
Добавлен:
11.05.2015
Размер:
510.46 Кб
Скачать

Глава 2

Обзор операционных систем

  1. Предназначение и функции операционных систем

  2. Эволюция операционных систем

  3. Основные достижения

  4. Характеристики современных операционных систем

  5. Обзор операционной системы Windows 2000

  6. Традиционные системы UNIX

  7. Современные системы UNIX

  8. Рекомендуемая литература

  9. Задачи

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

2.1. ПРЕДНАЗНАЧЕНИЕ И ФУНКЦИИ ОПЕРАЦИОННЫХ

СИСТЕМ

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

  • Удобство. Операционная система делает использование компьютера простым и удобным.

  • Эффективность. Операционная система позволяет эффективно использовать ресурсы компьютерной системы.

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

Рассмотрим все три аспекта работы операционных систем по очереди.

Операционная система как интерфейс между пользователем и компьютером

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

Рис. 2.1. Уровни и различные точки зрения на вы­числительную систему

Приведем краткий список сервисов, предоставляемых типичными операци­онными системами.

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

  • Исполнение программ. Для запуска программы требуется выполнить ряд действий. Следует загрузить в основную память команды и данные, инициализировать устройства ввода-вывода и файлы, а также подготовить дру­гие ресурсы. Операционная система выполняет всю эту рутинную работу вместо пользователя.

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

  • Контролируемый доступ к файлам. При работе с файлами управление со стороны операционной системы предполагает не только глубокое понимание природы устройств ввода-вывода (дисковода, лентопротяжного устройства), но и знание структур данных, записанных в файлах. Многопользовательские операционные системы, кроме того, могут обеспечивать работу меха­низмов защиты при обращении к файлам.

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

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

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