Какие бывают режимы работы ос

Обновлено: 02.07.2024

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

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

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

Интерфейс - совокупность аппаратных и программных средств, необходимых для подключения периферийных устройств к ПЭВМ

В соответствии с условиями применения различают три режима ОС: пакетной обработки, разделения времени и реального времени:

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

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

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

Понятие операционного окружения, состав, назначение

Операционное окружение

Вспомним, что основными назначениями ОС являются:

· Управление вычислительными процессами в вычислительной системе;

· Распределение ресурсов вычислительной системы между различными вычислительными процессами;

· Образование программной (операционной) среды, в которой выполняются прикладные программы пользователей.

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

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

Операционная система в общем случае может содержать несколько операционных сред.

Операционная среда – может включать несколько интерфейсов: пользовательские и программные.

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

Операционное окружение DOS состоит из всех команд DOS, доступных пользователю.

Есть операционные среды, позволяющие управлять вычислительными процессами и файлами в стандартной операционной системе посредством графического пользовательского интерфейса, такие как Enlightenment, GNOME, KDE и пр.

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

В различных операционных системах состав среды окружения может сильно различаться.

К составу среды окружения обычно относят:

· Текущие пути на различных дисках (в случае поддержки нескольких дисков операционной системой)

· Точка монтирования каталогов (в том числе корневого), используется в unix-подобных операционных системах

· Связь стандартных потоков ввода-вывода с файловыми хэндлерами (идентификатор выделенного системой ресурса) или устройствами (используется для перенаправления ввода-вывода)

· Ограничения на количество одновременно открытых файлов, стеков и т. д.

· Набор прав (обычно соответствует правам пользователя, запустившего процесс, но может изменяться как в сторону большего набора прав, так и в сторону ужесточения)

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

· Значения показателей использования ресурсов, получаемые от родительского процесса (на некоторых системах)

Также операционное окружение иногда называют контролирующей программой (control program).

Назначение и роль программного обеспечения.

Программы в составе системного, прикладного,

Факты о Linux

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

Один из первых известных дистрибутивов Linux был разработан финским программистом Линусом Торвальдсом. В 1991 году он был показан IT-сообществу. Впоследствии наработки Линуса получили дальнейшее развитие при участии групп энтузиастов бесплатного ПО со всего мира. Самые популярные версии Linux сегодня — Mint, Ubuntu, Debian, Fedora.

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

На базе Linux вместе с тем разработана самая популярная ОС для смартфонов и планшетов — Android. Которая, в свою очередь, по распространенности значительно опережает мобильную версию Windows.

ОС Linux считаются UNIX-подобными. Это связано с тем, что Линус Торвальдс и его единомышленники использовали при создании своей бесплатной операционной системы ключевые концепции, реализованные в другом семействе ОС — UNIX. Данный факт предопределил появление тезиса о том, что Linux и UNIX — это две версии одной и той же ОС, и разница между ними совсем небольшая.

UNIX — это тоже семейство операционных систем. Первая реализация ОС UNIX появилась в 1969 году. Большинство современных версий UNIX, в отличие от Linux, являются коммерческими ОС. В их числе — OS X, Mac OS, iOS — операционные системы для устройств Apple, а еще такие решения, как Sun Solaris (разработанная компанией Sun Microsystems, а с 2010 корпорацией Oracle), AIX (ОС компании IBM), HP-UX ((эйч-пи-юкс) — проприетарная версия операционной системы UNIX фирмы Hewlett Packard).

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

Сейчас ОС семейства UNIX, как и Linux, в основном задействуются в среде корпораций — как инструмент управления серверами. Однако значительна распространенность соответствующих решений также и в сегменте ПК для частных пользователей, поскольку платформа Mac управляется OS X либо ее предшественницей — ОС Mac OS, базирующимися на UNIX.

Кроме того, компания Apple — один из ключевых игроков рынка мобильных гаджетов. Устройства iPhone, iPad управляются iOS, также относящейся, как мы отметили выше, к UNIX-системам.

Принципиальные отличия Linux и UNIX

С точки зрения технологий семейства UNIX и Linux очень близки. Так, например, многие программы, созданные для Linux, можно без проблем адаптировать для ОС UNIX, не переписывая их исходный код. Это во многом предопределяет, в частности, легкость одновременного создания разработчиками мобильных приложений версий соответствующего ПО для Android и iOS. Большое количество современных программ для Linux изначально появлялись как бесплатные версии аналогичных решений, работающих в UNIX.

Команды, с помощью которых управляется Linux, в значительной мере идентичны тем, что задействуются в UNIX. Оба семейства ОС базируются на единой концепции администрирования данных, сущность которой — в выстраивании политики формирования разрешений на исполнение тех или иных файлов. Так, в ОС UNIX и Linux весьма затруднены несанкционированный запуск программ и модификация данных. Это предопределяет, в частности, высокую степень устойчивости обоих семейств ОС к вирусам.

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

Бесплатность Linux и коммерческая ориентированность UNIX предопределяют ряд иных принципиальных различий между рассматриваемыми семействами ОС.

В числе таковых — более узкая технологическая специализация UNIX. Во многом — как раз таки в силу закрытости кода. Операционные системы данного семейства, как правило, создаются для конкретных платформ. Например, HP-UX может функционировать исключительно на процессорах PA-RISC от HP, а также Itanium, являющихся совместной разработкой HP и Intel. Системы OS X, Mac OS и iOS работают только на устройствах от Apple. То же можно сказать и о поддержке ОС на базе UNIX файловых систем. В основном конкретный дистрибутив ОС, основанный на UNIX, способен работать с 1-2 стандартами соответствующего типа.

Можно отметить, что на современном рынке цифровых решений оформилось неофициальное противостояние Linux и UNIX:

· в сегменте ПК ОС Linux, устанавливаемые на любые открытые IBM-платформы, как и Windows, являются конкурентами OS X и Mac OS, которые инсталлируются на компьютерах Apple;

· в сегменте мобильных гаджетов ОС Android, устанавливаемые на смартфоны и планшеты разных брендов, являются конкурентами iOS, которая ставится на iPhone и iPad, также выпускаемые Apple.

В первом случае Linux ощутимо проигрывает UNIX: доля систем первого типа на мировом рынке ПК, по данным Net Applications, — 1,34 %, доля Mac OS и OS X — порядка 7,11 %. В сегменте мобильных гаджетов девайсы под управлением Android на базе Linux, по версии IDC, занимают порядка 81,5 %, iOS — 14,8 %.

Сравнительнаятаблица

Примеры файловых систем

Ниже приведены самые известные файловые системы для разных ОС их преимущества или недостатки.

Используется традиционно для Linux.

· Размер блока 1кб.

· Размер каждого узла 128 байт

· I-узел содержит 12 прямых и 3 косвенных адреса, длинна адреса в I-узле стала 4 байта, что обеспечивает поддержку размера файла чуть более 16гб.

· Создание новых каталогов распределяется равномерно по группам блоков, что бы в каждой группе было одинаковое кол-во каталогов.

· Новый файл создаются в группе, где находиться каталог.

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

В отличие от EXT2 , EXT3 является журналируемой файловой системой.

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

· Подходит для хранения очень больших файлов.

· Имеет возможность выноса журнала на другой диск для повышения производительности.

· Сохраняет данные кэша только при переполнении памяти, а не периодически.

· Используется логическое журналирование.

Используется для организации на диски в области подкачки.

Для файловых серверов с высокой нагрузкой.

· Соответствует классической модели транзакции. Применяется в БД.

· Размер журнала не более 32 мб.

Максимальный размер файла 4 гб.

Нет максимального размера файлов.

Понятие и назначение операционных систем.

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

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

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

Интерфейс - совокупность аппаратных и программных средств, необходимых для подключения периферийных устройств к ПЭВМ

В соответствии с условиями применения различают три режима ОС: пакетной обработки, разделения времени и реального времени:

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

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

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

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

Операционная система - совокупность программ, предста­в­ляющих собой интерфейс между аппаратурой (ЭВМ) и пользователем.

Причины возникновения ОС:

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

2) Возникает формализация языка управления.

3) Совмещение работы внешних устройств с работой процессора. Появление мультирограммных режимов работы.

4) Возникновение системы прерываний.

Функционально ОС состоит из:

1) управляющих программ (организовывают обработку входных заданий, данных и задач)

2) обрабатывающих программ (проблемные программы, отладочные средства, пакеты прикладных программ)

Типы ОС (с 1-3 это есть режимы ОС):

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

2) Системы разделения времени (информационные и вычислительные подсистемы).

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

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

3) Операционные системы реального времени.

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

4)Диалоговые операционные системы.

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

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

2) Разработка программ;

3) Выполнение программ;

4) Функции управления (задачами, заданиями, данными, процессором, внешними устройствами, памятью)

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

