рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Структура системы

Структура системы - раздел Образование, Обзор операционных систем С Добавлением В Операционные Системы Все Новых Функций, А Также С Рос­том Воз...

С добавлением в операционные системы все новых функций, а также с рос­том возможностей управляемого операционными системами аппаратного обеспе­чения и его разнообразия возрастает степень их сложности. Операционная сис­тема CTSS, введенная в эксплуатацию в Массачусетском технологическом инсти­туте в 1963 году, занимала в памяти около 32000 36-битовых слов. Операционная система OS/360, выпущенная фирмой IBM через год, содержала более миллиона машинных команд. Система Multics, совместная разработка ко­торой была завершена специалистами Массачусетского технологического инсти­тута и компанией Bell Laboratories к 1975 году, разрослась до 20 миллионов ко­манд. Ради справедливости отметим, что впоследствии на меньших машинах стали появляться операционные системы и попроще, но и они неуклонно услож­нялись с развитием аппаратного обеспечения и ростом требований со стороны пользователей. Так, современная система UNIX по своей сложности намного превосходит свой почти игрушечный первоначальный вариант, разработанный несколькими талантливыми программистами в начале 70-х годов. То же самое произошло с простой системой MS-DOS, со временем переросшей в сложные и мощные операционные системы OS/2 и Windows 2000. Так, операционная сис­тема Windows NT содержит около 16 миллионов строк кода, а в Windows 2000 этот показатель увеличен более чем в два раза.

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

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

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

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

В каждой отдельно взятой операционной системе перечисленные принципы применяются по-разному. Для получения общего представления об операцион­ных системах на данном этапе изложения представим пример обобщенной моде­ли иерархической операционной системы, описанной в [BROW84] и [DENN84]. Она, несомненно, полезна для понимания сути дела, хотя и не соответствует ни одной реальной операционной системе. Сама модель приведена в табл. 2.4 и со­стоит из следующих уровней.

• Уровень 1. В него входят электронные схемы; объектами данного уровня
являются регистры, ячейки памяти и логические элементы. Над этими объектами выполняются различные действия, такие, как очистка содержимого
регистра или считывание ячейки памяти.

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

• Уровень 3. Содержит концепцию процедуры (подпрограммы), а также операции вызова и возврата.

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

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

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

• Уровень 6. Компоненты этого уровня взаимодействуют со вспомогательны­ми запоминающими устройствами компьютера. На этом уровне происходит
позиционирование считывающих головок и физическая передача блоков
данных. Для планирования работы и уведомления процесса о завершении
запрошенной операции уровень 6 использует компоненты уровня 5.

• Уровень 7. Создает логическое адресное пространство процессов. Уровень
организует виртуальное адресное пространство в виде блоков, которые могут перемещаться между основной памятью и вспомогательным запоми­нающим устройством. Широко распространены следующие три схемы: ис­пользование страниц фиксированного размера, использование сегментов пе­ременного размера и комбинация тех и других. Если нужный блок отсутствует в основной памяти, то данный уровень передает уровню 6 запрос о передаче этого блока.

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

• Уровень 8. Отвечает за обмен информацией и сообщениями между процессами.
На этом уровне происходит более богатый обмен информацией, чем на уровне 5,
который обеспечивает работу первичного сигнального механизма для синхрони­зации процессов. Одним из наиболее мощных инструментов подобного типа является конвейер, представляющий собой логический канал передачи данных
между процессами. Конвейер определяется как канал, передающий вывод одно­го процесса на вход другого; кроме того, он может быть использован и для свя­зи с процессом внешних устройств или файлов. Эта концепция рассматривается в главе 6, "Взаимоблокировка и голодание".

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

• Уровень 10. Предоставляет доступ к внешним устройствам с помощью
стандартных интерфейсов.

• Уровень 11. Поддерживает связь между внешними и внутренними идентификаторами системных ресурсов и объектов. Внешний идентификатор — это имя,
которое может использоваться приложением или пользователем. Внутренний
идентификатор — это адрес или другой индикатор, используемый нижними
уровнями операционной системы для обнаружения объекта и управления им.
Эта связь поддерживается с помощью каталога, который включает в себя не
только взаимное отображение внешних и внутренних идентификаторов, но и
такие характеристики, как, например, права доступа.

• Уровень 12. Предоставляет полнофункциональные средства поддержки
процессов. Возможности этого уровня намного превосходят возможности уровня 5, на котором поддерживается только содержимое регистров процес­сора, имеющее отношение к процессу, и логика диспетчеризации процессов. На уровне 12 эта информация используется для упорядоченного управления процессами. Сюда же относится и виртуальное адресное пространство про­цессов, список объектов и процессов, с которыми оно может взаимодейство­вать, и правила, ограничивающие это взаимодействие; параметры, передан­ные процессам при их создании, и прочие характеристики процессов, кото­рые могут быть использованы операционной системой для управления.

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

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

Таблица 2.4. Иерархическая модель операционной системы2

 

– Конец работы –

Эта тема принадлежит разделу:

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

ЭВОЛЮЦИЯ ОПЕРАЦИОННЫХ СИСТЕМ... Пытаясь понять основные требования предъявляемые к операционным систе мам а также значение основных возможностей...

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

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Обзор операционных систем
2.1. Предназначение и функции операционных систем 2.2. Эволюция операционных систем 2.3. Основные достижения 2.4. Характеристики современных операционных систем

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

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

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

Последовательная обработка данных
  В самых первых компьютерах, в период от конца 40-х до средины 50-х го­дов, программы непосредственно взаимодействовали с аппаратным обеспечением машины; операционных систем в то вре

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

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

ОСНОВНЫЕ ДОСТИЖЕНИЯ
  Операционные системы относят к числу самых сложных программ. В этом проявляется стремление их разработчиков сделать системы такими, чтобы они удовлетворяли требованиям удобства и эф

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

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

Защита информации и безопасность
  С ростом популярности систем разделения времени — а впоследствии с воз­никновением компьютерных сетей — возникла проблема защиты информации. В зависимости от обстоятельств природа у

Совместное использование ресурсов и управление ими
Одной из важных задач операционной системы является управление имею­щимися в ее распоряжении ресурсами (основной памятью, устройствами ввода-вывода, процессором), а также их распределение между раз

ХАРАКТЕРИСТИКИ СОВРЕМЕННЫХ ОПЕРАЦИОННЫХ СИСТЕМ
  Год за годом происходит эволюция структуры и возможностей операцион­ных систем. В последнее время в состав новых операционных систем и новых версий уже существующих операционных сис

История возникновения
  Операционная система W2K появилась в результате развития операционной системы под названием MS-DOS (или PC-DOS), разработанной фирмой Microsoft для первого персонального ком

Однопользовательская многозадачность
  Операционная система W2K является типичным представителем операци­онных систем для микрокомпьютеров (в качестве других примеров можно при­вести OS/2 и MacOS). Она была вызвана к жиз

Архитектура
  На рис. 2.13, взятом из [SOLO98b], представлена общая структура операци­онной системы W2K. Модульная структура этой системы делает ее довольно гибкой. Она в состоянии работать на са

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

Пользовательские процессы
  Операционная система W2K поддерживает четыре основных типа пользова­тельских процессов. • Специальные процессы системной поддержки. К таким процессам относ

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

Потоки и симметричная многопроцессорность
  Возможности поддержки потоков и поддержки симметричной многопроцес­сорности, о которых мы говорили в разделе 2.4, — две важные характеристики операционной системы W2K. Ниже перечисл

Объекты Windows 2000
  Устройство операционной системы W2K в значительной мере основано на объектно-ориентированных концепциях. Этот подход способствует совместному использованию ресурсов и данных различн

Историческая справка
Историю возникновения операционной системы UNIX часто можно встре­тить во многих книгах, поэтому здесь она приводится лишь схематично — ос­новные этапы развития изображены на рис. 2.14, взятом из [

Описание
  Рис. 2.15 дает общее представление об архитектуре системы UNIX. Лежащее в основе аппаратное обеспечение окружено программным обеспечением операционной системы. Операционную систему

СОВРЕМЕННЫЕ СИСТЕМЫ UNIX
  В процессе развития операционной системы UNIX появилось много ее реа­лизаций, каждая из них обладала своими полезными возможностями. Впослед­ствии возникла необходимость создать реа

Solaris 2.x
Система Solaris — это версия операционной системы UNIX, разработанная фирмой Sun на основе SVR4. На время написания книги последней вышедшей вер­сией Solaris была версия 2.8. Реализации системы Sol

История возникновения
Система Linux возникла как вариант операционной системы UNIX, предназначенный для персональных компьютеров с IBM-совместимой архитектурой. Первоначальная версия была написана Линусом Торвальдсом (L

Модульная структура
  Ядра большинства версий операционной системы UNIX являются монолит­ными. Напомним, что монолитное ядро — это ядро, которое виртуально включа­ет в себя все возможности операционной с

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги