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

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

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

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

Для более полного понимания роли операционной системы рассмотрим составные компоненты любой вычислительной системы (рис.1.1).

Все компоненты можно разделить на два больших класса – программы или программное обеспечение ( ПО , software ) и оборудование или аппаратное обеспечение ( hardware ). Программное обеспечение делится на прикладное, инструментальное и системное. Рассмотрим кратко каждый вид ПО .

Цель создания вычислительной системы – решение задач пользователя. Для решения определенного круга задач создается прикладная программа ( приложение , application ). Примерами прикладных программ являются текстовые редакторы и процессоры (Блокнот, Microsoft Word ), графические редакторы ( Paint , Microsoft Visio), электронные таблицы (Microsoft Excel ), системы управления базами данных (Microsoft Access, Microsoft SQL Server ), браузеры ( Internet Explorer) и т. п. Все множество прикладных программ называется прикладным программным обеспечением ( application software ).

Создается программное обеспечение при помощи разнообразных средств программирования (среды разработки, компиляторы, отладчики и т. д.), совокупность которых называется инструментальным программным обеспечением. Представителем инструментального ПО является среда разработки Microsoft Visual Studio .

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

Взаимодействие всех программ с операционной системой осуществляется при помощи системных вызовов ( system calls) – запросов программ на выполнение операционной системой необходимых действий. Набор системных вызовов образует API – Application Programming Interface ( интерфейс прикладного программирования).

Далее рассмотрим, какие функции должны выполнять современные операционные системы.

Функции операционной системы

К основным функциям, выполняемым операционными системами, можно отнести:

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

Структура операционной системы

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

Современные процессоры имеют минимум два режима работы – привилегированный (supervisor mode) и пользовательский (user mode).

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

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

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

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

Термин «ядро» также используется в разных смыслах. Например, в Windows термин «ядро» (NTOS kernel) обозначает совокупность двух компонентов – исполнительной системы (executive layer) и собственно ядра (kernel layer) [12].

Существует два основных вида ядер – монолитные ядра (monolithic kernel) и микроядра (microkernel). В монолитном ядре реализуются все основные функции операционной системы, и оно является, по сути, единой программой, представляющей собой совокупность процедур [6]. В микроядре остается лишь минимум функций, который должен быть реализован в привилегированном режиме: планирование потоков, обработка прерываний, межпроцессное взаимодействие. Остальные функции операционной системы по управлению приложениями, памятью, безопасностью и пр. реализуются в виде отдельных модулей в пользовательском режиме.

Ядра, которые занимают промежуточные положение между монолитными и микроядрами, называют гибридными (hybrid kernel).

Примеры различных типов ядер:

  • монолитное ядро – MS-DOS, Linux, FreeBSD;
  • микроядро – Mach, Symbian, MINIX 3;
  • гибридное ядро – NetWare, BeOS, Syllable.

Обсуждение того, к какому типу относится ядро Windows NT, приведено в [5; 2]. В [2] говорится о том, что Windows NT имеет монолитное ядро, однако, поскольку в Windows NT имеется несколько ключевых компонентов, работающих в пользовательском режиме (например, подсистемы окружения и системные процессы – см. Лекцию 4 «Архитектура Windows»), то относить Windows NT к истинно монолитным ядрам нельзя, скорее к гибридным.

Кроме ядра в привилегированном режиме (в большинстве операционных систем) работают драйверы (driver) – программные модули, управляющие устройствами.

В состав операционной системы также входят:

  • системные библиотеки (system DLL – Dynamic Link Library, динамически подключаемая библиотека), преобразующие системные вызовы приложений в системные вызовы ядра;
  • пользовательские оболочки (shell), предоставляющие пользователю интерфейс – удобный способ работы с операционной системой.

Пользовательские оболочки реализуют один из двух основных видов пользовательского интерфейса:

  • текстовый интерфейс (Text User Interface, TUI), другие названия – консольный интерфейс (Console User Interface, CUI), интерфейс командной строки (Command Line Interface, CLI);
  • графический интерфейс (Graphic User Interface, GUI).

Пример реализации текстового интерфейса в Windows – интерпретатор командной строки cmd.exe; пример графического интерфейса – Проводник Windows (explorer.exe).

Классификация операционных систем

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

  1. По способу организации вычислений:
    • системы пакетной обработки (batch processing operating systems) – целью является выполнение максимального количества вычислительных задач за единицу времени; при этом из нескольких задач формируется пакет, который обрабатывается системой;
    • системы разделения времени (time-sharing operating systems) – целью является возможность одновременного использования одного компьютера несколькими пользователями; реализуется посредством поочередного предоставления каждому пользователю интервала процессорного времени;
    • системы реального времени (real-time operating systems) – целью является выполнение каждой задачи за строго определённый для данной задачи интервал времени.