На архитектуру ранних операционных систем обращалось мало внимания: во-первых, ни у кого не было опыта в разработке больших программных систем, а во-вторых, проблема взаимозависимости и взаимодействия модулей недооценивались. В подобных монолитных ОС почти все процедуры могли вызывать одна другую. Такое отсутствие структуры было несовместимо с расширением операционных систем. Первая версия ОС OS/360 была создана коллективом из 5000 человек за 5 лет и содержала более 1 млн строк кода. Разработанная несколько позже операционная система Multics содержала к 1975 году уже 20 млн строк. Стало ясно, что разработка таких систем должна вестись на основе модульного программирования.

Большинство современных ОС представляют собой хорошо структурированное модульные системы, способные к развитию, расширению и переносу на новые платформы. Какой-либо единой унифицированной архитектуры ОС не существует, но известны универсальные подходы к структурированию ОС. Принципиально важными универсальными подходами к разработке архитектуры ОС являются [4, 13, 22]:

  • модульная организация;
  • функциональная избыточность;
  • функциональная избирательность;
  • параметрическая универсальность;
  • концепция многоуровневой иерархической вычислительной системы, по которой ОС представляется многослойной структурой;
  • разделение модулей на 2 группы по функциям – ядро, модули, выполняющие основные функции ОС, и модули, выполняющие вспомогательные функции ОС;
  • разделение модулей ОС на 2 группы по размещению в памяти вычислительной системы – резидентные, постоянно находящиеся в оперативной памяти, и транзитные, загружаемые в оперативную память только на время пополнения своих функций;
  • реализация двух режимов работы вычислительной системы – привилегированного режима (или режима ядра – Kernel mode ),или режима супервизора ( supervisor mode ), и пользовательского режима ( user mode ), или режима задачи (task mode);
  • ограничение функций ядра (а следовательно, и количества модулей ядра) до минимального количества необходимых самых важных функций.

Первые ОС разрабатывались как монолитные системы без четко выраженной структуры (рис.3.4).

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

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

Такая организация ОС предполагает следующую структуру [28]:

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

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

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

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

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

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

Вспомогательные модули обычно подразделяются на группы:

  • утилиты – программы, выполняющие отдельные задачи управления и сопровождения вычислительной системы;
  • системные обрабатывающие программы – текстовые и графические редакторы (Paint, Imaging в Windows 2000), компиляторы и др.;
  • программы представления пользователю дополнительных услуг (специальный вариант пользовательского интерфейса, калькулятор, игры, средства мультимедиа Windows 2000);
  • библиотеки процедур различного назначения, упрощения разработку приложений, например, библиотека функций ввода-вывода, библиотека математических функций и т.п.

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

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

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

В данной схеме выделены следующие слои.

  1. Средства аппаратной поддержки ОС. Значительная часть функций ОС может выполняться аппаратными средствами [13]. Чисто программных ОС сейчас не существу-ет. Как правило, в современных системах всегда есть средства аппаратной поддержки ОС, которые прямо участвуют в организации вычислительного процесса. К ним относятся: система прерываний, средство поддержки привилегированного режима, средства поддержки виртуальной памяти, системный таймер , средство переключения контекстов процессов (информация о состоянии процесса в момент его приостановки), средство защиты памяти и др.
  2. Машинно-зависимые модули ОС. Этот слой образует модули, в которых отражается специфика аппаратной платформы компьютера. Назначение этого слоя – "экранирование" вышележащих слоев ОС от особенностей аппаратуры (например, Windows 2000 – это слой HAL , Hardware Abstraction Layer , уровень аппаратных абстракций).
  3. Базовые механизмы ядра. Этот слой модулей выполняет наиболее примитивные операции ядра: программное переключение контекстов процессов , диспетчеризацию прерываний, перемещение страниц между основной памятью и диском и т.п. Модули этого слоя не принимают решений о распределении ресурсов, а только обрабатывают решения, принятые модулями вышележащих уровней. Поэтому их часто называют исполнительными механизмами для модулей верхних слоев ОС.
  4. Менеджеры ресурсов . Модули этого слоя выполняют стратегические задачи по управлению ресурсами вычислительной системы. Это менеджеры (диспетчеры) процессов, ввода-вывода, оперативной памяти и файловой системы. Каждый менеджер ведет учет свободных и используемых ресурсов и планирует их распределение в соответствии запросами приложений.
  5. Интерфейс системных вызовов. Это верхний слой ядра ОС, взаимодействующий с приложениями и системными утилитами , он образует прикладной программный интерфейс ОС. Функции API обслуживающие системные вызовы, предоставляют доступ к ресурсам системы в удобной компактной форме, без указания деталей их физического расположения.

