ВЕБ-мастерская «Web-Tut» - История развития и популяризация компьютеров в современном мире

История развития и популяризация компьютеров в современном мире

* * *

Программы. Mашина Тьюринга

 

Компьютеры зародились в связи с необходимостью расчетов, прежде всего для военных нужд. Сейчас словом «программа» никого не удивишь. Между тем, программы появились задолго до появления вычислительных машин. Механическая пианола, позволяющая воспроизводить музыку с записи, появилась в 1887 году, а шарманки, воспроизводящие запись, известны с XV века.

 

Но, разумеется, никаких вычислений такие программы производить не могли. В них предусматривалось только последовательное движение вперёд без возможности произвольного перехода к другому участку программы, а в роли машины выступал музыкальный инструмент.

 

 

Теперь представим себе, что лента, считываемая машиной, бесконечна, сама машина может прокручивать ленту вперёд или назад в зависимости от информации, которая была считана, а также записывать на ленту новую информацию. Внимание! Мы «изобрели» машину Тьюринга. Машина Тьюринга – это считывающее устройство, находящееся в одном из нескольких состояний, умеющее читать ленту, изменять состояние в  зависимости от прочитанного с ленты, перемещаться по ней вперёд и назад в зависимости от состояний, а также выполнять записи. Число состояний, в которых может находиться машина Тьюринга, конечно и заранее определено.

 

 

Концепция машины Тьюринга была предложена Аланом Тьюрингом в 1936 году для формализации понятия алгоритма. Идея машины Тьюринга тесно связана с такими понятиями, как процессор, алгоритм, язык программирования, транслятор, компилятор, интерпретатор, виртуальная машина(машина, выполняющая байт-код).

 

 

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

 

 

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

 

 

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

 

 

Первые вычислительные машины создавались на базе электромеханических реле. Это не удивительно, поскольку реле – простейшее устройство, позволяющее изменять состояния. Так, одна из первых ЭВМ – машина Z3, разработанная Конрадом Цузе в 1941 году, – действовала на основе телефонных реле. В 1941 году появилась и американская машина МАРК-1, действовавшая также на основе электромеханических реле и переключателей. В 1944 году Конрад Цузе уже работал над машиной Z4, одновременно создавая один из первых языков программирования высокого уровня – Планкалкюль.

 

 

Конечно, были эксперименты по построению вычислительных машин на других принципах. Например, в 1936 году Владимир Лукьянов создал гидравлический интегратор – единственную в СССР вычислительную машину для решения дифференциальных уравнений в частных производных. Однако это была аналоговая машина, ориентированная на решение неуниверсальных задач. Для построения вычислительных машин, работающих с состояниями, именно реле на тот момент было оптимальным электрическим переключателем.

 

 

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

 

 

Схема работы электромагнитного реле:

 

 

1 – электромагнит

2 – подвижный якорь

3 – переключатель

 

 

В исходном состоянии магнит обесточен, и сигнал, подаваемый на контакт IV, может быть считан сконтакта III.

 

 

Подача тока на контакт I приводит к возникновению магнитного поля у электромагнита 1, которое притягивает якорь 2, а он, в свою очередь, механически переводит переключатель 3 в отклонённое соединение. Таким образом, цепь между IV и III контактами размыкается, и IV контакт оказывается замкнут на V – соответственно, сигнал идёт на V контакт.

 

 

Разумеется, подобный способ управления позволяет задавать определённую логику работы за счёт комбинирования переключателей. Недостатками такого подхода являются громоздкость схемы, медленный темп работы из-за механического движения якоря и переключателя, а также ненадёжность. Так, известный термин debug возник из-за жука, который застрял в реле и тем самым вывел переключатель из строя.

 

 

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

 

 

2 века компьютеров. Лампы, транзисторы, БИС, СБИС

 

 

Что позволило лампам заслужить такую любовь пользователей? Возможны три ответа: устойчивость к ЭМИ, тёплый ламповый звук и красивый внешний вид (впрочем, есть мнение, что последние два пункта обозначают почти одно и то же). В своё время вакуумные лампы, или радиолампы, произвели настоящую революцию в электротехнике, позволив создать более совершенные вычислительные машины.

 

 

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

 

 

Первые известные вычислительные машины, работающие на лампах, были построены в 1943 году. Это были британский Колосс и американский ЭНИАК – предок не менее известного ЭДСАКА,созданного уже в 1948 году.

 

 

ЭНИАК

 

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

 

 

Если основным недостатком машин на электромагнитных реле была откровенная ненадёжность, машины на радиолампах, помимо этого, обладали ещё и внушительными размерами.

 

 

В 1947 году физики Уолтер Браттейн и Джон Бардин разработали первый работоспособный точечный транзистор – полупроводниковый прибор, работающий на иных физических принципах, чем радиолампа, но позволяющий выполнять те же задачи. В 1948 – 1950 годах Уильям Шокли создал теорию p-n-перехода и плоскостного транзистора, а уже в 1954 году Texas Instruments выпустила первый кремниевый транзистор.

 

 

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

 

 

Первый транзистор

 

 

В машинах второго поколения стали применяться магнитные диски, а для ввода-вывода информации использовались перфоленты и перфокарты. Активно развивается программное обеспечение: появляются библиотеки программ, такие программы, как автокод и монитор. Разрабатываются языки программирования (Фортран, Алгол), трансляторы (интерпретаторы и компиляторы). К наиболее известным машинам второго поколения относятся UNIVAK и Минск-22.

 

 

