Многозадачность
Содержание:
Свойства многозадачной среды
Примитивные многозадачные среды обеспечивают чистое «разделение ресурсов», когда за каждой задачей закрепляется определённый участок памяти, и задача активизируется в строго определённые интервалы времени.
Более развитые многозадачные системы проводят распределение ресурсов динамически, когда задача стартует в памяти или покидает память в зависимости от её приоритета и от стратегии системы. Такая многозадачная среда обладает следующими особенностями:
- Каждая задача имеет свой приоритет, в соответствии с которым получает процессорное время и память
- Система организует очереди задач так, чтобы все задачи получили ресурсы, в зависимости от приоритетов и стратегии системы
- Система организует обработку прерываний, по которым задачи могут активироваться, деактивироваться и удаляться
- По окончании положенного кванта времени ядро временно переводит задачу из состояния выполнения в состояние готовности, отдавая ресурсы другим задачам. При нехватке памяти страницы невыполняющихся задач могут быть вытеснены на диск (своппинг), а потом, через определённое системой время, восстанавливаться в памяти
- Система обеспечивает защиту адресного пространства задачи от несанкционированного вмешательства других задач
- Система обеспечивает защиту адресного пространства своего ядра от несанкционированного вмешательства задач
- Система распознаёт сбои и зависания отдельных задач и прекращает их
- Система решает конфликты доступа к ресурсам и устройствам, не допуская тупиковых ситуаций общего зависания от ожидания заблокированных ресурсов
- Система гарантирует каждой задаче, что рано или поздно она будет активирована
- Система обрабатывает запросы реального времени
- Система обеспечивает коммуникацию между процессами
2012
Январь 2012
ОС Windows XP от Microsoft вновь потеряла большую долю рынка в декабре 2011 года, поскольку пользователи продолжали переход с операционной системы десятилетней давности на Windows 7.
Согласно данным компании Net Applications, при среднем арифметическом в 46,5%, Windows XP потеряла 2,4 процентных пункта к концу декабря, что стало очередным минимумом для «пожилой» ОС. Это месячное падение почти полностью соответствует октябрьской отметке в 2,5 пункта. В течение четырёх месяцев, с сентября по декабрь, по состоянию на 1 сентября XP потеряла более 11%, упав почти на шесть процентных пунктов в течение этого периода.
За предыдущие четыре месяца — с мая по август, XP потеряла лишь 3,4 пункта или около 8,5% доли, которой она владела по состоянию на 1 мая. Выгоду от падения доли XP получила Windows 7, именно она была бенефициаром этого снижения, набирая 2,4 процентных пункта в прошлом месяце и достигнув доли в 37%. И в течение тех четырёх месяцев, когда XP потеряла 5,9 баллов, Windows 7 подросла на 6,4 пункта, выбрав на себя люфт не только этой старой ОС, но и Windows Vista.
Если сложившаяся тенденция повторится, в январе Windows XP потеряет ещё большую часть: в 2009 и 2010 годах доля XP падала на 40%-48% больше в январе, в сравнении с предыдущим месяцем. Вероятно, это происходило из-за покупки в конце года новых ПК, укомплектованных Windows 7. Учитывая это, в текущем месяце доля XP может упасть ещё на 3,5 пункта.
Нарастающее количество отказов от использования XP доказывает — пользователи получили сигнал Microsoft о том, что эта операционная система должна быть предана забвению. В июле Microsoft дала понять клиентам: «настало время двигаться дальше», напоминая всем, что поддержка этой ОС будет прекращена в апреле 2014 года. Перед этим команда разработки Internet Explorer, объясняя, почему она не будет запускать IE9 на XP, оценила эту ОС как «наименьший общий знаменатель».
Два месяца назад, Microsoft тихо празднуя 10-летие запуска XP в розницу, для продвижения Windows 7 и свёртывания XP запустила рекламную компанию под девизом: «Кто не идёт вперёд, пятится назад». Из 12,4 процентных пунктов, которые XP потеряла в последние 12 месяцев, почти половина — в последние четыре. Это означает, что поспешное ослабление XP изменит дату потери ею своего ведущего места в экосистеме Microsoft.
Становятся заметными прогнозы на основе данных Net Applications, говорящие о том, что Windows 7 станет самой широко распространённой версией в апреле — на несколько месяцев раньше, в отличие от предыдущих оценок. К тому времени дебютирует Windows 8. По мнению аналитика издания ComputerWorld Грега Кейцера (Gregg Keizer), октябрь кажется наиболее вероятным периодом начала её продаж. Windows 7 уже захватит от 50% до 52% рынка.
В прошедшем месяце доля Windows 8 незначительно выросла — до 0,05% с 0,03% в ноябре или до пяти ПК из каждых 10 тыс. Это операционная система ещё не достигла стадии бета — Microsoft планирует выпуск релиза на конец февраля.
Из графика видно как идут навстречу друг другу доли Windows XP и Windows 7. Последняя, как ожидается, станет №1 в апреле 2012 года. Данные: Net Applications
Операционная система: назначение и состав
На IBM-совместимых персональных компьютерах используются операционные системы корпорации Microsoft Windows 9х/МЕ, свободно распространяемая операционная система Linux. На персональных компьютерах фирмы Apple используются различные версии операционной системы Mac OS. На рабочих станциях и серверах наибольшее распространение получили операционные системы Windows NT/2000/XP и UNIX.
Операционные системы разные, но их назначение и функции одинаковые. Операционная система является базовой и необходимой составляющей программного обеспечения компьютера, без нее компьютер не может работать в принципе.
Операционная система обеспечивает совместное функционирование всех устройств компьютера и предоставляет пользователю доступ к его ресурсам.
Современные операционные системы имеют сложную структуру, каждый элемент которой выполняет определенные функции по управлению компьютером.
Управление файловой системой. Процесс работы компьютера в определенном смысле сводится к обмену файлами между устройствами. В операционной системе имеются программные модули, управляющие файловой системой.
Командный процессор. В состав операционной системы входит специальная программа — командный процессор, — которая запрашивает у пользователя команды и выполняет их.
Пользователь может дать команду запуска программы, выполнения какой-либо операции над файлами (копирование, удаление, переименование), вывода документа на печать и так далее. Операционная система должна эту команду выполнить.
Драйверы устройств. К магистрали компьютера подключаются различные устройства (дисководы, монитор, клавиатура, мышь, принтер и др.). Каждое устройство выполняет определенную функцию (ввод информации, хранение информации, вывод информации), при этом техническая реализация устройств существенно различается.
В состав операционной системы входят драйверы устройств, специальные программы, которые обеспечивают управление работой устройств и согласование информационного обмена с другими устройствами, а также позволяют производить настройку некоторых параметров устройств. Каждому устройству соответствует свой драйвер.
Технология «Plug and Play» (подключи и играй) позволяет автоматизировать подключение к компьютеру новых устройств и обеспечивает их конфигурирование. В процессе установки Windows определяет тип и конкретную модель установленного устройства и подключает необходимый для его функционирования драйвер. При включении компьютера производится загрузка драйверов в оперативную память.
Пользователь имеет возможность вручную установить или переустановить драйверы.
Графический интерфейс. Для упрощения работы пользователя в состав современных операционных систем, и в частности в состав Windows, входят программные модули, создающие графический пользовательский интерфейс. В операционных системах с графическим интерфейсом пользователь может вводить команды с помощью мыши, тогда как в режиме командной строки необходимо вводить команды с помощью клавиатуры.
Сервисные программы. В состав операционной системы входят также сервисные программы, или утилиты. Такие программы позволяют обслуживать диски (проверять, сжимать, дефрагментировать и так далее), выполнять операции с файлами (архивировать и так далее), работать в компьютерных сетях и так далее.
Справочная система. Для удобства пользователя в состав операционной системы обычно входит также справочная система. Справочная система позволяет оперативно получить необходимую информацию как о функционировании операционной системы в целом, так и о работе ее отдельных модулей.
Запуск компьютера. BIOS.
Обычно компьютер запускается при включении питания на лицевой панели системного блока, хотя современные компьютеры имеют такие средства для экономного расходования электроэнергии, которые позволяют их не выключать. Запуск компьютера – самый ответственный момент работы компьютера – в этот момент в оперативной памяти нет ни данных, ни программ. Перенести их с жесткого диска в оперативную память без команд нельзя. Для этой цели у процессора есть специальная ножка, которая называется RESET (перезапуск). Если на нее поступает сигнал (а в момент включения именно так и происходит), процессор обращается к специально выделенной ячейке памяти. Необходимо, чтобы в этой ячейке всегда была определенная информация, причем даже тогда, когда компьютер выключен. Для этого предназначена специальная микросхема – ПЗУ (постоянное запоминающее устройство). Это тоже память, но постоянная. В отличие от оперативной памяти постоянная память не стирается при выключении. Программы микросхемы ПЗУ записываются на заводе. Этот комплекс программ называется BIOS – базовая система ввода/вывода. Эта система « встроена» в материнскую плату компьютера. Ее назначение состоит в выполнении элементарных действий, связанных с осуществлением операций ввода-вывода. BIOS содержит также тест функционирования компьютера, проверяющий работу памяти и устройств компьютера при включении электропитания. Работа программ, записанных в микросхеме BIOS, отображается на черном экране бегущими белыми строчками. В этот момент компьютер проверяет свои устройства: проверяется оперативная память (сколько ее и вся ли она в порядке), наличие жестких дисков, а также наличие клавиатуры. Если что-то не работает, программы, выполняющие проверку, сообщат о неисправности. Кроме того, базовая система ввода-вывода содержит программу вызова загрузчика операционной системы.
Загрузчик операционной системы– это специальная программа, предназначенная для инициирования процесса загрузки системы.
После загрузки операционной системы вся работа с процессором и другими устройствами осуществляется посредством специальных пакетов программ, входящих в операционную систему.
Если по каким-то причинам загрузка операционной системы с жесткого диска не состоится, то работа с компьютером невозможна. Такое бывает, если, например, поврежден жесткий диск или операционная система. В этом случае операционную систему можно загрузить с внешнего носителя информации. Для этого нужен специальный диск, который называют системным. Таким методом запускают компьютер при устранении неисправностей.
Многопользовательская система
Многопользовательская система, как правило, должна содержать средства разграничения доступа к совместно используемым ресурсам. В сети Novell NetWare такими ресурсами являются данные на файл-серверах и сетевые принтеры.
Многопользовательские системы включают в себя все большие, средние и малые системы, т.е. все вычислительные ( компьютерные) системы, за исключением персональных компьютеров и однопользовательских рабочих станций. Многопользовательские ЭВМ обычно являются многозадачными и могут поддерживать работу двух и более пользователей.
Сетевые многопользовательские системы могут обеспечивать как децентрализованное, так и централизованное хранение данных. При организации централизованной информационной базы здесь возможны два подхода.
Многопользовательские системы автоматизации бухгалтерского учета на ПЭВМ могут строиться как сетевые и несетевые. Сетевые системы в отличие от несетевых могут обеспечивать доступ к одним и тем же данным разных пользователей в один и тот же момент времени.
Это мощные многопользовательские системы, способные обслуживать одновременно большое количество пользователей. Универсальные компьютеры характеризуются высокой скоростью обработки данных и очень большим объемом памяти; длина слова составляет не менее 32 бит.
В многопользовательской системе должны иметься средства общения пользователей друг с другом.
В многопользовательских системах с одной БД одновременно могут работать несколько пользователей или прикладных программ. Поскольку каждая транзакция может изменять разделяемые данные, данные могут временно находиться в несогласованном состоянии. Доступ к этим данным другим транзакциям должен быть запрещен, пока изменения не будут завершены. Свойство изолированности транзакций гарантирует, что они будут выполняться отдельно друг от друга.
При создании многопользовательских систем с технологией клиент-сервер может применяться двух — или трехуровневая архитектура программного обеспечения.
Подавляющее большинство российских многопользовательских систем автоматизации учета предназначено для эксплуатации под управлением сетевых операционных систем Novell NetWare и Windows NT Server. Существенно реже АИС-БУ создаются на основе сетей, управляемых различными модификациями Unix. Обычно Unix используется только на крупных предприятиях с большим документооборотом.
КИПР-ЕС является многопользовательской системой со стандартной ( для ОС ЕС) организацией вычислительного процесса; она дополнена средствами взаимодействия с диалоговыми графическими и алфавитно-цифровыми устройствами. Для реализации отдельных проектных операций технологического цикла составляют и запускают задания на выполнение соответствующих процедур, предусматривая возможность разделения ( в режиме мультипрограммирования) ресурса оперативных БД.
Поскольку в многопользовательских системах учетная работа распределена по нескольким рабочим местам, дня составления отчетности текущие данные должны объединяться. В зависимости от программно-технической среды системы, те шологии обработки и организации информационной базы проблема интеграции данных решается по-разному.
У каждого файла в многопользовательской системе имеется владелец. Следовательно, ему должна быть обеспечена возможность защиты своих данных от несанкционированного доступа других пользователей. В Unix имеются специальные программы для определения прав на доступ к файлам и собственности на них.
ИАС ОДУ ГЭ является многопользовательской системой, поддерживаемой в рамках корпоративной вычислительной сети, конфигурация которой может изменяться.
Какая архитектура ПО используется в многопользовательских системах с технологией клиент-сервер.
Ограничивается аппаратурой, необходимой для подключения многопользовательских систем, ПЭВМ или рабочих станций к локальным сетям и не включает программное обеспечение ЛВС ( например, специализированные сетевые операционные системы) или серверы, которые учитываются в соответствующих категориях компонентов технического и программного обеспечения.
История многозадачных операционных систем
Поначалу реализация многозадачных операционных систем представляла собой серьёзную техническую трудность, отчего внедрение многозадачных систем затягивалось, а пользователи долгое время после внедрения предпочитали однозадачные.
В дальнейшем, после появления нескольких удачных решений, многозадачные среды стали совершенствоваться, и в настоящее время употребляются повсеместно.
Впервые многозадачность операционной системы была реализована в ходе разработки операционной системы Multics (1964 год). Одной из первых многозадачных систем была OS/360 (1966), используемая для компьютеров фирмы 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 долгое время оставалась непревзойдённой на персональных компьютерах.
Многозадачность обеспечивала также фирма Microsoft в операционных системах Windows. Использование опыта VMS обеспечило системам существенно более высокую производительность и надёжность. По времени переключения контекста многозадачности (квантование) только эти операционные системы могут быть сравнимы с AmigaOS и UNIX (а также его потомками, такими, как ядро Linux).
Интересно, что многозадачность может быть реализована не только в операционной, но и языковой среде. Например, спецификации языков программирования Modula-2 и Ada требуют поддержки многозадачности вне привязки к какой-либо операционной системе. В результате популярная в первой половине 1990-х годов реализация языка программирования TopSpeed Модула-2 от JPI/Clarion позволяла организовывать различные типы многозадачности (кооперативную и вытесняющую — см. ниже) для потоков одной программы в рамках такой принципиально однозадачной операционной системы, как MS-DOS. Это осуществлялось путём включения в модуль программы компактного планировщика задач, содержащего обработчик таймерных прерываний. Языки программирования, обладающие таким свойством, иногда называют языками реального времени.
История
Основная статья: История операционных систем
Предшественником операционных систем следует считать служебные программы (загрузчики и мониторы), а также библиотеки часто используемых подпрограмм, начавшие разрабатываться с появлением универсальных компьютеров 1-го поколения (конец 1940-х годов). Служебные программы минимизировали физические манипуляции оператора с оборудованием, а библиотеки позволяли избежать многократного программирования одних и тех же действий (осуществления операций ввода-вывода, вычисления математических функций и т. п.).
В —1960-х годах сформировались и были реализованы основные идеи, определяющие функциональность ОС: пакетный режим, разделение времени и многозадачность, разделение полномочий, реальный масштаб времени, файловые структуры и файловые системы.
Пакетный режим
Необходимость оптимального использования дорогостоящих вычислительных ресурсов привела к появлению концепции «пакетного режима» исполнения программ. Пакетный режим предполагает наличие очереди программ на исполнение, причём система может обеспечивать загрузку программы с внешних носителей данных в оперативную память, не дожидаясь завершения исполнения предыдущей программы, что позволяет избежать простоя процессора.
Разделение времени и многозадачность
Основная статья: Разделение времени
Уже пакетный режим в своём развитом варианте требует разделения процессорного времени между выполнением нескольких программ.
Необходимость в разделении времени (многозадачности, мультипрограммировании) проявилась ещё сильнее при распространении в качестве устройств ввода-вывода телетайпов (а позднее, терминалов с электронно-лучевыми дисплеями) (1960-е годы). Поскольку скорость клавиатурного ввода (и даже чтения с экрана) данных оператором много ниже, чем скорость обработки этих данных компьютером, использование компьютера в «монопольном» режиме (с одним оператором) могло привести к простою дорогостоящих вычислительных ресурсов.
Разделение времени позволило создать «многопользовательские» системы, в которых один (как правило) центральный процессор и блок оперативной памяти соединялся с многочисленными терминалами. При этом часть задач (таких как ввод или редактирование данных оператором) могла исполняться в режиме диалога, а другие задачи (такие как массивные вычисления) — в пакетном режиме.
Разделение полномочий
Распространение многопользовательских систем потребовало решения задачи разделения полномочий, позволяющей избежать возможности изменения исполняемой программы или данных одной программы в памяти компьютера другой программой (намеренно или по ошибке), а также изменения самой системы прикладной программой.
Реализация разделения полномочий в операционных системах была поддержана разработчиками процессоров, предложивших архитектуры с двумя режимами работы процессора — «реальным» (в котором исполняемой программе доступно всё адресное пространство компьютера) и «защищённым» (в котором доступность адресного пространства ограничена диапазоном, выделенным при запуске программы на исполнение).
Масштаб реального времени
Основная статья: Операционная система реального времени
Применение универсальных компьютеров для управления производственными процессами потребовало реализации «масштаба реального времени» («реального времени») — синхронизации исполнения программ с внешними физическими процессами.
Включение функции масштаба реального времени позволило создавать решения, одновременно обслуживающие производственные процессы и решающие другие задачи (в пакетном режиме и/или в режиме разделения времени).
Файловые системы и структуры
Постепенная замена носителей с последовательным доступом (перфолент, перфокарт и магнитных лент) накопителями произвольного доступа (на магнитных дисках).
Файловая система — способ хранения данных на внешних запоминающих устройствах.
Основные принципы построения операционных систем
- Принцип модульности — обособление составных частей ОС в отдельные модули (функционально законченные элементы системы), выполненное в соответствии с принятыми межмодульными интерфейсами;
- Принцип генерируемости ОС — определяет такой способ исходного представления ядра ОС и основных компонентов ОС, который позволяет производить их настройку, исходя из конкретной конфигурации конкретного вычислительного комплекса и круга решаемых задач;
- Принцип функциональной избыточности — учитывает возможность проведения одной и той же работы различными средствами;
- Принцип виртуализации — представляет структуру системы в виде определенного набора планировщиков процессов и распределителей ресурсов и позволяет использовать единую централизованную схему распределения ресурсов, организуя тем самым работу виртуальной машины;
- Принцип независимости программ от внешних устройств — связь программ с конкретными устройствами производится не на уровне трансляции программы, а в период планирования ее исполнения;
- Принцип совместимости — способность ОС выполнять программы, написанные для других ОС или для более ранних версий данной операционной системы, а также для другой аппаратной платформы;
- Принцип открытой и наращиваемой ОС — позволяет не только использовать возможности генерации, но и вводить в ее состав новые модули;
- Принцип обеспечения безопасности при выполнении вычислений — является желательным свойством для любой многопользовательской системы;