Назначение и основные функции операционных систем. Состав операционной системы. Операционные системы, их функции

Аннотация: Функции операционной системы. Структура операционной системы. Классификация операционных систем. Требования к операционным системам.

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

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

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


Рис. 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) .

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

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

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

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

Обсуждение того, к какому типу относится ядро Windows NT, приведено в [ ; ]. В говорится о том, что 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) – целью является выполнение каждой задачи за строго определённый для данной задачи интервал времени.
  2. По типу ядра:
    • системы с монолитным ядром (monolithic operating systems);
    • системы с микроядром (microkernel operating systems);
    • системы с гибридным ядром (hybrid operating systems).
  3. По количеству одновременно решаемых задач:
    • однозадачные (single-tasking operating systems);
    • многозадачные (multitasking operating systems).
  4. По количеству одновременно работающих пользователей:
    • однопользовательские (single-user operating systems);
    • многопользовательские (multi-user operating systems).
  5. По количеству поддерживаемых процессоров:
    • однопроцессорные (uniprocessor operating systems);
    • многопроцессорные (multiprocessor operating systems).
  6. По поддержке сети:
    • локальные (local operating systems) – автономные системы, не предназначенные для работы в компьютерной сети;
    • сетевые (network operating systems) – системы, имеющие компоненты, позволяющие работать с компьютерными сетями.
  7. По роли в сетевом взаимодействии:
    • серверные (server operating systems) – операционные системы, предоставляющие доступ к ресурсам сети и управляющие сетевой инфраструктурой;
    • клиентские (client operating systems) – операционные системы, которые могут получать доступ к ресурсам сети.
  8. По типу лицензии:
    • открытые (open-source operating systems) – операционные системы с открытым исходным кодом, доступным для изучения и изменения;
    • проприетарные (proprietary operating systems) – операционные системы, которые имеют конкретного правообладателя; обычно поставляются с закрытым исходным кодом.
  9. По области применения:
    • операционные системы мэйнфреймов – больших компьютеров (mainframe operating systems);
    • операционные системы серверов (server operating systems);
    • операционные системы персональных компьютеров (personal computer operating systems);
    • операционные системы мобильных устройств (mobile operating systems);
    • встроенные операционные системы (embedded operating systems);
    • операционные системы маршрутизаторов (router operating systems).

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

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

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

Резюме

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

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

Контрольные вопросы

  1. Дайте определение понятию "операционная система".
  2. Назовите примеры прикладного, инструментального и системного программного обеспечения.
  3. Дайте определение понятий "системный вызов", "API", "драйвер", "ядро".
  4. Какие виды ядер вы знаете? К каким видам относятся ядра известных вам операционных систем?
  5. Чем ядро отличается от операционной системы?
  6. Приведите несколько способов классификации операционных систем.
  7. Назовите требования к современным операционным системам и объясните, что они означают.

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

  1. Разработка программ : ОС представляет программисту разнообразные инструменты разработки приложений: редакторы, отладчики и т.п. Ему не обязательно знать, как функционируют различные электронные и электромеханические узлы и устройства компьютера. Часто пользователь не знает даже системы команд процессора, поскольку он может обойтись мощными высокоуровневыми функциями, которые представляет ОС.
  2. Исполнение программ . Для запуска программы нужно выполнить ряд действий: загрузить в основную память программу и данные, инициализировать устройства ввода-вывода и файлы, подготовить другие ресурсы. ОС выполняет всю эту рутинную работу вместо пользователя.
  3. Доступ к устройствам ввода-вывода . Для управления каждым устройством используется свой набор команд. ОС предоставляет пользователю единообразный интерфейс, который скрывает все эти детали и обеспечивает программисту доступ к устройствам ввода-вывода с помощью простых команд чтения и записи. Если бы программист работал непосредственно с аппаратурой компьютера, то для организации, например, чтения блока данных с диска ему пришлось бы использовать более десятка команд с указанием множества параметров. После завершения обмена программист должен был бы предусмотреть еще более сложный анализ результата выполненной операции.
  4. Контролируемый доступ к файлам . При работе с файлами управление со стороны ОС предполагает не только глубокий учет природы устройства ввода-вывода, но и знание структур данных, записанных в файлах. Многопользовательские ОС, кроме того, обеспечивают механизм защиты при обращении к файлам.
  5. Системный доступ . ОС управляет доступом к совместно используемой или общедоступной вычислительной системе в целом, а также к отдельным системным ресурсам. Она обеспечивает защиту ресурсов и данных от несанкционированного использования и разрешает конфликтные ситуации.
  6. Обнаружение ошибок и их обработка . При работе компьютерной системы могут происходить разнообразные сбои за счет внутренних и внешних ошибок в аппаратном обеспечении, различного рода программных ошибок (переполнение, попытка обращения к ячейке памяти, доступ к которой запрещен и др.). В каждом случае ОС выполняет действия, минимизирующие влияние ошибки на работу приложения (от простого сообщения об ошибке до аварийной остановки программы).
  7. Учет использования ресурсов . Хорошая ОС имеет средства учета использования различных ресурсов и отображения параметров производительности вычислительной системы. Эта информация важна для настройки (оптимизации) вычислительной системы с целью повышения ее производительности.

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

2. Организация эффективного использования ресурсов компьютера. ОС не только представляет пользователям и программистам удобный интерфейс к аппаратным средствам компьютера, но и является своеобразным диспетчером ресурсов компьютера. К числу основных ресурсов современных вычислительных систем относятся процессоры, основная память , таймеры, наборы данных, диски, накопители на магнитных лентах (МЛ), внешние накопители памяти(CD/DVD/Blu-Ray/ USB ), принтеры, сетевые устройства и др. Эти ресурсы распределяются операционной системой между выполняемыми программами. В отличие от программы, которая является статическим объектом , выполняемая программа – это динамический объект , он называется процессом и является базовым понятием современных ОС.

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

Управление ресурсами включает решение ряда общих, не зависящих от типа ресурса задач:

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

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

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

Кроме того, современные ОС имеют достаточно большой набор средств и способов диагностики и восстановления работоспособности системы. Сюда относятся:

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

Следует отметить еще одно назначение ОС.

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

  1. Обновление и возникновение новых видов аппаратного обеспечения . Например, ранние версии ОС UNIX и OS/2 не использовали механизмы страничной организации памяти (что это такое, мы рассмотрим позже), потому, что они работали на машинах, не обеспеченных соответствующими аппаратными средствами.
  2. Новые сервисы . Для удовлетворения пользователей или нужд системных администраторов ОС должны постоянно предоставлять новые возможности. Например, может потребоваться добавить новые инструменты для контроля или оценки производительности, новые средства ввода-вывода данных (речевой ввод). Другой пример – поддержка новых приложений, использующих окна на экране дисплея.
  3. Исправления . В каждой ОС есть ошибки. Время от времени они обнаруживаются и исправляются. Отсюда постоянные появления новых версий и редакций ОС. Необходимость регулярных изменений накладывает определенные требования на организацию операционных систем. Очевидно, что эти системы (как, впрочем, и другие сложные программы системы) должны иметь модульную структуру с четко определенными межмодульными связями (интерфейсами). Важную роль играет хорошая и полная документированность системы.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ОС - это сложная программная система, управляющая работой компьютера. Она организует диалог с пользователем, дает возможность удобного доступа к ресурсам и управляет выполнением всех программ. При включении компьютера происходит загрузка ОС в оперативную память ЭВМ. Точнее говоря, в ОЗУ загружается с магнитного диска ядро ОС, т. е. та часть системы, которая должна постоянно находиться в оперативной памяти, пока работает компьютер. Диск, на котором хранится ОС и с которого происходит ее загрузка, называется системным диском.

Любые операционные системы, независимо от типа, выполняют три основные функции:

– управление устройствами компьютера;

– взаимодействие с пользователем;

– работа с файлами.

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

Многозадачный режим работы компьютера означает, что пользователь может запустить сразу несколько прикладных программ и работать с ними одновременно. Запущенные программы называются активными задачами, и все они отражаются значками на панели задач Windows. Например, можно одновременно запустить программы «Калькулятор», «Блокнот», «Paint»; на экране появятся окна этих программ. Пользователь, переходя из одного окна в другое, может поочередно работать с этими приложениями. При таких переходах предыдущая программа не закрывается, т. е. не выгружается из оперативной памяти, и в любой момент готова продолжить свою работу, как только пользователь вернется в ее окно.

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



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

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

Научиться работать на компьютере - это значит, прежде всего, научиться взаимодействовать с операционной системой. Обычно пользователь, привыкший работать в среде какой-то определенной ОС, сталкиваясь с незнакомой ему системой, с непривычной обстановкой на экране, испытывает растерянность. В компьютерной терминологии для обозначения способа, взаимодействия программы с пользователем принят термин пользовательский интерфейс. Очень удобно, когда пользовательский интерфейс унифицирован. Примером такого унифицированного интерфейса является среда диалоговой оболочки Norton Commander (NC). Ее аналоги реализованы в различных операционных системах. Не очень грамотный пользователь может и не знать, с какой ОС он работает, но ориентироваться в интерфейсе NC. Примером другого унифицированного системного интерфейса является «Рабочий стол» Windows. Это объектно-ориентированная графическая среда. С появлением новых версий ОС Windows она может в чем-то совершенствоваться, но основные принципы будут сохраняться для соблюдения преемственности, для удобства пользователя.

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

– уметь находить нужную программу и инициализировать ее выполнение;

– уметь выполнять основные операции с файлами: копировать, переносить, удалять, переименовывать, просматривать содержимое файлов;

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

Общение операционной системы с пользователем происходит в диалоговом (интерактивном) режиме в форме:

<Приглашение ОС> - <Команда, отдаваемая пользователем>

Такая схема универсальна. Однако в зависимости от используемого интерфейса, как форма приглашения, так и способ передачи команды могут быть разными. Если работа происходит без использования какой-либо удобной диалоговой оболочки, то общение пользователя с ОС производится через командную строку. Такое возможно, например, при работе с MS-DOS. На экране в командной строке появляется символьный курсор, указывающий на то, что система готова к приему команды. Обычно в командной строке еще указывается текущий диск и текущий каталог, с которым может работать ОС. Такое состояние командной строки пользователь должен воспринимать как приглашение системы к вводу команды. Далее пользователь через клавиатуру вводит нужную команду. При этом он должен точно соблюдать синтаксис команды, иначе она не будет воспринята. Например:

С:\> сору filel.txt A:\file2.txt

Перед значком «>» стоит информация, выводимая с приглашением ОС, которая указывает на текущий диск (С) и текущий каталог (корневой). После значка «>» записана команда, которую ввел пользователь. Ее смысл: скопировать файл с именем filel.txt с текущего диска и каталога в корневой каталог диска А под новым именем file2.txt.

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

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

Третья функция операционной системы - работа с файлами. Эта работа осуществляется с помощью раздела ОС, который называется файловой системой. При работе с MS-DOS имя файла может содержать не более 8 символов - латинских букв и цифр; для Windows имя файла может быть более длинным (до 255 символов) и допускает использование русских букв.

Все файлы в компьютере, как и информация, делятся на два типа: программные (их еще называют исполняемыми файлами) и файлы данных. Память жесткого диска (винчестера) может делится на части (логические диски), каждой из которых присваивается свое имя (С:, D: и т. д.), т. е. в этом случае различают понятия физического и логического дисков. Если же компьютер обладает только накопителями для дискет, то можно просто говорить о дисках А: или В:, не употребляя эпитеты «логический» или «физический».

Понятие «дерева» каталогов характерно для операционных систем, работающих с иерархическими файловыми структурами (MS-DOS и Windows). Иерархические структуры - это один из распространенных способов организации данных (наряду с сетевым и табличным). Наглядное представление о файловой структуре дает дерево - графическое отображение иерархии каталогов (папок) на диске. Единственный путь перехода из одного подкаталога в другой, это возврат (движение вверх по «дереву»), а затем движение вниз по новому направлению. Таким образом, полное имя файла в ОС WINDOWS включает имя диска, путь к файлу на диске и собственно имя и расширение файла.

02.05.2017

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

Что должна уметь ОС компьютера

Независимо от выбора ОС, есть основные функции, которые есть в каждой из них:

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

Разновидности операционных систем

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

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

Существуют и другие виды системы для компьютера, так IBM и Microsoft в далеком прошлом сотрудничали для создания ОС OS/2, позже Майкрософт ушла от разработки. Еще одна ОС MacOS работает на ПК Macintosh.

По каким параметрам оценивают операционную систему

Самое простое различие ОС – это доступность: платные и бесплатные. Linux распространяется бесплатно, Windows – платно. Две эти операционные системы с графическим интерфейсом, в отличие от MS DOS – текстовый.

Так же важно понимать, сколько задач выполняет ОС: многозадачная или однозадачная. Например, MS DOS способна работать с одной программой, а UNIX, OS/2, Windows – многозадачные, поддерживают запуск сразу несколько программ.

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


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

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

Дополнительные функции:

1) параллельной или псевдопараллельное выполнение задач (многозадачность);

7) многопользовательский режим работы и разграничение прав доступа;


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

Монопольные, которые могут использоваться только одной программой (печать, МЛ);

