К однозадачным операционным системам относится выберите один ответ linux os 2 windows ms dos

К однозадачным операционным системам относятся …

  • Windows XP
  • MS-DOS
  • Mac OS
  • Linux

Помогли ответы? Ставь лайк 👍

Вопрос задал(а): Анонимный пользователь, 13 Ноябрь 2020 в 21:09
На вопрос ответил(а): Анастасия Степанова, 13 Ноябрь 2020 в 21:09

C 2014 года Помогаем сдавать тесты!

Источник статьи

Автор24
— учеба по твоим правилам

Определение 1

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

Введение

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

  1. Операционные системы.
  2. Системы программирования.
  3. Инструментальные программные продукты (интегрированные пакеты).
  4. Прикладные программы.

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

Назначение, классификация и эволюция операционных систем

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

«Назначение, классификация и эволюция операционных систем» 👇

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

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

  1. Операционные системы однозадачного и многозадачного типа.
  2. Операционные системы однопользовательского и многопользовательского типа.
  3. Операционные системы однопроцессорного и многопроцессорного типа.
  4. Операционные системы локального и сетевого типа.

Однозадачными считаются системы класса MS DOS, а к многозадачным относятся операционные системы типа OS/2, Unix, Windows и другие. В однозадачных системах применяются средства управления периферийными устройствами, средства управления файлами, средства общения с пользователями. Многозадачные операционные системы могут использовать весь набор средств однозадачных систем, и, помимо этого, способны управлять разделением совместно используемых ресурсов, а именно, процессором, ОЗУ, файлами и внешними устройствами.

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

  1. Операционные системы, предназначенные для пакетной обработки (например, ЕС).
  2. Операционные системы, обладающие разделением времени (Unix, Linux, Windows).
  3. Операционные системы реального времени (RT11).

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

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

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

Одним из важных достоинств операционной системы считается наличие в ней возможности поддерживать многопроцессорную обработку данных. Такие средства имеются в OS/2, Net Ware, Widows NT. По методу организации вычислительных процессов данные операционные системы делятся на следующие типы:

  1. Операционные системы асимметричного типа.
  2. Операционные системы симметричного типа.

