История развития операционных систем
В компьютере могут использоваться все системные программы операционной системы. Операционной системой для каждой программы является ОС, обслуживание которой выполняется, и как можно больше под ОС предоставляется этих услуг.
Операционная система (ОС) управления компьютерами, программами и данными не может быть подвергнута пользователю путем применения различных служебных функций, выполняющих защиту. Каждая программа использует службу ОС, поэтому она может работать только под той ОС, которая предоставляет эту службу.
Поэтому выбор ОС очень важен, ведь именно она определяет, какие программы могут работать на компьютере. Выбор ОС также зависит от производительности работы, стадии защиты данных, необходимого аппаратного обеспечения и т.д. Но выбор операционной системы также зависит от технических характеристик компьютера (конфигурации). Чем более современная операционная система, тем больше она не только предоставляет больше визуальных возможностей, тем больше это компьютер (мы выяснили, что такое операционная система, ее функции в целом, и теперь она обычно начинается с краткой истории своего появления и развития).
Кто, как и когда создал первую операционную систему?
Наверное, этот застой так бы и продолжался, если бы у человечества не было желания сконструировать такие устройства. Несмотря на высокий уровень развития технологий в таких сверхдержавах, как США и СССР, они тоже очень долго бились над этой задачей. Она была решена.
В каком году создали первую операционную систему? История создания операционных систем очень сложна. Первыми цели достигли Соединенные Штаты Америки. В 1955 году миру явилась ОС GM-NAA, предназначенная для цифровых компьютеров. Работала посредством системного монитора, была совместима и с ЭВМ.
Кто создал первую операционную систему? Над этой проблемой параллельно работали два американских изобретателя — Р. Патрик и О. Мок. Они трудились на благо разных компаний — General Motors и North American Aviation (NAA). В результате многих безуспешных попыток они решили всё же объединить свои усилия. В соавторстве они и явили миру ту платформу. Она работала на архитектуре IBM 701 для IBM 704. Основной задачей являлось ускоренное выполнение программ после компиляции предыдущей. Это ускоряло рабочий процесс.
Где создали первую операционную систему? Как уже было отмечено, первая в мире ОС была создана в США. Конечно, руководство СССР не могло с этим смириться, однако в советской стране это нововведение появилось гораздо позже, через 13 лет. Она называлась «Диспетчер-68». Тогда партийное руководство очень гордилось этим «достижением», однако по возможностям она уступала американским во много раз.
Что было дальше? Далее технологии постоянно улучшались, однако чего-то примечательного не изобреталось. Типичными были FMS, IBSYS и др.
Эта система была создана в 1969 году. Кодеры благодарны ей тем, что на основе был создан язык программирования «Си». Сейчас она распространена в серверных системах различных компаний мира.
Авторами стали девелоперы из компании AT & T. Она неоднократно модернизировалась. Самым известным изобретением на ядре UNIX стала другая ОС — Linux. Отличалась она от предшественников следующим:
- • Дана возможность работать с файлами данных, в том числе и для настройки.
- • Улучшенная командная строка.
- • Отдельно стоящая виртуальная машина — терминал. Это был способ взаимодействия пользователей с этой ОС.
Эти концепции используются и по сей день. Особенно важен здесь первый пункт списка, так как именно он дал решающий толчок к развитию системы каталогов и файлов, которыми мы пользуемся сегодня.
PLATO
В 1972 году появилась ОС PLATO. Тут прослеживается некоторая схожесть с современными компьютерами: на терминалах PLATO можно было работать с растровой и векторной графикой. Их панель была сделана из плазмы, отдавала оранжевым оттенком. Стоит сказать, что многие наработки послужили базой для популярных сегодня премиальных ПК фирмы Apple.
Кроме того, в качестве задач ей преподносили старые-добрые вычисления, симуляцию процессов через графику. В общем, она помогала обучаться школьникам, студентам. Военные также использовали ее, но в меньшей степени.
Единственным минусом на тот момент была дороговизна изготовления компонентов для работы с ней: блока, клавиатуры. Встраивание базового кода было также недешевым. Розничная цена из-за этого была высока — от 12. 000 долларов.
MS-DOS
На момент выхода в 1981 году это была самая современная операционная система. В то же время она была и самая простая для понимания: в качестве элемента коммуникации использовалась только командная строка, в которую нужно было писать то, чего хочет пользователь от компьютера, по определенным алгоритмам. Ею поддерживались дискеты.
Это была среда для появления первых «домашних хакеров», которых мы сегодня знаем под именами программистов-самоучек. Некоторые люди сегодня, запуская эмуляторы этой системы, обучаются базовому взаимодействию с каталогами и основам задания команд именно на этой платформе.
Однако через время некоторые пользователи начали присылать письма о том, где было сказано, что их раздражает постоянная необходимость вводить какие-то команды, чтобы получить доступ к чему-либо. Плюс черный интерфейс пришелся не по вкусу большинству. Нужно было что-то предпринимать для выхода из кризисной ситуации. На этом фоне и появляется следующий экземпляр. О нем пойдет речь далее.
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.
Сила «одной семьи» была одновременно и ее слабостью. Широкие возможности этой концепции (наличие всех моделей: от мини-компьютеров до гигантских машин; обилие разнообразной периферии; различное окружение; различные пользователи) порождали сложную и громоздкую операционную систему. Миллионы строчек Ассемблера, написанные тысячами программистов, содержали множество ошибок, что вызывало непрерывный поток публикаций о них и попыток исправления.
Только в операционной системе OS/360 содержалось более 1000 известных ошибок. Тем не менее идея стандартизации операционных систем была широко внедрена в сознание пользователей и в дальнейшем получила активное развитие.