Какая операционная система для компьютера является многозадачной
Не мальчеГи тут собрались, а какие-то хамы недалекие! На вопрос ответить не могут, но зато оскорблять научились, словно БАБЫ базарные, а не мужики.
В связи с вопросом вспоминается анекдот про многозадачность винды:
- Папа, а правда что Windows многозадачная операционная система?
- Да сынок, сейчас дискетку отформатирую и покажу.
Многозадачность в Windows реализована отвратительно. Причем принято говорить, что это проблема поколения Windows 9.х и XP, но на деле проблема остается и в современных версиях Windows. Linux реализует настоящую многозадачность. Все процессы независимы; ни один из них не должен мешать выполнению других задач. Для этого ядро осуществляет режим разделения времени центрального процессора, по-очередно выделяя каждому процессу интервалы времени для выполнения. Это существенно отличается от режима "вытесняющей многозадачноти", реализованной в Windows, когда процесс должен сам "уступить" процессор другим процессам (и может сильно задержать их выполнение).
Впервые многозадачность операционной системы была реализована в ходе разработки операционной системы Multics (1964 год) . Одной из первых многозадачных систем была OS/360 (1966[2]), используемая для компьютеров фирмы IBM и их советских аналогов ЕС ЭВМ. Разработки системы были сильно затянуты, и на начальное время фирма IBM выдвинула однозадачный DOS, чтобы удовлетворить заказчиков до полной сдачи OS/360 в эксплуатацию. Система подвергалась критике по причине малой надёжности и трудности эксплуатации.
В 1969 году на основе Multics была разработана система UNIX с достаточно аккуратным алгоритмическим решением проблемы многозадачности. В настоящее время на базе UNIX созданы десятки операционных систем.
На компьютерах PDP-11 и их советских аналогах СМ-4 использовалась многозадачная система RSX-11 (советский аналог — ОСРВ СМ ЭВМ) , и система распределения времени TSX-PLUS, обеспечивающая ограниченные возможности многозадачности и многопользовательский режим разделения времени, эмулируя для каждого пользователя однозадачную RT-11 (советский аналог — РАФОС) . Последнее решение было весьма популярно из-за низкой эффективности и надёжности полноценной многозадачной системы.
Аккуратным решением оказалась операционная система VMS, разработанная первоначально для компьютеров VAX (советский аналог — СМ-1700) как развитие RSX-11.
Многозадачность обеспечивала также фирма Microsoft в операционных системах Windows. При этом Microsoft выбрала две линии разработок — на базе приобретённой ею Windows 0.9[источник не указан 1203 дня] , которая после долгой доработки системы, изначально обладавшей кооперативной многозадачностью, аналогичной Mac OS, вылилась в линейку Windows 3.x, и на основе идей, заложенных в VMS, которые привели к созданию операционных систем Windows NT. Использование опыта VMS обеспечило системам существенно более высокую производительность и надёжность. По времени переключения контекста многозадачности (квантование) только эти операционные системы могут быть сравнимы с AmigaOS и UNIX (а также его потомками, такими, как ядро Linux).
Интересно, что многозадачность может быть реализована не только в операционной, но и языковой среде. Например, спецификации языков программирования Modula-2 и Ada требуют поддержки многозадачности вне привязки к какой-либо операционной системе. В результате, популярная в первой половине 1990-х годов реализация языка программирования TopSpeed Модула-2 от JPI/Clarion позволяла организовывать различные типы многозадачности (кооперативную и вытесняющую — см. ниже) для потоков одной программы в рамках такой принципиально однозадачной операционной системы, как MS-DOS. Это осуществлялось путём включения в модуль программы компактного планировщика задач, содержащего обработчик таймерных прерываний [3]. Языки программирования, обладающие таким свойством, иногда называют языками реального времени.
Как видишь о многозадачности виндовс можно говорить начиная с NT и более поздние версии.
Многозадачная операционная система-это любой тип системы, которая будет способна одновременно запускать более одной программы.Большинство современных операционных систем настроены работать с несколькими программами одновременно, за исключением некоторых частных развитых систем, которые предназначены для использования в определенных деловых ситуациях.Многозадачная операционная система, управляет двумя или более задачами,и как правило,участвует для переключения ресурсов система взад и вперед между двумя запущенными процессами.
Многозадачная операционная система будет выполнять задачи,замораживать программу на несколько секунд, а затем выполнять задачи программы.Хотя этот подход и не создаёт короткое время задержки для оператора,это отставание,как правило,не более нескольких секунд,и всё-таки значительно более эффективны,чем одинокие старые задачи операционной системы.
Со временем,были разработаны популярные воплощения многозадачной операционной системы,в которых используется другой подход к распределению ресурсов для каждой активной программы.Создавалась ситуация,при которой практически не происходило никаких задержек на всех задачах,при условии,что драйверы оборудования имели адекватные ресурсы.Для конечного пользователя это означало,способность выполнять несколько задач одновременно,без каких-либо ожиданий системы для освобождения или перенаправления ресурсов,так как каждая задача должна быть выполнена в свою очередь.
Типичные операционные системы требуют больше ресурсов,чем простая операционная система,которые были общими для настольных компьютеров, в конце 1970-х и начале 1980-х годов.Новые операционные системы требуют платформы с большим количеством оперативной памяти (RAM), а также других типов виртуальной памяти.Если ресурсы не доступны для работы различных приложений,которые являются открытыми и ведутся,система может замедлится,или,возможно, даже завершить работу приложения,то есть если система настроена таким образом, чтобы предотвратить перегрузку.
Сегодня,большинство настольных компьютеров,ноутбуков и нетбуков имеют операционные системы работающие с каким то типом многозадачной операционной системы.Даже оборудование такое как банкоматы или терминалы,по-прежнему используют некоторые типы многозадачной операционной системы,используя серию программ для проверки баланса и для выполнения запроса,сделанного пользователями.Существуют также примеры,например билет в кино — система заглушки,способная выполнять несколько задач одновременно, включая размещение чеков за купленные билеты,и эта система даже создаёт и распределяет купленные билеты.
[share-locker locker_id=»ea68c52ad614b8635″ theme=»blue» message=»Если Вам понравилась эта статья,нажмите на одну из кнопок ниже.СПАСИБО!» facebook=»true» likeurl=»CURRENT» vk=»true» vkurl=»CURRENT» google=»true» googleurl=»CURRENT» tweet=»true» tweettext=»» tweeturl=»CURRENT» follow=»true» linkedin=»true» linkedinurl=»CURRENT» ][/share-locker]
От эффективности алгоритмов управления локальными ресурсами компьютера во многом зависит эффективность всей операционной системы в целом. Поэтому, характеризуя операционную систему, часто приводят важнейшие особенности реализации функций операционной системы по управлению процессорами, памятью, внешними устройствами компьютера.
Так, например, в зависимости от особенностей использованного алгоритма управления процессором, операционные системы делят на следующие типы:
- многозадачные и однозадачные;
- многопользовательские и однопользовательские;
- системы, поддерживающие многоуровневую обработку и не поддерживающие ее;
- многопроцессорные и однопроцессорные системы
Классификация операционных систем . Поддержка многозадачности
По числу одновременно выполняемых задач операционные системы могут быть разделены на два класса:
- однозадачные (например, MS-DOS, MSX) и
- многозадачные (OC EC,OS/2,UNIX, Windows 95/XP/7).
Однозадачные операционные системы в основном выполняют функцию предоставления пользователю виртуальной машины, делая более простым и удобным процесс взаимодействия пользователя с компьютером. Однозадачные ОС включают средства управления периферийными устройствами, средства управления файлами, средства общения с пользователем.
Многозадачные операционные системы , кроме вышеперечисленных функций, управляют разделением совместно используемых ресурсов, таких как процессор, оперативная память, файлы и внешние устройства.
Классификация операционных систем. Поддержка многопользовательского режима.
По числу одновременно работающих пользователей ОС делятся на:
- однопользовательские (MS-DOS, Windows 3.x, ранние версии OS/2);
- многопользовательские (UNIX, Windows NT).
Главным отличием многопользовательских систем от однопользовательских является наличие средств защиты информации каждого пользователя от несанкционированного доступа других пользователей.
Следует заметить, что не всякая многозадачная система является многопользовательской, и не всякая однопользовательская ОС является однозадачной.
Вытесняющая и не вытесняющая многозадачность
Среди множества существующих вариантов реализации многозадачности можно выделить две группы алгоритмов:
- не вытесняющая многозадачность (NetWare, Windows3.x);
- вытесняющая многозадачность (Windows NT, Unix).
Основным различием вытесняющего и не вытесняющего вариантов многозадачности является степень централизации механизма планирования процессов. В случае не вытесняющей многозадачности механизм планирования процессов целиком сосредоточен в операционной системе, а в случае вытесняющей многозадачности он распределен между системой и прикладными программами.
При не вытесняющей многозадачности активный процесс выполняется до тех пор, пока он сам, по собственной инициативе, не отдаст управление операционной системе для того, чтобы та выбрала из очереди другой готовый к выполнению процесс.
При вытесняющей многозадачности решение о переключении процессора с одного процесса на другой принимается операционной системой, а не самим активным процессом.
Поддержка многонитевости
Важным свойством операционных систем является возможность распараллеливания вычислений в рамках одной задачи.
Многонитевая ОС разделяет время процессора не между задачами, а между их отдельными ветвями (нитями).
Многопроцессорная обработка
В наши дни становится общепринятым введение в ОС функций поддержки многопроцессорной обработки данных.
Такие функции имеются в ОС:
- Solaris 2.x фирмы Sun,
- Open Server 3.x компании Santa Crus Operations,
- FreeBSD (эти три операционные системы являются различными реализациями ОС Unix),
- OS/2 фирмы IBM,
- Windows NT фирмы Microsoft
Многопроцессорные ОС могут классифицироваться по способу организации вычислительного процесса в системе с многопроцессорной архитектурой:
Асимметричная операционная система целиком выполняется только на одном из процессоров системы, распределяя прикладные задачи по остальным процессорам.
Симметричная операционная система полностью децентрализована и использует весь пул процессоров, разделяя их между системными и прикладными задачами.
2. Классификация операционных систем Особенности аппаратных платформ
На свойства операционной системы непосредственное влияние оказывают аппаратные средства, на которые она ориентирована. По типу аппаратуры различают ОС:
- персональных компьютеров,
- мини-компьютеров,
- мейнфреймов,
- кластеров и сетей ЭВМ
Среди перечисленных типов компьютеров могут встречаться как однопроцессорные варианты, так и многопроцессорные.
В любом случае специфика аппаратных средств, как правило, отражается на специфике операционных систем.
Очевидно, что ОС большой машины является более сложной и функциональной, чем ОС персонального компьютера. Так в ОС больших машин функции по планированию потока выполняемых задач реализуются путем использования сложных приоритетных дисциплин и требуют большей вычислительной мощности, чем в ОС персональных компьютеров.
Аналогично обстоит дело и с другими функциями
Сетевая операционная система
Многопроцессорные системы требуют от операционной системы особой организации, с помощью которой сама ОС, а также поддерживаемые этой ОС приложения могли бы выполняться параллельно отдельными процессорами системы.
Параллельная работа отдельных частей ОС создает дополнительные проблемы для разработчиков ОС, так как в этом случае гораздо сложнее обеспечить согласованный доступ отдельных процессов к общим системным таблицам, исключить нежелательные последствия асинхронного выполнения работ.
Операционная система кластеров
Другие требования предъявляются к операционным системам кластеров.
Наряду со специальной аппаратурой для функционирования кластерных систем необходима и программная поддержка со стороны ОС, которая сводится в основном к синхронизации доступа к разделяемым ресурсам, обнаружению отказов и динамической реконфигурации системы.
Одной из первых разработок в области кластерных технологий были решения компании Digital Equipment Corporation на базе компьютеров VAX. Недавно этой компанией заключено соглашение с корпорацией Microsoft о разработке кластерной технологии, использующей Windows NT. Несколько компаний предлагают кластеры на основе Unix-машин.
Мобильные операционные системы
Наряду с ОС, ориентированными на совершенно определенный тип аппаратной платформы, существуют операционные системы, специально разработанные таким образом, чтобы они могли быть легко перенесены с компьютера одного типа на компьютер другого типа, так называемые мобильные ОС.
Наиболее ярким примером такой ОС является популярная система Unix.
В этих системах аппаратно-зависимые места тщательно локализованы, так что при переносе системы на новую платформу переписываются только они. Средством, облегчающем перенос остальной части ОС, является написание ее на машинно-независимом языке, например, на языке Си, который и был разработан для программирования операционных систем
3. Классификация операционных систем Особенности областей использования ОС
Многозадачные ОС подразделяются на три типа в соответствии с использованными при их разработке критериями эффективности:
- системы пакетной обработки (например, OC EC),
- системы разделения времени (Unix, VMS),
- системы реального времени (QNX, RT/11).
Системы пакетной обработки
Системы пакетной обработки предназначались для решения задач в основном вычислительного характера, не требующих быстрого получения результатов.
Главной целью и критерием эффективности систем пакетной обработки является максимальная пропускная способность, то есть решение максимального числа задач в единицу времени. Для достижения этой цели в системах пакетной обработки используются следующая схема функционирования:
- в начале работы формируется пакет заданий, каждое задание содержит требование к системным ресурсам;
- из этого пакета заданий формируется мультипрограммная смесь, то есть множество одновременно выполняемых задач.
В системах пакетной обработки переключение процессора с выполнения одной задачи на выполнение другой происходит только в случае, если активная задача сама отказывается от процессора, например, из-за необходимости выполнить операцию ввода-вывода. Поэтому одна задача может надолго занять процессор, что делает невозможным выполнение интерактивных задач. Таким образом, взаимодействие пользователя с вычислительной машиной, на которой установлена система пакетной обработки, сводится к тому, что он приносит задание, отдает его диспетчеру оператору, а в конце дня после выполнения всего пакета заданий получает результат. Очевидно, что такой порядок снижает эффективность работы пользователя.
Системы разделения времени
Критерием эффективности систем разделения времени является не максимальная пропускная способность, а удобство и эффективность работы пользователя.
Системы реального времени
Системы реального времени применяются для управления различными техническими объектами (станок, спутник, научная экспериментальная установка) или технологическими процессами (гальваническая линия, доменный процесс и т.п.). Во всех этих случаях существует предельно допустимое время, за которое должна быть выполнена та или иная программа, управляющая объектом, в противном случае может произойти авария: спутник выйдет из зоны видимости, экспериментальные данные, поступающие с датчиков, будут потеряны, толщина гальванического покрытия не будет соответствовать норме.
4. Классификация операционных систем Особенности методов построения ОС
В руководстве по работе с операционной системой часто указываются особенности ее структурной организации и основные концепции, положенные в ее основу.
К таким базовым концепциям относится способ построения ядра системы: монолитное ядро или микроядро.
Большинство ОС использует монолитное ядро , которое компонуется как одна программа, работающая в привилегированном режиме и использующая быстрые переходы с одной процедуры на другую, не требующие переключения из привилегированного режима в пользовательский режим и наоборот.
Построение ОС на базе объектно-ориентированного подхода дает возможность использовать все достоинства этого метода (хорошо зарекомендовавшие себя на уровне приложений) внутри операционной системы, а именно:
- аккумуляцию удачных решений в форме стандартных объектов;
- возможность создания новых объектов на базе имеющихся с помощью механизма наследования;
- хорошую защиту данных за счет их инкапсуляции во внутренние структуры объекта, что делает данные недоступными для несанкционированного использования извне;
- структурированность системы, состоящей из набора хорошо определенных объектов.
Наличие нескольких прикладных сред дает возможность в рамках одной ОС одновременно выполнять приложения, разработанные для нескольких ОС. Многие современные операционные системы поддерживают одновременно прикладные среды MS-DOS, Windows, Unix, OS/2 или хотя бы некоторого подмножества из этого популярного набора. Концепция множественных прикладных сред наиболее просто реализуется в ОС на базе микроядра, над которым работают различные серверы, часть которых реализуют прикладную среду той или иной операционной системы.
Распределенная организация операционной системы позволяет упростить работу пользователей и программистов в сетевых средах. В распределенной ОС реализованы механизмы, которые дают возможность пользователю представлять и воспринимать сеть в виде традиционного однопроцессорного компьютера.
Операционные системы могут различаться особенностями реализации внутренних алгоритмов управления основными ресурсами компьютеров (процессорами, памятью, устройствами), особенностями использованных методов проектирования, типами аппаратных платформ, областями использования и многими другими свойствами.
По числу одновременно работающих пользователей ОС делятся на однопользовательские и многопользовательские. Главным отличием многопользовательских систем от однопользовательских является наличие средств защиты информации каждого пользователя от несанкционированного доступа других пользователей. Следует заметить, что не всякая многозадачная система является многопользовательской, и не всякая однопользовательская ОС является однозадачной.
По числу одновременно выполняемых задач операционные системы могут быть разделены на два класса: однозадачные и многозадачные.
Однозадачные ОС выполняют функцию предоставления пользователю виртуальной машины, делая более простым и удобным процесс взаимодействия пользователя с компьютером. Однозадачные ОС включают средства управления периферийными устройствами, средства управления файлами, средства общения с пользователем.
Многозадачные ОС, кроме вышеперечисленных функций, управляют разделением совместно используемых ресурсов, таких, как процессор, оперативная память, файлы и внешние устройства.
Вытесняющая и невытесняющая многозадачность.
Многопроцессорные ОС могут классифицироваться по способу организации вычислительного процесса в системе с многопроцессорной архитектурой: асимметричные ОС и симметричные ОС. Асимметричная ОС целиком выполняется только на одном из процессоров системы, распределяя прикладные задачи по остальным процессорам. Симметричная ОС полностью децентрализована и использует весь пул процессоров, разделяя их между системными и прикладными задачами.
Многозадачные ОС подразделяются на три типа:
1) системы пакетной обработки (например, ОС ЕС),
2) системы разделения времени (UNIX, VMS),
3) системы реального времени (QNX, RT/U).
Системы пакетной обработки предназначались для решения задач в основном вычислительного характера, не требующих быстрого получения результатов. Главной целью и критерием эффективности систем пакетной обработки является максимальная пропускная способность, то есть решение максимального числа задач в единицу времени.
В системах пакетной обработки переключение процессора с выполнения одной задачи на выполнение другой происходит только в случае, если активная задача сама отказывается от процессора, например, из-за необходимости выполнить операцию ввода-вывода. Поэтому одна задача может надолго занять процессор, что делает невозможным выполнение интерактивных задач. Таким образом, взаимодействие пользователя с вычислительной машиной, на которой установлена система пакетной обработки, сводится к тому, что он приносит задание, отдает его диспетчеру-оператору, а в конце дня после выполнения всего пакета заданий получает результат. Очевидно, что такой порядок снижает эффективность работы пользователя.
Некоторые операционные системы могут совмещать в себе свойства систем разных типов, например, одна часть задач может выполняться в режиме пакетной обработки, другая — в режиме реального времени или в режиме разделения времени. В таких случаях режим пакетной обработки часто называют фоновым режимом.
В зависимости от того, как распределены функции между компьютерами сети, сетевые операционные системы, а следовательно, и сети делятся на два класса: одноранговые и двухранговые. Последние чаще называют сетями с выделенными серверами.
Если компьютер предоставляет свои ресурсы другим пользователям сети, то он играет роль сервера. При этом компьютер, обращающийся к ресурсам другой машины, является клиентом. Как уже было сказано, компьютер, работающий в сети, может выполнять функции либо клиента, либо сервера, либо совмещать обе эти функции.
Если выполнение каких-либо серверных функций является основным назначением компьютера (например, предоставление файлов в общее пользование всем остальным пользователям сети или организация совместного использования факса, или предоставление всем пользователям сети возможности запуска на данном компьютере своих приложений), то такой компьютер называется выделенным сервером. В зависимости от того, какой ресурс сервера является разделяемым, он называется файл-сервером, факс-сервером, принт-сервером, сервером приложений и т.д.
Сетевая ОС не имеет фундаментальных отличий от ОС однопроцессорного компьютера. Она обязательно содержит программную поддержку для сетевых интерфейсных устройств (драйвер сетевого адаптера), а также средства для удаленного входа в другие компьютеры сети и средства доступа к удаленным файлам, однако эти дополнения существенно не меняют структуру самой операционной системы.
Специфика сетевых ОС проявляется в реализации сетевых функций:
Кластер – слабо связанная совокупность нескольких вычислительных систем, работающих совместно для выполнения общих приложений и представляющихся пользователю единой системой.
Мобильные ОС – ОС переносимые с компьютера одного типа на компьютер другого типа (UNIX).
Читайте также: