Операционные системы
Существует пять поколений операционных систем: пакетная (пакетная) , с несколькими расписаниями, с разделением времени, в реальном времени и распределенная. Каждый из принципов, реализованных в одном поколении, встречается в последующих поколениях.
Система пакетной ( партии ) предназначен для выполнения больших вычислений один за другим, с небольшим вмешательством пользователя.
Начиная с поколения многопрограммных операционных систем, несколько программ выполняются одновременно по расписанию . В этих многозадачных операционных системах несколько программ находятся в основной памяти, и операционная система периодически приостанавливает выполнение одной программы, чтобы продолжить выполнение другой.
В поколении многопрограммных систем одновременное выполнение нескольких программ направлено на эффективное использование вычислительной мощности процессора.
При создании систем с разделением времени одновременное выполнение нескольких программ направлено на быстрое реагирование на запросы нескольких пользователей в прямом взаимодействии с компьютером.
Операционная система реального времени должна гарантировать, что любая операция будет завершена в течение заданного времени, чтобы гарантировать успешную работу устройства, в котором используется компьютер.
Распределенная система направляет использование ресурсов нескольких компьютеров одновременно. Он использует возможности компьютерной сети, управляет группой машин и делает их единой виртуальной машиной очень большой емкости.
Каждая операционная система предназначена для работы с определенным набором машин (тип процессора, производитель, архитектура). Если операционная система доступна для нескольких различных диапазонов машин, то один и тот же исходный код компилируется [ N 4 ] и адаптируется для каждого диапазона машин. Набор драйверов, включенных в операционную систему, адаптирован к компьютерному оборудованию, доступному на рынке для этого диапазона машин.
Первое поколение: пакетная обработка
Операционные системы, основанные на «пакетной» обработке (последовательности инструкций и данных в наборе перфокарт) появились в 1950-х гг. Программа (со своими данными) представляет собой не что иное, как «стопку карт с индикаторами начала и конца». Выполнение программы состоит в том, чтобы попросить оператора поместить стопку карт в считыватель, после чего оператор начинает последовательное считывание карт. Центральный процессор находится в покое, во время манипуляций оператора.
Партия представляет собой комплекс работ должно быть сделано. Оператор составляет пакет , помещая стопки карточек различных программ (с их данными) друг на друга, запрошенные пользователями. Он формирует большую стопку карточек, разделенных закладками, обычно карточку определенного цвета, которую затем помещает в считывающее устройство. Перегруппировка нескольких программ в пакет снижает вмешательство оператора.
В пакетной системе сердцем операционной системы является программа мониторинга, которая постоянно находится в основной памяти и позволяет оператору запрашивать запуск или остановку пакетного выполнения. Когда каждое задание в пакете завершает выполнение, монитор выполняет задания по очистке, а затем начинает выполнение следующего задания. Таким образом, оператор вмешивается только в начале и в конце пакета.
В этих операционных системах добавляемые к закладке команды, сформулированные на JCL ( Job Control Language ), являются одним из единственных средств, с помощью которых пользователь должен взаимодействовать с операционной системой.
Пакетные операционные системы подходят для приложений, требующих очень больших вычислений, но небольшого участия пользователя: погода, статистика, налоги… Пользователи не сразу ждут результатов. Они отправляют запросы, а затем возвращаются для сбора результатов.
Из-за большой разницы в скорости процессора и периферийных устройств в пакетной операционной системе процессор не используется 90% времени, потому что программы ждут, пока то или иное устройство завершит операции. С этими операционными системами нет конкуренции между различными задачами, реализация использования процессора, памяти и периферийных устройств тривиальна, но далека от оптимальной.
Второе поколение: мультипрограммирование
Многопрограммные операционные системы появились в 1960-х гг. Цель таких систем — повысить эффективность использования процессора и периферийных устройств за счет возможности их параллельной работы. Несколько программ помещаются в центральную память, и когда запущенная программа ожидает результата от периферийного устройства, операционная система приказывает процессору выполнить другую программу.
В операционных системах с несколькими программами использование процессора распределяется по расписанию : каждый раз, когда используется периферийное устройство, операционная система выбирает, какая программа будет выполняться. Этот выбор сделан на основе приоритетов. Операционная система имеет механизм защиты, предотвращающий чтение или запись выполняющейся программой в память, выделенную другой программе. Программы выполняются в непривилегированном режиме , в котором выполнение определенных инструкций запрещено.
Для многопрограммных систем требуется компьютер и периферийные устройства, реализующие метод DMA ( прямой доступ к памяти ). В соответствии с этим процессор приказывает периферийному устройству выполнить операцию, результат операции затем помещается в основную память периферийным устройством, в то время как процессор выполняет другие инструкции. В многопрограммных системах, как и в пакетных системах , пользователь мало контактирует с программами и мало возможностей для вмешательства.
Третье поколение: таймшер
Операционные системы с разделением времени появились в 1970-х годах. Они используются в интерактивных устройствах, где несколько пользователей одновременно ведут диалог с компьютером. Операционная система с таймшером предназначена для быстрого реагирования на запросы пользователей и создания у каждого пользователя впечатления, что они единственные, кто использует компьютер.
Система таймшера реализует сложные методы мультипрограммирования , позволяющие интерактивно использовать компьютер несколькими пользователями и несколькими программами одновременно. Появление в 1970 году этого нового поколения операционных систем стало результатом высокого потребительского спроса и падения цен на компьютерное оборудование, сделавшего возможным его реализацию.
В операционных системах с таймшером понятие партии не имеет большого значения. Эти системы реализуют новые механизмы использования процессора и памяти, которые позволяют им быстро реагировать на запросы большого количества пользователей одновременно.
В этих системах, как и в предыдущем поколении, планируется загрузка ЦП. Однако, в отличие от систем предыдущего поколения, в системах с разделением времени каждая программа выполняется в течение определенного временного интервала, а затем операционная система переключается на выполнение другой программы, что не позволяет программе монополизировать использование ЦП в обслуживании одного пользователя, вызывая задержки для другие пользователи.
Операционные системы с разделением времени реализуют метод подкачки : когда запущенной программе требуется больше памяти, чем доступно, другая неактивная программа удаляется для экономии места, а затем неактивная программа временно сохраняется на жестком диске. Однако запись на диск приводит к значительной потере времени.
В 2011 году многие операционные системы основаны на Unix , системе разделения времени.
Четвертое поколение: реальное время
Операционные системы реального времени появились в середине 1970-х годов, особенно в Hewlett-Packard. Они предназначены для устройств, которые должны не только давать правильные результаты, но и давать их в течение определенного времени. Эти операционные системы часто используются компьютерами, подключенными к внешнему устройству (автопилоты, промышленные роботы, видео- и аудиоприложения), для которых задержка ответа компьютера может вызвать сбой устройства.
В этих операционных системах упор делается на то, сколько времени уходит на выполнение каждой операции, чтобы быстро реагировать на требования, чтобы соответствовать временным ограничениям системы, в которой она используется.
Некоторые услуги, предлагаемые этими операционными системами, реализованы в виде прикладного программного обеспечения и выполняются в режиме конкуренции с ними. Операционная система реального времени обеспечивает прямой контакт между прикладным программным обеспечением и периферийными устройствами. В некоторых системах реального времени ресурсы зарезервированы, что позволяет избежать замедления, вызванного резервированием на лету, и гарантировать постоянную доступность ресурсов.
Операционные системы реального времени избегают использования метода подкачки из-за риска тайм-аута
RTX , Windows CE , Embedded Linux , Symbian OS , Palm OS и VxWorks — операционные системы реального времени .
Пятое поколение: распределенные системы
Падение цен на компьютерное оборудование позволило в 1990-х годах создавать компьютерные системы, состоящие из нескольких компьютеров и, следовательно, нескольких процессоров, нескольких запоминающих устройств и многих периферийных устройств. Распределенная система позволяет разделять ресурсы между компьютерами. Пользователь недорогого компьютера может использовать дорогие ресурсы, существующие на другом компьютере.
Mach , Amoeba , Andrew , Athena и Locus — это распределенные операционные системы. Все они были разработаны университетами
Операционные системы для больших ПК, такие как IBM z / OS и специальные операционные системы, такие как QNX, eCos и PalmOS, не близки к Unix или Windows, за исключением Windows SE, которая близка к Windows, и нескольких дистрибутивов Linux и BSD, специально предназначенных для конкретных Приложения.
Помимо операционных систем для больших компьютеров, существуют также операционные системы для небольших устройств (мобильные телефоны, калькуляторы и т. Д.) И устройств специального назначения (микропроцессорные системы в автомобилях, системы автоматического открывания дверей и т. Д.), Которые требуют реальных время работы. Популярными операционными системами для мобильных телефонов являются Symbian и OSE , тогда как OSECK и OSE Epsilon и им подобные имеют отличную точку опоры для устройств специального назначения.
Старые операционные системы, все еще используемые в некоторых местах, — это Windows-подобные OS / 2 от IBM; OpenVMS от Hewlett Packard (ранее Digital Corporation); Mac OS, предыдущая операционная система Apple, отличная от Unix; ОС РИСК , специально созданная для процессоров ARM и их архитектуры; AmigaOS , первая графически ориентированная операционная система с мультимедийными возможностями для широкой аудитории.
Исследование и разработка новых типов операционных систем — это отдельная область информатики.