История развития операционных систем

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

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

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

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

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

Так продолжалось до второй половины 1950-х. Постоянно наращивались мощности, однако спектр выполняемых задач оставался практически одним и тем же, что и на заре существования.

История развития операционных систем

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

  • Первое поколение компьютеров было построено на электронной лампе;
  • Второе поколение основано на транзисторах;
  • Интегральная схема третьего поколения;
  • Четвертое поколение бис и СБИС.

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

Первая операционная система

Идея компьютера была предложена английским математиком Чарльзом Бабажем в середине XIX века. Его механическая «аналитическая машина» практически не работала, так как технология в то время не отвечала требованиям, необходимым для изготовления необходимых деталей Прецизионных станков. Конечно, операционный для этого «компьютер».

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

Появление многопрограммной операционной системы мэйнфрейм

Следующий значительный период в развитии операционной системы приходится на период с 1965 по 1975 год.

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

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

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

Мультипрограммирование было реализовано в двух вариантах-пакетная система разделения времени обработки.

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

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

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

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

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

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

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

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

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

Windows NT 3.51 — июнь 1995 года

Эта версия включала специальный инструмент, который помогал пользователям этой системы управлять Client Access Licenses (CALs) — лицензиями клиентского доступа для семейства Microsoft BackOffice базовых серверных продуктов; утилиту, позволяющую инсталлировать по сети Windows 95 и поддержку удаленной перезагрузки. Основной причиной выхода этой версии ОС являлась реализация поддержки Windows 95.

Windows 95 — 24 августа 1995 года

Уже полноценная ОС, а не графическая надстройка для MS-DOS. Новые возможности Plug-n-Play. Новые возможности Plug-n-Play. Расширенные возможности мультимедиа, стала мобильнее (перенос на другие компьютеры стал ощутимо более легким процессом), имела интегрированные сетевые средства.

Windows 98 — 25 июня 1998 года

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

Windows 2000 — 17 февраля 2000 года

Апгрейд для Windows 98. Из новинок централизованное управление с новыми же технологиями управления, улучшенный интерфейс.

Windows Millennium Edition (ME) — 14 сентября 2000 года

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

Windows XP 25 октября 2001 года

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

Windows Server 2003 — 24 апреля 2003 года

Это многозадачная операционная система, способная централизовано или распределенно управлять различными наборами ролей, в зависимости от потребностей пользователей. В наличии: файловый сервер и сервер печати; веб-сервер и веб-сервер приложений; почтовый сервер; сервер терминалов; сервер удаленного доступа / сервер виртуальной частной сети (VPN); служба каталогов, система доменных имен (DNS), сервер протокола динамической настройки узлов (DHCP) и служба Windows Internet Naming Service (WINS); сервер потокового мультимедиа-вещания.

1.3.КЛАССИФИКАЦИЯ ОПЕРАЦИОННЫХ СИСТЕМ

Основные принципы классификации операционных систем.

Операционные системы (ОС) классифицируют:

1. [endif]—>по особенностям алгоритмов управления ресурсами – локальные и сетевые ОС. Локальные ОС управляют ресурсами отдельного компьютера. Сетевые ОС участвуют в управлении ресурсами сети;

2. [endif]—>по числу одновременно выполняемых задач – однозадачные и многозадачные. Однозадачные ОС выполняют функцию предоставления пользователю виртуальной вычислительной машины, обеспечивая его простым и удобным интерфейсом взаимодействия с компьютером, средствами управления периферийными устройствами и файлами. Многозадачные ОС, кроме вышеперечисленных функций, управляют разделением совместно используемых ресурсов, таких как процессор, оперативная память, файлы и внешние устройства;

3. [endif]—>по числу одновременно работающих пользователей – однопользовательские и многопользовательские. Основным отличием многопользовательских систем от однопользовательских является наличие средств защиты информации каждого пользователя от несанкционированного доступа других пользователей;

4. [endif]—>по возможности распараллеливания вычислений в рамках одной задачи – поддержка многонитевости. Многонитевая ОС разделяет процессорное время не между задачами, а между их отдельными ветвями – нитями;

5. [endif]—>по способу распределения процессорного времени между несколькими одновременно существующими в системе процессами или нитями – невытесняющая многозадачность и вытесняющая многозадачность. В невытесняющей многозадачности механизм планирования процессов целиком сосредоточен в операционной системе, а в вытесняющей распределен между системой и прикладными программами. При невытесняющей многозадачности активный процесс выполняется до тех пор, пока он сам по собственной инициативе не передаст управление операционной системе для выбора из очереди другого готового к выполнению процесса. При вытесняющей многозадачности решение о переключении процессора с одного процесса на другой принимается операционной системой, а не самим активным процессом;

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

7. [endif]—>по ориентации на аппаратные средства – операционные системы персональных компьютеров, серверов, мейнфреймов, кластеров;

8. [endif]—>по зависимости от аппаратных платформ – зависимые и мобильные. В мобильных ОС аппаратно зависимые места локализованы так, что при переносе системы на новую платформу переписываются только они. Средством, облегчающим перенос ОС на другой тип компьютера является написание ее на машиннонезависимом языке, например, на С;

9. [endif]—>по особенностям областей использования – ОС пакетной обработки, разделения времени, реального времени. Системы пакетной обработки предназначены для решения задач вычислительного характера, не требующих быстрого получения результатов. Главной целью и критерием эффективности систем пакетной обработки является максимальная пропускная способность, то есть решение максимального числа задач в единицу времени. В системах с разделением времени каждому пользователю предоставляется терминал, с которого он может вести диалог со своей программой. Каждой задаче выделяется некоторый квант процессорного времени, так что ни одна задача не занимает процессор надолго. Если квант времени выбран небольшим, то у всех пользователей, одновременно работающих на одном компьютере, создается впечатление, что каждый из них единолично использует машину. Системы реального времени применяются для управления различными техническими объектами, когда существует предельно допустимое время, в течение которого должна быть выполнена та или иная программа управления объектом. Невыполнение программы в срок может привести к аварийной ситуации. Таким образом, критерием эффективности систем реального времени является их способность выдерживать заранее заданные интервалы времени между запуском программы и получением результата – управляющего воздействия;

10. [endif]—>по структурной организации и концепциям, положенным в основу:

— [endif]—>по способу построения ядра системы – монолитное ядро или микроядерный подход. ОС использующие монолитное ядро, компонуются как одна программа, работающая в привилегированном режиме и использующая быстрые переходы с одной процедуры на другую, не требующие переключения из привилегированного режима в пользовательский и наоборот. При построении ОС на базе микроядра, работающего в привилегированном режиме и выполняющего только минимум функций по управлению аппаратурой, функции более высокого уровня выполняют специализированные компоненты ОС – программные серверы, работающие в пользовательском режиме. При таком построении ОС работает более медленно, так как часто выполняются переходы между привилегированным режимом и пользовательским, но система получается более гибкой и ее функции можно модифицировать, добавляя или исключая серверы пользовательского режима;

— [endif]—>по построению на базе объектно-ориентированного подхода;

— [endif]—>по наличию нескольких прикладных сред в рамках одной ОС, позволяющих выполнять приложения, разработанные для нескольких операционных систем. Концепция множественных прикладных сред наиболее просто реализуется в ОС на базе микроядра, над которым работают различные серверы, часть которых реализуют прикладную среду той или иной операционной системы;

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

Третий период (начало 60-х – 1980 г.)

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

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

Вначале действительные операции ввода-вывода осуществлялись в режиме off-line, то есть с использованием других, более простых, отдельно стоящих компьютеров. В дальнейшем они начинают выполняться на том же компьютере, который производит вычисления, то есть в режиме on-line. Такой прием получает название spooling (сокращение от Simultaneous Peripheral Operation On Line ) или подкачки-откачки данных. Введение техники подкачки-откачки в пакетные системы позволило совместить реальные операции ввода-вывода одного задания с выполнением другого задания, но потребовало разработки аппарата прерываний для извещения процессора об окончании этих операций.

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

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

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

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

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

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

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

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

Появление электронно-лучевых дисплеев и переосмысление возможностей применения клавиатур поставили на очередь решение этой проблемы.

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

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

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

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

Первым семейством программно совместимых компьютеров, построенных на интегральных микросхемах, стала серия машин IBM/360. Разработанное в начале 60-х годов, это семейство значительно превосходило машины второго поколения по критерию цена/производительность. За ним последовала линия компьютеров PDP, несовместимых с линией IBM, и лучшей моделью в ней стала PDP-11.

ЭВМ IBM-36

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

Только в операционной системе OS/360 содержалось более 1000 известных ошибок. Тем не менее идея стандартизации операционных систем была широко внедрена в сознание пользователей и в дальнейшем получила активное развитие.

Adblock
detector