Для машины IBM-704 в Bell Labs (подразделение AT&T) была создана операционная система BESYS. Она предназначалась для эффективного выполнения большого количества коротких задач, динамически загружаемых с использованием перфокарт, для чего использовалось дополнительное оборудование для работы с перфокартами и печати результатов на бумаге. Такой подход послужил прообразом для операционных систем с разделяемым временем исполнения задач.

 

 

Интересным экземпляром машин второго поколения, разработанных в СССР, была машина «Сетунь», работающая на троичной логике (использовались триты и трайты вместо битов и байтов). «Сетунь» была создана под руководством Н.П. Брусенцова в 1958 году. 

 

 

В 1958-1959 годах был изобретён способ изолировать компоненты на кристалле полупроводника – таким образом, в одном корпусе мог помещаться не один транзистор, а целая схема, что вело к миниатюризации устройств. Так начался век микросхем.

 

 

Под микросхемой понимается интегральная схема – кристалл или пленка со схемой, – заключённая в корпусе. На интегральных схемах (ИС) были реализованы ещё более быстрые и меньшие по размеру ЭВМ третьего поколения. Во второй половине 60-х годов в США небезызвестной компанией IBM начали выпускаться серии машин IBM-360, затем IBM-370, и, наконец, в 70-х годах в СССР стали создавать вычислительные машины серии ЕС ЭВМ (Единая система ЭВМ) по образцу IBM 360/370.

 

 

Возможности BESYS для компьютеров третьего поколения уже не удовлетворяли пользователей, поэтому в 1964 году началась разработка новой операционной системы Multics, которой занимались Массачусетский технологический институт и компании General Electric (GE) и Bell Labs. Это уже была полноценная операционная система с разделением времени выполнения программ. Multics была написана на языке высокого уровня PL/I и работала на 36-битных вычислительных машинах GE-600. В системе Multics был реализован ряд идей, которые сейчас применяются в большинстве операционных систем: среди них работа с файлами на уровне операционной системы, использование виртуальной памяти, позволяющей отображать файлы в сегменты памяти, динамическое связывание программ и библиотек, иерархическая файловая система с именами файлов произвольной длины, несколько имён у файлов, символические ссылки на директории. Кроме того, система Multics позволяла на ходу подключать и отключать оборудование, реализуя модульный принцип. Впрочем, хотя Multics и вошла в число первых ОС, написанных на языке высокого уровня, она не стала самой первой из них – первенство принадлежало MCP, написанной на Алголе.

 

 

AT&T счёл Multics коммерчески неуспешной, но группа создателей системы продолжила её развивать. Новая созданная ими операционная система получила название Unics, производное от Multics: если Multics расшифровывалось как MULTIplexed Information and Computing Service, то Unics – как UNIplexed Information and Computing System, что подчёркивало простоту новой системы.

 

 

К 1969 году Unics была переписана для использования на мини-компьютерах типа PDP-7. Это была первая редакция системы (Edition I) – её первая официально выпущенная версия. С 1 января 1970 года компьютеры с UNIX – так теперь называлась новая операционная система – уже отсчитывали системное время. Началась эпоха UNIX.

 

 

Первая редакция UNIX, как и многие (но не все) операционные системы того времени, была написана на ассемблере, не содержала ОС и встроенного компилятора с языка высокого уровня. В 1966 году был разработан интерпретируемый язык BCPL, а в 1​ 969 – язык B (Би), также интерпретируемый. Посути, это была упрощённая для реализации на миникомпьютерах версия BCPL (который, кстати, всвою очередь сам был развитием языка CPL). Наконец, в 1972 году UNIX была переписана на языке B. Это была вторая редакция (Edition II) Unix.

 

 

В 1969 – 1973 годах на основе Би был разработан компилируемый язык, получивший название С (Си). На языке Си и была написана новая версия UNIX, известная как третья редакция – эта версия включала встроенный компилятор C. В том же году вышла и четвёртая редакция. Теперь на Си было переписано и системное ядро (в духе системы Multics, также написанной на языке высокого уровня ПЛ/I). В 1975 году вышла пятая редакция, полностью переписанная на Си. В то время UNIX широко распространяется в учебной и университетской среде, у неё появляются новые версии, разработанные другими организациями. Тогда же, в 1975 году, Bell Labs выпускает шестую редакцию системы, а в 1976 году выходит книга Джона Лайонса «Комментарии к 6-й версии UNIX с исходным кодом», содержащая текст исходного кода ядра 6-й версии AT&T UNIX и комментарии к исходным текстам, которые объясняли функционирование операционной системы UNIX. Последней версией UNIX была седьмая – затем наступила эра множества версий UNIX от разных производителей. В седьмой версии появился интерпретатор командной строки Bourne shell (заново переписанной версией которого является современный bash), интересный также тем, что был создан под влиянием языка Алгол-68 – потомка языка Алгол и непосредственного конкурента другого дочернего языка – известного всем Паскаля.Таким образом, именно на третье поколение пришлись по-настоящему революционные события в развитии вычислительной техники. Многое из разработанного в тот период в Unix применяется до сих пор.

 

 

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

Опубликовано 14.12.2018 г.
Создание и продвижение сайтов в Ялте

Адрес

298612, Россия,

Республике Крым, г. Ялта,

ул. Весенняя, д. 6А, оф. 5

Контакты

Email: support@web-tut.ru

Телефон: +7 (978) 058-82-57