Читайте также:  Источники права это решения судов по гражданским делам способы закрепления

Требования к операционным системам

Основное требование, предъявляемое к современным операционным системам – выполнение функций, перечисленных выше в параграфе «Функции операционных систем». Кроме этого очевидного требования существуют другие, часто не менее важные [3]:

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

Резюме

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

В следующей лекции будет представлен обзор операционных систем Microsoft Windows.

Источник

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

Обзорная лекция № 34

для студентов специальности

«Программное обеспечение информационных технологий»

доцента кафедры ИВТ, к.т.н. Ливак Е.Н.

Основные понятия, факты

Основные функции ОС. Классификация ОС. Принципы построения ОС. Архитектура ОС. Микроядерные и монолитные ОС. Технология микроядра. Тенденции в проектировании ОС. Сетевые ОС.

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

Назначение и функции операционной системы

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

Обычно ОС определяется через ее функции —

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

Другими словами, две основные функции (назначение) ОС :

1) предоставлять пользователю некую расширенную виртуальную машину, с которой легче работать (легче программировать), чем непосредственно с аппаратурой реального компьютера или реальной сети;

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

2) управлять ресурсами вычислительной системы.

Поэтому в специальной литературе ОС представляется всегда двояко:

как расширенная виртуальная машина и

как система управления ресурсами .

· прием от пользователя (оператора) заданий или команд, сформулированных на соответствующих языках, и их обработка;

· загрузка в ОП программ и их исполнение;

· инициация программы (передача ей управления);

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

· идентификация всех программ и данных;

· обеспечение работы системы управления файлами и/или систем управления БД;

· обеспечение режима мультипрограммирования (многозадачности);

· планирование и диспетчеризация задач;

· обеспечение функций по организации и управлению операциями ввода/вывода;

· удовлетворение жестким ограничениям на время ответа в режиме реального времени (для соответствующих ОС);

· управление памятью, организация виртуальной памяти;

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

· защита одной программы от влияния другой; обеспечение сохранности данных;

· аутентификация, авторизация и другие средства обеспечения безопасности;

· предоставление услуг на случай частичного сбоя системы;

· обеспечение работы систем программирования;

· параллельное исполнение нескольких задач.

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

Наиболее важные из них

ü подсистема управления процессами,

ü подсистема управления памятью,

ü подсистема управления файлами,

ü подсистема управления внешними устройствами,

ü подсистема пользовательского интерфейса,

ü подсистема защиты данных и администрирования.

Замечание. Часто под ОС понимается то ПО, которое запускается в режиме ядра (привилегированном режиме, режиме супервизора).

Классификация операционных систем

Операционные системы различаются

ü особенностями реализации внутренних алгоритмов управления основными ресурсами компьютера (процессорами, памятью, устройствами),

ü особенностями использованных методов проектирования,

ü типами аппаратных платформ,

ü критериями эффективности,

ü особенностями реализации сетевых решений

ü и многими другими свойствами.

Особенности алгоритмов управления ресурсами

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

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

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

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

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

По числу одновременно работающих пользователей ОС делятся на:

  • однопользовательские (MS-DOS, Windows 3.x, ранние версии OS/2);
  • многопользовательские (UNIX, Windows NT).

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

. Следует заметить, что не всякая многозадачная система является многопользовательской, и не всякая однопользовательская ОС является однозадачной.

Читайте также:  Способ подавления влияния вариации удельной электрической проводимости основания

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

  • невытесняющая многозадачность (NetWare, Windows 3.x);
  • вытесняющая многозадачность (Windows NT, OS/2, UNIX).

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

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

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

ОС подразделяются на поддерживающие и неподдерживающие многонитевость.

Многонитевая ОС разделяет процессорное время не между задачами, а между их отдельными ветвями (нитями).

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

Мультипроцессорная обработка – это способ организации вычислительного процесса в системах с несколькими процессорами, при котором несколько задач (процессов, потоков) могут одновременно выполняться на разных процессорах системы.

Мультипроцессирование приводит к усложнению всех алгоритмов управления ресурсами.

В современных ОС введены функций поддержки многопроцессорной обработки данных. Такие функции имеются в операционных системах Solaris 2.x фирмы Sun, Open Server 3.x компании Santa Crus Operations, OS/2 фирмы IBM, Windows NT фирмы Microsoft и NetWare 4.1 фирмы Novell.

Многопроцессорные ОС могут классифицироваться по способу организации вычислительного процесса в системе с многопроцессорной архитектурой: асимметричные ОС и симметричные ОС.

Асимметричная ОС целиком выполняется только на одном из процессоров системы, распределяя прикладные задачи по остальным процессорам.

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

Особенности аппаратных платформ