Разделяемые, которые допускают их совместное использование одновременно несколькими процессами (НМД, ОП).

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

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

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

Однозадачные (например, MS-DOS, MSX) и

Многозадачные (OC EC, OS/2, UNIX, Windows 95).

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

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

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

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

Многопользовательские (UNIX, Windows NT).

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

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

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

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

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

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

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


  1. Определение операционной системы. Место ОС в программном обеспечении вычислительных систем
Существуют две группы отделений ОС:

1) ОС - набор программ, управляющих оборудованием;

2) ОС - набор программ, управляющих други программами.

Обе они имеют свой точный технический смысл.

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

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

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

1) обслуживание пользователя;

2) обслуживание самой ОС.

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


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

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

Основные функции, выполняемые ОС:

1) выполнение программ по запросу (ввод/вывод данных, запуск и остановка других программ, выделение и освобождение дополнительной памяти);

2) загрузки программ в оперативную память и их выполнение;

3) стандартизованный доступ к периферийным устройствам (устройства ввода/вывода);

4) управление оперативной памятью (распределение между процессами, организация виртуальной памяти);

5) управление доступом к данным на энергонезависимых носителях, организованным в той или иной файловой системе;

6) обеспечение пользовательского интерфейса;

7) сохранение информации об ошибках системы.

Дополнительные функции:

1) паралллельной или псевдопараллельное выполнение задач (многозадачность);

2) эффективное распределение ресурсов вычислительной системы между процессами;

3) разграничение доступа различных процессов к ресурсам;

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

5) взаимодействие между процессорами, обмен данными, взаимная синхронизация;

6) защита самой системы, а также пользовательских данных и программ от действий пользователей или приложений;

7) многопользовательский режим работы и разграничение прав доступа
7)

Компоненты операционной системы:

1) загрузчик

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

Объекты ядра ОС:

Процессы

События

Семафоры

Мьютексы

Файлы, проецируемые в память.

3) командный процессор (интерпретатор)

4) Драйверы устройств

5) интерфейс
8)

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

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

Основные идеи

ОС как расширенная машина

Использование большинства компьютеров на уровне машинного языка затруднительно. Особенно это касается ввода и вывода. Например, для организации чтит блока данных с диска может использоваться 16 различных команд, в каждой из которых требуется порядка 15 параметров, таких как: номер блока на диске, номер сектора на дорожке и так далее. Когда выполнение операций с диском завершается, контролер возвращает 23 значения, отражающих наличие и типы ошибок, которые очевидно надо анализировать.

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

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

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

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

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

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

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

Пакетный режим

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

[править]Разделение времени и многозадачность

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

Необходимость в разделении времени (многозадачности, мультипрограммировании) проявилась ещё сильнее при распространении в качестве устройств ввода-вывода телетайпов (а позднее, терминалов с электронно-лучевыми дисплеями) (1960-е годы). Поскольку скорость клавиатурного ввода (и даже чтения с экрана) данных оператором много ниже, чем скорость обработки этих данных компьютером, использование компьютера в «монопольном» режиме (с одним оператором) могло привести к простою дорогостоящих вычислительных ресурсов.

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

[править]Разделение полномочий

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

Реализация разделения полномочий в операционных системах была поддержана разработчиками процессоров, предложивших архитектуры с двумя режимами работы процессора - «реальным» (в котором исполняемой программе доступно всё адресное пространство компьютера) и «защищённым» (в котором доступность адресного пространства ограничена диапазоном, выделенном при запуске программы на исполнение).

[править]Реальный масштаб времени

Применение универсальных компьютеров для управления производственными процессами потребовало реализации «реального масштаба времени» («реального времени») - синхронизации исполнения программ с внешними физическими процессами.

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

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

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

Ресурсы подразделяют на:

1) cистемные - низкоуровневые, которыми управляет сама операционная система. Время работы процессора, оперативная память, память на постоянных носителях, возможностиразнообразных внешних устройств и время их работы - все это система должна предоставлять пользователям и этим должна управлять.

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

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

1) pазделяемыми - когда несколько процессов могут их использовать одновременно (в один и тот же момент времени) или параллельно (в течение некоторого интервала времени процессы используют ресурс попременно)

2) неделимыми.
10)

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

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

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

Не знаю,надо или нет,но есть такой раздел "Операционная среда. Прикладная среда"

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


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

  1. Поток. Контекст. Волокна
Понятию «поток» соответствует последовательный переход процессора от одной команды программы к другой. ОС распределяет процессорное время между потоками. Существуют Однопоточные и многопоточные ОС.

Просмотров