Повышение устойчивости ОС обеспечивается переходом ядра в привилегированный режим. При этом происходит некоторое замедление выполнение системных вызовов. Системный вызов привилегированного ядра инициирует переключение процессора из пользовательского режима в привилегированный, а при возврате к приложению – обратное переключение. За счет этого возникает дополнительная задержка в обработке системного вызова (рис.3.7). Однако такое решение стало классическим и используется во многих ОС ( UNIX , VAX , VMS , IBM OS/390, OS/2 и др.).

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

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

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

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

Из рисунка ясно, что выполнение системного вызова сопровождается четырьмя переключениями режимов (4 t), в то время как в классической архитектуре – двумя. Следовательно, производительность ОС с микроядерной архитектурой при прочих равных условиях будет ниже, чем у ОС с классическим ядром.

В то же время признаны следующие достоинства микроядерной архитектуры [36]:

  • единообразные интерфейсы;
  • простота расширяемости;
  • высокая гибкость;
  • возможность переносимости;
  • высокая надежность;
  • поддержка распределенных систем;
  • поддержка объектно-ориентированных ОС.

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

Может быть, это покажется парадоксальным, но есть и такой подход к микроядерной ОС, как уменьшение микроядра.

Для возможности представления о размерах микроядер операционных систем в ряде источников [22] приводятся такие данные:

  • типичное микроядро первого поколения – 300 Кбайт кода и 140 интерфейсов системных вызовов;
  • микроядро ОС L4 (второе поколение) – 12 Кбайт кода и 7 интерфейсов системных вызовов.

В современных операционных системах различают следующие виды ядер.

  1. Наноядро (НЯ) – крайне упрощенное и минимальное ядро, выполняет лишь одну задачу, обработку аппаратных прерываний, генерируемых устройствами компьютера. После обработки посылает информацию о результатах обработки вышележащему программному обеспечению. НЯ используются для виртуализации аппаратного обеспечения реальных компьютеров или для реализации механизма гипервизора.
  2. Микроядро (МЯ) предоставляет только элементарные функции управления процессами и минимальный набор абстракций для работы с оборудованием. Большая часть работы осуществляется с помощью специальных пользовательских процессов, называемых сервисами. В микроядерной операционной системе можно, не прерывая ее работы, загружать и выгружать новые драйверы, файловые системы и т. д. Микроядерными являются ОС Minix , GNU Hurd и системы семейства BSD.
  3. Экзоядро (ЭЯ) дает лишь набор сервисов для взаимодействия между приложениями, а также необходимый минимум функций, связанных с защитой: выделение и высвобождение ресурсов, контроль прав доступа, и т. д. ЭЯ не занимается предоставлением абстракций для физических ресурсов – эти функции выносятся в библиотеку пользовательского уровня (так называемую libOS). В отличие от микроядра ОС, базирующиеся на ЭЯ, обеспечивают большую эффективность за счет отсутствия необходимости в переключении между процессами при каждом обращении к оборудованию.
  4. Монолитное ядро (МЯ) предоставляет широкий набор абстракций оборудования. Все части ядра работают в одном адресном пространстве. МЯ требуют перекомпиляции при изменении состава оборудования. Компоненты операционной системы являются не самостоятельными модулями, а составными частями одной программы. МЯ более производительно, чем микроядро, поскольку работает как один большой процесс. МЯ является большинство Unix-систем и Linux. Монолитность ядер усложняет отладку, понимание кода ядра, добавление новых функций и возможностей, удаление ненужного, унаследованного от предыдущих версий, кода. "Разбухание" кода монолитных ядер также повышает требования к объему оперативной памяти.
  5. Модульное ядро (Мод. Я) – современная, усовершенствованная модификация архитектуры МЯ. В отличие от классических" МЯ, модульные ядра не требуют полной перекомпиляции ядра при изменении состава аппаратного обеспечения компьютера. Вместо этого они предоставляют тот или иной механизм подгрузки модулей, поддерживающих то или иное аппаратное обеспечение (например, драйверов). Подгрузка модулей может быть как динамической, так и статической (при перезагрузке ОС после переконфигурирования системы). Мод. Я удобнее для разработки, чем традиционные монолитные ядра. Они предоставляют программный интерфейс (API) для связывания модулей с ядром, для обеспечения динамической подгрузки и выгрузки модулей. Не все части ядра могут быть сделаны модулями. Некоторые части ядра всегда обязаны присутствовать в оперативной памяти и должны быть жестко "вшиты" в ядро.
  6. Гибридное ядро (ГЯ) – модифицированные микроядра, позволяющие для ускорения работы запускать "несущественные" части в пространстве ядра. Имеют "гибридные" достоинства и недостатки. Примером смешанного подхода может служить возможность запуска операционной системы с монолитным ядром под управлением микроядра. Так устроены 4.4BSD и MkLinux, основанные на микроядре Mach . Микроядро обеспечивает управление виртуальной памятью и работу низкоуровневых драйверов. Все остальные функции, в том числе взаимодействие с прикладными программами, осуществляется монолитным ядром. Данный подход сформировался в результате попыток использовать преимущества микроядерной архитектуры , сохраняя по возможности хорошо отлаженный код монолитного ядра .