© 2025 Prezi Inc.
Terms & Privacy Policy

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

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

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

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

  2. По способу загрузки можно выделить загружаемые ОС (большинство) и системы, постоянно находящиеся в памяти вычислительной системы. Последние, как правило, специализированные и используются для управления работой специализированных устройств (например, в БЦВМ баллистической ракеты или спутника, научных приборах, автоматических устройствах различного назначения и др.).
  3. По особенностям алгоритмов управления ресурсами. Главным ресурсом системы является процессор, поэтому дадим классификацию по алгоритмам управления процессором, хотя можно, конечно, классифицировать ОС по алгоритмам управления памятью, устройствами ввода-вывода и.т.д.
    • Поддержка многозадачности (многопрограммности). По числу одновременно выполняемых задач ОС делятся на 2 класса: однопрограммные (однозадачные) – например, MS-DOS, MSX, и многопрограммные (многозадачные) – например, ОС ЕС ЭВМ, OS/360, OS/2, UNIX, Windows разных версий.

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

    • Поддержка многопользовательского режима. По числу одновременно работающих пользователей ОС делятся: на однопользовательские (MS-DOS, Windows 3х, ранние версии OS/2) и многопользовательские (UNIX, Windows NT/2000/2003/XP/Vista).

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

    • Виды многопрограммной работы. Специфику ОС во многом определяет способ распределения времени между несколькими одновременно существующими в системе процессами (или потоками). По этому признаку можно выделить 2 группы алгоритмов: не вытесняющая многопрограммность (Windows3.x, NetWare) и вытесняющая многопрограммность (Windows 2000/2003/XP, OS/2, Unix).

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

    • Многопроцессорная обработка. Важное свойство ОС – отсутствие или наличие средств поддержки многопроцессорной обработки. По этому признаку можно выделить ОС без поддержки мультипроцессирования (Windows 3.x, Windows 95) и с поддержкой мультипроцессирования (Solaris, OS/2, UNIX, Windows NT/2000/2003/XP).

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

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

    • системы пакетной обработки (OS/360, OC EC);
    • системы разделения времени (UNIX, VMS);
    • системы реального времени (QNX, RT/11).

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

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

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

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

    • Операционные системы для смарт-карт. Некоторые из них могут управлять только одной операцией, например, электронным платежом. Некоторые смарт-карты являются JAVA-ориентированным и содержат интерпретатор виртуальной машины JAVA. Апплеты JAVA загружаются на карту и выполняются JVM-интерпретатором. Некоторые из таких карт могут одновременно управлять несколькими апплетами JAVA, что приводит к многозадачности и необходимости планирования.
    • Встроенные операционные системы. Управляют карманными компьютерами (lialm OS, Windows CEConsumer Electronics – бытовая техника), мобильными телефонами, телевизорами, микроволновыми печами и т.п.
    • Операционные системы для персональных компьютеров, например, Windows 9.x, Windows ХР, Linux, Mac OSX и др.
    • Операционные системы мини-ЭВМ, например, RT-11 для PDP-11 – OC реального времени, RSX-11 M для PDP-11 – ОС разделения времени, UNIX для PDP-7.
    • Операционные системы мэйнфреймов (больших машин), например, OS/390, происходящая от OS/360 (IBM). Обычно ОС мэйнфреймов предполагает одновременно три вида обслуживания: пакетную обработку, обработку транзакций (например, работа с БД, бронирование авиабилетов, процесс работы в банках) и разделение времени.
    • Серверные операционные системы, например, UNIX, Windows 2000, Linux. Область применения – ЛВС, региональные сети, Intranet, Internet.
    • Кластерные операционные системы. Кластер – слабо связанная совокупность нескольких вычислительных систем, работающих совместно для выполнения общих приложений и представляющихся пользователю единой системной, например, Windows 2000 Cluster Server, Windows 2008 Server, Sun Cluster (базовая ОС – Solaris).

1.7. Эффективность и требования, предъявляемые к ОС

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

  1. Эффективность. Под эффективностью вообще любой технической (да и не только технической) системы понимается степень соответствия системы своему назначению, которая оценивается некоторым множеством показателей эффективности [10].

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

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

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

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

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

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

  4. Предсказуемость. Требования, которые пользователь может предъявить к системе, в большинстве случаев непредсказуемы. В то же время пользователь предпочитает, чтобы обслуживание не очень сильно менялось в течение предположительного времени. В частности, запуская свою программу в системе, пользователь должен иметь основанное на опыте работы с этой программной приблизительное представление, когда ему ожидать выдачи результатов.
  5. Расширяемость. В отличие от аппаратных средств компьютера полезная жизнь операционных систем измеряется десятками лет. Примером может служить ОС UNIX, да и MS-DOS. Операционные системы изменяются со временем, как правило, за счет приобретения новых свойств, например, поддержки новых типов внешних устройств или новых сетевых технологий. Если программный код модулей ОС написан таким образом, что дополнения и изменения могут вноситься без нарушения целостности системы, то такую ОС называют расширяемой. Операционная система может быть расширяемой, если при ее создании руководствовались принципами модульности, функциональной избыточности, функциональной избирательности и параметрической универсальности.
  6. Переносимость. В идеальном случае код ОС должен легко переноситься с процессора одного типа на процессор другого типа и с аппаратной платформы (которые различаются не только типом процессора, но и способом организации всей аппаратуры компьютера) одного типа на аппаратную платформу другого типа. Переносимые ОС имеют несколько вариантов реализации для разных платформ, такое свойство ОС называется также многоплатформенностью. Достигается это свойство за счет того, что основная часть ОС пишется на языке высокого уровня (например С, C++ и др.) и может быть легко перенесена на другой компьютер (машинно-независимая часть), а некоторая меньшая часть ОС (программы ядра) является машинно-зависимой и разрабатывается на машинном языке другого компьютера.
  7. Совместимость. Существует несколько «долгоживущих» популярных ОС (разновидности UNIX, MS-DOS, Windows3.x, Windows NT, OS/2), для которых наработана широкая номенклатура приложений. Для пользователя, переходящего с одной ОС на другую, очень привлекательна возможность – выполнить свои приложения в новой операционной системе. Если ОС имеет средства для выполнения прикладных программ, написанных для других операционных систем, то она совместима с этими системами. Следует различать совместимость на уровне двоичных кодов и совместимость на уровне исходных текстов. Кроме того, понятие совместимости включает также поддержку пользовательских интерфейсов других ОС.
  8. Удобство. Средства ОС должны быть простыми и гибкими, а логика ее работы ясна пользователю. Современные ОС ориентированы на обеспечение пользователю максимально возможного удобства при работе с ними. Необходимым условием этого стало наличие у ОС графического пользовательского интерфейса и всевозможных мастеров – программ, автоматизирующих активизацию функций ОС, подключение периферийных устройств, установку, настройку и эксплуатацию самой ОС.
  9. Масштабируемость. Если ОС позволяет управлять компьютером с различным числом процессоров, обеспечивая линейное (или почти такое) возрастание производительности при увеличении числа процессоров, то такая ОС является масштабируемой. В масштабируемой ОС реализуется симметричная многопроцессорная обработка. С масштабируемостью связано понятие кластеризации – объединения в систему двух (и более) многопроцессорных компьютеров. Правда, кластеризация направлена не столько на масштабируемость, сколько на обеспечение высокой готовности системы.

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

Производители могут предлагать свои ОС в различных, различающихся ценой и производительностью, конфигурациях. Например, Microsoft продает [10]:

  • Windows 2003 Server (до 4-х процессоров) – для малого и среднего бизнеса;
  • Windows 2003 Advanced Server (до 8 процессоров, 2-узловой кластер) – для средних и крупных предприятий;
  • Windows 2003 DataCenter Server (16-32 процессора, 4-узловой кластер) – для особо крупных предприятий.

Более детальное описание типов ос Однозадачные ос

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

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

Однозадачными
были и ОС для первых микрокомпьютеров;
к таковым относятся CP/M, MS-DOS, PC-DOS и др.
Затем, с появлением процессоров 80286 и
80386, появилась аппаратная поддержка
многозадачности и защита памяти, что
позволяло реализовать на персональных
компьютерах полноценные многозадачные
ОС. Однако из-за необходимости сохранения
совместимости с уже созданным программным
обеспечением однозадачная MS-DOS сдавала
свои позиции медленно, и прошло немало
времени, прежде чем многозадачные
системы — Linux, OS/2 и другие — окончательно
вытеснили её.

Многозадачные ос

Многозада́чность
(англ. multitasking) — свойство операционной
системы или среды программирования
обеспечивать возможность параллельной
(или псевдопараллельной) обработки
нескольких процессов. Истинная
многозадачность операционной системы
возможна только в распределенных
вычислительных системах.

С

Lorem
ipsum dolor sit amet

войства многозадачной среды

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

Более
развитые многозадачные системы проводят
распределение ресурсов динамически,
когда задача стартует в памяти или
покидает память в зависимости от её
приоритета и от стратегии системы. Такая
многозадачная среда обладает следующими
особенностями:

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

  • Система
    организует очереди задач так, чтобы
    все задачи получили ресурсы, в зависимости
    от приоритетов и стратегии системы

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

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

  • Система
    обеспечивает защиту адресного
    пространства задачи от несанкционированного
    вмешательства других задач

  • Система
    обеспечивает защиту адресного
    пространства своего ядра от
    несанкционированного вмешательства
    задач

  • Система
    распознаёт сбои и зависания отдельных
    задач и прекращает их

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

  • Система
    гарантирует каждой задаче, что рано
    или поздно она будет активирована

  • Система
    обрабатывает запросы реального времени

  • Система
    обеспечивает коммуникацию между
    процессами

Т

рудности реализации многозадачной
среды

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

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

И

Lorem
ipsum dolor sit amet

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

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

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

Впервые
многозадачность операционной системы
была реализована в ходе разработки
операционной системы Multics (1964 год). Одной
из первых многозадачных систем была
OS/360 (1966[1]), используемая для компьютеров
фирмы IBM и их советских аналогов ЕС ЭВМ.
Разработки системы были сильно затянуты,
и на начальное время фирма IBM выдвинула
однозадачный DOS, чтобы удовлетворить
заказчиков до полной сдачи OS/360 в
эксплуатацию. Система подвергалась
критике по причине малой надёжности и
трудности эксплуатации.

В
1969 году на основе Multics была разработана
система UNIX с достаточно аккуратным
алгоритмическим решением проблемы
многозадачности. В настоящее время на
базе UNIX созданы десятки операционных
систем.

На
компьютерах PDP-11 и их советских аналогах
СМ-4 использовалась многозадачная
система RSX-11 (советский аналог ОС РВ), и
система распределения времени TSX-PLUS,
обеспечивающая ограниченные возможности
многозадачности и многопользовательский
режим разделения времени, эмулируя для
каждого пользователя однозадачную
RT-11 (советский аналог РАФОС). Последнее
решение было весьма популярно из-за
низкой эффективности и надёжности
полноценной многозадачной системы.

Аккуратным
решением оказалась операционная система
VMS, разработанная первоначально для
компьютеров VAX (советский аналог —
СМ-1700) как развитие RSX-11.

Первый
в мире мультимедийный персональный
компьютер Amiga 1000 (1984 год) изначально
проектировался с расчётом на полную
аппаратную поддержку вытесняющей
многозадачности реального времени в
ОС AmigaOS. В данном случае разработка
аппаратной и программной части велась
параллельно, это привело к тому, что по
показателю квантования планировщика
многозадачности (1/50 секунды на переключение
контекста) AmigaOS долгое время оставалась
непревзойдённой на персональных
компьютерах.

М

Lorem
ipsum dolor sit amet

ногозадачность обеспечивала также
фирма Microsoft в операционных системах
Windows. При этом Microsoft выбрала две линии
разработок — на базе приобретённой ею
Windows 0.9[источник не указан 376 дней], которая
после долгой доработки системы, изначально
обладавшей кооперативной многозадачностью,
аналогичной Mac OS, вылилась в линейку
Windows 3.x, и на основе идей, заложенных в
VMS, которые привели к созданию операционных
систем Windows NT. Использование опыта VMS
обеспечило системам существенно более
высокую производительность и надёжность.
По времени переключения контекста
многозадачности (квантование) только
эти операционные системы могут быть
сравнимы с AmigaOS и UNIX (а также его потомками,
такими, как ядро Linux).

Типы псевдопараллельной
многозадачности

Невытесняющая
многозадачность

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

Совместная
или кооперативная многозадачность

Сюда
перенаправляется запрос «Кооперативная
многозадачность». На эту тему нужна
отдельная статья.

Тип
многозадачности, при котором следующая
задача выполняется только после того,
как текущая задача явно объявит себя
готовой отдать процессорное время
другим задачам. Как частный случай,
такое объявление подразумевается при
попытке захвата уже занятого объекта
mutex (ядро Linux), а также при ожидании
поступления следующего сообщения от
подсистемы пользовательского интерфейса
(Windows версий до 3.x включительно, а также
16-битные приложения в Windows 9x).

Кооперативную
многозадачность можно назвать
многозадачностью «второй ступени»
поскольку она использует более передовые
методы, чем простое переключение задач,
реализованное многими известными
программами (например, DOS Shell из MS-DOS 5.0
при простом переключении активная
программа получает все процессорное
время, а фоновые приложения полностью
замораживаются. При кооперативной
многозадачности приложение может
захватить фактически столько процессорного
времени, сколько оно считает нужным.
Все приложения делят процессорное
время, периодически передавая управление
следующей задаче.

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

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

Реализована
в пользовательском режиме ОС Windows версий
до 3.х включительно, Mac OS версий до Mac OS
X, а также внутри ядер многих UNIX-подобных
ОС, таких, как FreeBSD, а в течение долгого
времени — и Linux.

В

Lorem
ipsum dolor sit amet

ытесняющая или приоритетная
многозадачность (режим реального
времени)

Вытесняющая
многозадачность

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

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

Недостатки:
необходимость особой дисциплины при
написании кода, особые требования к его
реентрантности, к защите всех разделяемых
и глобальных данных объектами типа
критических секций и mutex’ов.

Реализована
в таких ОС, как:

  • VMS

  • Linux

  • в
    пользовательском режиме (а часто и в
    режиме ядра) всех UNIX-подобных ОС, включая
    версии Mac OS от OS X и старше, iPod OS и iPhone OS

  • в
    режиме ядра ОС Windows 3.x — только при
    исполнении на процессоре 386 или старше,
    «задачами» являются только все
    Windows-приложения вместе взятые и каждая
    отдельная виртуальная машина ДОС, между
    приложениями Windows вытесняющая
    многозадачность не использовалась

  • Windows
    95/98/Me — без полноценной защиты памяти,
    что служило причиной крайне низкой, на
    одном уровне с MS-DOS, Windows 3.x и Mac OS версий
    до X — надежности этих ОС

  • Windows
    NT/2000/XP/Vista/7 и в режиме ядра, и в
    пользовательском режиме.

  • A

    Lorem
    ipsum dolor sit amet

    migaOS — все версии, до версии 4.0 без
    полноценной защиты памяти, что на
    практике для системных программ почти
    не сказывалось на надёжности из-за
    высокой стандартизированности,
    прозрачных API и SDK. Программы ориентированные
    на «железо» Амиги, наоборот не отличались
    надёжностью.

Проблемные
ситуации в многозадачных системах

Голодание
(starvation)

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

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

Голодание
создаёт узкое место в системе и не дает
выжать из нее максимальную производительность,
ограничиваемую только аппаратно
обусловленными узкими местами.

Любое
голодание вне 100 % загрузки процессора
может быть устранено повышением
приоритета голодающей нити, возможно
— временным.

Как
правило, для предотвращения голодания
ОС автоматически вызывает на исполнение
готовые к нему низкоприоритетные потоки
даже при наличии высокоприоритетных,
при условии, что поток не исполнялся в
течение долгого времени (~10 секунд).

Гонка
(race condition)

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

Устраняется
добавлением необходимых блокировок и
примитивов синхронизации. Обычно
является легко устраняемым дефектом
(забытая блокировка).

Инверсия
приоритета

Поток
L имеет низкий приоритет, поток M —
средний, поток H — высокий. Поток L
захватывает mutex, и, выполняясь с удержанием
mutex’а, преемптивно прерывается потоком
M, который пробудился по какой-то причине,
и имеет более высокий приоритет. Поток
H пытается захватить mutex.

В
полученной ситуации поток H ожидает
завершения текущей работы потоком M,
ибо, пока поток M исполняется,
низкоприоритетный поток L не получает
управления и не может освободить mutex.

Устраняется
повышением приоритета всех нитей,
захватывающих данный mutex, до одного и
того же высокого значения на период
удержания mutexa. Некоторые реализации
mutex’ов делают это автоматически.

Соседние файлы в папке Контрольная 1 для дистанцинки Вариант 1

  • #
  • #
  • #
  • #
  • #
  • #

    15.06.201494.21 Кб5PSPK-IlyukevichVA-1KR2W5.mdb

  • #
  • #

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • The windows media player network sharing service
  • Windows pro или pro education
  • Rhino for windows 8
  • Android app player on windows pc
  • Microsoft ggk windows professional 7 sp1 32 bit 64 bit russian legalization dsp oei dvd