На свойства операционной системы непосредственное влияние оказывают аппаратные средства, на которые она ориентирована.

По типу аппаратуры различают операционные системы

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

В зависимости от выбранного критерия эффективности операционные системы делятся на:

§ системы пакетной обработки (например, OC EC),

§ системы разделения времени (UNIX, VMS),

§ системы реального времени (QNX, RT/11).

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

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

Схема функционирования систем пакетной обработки данных :

ü в начале работы формируется пакет заданий, каждое задание содержит требование к системным ресурсам;

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

Таким образом, выбор нового задания из пакета заданий зависит от внутренней ситуации, складывающейся в системе, то есть выбирается «выгодное» задание.

Þ таких ОС невозможно гарантировать выполнение того или иного задания в течение определенного периода времени.

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

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

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

Системы разделения времени призваны исправить недостаток систем пакетной обработки данных.

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

Каждой задаче выделяется только квант процессорного времени,

Þ ни одна задача не занимает процессор надолго, и время ответа оказывается приемлемым.

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

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

1) на выполнение принимается каждая запущенная пользователем задача, а не та, которая «выгодна» системе,

2) увеличивается время работы, так как выполняется более частое переключение процессора с задачи на задачу.

Таким образом, критерием эффективности систем разделения времени является не максимальная пропускная способность, а удобство и эффективность работы пользователя.

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

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

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

Это время называется временем реакции системы, а соответствующее свойство системы — реактивностью.

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

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

Читайте также:  Способы подготовки поверхностей под покраску

Особенности архитектуры ОС

При описании операционной системы часто указываются основные концепции, положенные в ее основу.

К базовым концепциям относятся:

· способы построения ядра ОС;

· построение на базе ООПодхода;

· наличие нескольких прикладных сред;

· распределенная организация ОС.

По способам построения ядра ОС подразделяются на

· монолитные ( Windows , Linux – можем сами собрать ядро, включив в него модули и драйверы, которые считаем целесообразным включить);

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

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

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

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

Построение ОС на базе объектно-ориентированного подхода дает возможность использовать все его достоинства, хорошо зарекомендовавшие себя на уровне приложений, внутри операционной системы, а именно:

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

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

· структуризованность системы, состоящей из набора хорошо определенных объектов.

Наличие нескольких прикладных сред дает возможность в рамках одной ОС одновременно выполнять приложения, разработанные для нескольких ОС.

Многие современные операционные системы поддерживают одновременно прикладные среды MS-DOS, Windows, UNIX (POSIX), OS/2 или хотя бы некоторого подмножества из этого популярного набора. Концепция множественных прикладных сред наиболее просто реализуется в ОС на базе микроядра.

Распределенная организация операционной системы позволяет упростить работу пользователей и программистов в сетевых средах.

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

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

Напомним, необходимые основные моменты.

Микропроцессоры Intel x 86/ Pentium аппаратно поддерживают 4 уровня привилегий (режима): 0..3.

Большинство ОС поддерживают двухуровневую систему привилегий: привилегированный режим (режим ядра, пространство ядра) и пользовательский режим (пространство пользователя). (Например, Windows NT, UNIX)

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

В пользовательском режиме ( user mode ) доступ к регистрам и памяти ограничен. Приложению не будет позволено работать с памятью за пределами набора адресов, установленного ОС, или обращаться напрямую к регистрам устройств.

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

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

Единой архитектуры ОС не существует, но существуют универсальные подходы к структурированию ОС.

Наиболее общим подходом к структуризации ОС является подразделение модулей две группы:

Þ модули, выполняющие основные функции ОС — ядро ОС;

Þ модули, выполняющие вспомогательные функции ОС.

Модули ядра выполняют базовые функции ОС

· управление устройствами ввода-вывода.

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

Вспомогательные модули ОС

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

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

· утилиты — программы, которые решают отдельные задачи управления и сопровождения компьютерной системы (сжатие, дефрагментация и т.п. );

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

· программы предоставления пользователю дополнительных услуг — специальный вариант пользовательского интерфейса, калькулятор, некоторые игры);

· системные обрабатывающие программы — текстовые и графические редакторы, компиляторы, компоновщики, отладчики (Замечание. Чаще эти программы являются частью систем программирования).

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

Вспомогательные модули, в отличие от модулей ядра, являются транзитными.

Обратим внимание на то, что многие модули ОС оформлены как обычные приложения. Решение о том, является ли какая-либо программа частью ОС или нет, принимает производитель ОС. Некоторая программа может су щ ествовать определенное время как пользовательское приложение, а потом стать частью ОС (например, Web -браузер компании Microsoft — сначала поставлялся как отдельное приложение, затем стал частью ОС Windows , затем, по решению, суда снова превратился в самостоятельное приложение).

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

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

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

Источник

Оцените статью
Разные способы