Этот термин применяется не только к обычным персональным компьютерам (ПК), но и к любым другим вычислительным системам — от смартфона до суперкомпьютеров

Логотипы различных ОС

Операционная система — это самая главная программа на ПК

В компьютере, ноутбуке, планшете, телефоне обязательно есть операционная система.

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

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

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

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

Сюда же относятся самые популярные — Microsoft Windows, Linux, MacOS. У всех есть достоинства и недостатки. Рассмотрим каждую из них более подробно.

Windows – это самая распространенная ОС на земле

У Windows есть масса преимуществ перед конкурентами, приведем некоторые из них:

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

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

Загрузка ОС

Но существуют и некоторые минусы:

  1. долгая загрузка ОС;
  2. постоянные перезагрузки и необходимость установки обновлений (чтобы обеспечивать безопасность);
  3. возможная потеря данных или работоспособности компьютера при попадании вируса в систему.

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

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

Linux – это надежность и безопасность везде

Эта операционная система (основанная на базе Unix) несколько отличается от предыдущей.

Главное сердце — это ядро, в котором установлена поддержка драйверов (для работы с другими устройствами). Главное понятие в данной ОС — это пакет, т.к. она полностью состоит из пакетов.

Если в виндовс каждое приложение занимает свою папку, то в Linux файлы лежат по разным папкам: запускающие программу находятся в одном месте, конфигурационные файлы, связанные с настройками программ, — в другой папке.

Дистрибутивы

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

Осветим преимущества этой ОС:

Но и здесь не обойтись без минусов:

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

Mac OS – это ОС, созданная для профессионалов

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

Mac OS – это закрытая ОС на основе Unix-подобных систем (похожа на Linux), разница заключается в том, что исходный программный код закрыт, и она является платной операционной системой.

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

Операционка

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

Какую операционную систему выбрать

Итак, подведем итоги всего вышеизложенного. Вероятно, стало понятно, что такое ОС.

Операционная система — это главный компонент компьютера и любого подобного ему устройства.

  1. Если требуется простота и удобство установки программ, настройки периферии, тогда лучшим выбором будут ОС линейки Windows.
  2. Если же нравится изучать, как работает компьютер, понять происходящие в нем процессы, а также лучше понимать принципы его работы, тогда хорошим решением будет переход на linux.
  3. Для тех же, кому компьютер нужен только как рабочий инструмент, лучшим выбором будет MacOS.

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

Эта статья относится к рубрикам:

Комментарии и отзывы (7)

А вот что предшествовало Виндовс 95, я и не помню. Но уверен, что это был какой-то дикий ужас.

Помню, что когда я учился в школе, то года с 1992-93 в программе была информатика, изучали какой-то язык программирования Бейсик. В котором я был полнейший ноль и так и не понял ничего. Что интересно, в 1997-98 годах я уже учился в ВУЗе и вместо того, чтобы обучать нас тонкостям того же Виндовс — долбили этот кошмарный, допотопный Бейсик))

И вот что еще запомнилось, как-то обходились без мышек. Да! Одной клавиатурой со стрелками!

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

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

Ничего нового в этой статье. То, что MacOS работает только на технике Apple, знает и ребенок. Я права?

Тут задали вопрос почему Россия не создает операционную систему. Россия создает и по типу Windows, и по типу linux. Но корнем этих систем всеравно остаётся английский язык. Помните как сказал Задорнов? Английский для передачи информации, а русский передает состояние души. Так русский более эмоциональный язык чем информативный.

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

Читайте также: