→ Пошук по сайту       Увійти / Зареєструватися
Знання Операционные системы и память

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

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

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

  • архитектура микроядра;
  • многопоточность;
  • симметричная многопроцессорность;
  • распределенные операционные системы;
  • объектно-ориентированное построение.

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

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

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

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

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

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

загрузка...
Сторінки, близькі за змістом