Объявление

Четыре этапа эволюции вычислительных систем

 


С историей механических и электромеханических устройств можно познакомиться здесь (часть 1часть 2окончание).



В середине 40-х годов XX века были созданы первые ламповые вычислительные устройства и появился принцип программы, хранящейся в памяти машины (Джон Моучли, Джон Преспер Эккерт, Морис Винсент Уилкс, Джон фон Нейман, Сергей Алексеевич Лебедев и др.). Программирование осуществлялось на машинном языке. Все задачи организации вычислительного процесса решались каждым программистом с пульта управления. За пультом мог находиться только один пользователь. Программа загружалась в память машины с перфокарт, чаще помощью панели переключателей.


Colossus («Колосс») — секретный британский компьютер, спроектированный и построенный в 1943 году для расшифровки перехваченных немецких радиосообщений, зашифрованных с помощью системы Lorenz SZ.

Вычислительная система выполняла одновременно только одну операцию (ввод-вывод или собственно вычисления). Отладка программ велась с пульта управления с помощью изучения состояния памяти и регистров машины. В конце этого периода появляется первое системное программное обеспечение: в 1951–1952 годах возникают прообразы первых компиляторов с символических языков (Fortran и др.), а в 1954 г. Н. Рочестер разрабатывает Ассемблер для IBM-701.
Вычислительная техника работала в режиме последовательной обработки данных . В целом первый период характеризуется крайне высокой стоимостью вычислительных систем, их малым количеством и низкой эффективностью использования.

ЭВМ БЭСМ-6

Новый рывок в развитии компьютерной техники связан с появлением полупроводниковых элементов - транзисторов, позволивших повысить надежность компьютеров, длительность непрерывной работы машин. Снижается потребление вычислительными машинами электроэнергии, совершенствуются системы охлаждения. Размеры компьютеров уменьшились. Снизилась стоимость эксплуатации и обслуживания вычислительной техники. Началось использование ЭВМ коммерческими фирмами. Одновременно наблюдается бурное развитие алгоритмических языков (LISP, COBOL, ALGOL-60, PL-1 и другие). Появляются первые компиляторы, редакторы связей, библиотеки математических и служебных подпрограмм. Упрощается процесс программирования. Происходит разделение персонала на программистов и операторов, специалистов по эксплуатации и разработчиков вычислительных машин.

Копия первого в мире работающего транзистора

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


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

Катушка магнитной ленты для накопителя ЭВМ

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

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

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

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



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

Apple Macintosh


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



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

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

PDP 8 компьютер Digital Equipment

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


Следующий период в эволюции вычислительных систем связан с появлением больших интегральных схем (БИС). В эти годы произошло резкое возрастание степени интеграции и снижение стоимости микросхем. Компьютер, не отличающийся по архитектуре от PDP-11, по цене и простоте эксплуатации стал доступен отдельному человеку. Наступила эра персональных компьютеров. Первоначально персональные компьютеры предназначались для использования одним пользователем в однопрограммном режиме, что повлекло за собой деградацию архитектуры этих ЭВМ и их операционных систем (в частности, пропала необходимость защиты файлов и памяти, планирования заданий и т. п.).


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


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

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

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

Автономные операционные системы называют классическими операционными системами.

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

  • Планирование заданий и использования процессора.
  • Обеспечение программ средствами коммуникации и синхронизации.
  • Управление памятью.
  • Управление файловой системой.
  • Управление вводом-выводом.
  • Обеспечение безопасности

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


ЕЩЕ ПО ТЕМЕ:


The Mechanical Turk:  шахматный автомат-иллюзион

АНОНСЫ СТАТЕЙ БЛОГА "В МИРЕ ИТ" ЧИТАЙТЕ:

  FACEBOOK 


Блог В мире ИТ  Blog In the world of IT

#в-мире-ит, #мир-талантов-и-знаний, #вмиреит, #история-it, #программирование, #ibm,  #нанотехнологии, #компьютерное-железо,

Комментарии