Комплекс технических средств издательского и полиграфического комплекса > Системные платы Основные виды системных плат

Вид материалаЛекции

Содержание


Программное обеспечение современных компьютеров Операционные системы
Сетевые операционные системы
Архитектура операционных систем
Подобный материал:
1   ...   4   5   6   7   8   9   10   11   12

Программное обеспечение современных компьютеров

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


Программное обеспечение ЭВМ условно принято разделять на три группы:
  • общесистемное программное обеспечение
  • надбазовое программное обеспечение
  • прикладное программное обеспечение

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


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

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

Реализация мультипрограммирования потребовала внесения изменений в аппаратуру компьютера. В процессорах появилось два режима работы: привилегированный и пользовательский. Появились специальные регистры, которые давали возможность переключения процессора с одной задачи на другую. Также появилась развитая система прерываний и средства защиты областей памяти. В конце 60-х гг. были начаты работы по созданию компьютерных систем. В это время в США была создана компьютерная сеть Arpanet, которая явилась прообразом современной сети Internet. Arpanet была испытательным полигоном для сетевых операционных систем; она дала возможность проверить в реальных условиях взаимодействие отдельных компьютеров, степень масштабируемости, а также способность работы при пиковых нагрузках. В середине 70-х гг. начинается производство мини-ЭВМ. Архитектура этих компьютеров была несколько проще, чем у мэнфреймов, что нашло отражение в операционной системе миникомпьютеров. Именно мини-ЭВМ послужили основой для создания локальных сетей ЭВМ, что вызвало необходимость организации совместного использования данных и периферийного оборудования.

Сетевые операционные системы


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

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


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

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

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

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

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

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

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

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

Вообще термин «сетевая операционная система» используется в двух значениях: 1) как совокупность всех компьютеров в сети; 2) как операционная система отдельного компьютера, способного работать в сети.

К основным функциональным компонентам сетевой операционной системы относятся средства управления локальными ресурсами и сетевые средства. Сетевые средства делятся на три составляющих:
  1. средства предоставления локальных ресурсов и услуг в общее пользование (серверная часть операционной системы);
  2. средства запроса доступа к удаленным ресурсам и услугам (клиентская часть операционной системы, или редиректор);
  3. транспортные средства операционной системы, которые обеспечивают передачу информации в сети. К этой группе относятся маршрутизаторы, сетевые адаптеры, коммутаторы и другие устройства, необходимые для решения коммуникационных задач.

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

В зависимости от того, как распределены функции между участниками сети, компьютеры могут выступать в трех разных функциях:
  1. компьютер, занимающийся обслуживанием запросов других компьютеров в сети, называется выделенным сервером сети;
  2. компьютер, обращающийся с запросами к ресурсам других компьютеров в сети, исполняет роль клиентского узла;
  3. компьютер, совмещающий функции клиента и сервера, называется одноранговым узлом

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

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

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

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

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


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

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

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

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

Ядро, являясь структурным элементом операционной системы, может быть разложено на следующие слои, или менеджеры:
  1. Машинно-зависимые компоненты операционной системы;
  2. Базовые механизмы ядра;
  3. Менеджеры ресурсов;
  4. Интерфейс системных вызовов.

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

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

Переносимость операционных систем может быть достигнута за счет выполнения следующих правил:
  1. Большая часть кода операционной системы должна быть написана на языке, трансляторы которого имеются на всех компьютерах, куда предполагается переносить операционную систему;
  2. Объем машинно-зависимых частей кода, которые непосредственно взаимодействуют с аппаратными средствами, должен быть по возможности минимизирован;
  3. Аппаратно-зависимый код должен быть надежно локализован в нескольких модулях.


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

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

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