Кен Томпсон и Деннис Ритчи - создатели UNIX |
Наверное, современному пользователю будет трудно осознать, что было время, когда никакой Windows не было. Еще труднее будет осознать, что до этого было время, когда никаких операционных систем не было вообще. Большие электронные вычислительные машины (предшественники современных персональных компьютеров) уже были, а операционной системы - нет. Неужели такое возможно, спросите вы? Как же тогда компьютер работал? И когда появилась первая операционная система?
По большому счету, операционная система - всего лишь посредник между компьютерным «железом» (оборудованием) и пользователем. Для работы самого компьютера операционная система не нужна. Он вполне обходится машинным языком - последовательностью нулей и единиц, которые говорят ЭВМ, что и как делать, что вычислять и как всем этим массивом данных управлять.
В 40-е годы появились первые сложные электронные устройства (на лампах), которые занимались довольно примитивными, по современным меркам, вычислениями, например, траекторий. Для таких вычислений не нужна была операционная система, а вся работа человека (оператора) заключалась в организации вычислительного процесса (при помощи перфокарт). Все это походило в большей мере на научно-исследовательскую работу, чем на решение каких-либо практических задач.
Однако, с развитием технологий и расширением запросов появился спрос на программы, которые бы решали широкий круг прикладных задач. Выяснилось, что для каждой программы нужно писать код не только под конкретную задачу, интересующую пользователя, но и процедуры работы ЭВМ в ходе выполнения текущего алгоритма. Решение нашлось в разделении кода программы и процедур, управляющих работой компьютера. Были реализованы библиотеки ввода-вывода, которые послужили прообразом первых, довольно примитивных операционных систем, которые позволили освободить программистов от необходимости повторно использовать одни и те же процедуры в своих программах и существенно уменьшить их объем.
Первым шагом к современным операционным системам стал принцип пакетной обработки данных. Идея пакетной системы заключалась в разделении задач между несколькими ЭВМ. На первоначальном этапе часть компьютеров использовалась для загрузки программы, ввода данных и вывода результата на печать. Основная же ЭВМ занималась выполнением основного кода программы. В каком-то смысле, это была первая попытка реализовать многозадачность в условиях, когда технологии еще не дошли до этого. Впервые подобный принцип в своих компьютерах реализовала в 50-х годах компания IBM.
За два неполных десятилетия - 50-60-е годы - теоретическим и практическим путем были выявлены необходимые для существования полноценной операционной системы элементы: многозадачность, поддержка виртуальной памяти, файловые системы, разграничение доступа, работа в сети. Подоспели и технологии: в производстве ЭВМ полупроводники сменили лампы, что увеличило мощность и надежность компьютеров во много раз.
Усложнение задач, которые возлагались на компьютеры, ставили вопрос о создании полноценной операционной системы. Идея витала в воздухе, попытку реализовать ее, правда, не очень удачную, взяла на себя компания American Telegraph & Telephone Bell Labs (сокращенно AT&T Bell Labs) в 1965 году. Свою разработку они назвали Multics - это должна была быть многопользовательская операционная система с дружественным интерфейсом. В ней было немало хороших находок: разноуровневая защита виртуальной памяти, ее большой объем, полноценная файловая система. Однако, окончательно реализовать проект так и не удалось, он был закрыт - компания не видела коммерческого применения данного продукта.
Один из разработчиков, участвовавших в проекте Multics, Кен Томпсон, в 1969 году решил модернизировать операционную систему под игру собственной разработки под названием Space Travel, в которой игрок мог путешествовать на звездолете по солнечной системе. Позже к проекту подключился Деннис Ритчи и еще несколько сотрудников AT&T Bell Labs. Им удалось написать ядро системы, которая соответствовала требованиям игры. Она умела производить операции с файлами (копировать, удалять), распечатывать документы. Был реализован терминал для управления системой в виде командной строки. Свой проект они первоначально называли Unics. Впоследствии название превратилось в UNIX. В 1971 году операционка, что называется, пошла в народ и сразу же приобрела широкую популярность, став стандартной операционной системой во многих исследовательских институтах того времени. Изначально UNIX был написан на ассемблере (язык низкого уровня, близкий к машинным кодам). В 1972 году UNIX был переписан на языке B, а в 1973 году - на языке программирования С, который был написан для этой системы Деннисом Ритчи.
Именно UNIX можно назвать первой полноценной операционной системой, в которой были заложены все основные принципы построения операционных систем. Одна из реализаций UNIX послужила прототипом для операционной системы Linux, ядро которой, кстати, лежит в основе мобильной операционной системы Android.
Интересный факт: разработкой Multics, послужившей основой для UNIX, руководил программист и математик Виктор Высотский - сын русских эмигрантов. Если вы владеете анлийским языком, посмотрите фильм от AT&T Bell Labs об истории операционной системы UNIX. Рассказчик - Виктор Высотский, разработчик и руководитель проекта Multics.
Комментариев нет:
Отправить комментарий