История UNIX и Linux

Раздел: идея|Интересно

4 Июн 2010


Разработка ядра ОС — одно из самых сложных задач для программиста. Задача, справиться с которым может только хакер — человек, умеющий мыслить нестандартно, знающий компьютер как свои пять пальцев. Сейчас сложно представить, чтобы кто сам мог создать полноценную систему. Над монстрами, типа Windows XP, трудятся тысячи специалистов. Но 12 лет назад один из студентов финского института мог рассчитывать только на себя. Как и два сотрудника компании Bell System в далеком 1969 году. Однако, именно этой троице удалось создать операционные системы, которые сильно повлияли на компьютерный мир. Этими системами были UNIX и Linux.
Системы разделения времени
В середине 50-х годов исследовательский отдел корпорации Bell System приобрел для своего компьютерного центра несколько новых компьютеров. Огромные махины, купленные за миллионы долларов в IBM, предназначались для проведения разработок в пока еще мало изученной компьютерной области. Но когда ученые Bell освоились на установленных мэйнфреймах, стало ясно, что программное обеспечение, идущее в поставке, совсем не подходит для полноценной исследовательской работы. А за отсутствия операционной системы все приходилось делать вручную, что отнимало много времени и сил. Потому что большинство сотрудников отдела были опытными программистами, они решили создать ОС самостоятельно. И воплотить в ней все, что им было нужно.
Совместными усилиями разработка системы BESYS заняла меньше года, и в 1957 г. она была установлена на всех машинах компьютерного центра. Авторы BESYS не собирались распространять программу за пределами Bell — она предназначалась исключительно для внутренних потребностей. Но когда некоторые исследовательские институты проявили интерес к разработке, сотрудники крупнейшей телефонной компании выслали всем желающим копии на магнитных лентах.
В 1964 г. Bell Labs приобрела новое дорогостоящее оборудование, включая мощные компьютеры, установленные в исследовательском отделе. Программисты компании снова столкнулись со старой проблемой. BESYS была заточена под конкретную платформу и не работала на новых машинах, а IBM по-прежнему мало заботилась о программах, занимаясь созданием исключительно железа. Оставалось рассчитывать только на себя.Впрочем, представители других организаций тоже были заинтересованы в написании новой операционной системы.
К этому времени компьютерное сообщество захватила идея разделения машинного времени. Новая технология, предложенная командой Фернандо Корбато из Массачусетского Обчислювальногу Центра, давала возможность работать на одном компьютере нескольким людям одновременно. Не нужно было ждать своей очереди, ресурсы компа распределялись между всеми активными пользователями. Таким образом не только заощаджувався дорогой машинное время — программистам стало намного удобнее работать вместе над одним проектом. Впервые Compatиble Time Sharing System (CTSS) была запущена в 1961 на модифицированном компьютере IBM 7094 и с помощью коммуникационного контроллера соединила 30 терминалов. Чуть позже эту технологию переняли в Университете Кембриджа. Несмотря на очевидные достоинства системы, у нее было много противников, в основном среди студентов МТИ. Ребята, которые проводили все свое время возле компьютеров и использовали их ресурсы по максимуму, не могли согласиться с тем, что теперь мощностью придется делиться с кем-то еще. Несмотря на это, ведущие компьютерщики признавали — за CTSS будущее. И если писать операционную систему — в ее основе должна лежать система разделения времени.
Multиcs
Идея создать Multиcs (Multиplexed Information and Computing Service) — операционная система с поддержкой CTSS — пришла профессору Джеку Деннису из Массачусетского Технологического Института. Ее подхватили студенты-компьютерщики, и в 1963 г. они вместе разработали спецификации будущей ОС. Прежде чем начать работу над Multиcs, Деннис обратился к руководству IBM с предложением написать операционка под один из их мейнфреймов, если те поддержат проект. Но корпорацию не вдохновили полные энтузиазма речи профессора. Гораздо большую заинтересованность проявили представители компании General Electric, которым Джека познакомил лектор МТИ Джозеф Визенбаум. Технари с GE оказали института для написания ОС свой наиболее навороченный компьютер GE-645, а затем и сами подключились к работе над ней.
Мотив Массачусетский хакеров был ясен — ребят из МТИ всегда отличало стремление превзойти самих себя, создать нечто действительно потрясающее. А Multиcs был амбициозный, революционным компьютерным проектом в истории. GE преследовала куда менее возвышенные цели. С помощью Multиcs компания просто рассчитывала усилить свое влияние в компьютерной индустрии. Исследовательская команда Bell не очень желала превзойти себя и не стремилась выйти на Софтверные рынок. Но для полноценной работы им не хватало хорошей операционной системы, именно такой, какой обещала стать Multиcs. Поэтому несколько лучших программистов Bell под руководством Виктора Высоцкого предложили свою помощь и вскоре присоединились к другим. Работая вместе и обмениваясь идеями, три команды стали потихоньку воплощать проект в жизнь.
Планы розробнткив ОС были грандиозными. Multиcs не только должна была исполнять множество возложенных на нее задач, но и включала технологии, которые еще не могли быть использованы на компьютерах того времени. Каждая команда выдвигала все новые и новые предложения, и через некоторое время список возможностей, которые надо было воплотить в жизнь, вырос до невероятных размеров. Мало кто верил, что разработчикам удастся создать что-либо подобное.
Несмотря на энтузиазм создателей, работа затянулась на несколько лет. Разработчики, особенно представители МТИ, хотели создать идеальную систему. В процессе работы над Multиcs постоянно появлялись новые замыслы, значительная часть которых реализовывалась впервые и требовала тщательного тестирования. Это, а также отсутствие хорошей финансовой поддержки, заставляло вновь и вновь откладывать релиз.
В апреле 1969 г. команда из Bell заявила о своем решении выйти из состава разработчиков ОС. Виктор Высоцкий и его коллеги поняли, что для создания столь амбициозного проекта, как Multиcs, понадобится еще не один год. Множество идей все еще оставались на бумаге, к тому же, по мнению сотрудников Bell, система с каждым годом все сильнее отличалась от того, что планировалось изначально. И ее полезность в экономическом плане вызвала серьезные сомнения.
Через полгода, в октябре 1969, сильно сокращена и явно недоработанные Multиcs была представлена общественности. После этого на авторов обрушился шквал писем и звонков — пользователи наперебой перечисляли баги, рассказывали о регулярных сбои. Только в середине 1970 г. первая система с разделением времени нашла более-менее стабильную рабочую форму.
Space Travel
После того как программисты Bell разочаровались в пятилетнем проекте, большинство из них вернулись к своим обычным обязанностям. На компьютер GE-635, где разрабатывалась Multиcs, установили GECOS — операционную систему, гораздо более простую, чем ее предшественник.
Несмотря на то, что она вполне подходила для работы с файлами и базами данных, для сложных комплексных задач, которыми обычно занимались сотрудники Bell, новая ОС не годилась. Некоторые программеры из числа Bell-разработчиков Multиcs не отказались от идеи создать гибкую систему, пригодную для серьезного программирования. Среди них были Кен Томпсон, Дэннис Речи, Джои Осанна и Советов Кеннеди, которым ограничения GECOS сильно мешали. В конце весны 1969 Томпсон и Ричи обратились к руководству с просьбой предоставить им эксклюзивный мощный компьютер для работы над новой CTSS-системой. В своем проекте программисты планировали собрать все лучшее, что было в Multиcs, сделать систему максимально гибкой и функциональной. Но несмотря на все просьбы, компания отказалась выделить отдельный компьютер. Отдать под некоммерческий проект машину стоимостью миллион долларов означало терять десятки тысяч баксов ежемесячно.
Блуждая по длинным коридорам корпорации Bell, Кен Томпсон то наткнулся на старенький компьютер PDP-7, стоявший в углу одной из лабораторий и редко использовался. Кен тогда именно закончил работу над игрой Space Travel — симулятором солнечной системы, по которой можно было летать на маленьком космическом корабле — и сразу захотел портировать ее из своего GE-635 на эту машину. Во-первых, потому, что играть на PDP-7 было намного дешевле, чем на GE-635, во-вторых — дисплей в PDP-7 больше подходил для видеоигр. Правда, компьютер фирмы DEC не поддерживал многих функций, реализованных в игре. И для того чтобы запустить Space Travel на PDP, нужно было не только перенести исходный код, а с нуля написать все программную среду, в котором будет работать программа. Именно этим и занялись Кен Томпсон и Деннис Ричи летом 1969 года.
Рождения UNIX
Программный пакет для работы с плавающей запятой, графические примочки и другие вещи, которые были нужны для запуска игры на PDP, писались на ассемблере мейнфреймы GE-635. Затем код записывался на магнитную ленту, и Кен или Деннис несли его через весь дом в лабораторию, где стоял компьютер DEC. Там информация считывалась и заганялася в память. Впоследствии двум программистам удалось воссоздать файловую систему, полностью соответствующую требованиям Space Travel.Правда, все, на что она была способна — скачать игру и передать управление над кораблем игроку. В принципе, ради этого и затевалась вся эта беготня. Но очень скоро Томпсону захотелось большего.
Файловая система, написанная для Space Travel, происходила на ядро простенькой ОС. В ней уже находились некоторые важные процедуры, но не было способа управления ими.Кен решил немного ее расширить и добавил множество различных программ для работы с файлами: копировать, удалить, редактировать, распечатать и др. Когда вслед за ними появилась оболочка с командной строкой — это уже была не просто платформа для одной игры, а настоящая операционная система. Хотя еще изрядно сыра.
Кен и Деннис быстро увлеклись новым проектом. Они оба принимали участие в разработке Multиcs и имели немалый опыт в программировании ОС. Полученные тогда знания очень пригодились в создании собственной системы. И чем дальше, тем серьезнее они к ней относились.
Приятели хотели сделать не просто среда, в которой было бы приятно работать и программировать, а построить систему, способную собрать вокруг себя сообщество таких же компьютерщиков-энтузиастов, как ее авторы.
В процессе разработки ОС участвовали двое других сотрудников Bell — Джои Осанна и Советов Кеннеди, которые написали несколько дополнительных утилит. Моральную и идейную поддержку делал Дуглас Маклрой.
В начале 1970 г. система уже могла полностью функционировать самостоятельно и наконец нашла имя. Название UNИCS (UNиplexed Information and Computing Service) подсказал Брайана Кернигана — работник компании, который все это время с интересом следил за проектом.
А через несколько месяцев ОС, родившаяся в кампусах Bell, стала более известна как UNIX.
После того как о системе Кена и Денниса узнали за пределами телефонной компании, она быстро завоевала популярность. Этому во многом способствовало ее умение легко адаптироваться к самым разным компьютерных платформ. В 1973 г. UNIX была практически полностью переписана на языке C, что сделало ее еще более привлекательной. В большинстве исследовательских институтов эта ОС стала стандартом де-факто, причем многие пытались как-то улучшить ее возможности. В результате из 70-х по девяностые годы вышло множество Unix-клонов (FreeBSD, OpenBSD, NetBSD, Ultrиx, Xenиx, Иrиx, HP-UX, Solarіs, Unиxware и т.д.), среди которых были как коммерческие, так и фриварное. Но ни одна из этих систем не получила такой популярности и такого признания, как Linux.
Линус Торвальдс
28 декабря 1968 в обычной финской семье Нильса и Анне Торвальдс родился сын.Маленький Линус унаследовал от своего отца большой нос, а от матери — маленькие внимательные глаза. При всем желании ребенка нельзя было назвать красивой. Когда Линус подрос, он стал носить очки — не столько из близорукость, сколько для того, чтобы скрыть за ними «наследие» отца. Худой, неспортивный, с зубами, выпирающими, и волосами, торчащими во все стороны, — он был одним из тех, кого называют типичными ботаниками. И не только внешне. Линус был признанным математиком и часто удивлял даже своих учителей. Это не значит, что он просиживал все вечера, уткнувшись в учебник. Чаще парень вообще ничего не учил. Ему достаточно было нескольких минут перед уроком, чтобы понять весь заданный материал и при случае рассказать его у доски.
Любимыми предметами Линуса всегда были математика и физика. Ему нравились точные науки, дающие возможность поломать голову над решением той или иной задачи. В то же время история, биология и другие науки, требующие запоминания больших объемов информации, его не интересовали вообще. Единственной причиной, которая заставляла его все это учить, была младшая сестра Сара, с которой Линус все время соперничал за звание лучшего ученика в семье.
Ближайшим родственником для юного математика в то время был дедушка Лео — профессор статистики в Университете Хельсинки. Такой же рассеянный и замкнутый, как его внук. Линус часто приходил к нему в гости. Ему было интересно пообщаться на математические темы, а также поиграть с калькулятором — одним из главных рабочих инструментов профессора. Для вычисления заданной действия примитивной машинке нужно было секунд десять, и все это время Линус, затаив дыхание, наблюдал за переморгуванням лампочек на экране. Парнишка снова и снова задавал новые команды и пытался решить с помощью калькулятора разнообразнейшие примеры. А когда дедушка работал, он сидел где-нибудь рядом и, делая вид, что внимательно читает или смотрит телевизор, с нетерпением ждал, когда Лео закончит, и даст ему повозиться с любимой игрушкой.
Примитивный калькулятор — все, что Линус тогда было нужно для счастья. Пока в 1981 г. дедушка-профессор не купил Commodore VI-20.
Первые шаги юного программиста
VI-20 был одним из первых персональных компьютеров. Конечно, это была довольно примитивная модель с 3,5 Кб ОЗУ, но она не требовала сборки, а как терминал мог служить обычным телевизором. Изучать возможности новой игрушки дед с внуком принялись вместе. В то время готовые программы в Финляндии практически не продавались, поэтому, если ты хотел поиграть в какую-нибудь игру или получить нужную утилиту, тебе нужно было написать ее самому. На единственной доступной языке Бейсик.
После покупки компьютера школа казалась еще более скучной и ненужной. Едва досидев до конца уроков, Линус ждал, пока его заберет мать, и просил отвезти к дедушке с бабушкой. Там он садился на колени к профессору и набивал на клавиатуре программы, Лео успел написать за день. Обычно это были какие-либо математические расчеты, связанные со статистикой. Одиннадцатилетний Линус, конечно, ничего в этом не понимал, но с удовольствием набирал текст. Впоследствии простой набор уже не мог удовлетворить любознательного мальчика, и он потихоньку принялся изучать Бейсик.
Видя увлечение сына, родители купили ему учебник по программированию на английском языке. Эта книга, которую можно было читать только со словарем, сразу стала близким другом Линуса. Минуя стадию «hello world», юный программист впоследствии стал пробовать писать собственные программы. В основном это были аркадные игры, где нужно было управлять машиной, самолетом или подводной лодкой. Сама игра не доставляла то удовольствие, что давало программирования, поэтому, порубившись неделю в свое удовольствие, автор переходил к написанию очередной программы.
Через четыре года после первого знакомства с VI-20 в семье Торвальдс случилось два события. Во-первых, разошлись родители, во-вторых — у дедушки случился инсульт, и его поместили в больницу. Из-за этого Линус еще больше привязался к компьютеру. Когда профессор Лео умер, VI-20 перешел во владение внука. Теперь 15-летний Торвальдс мог работать на нем сколько угодно, и ничто, кроме школы, не могло ему помешать.
Жизнь за черными занавесками
Когда Линус поступил в университет, главным предметом он выбрал компьютеры, а в дополнение записался на математику и физику. Группа, в которой он учился, состояла исключительно из ребят, в основном таких же ботаников, как он сам. Первое время в институте было интересно, и Линус с удовольствием брался за решение заданных домой задач. Правда, он никогда не ходил на студенческие вечеринки … да и вообще практически никуда не ходил. Маршрут каждый был одинаковым: дом — институт — дом. А дома все его внимание приковывал компьютер. К концу первого курса Линус выжал из VI-20 все, что только можно. Работать на нем стало скучно, к тому же, в какой момент закончилось вдохновение. Поэтому, когда пришло обязателен для всех финнов военный призыв, Линус без особого сожаления отправился служить.
Вернувшись из армии через год, Торвальдс продолжил обучение, но интерес к универа уже прошел.
Гораздо больше его привлекала идея купить новый компьютер. Перебирая разные модели, Линус остановился на Sиnclaиr QL — 32-разрядной персоналци с частотой 8 мегагерц и 128 Кб ОЗУ. Стоила она около 2 тысяч долларов, и чтобы собрать эту сумму, пришлось целый год откладывать стипендию, студенческие премии (как лучшему математику), карманные деньги и деньги, подаренные на день рождения и Новый год. Наконец, Sиnclaиr был куплен, и Линус с головой окунулся в изучение новой игрушки.
В первую очередь 17-летний программист взялся за изучение более серьезных, чем Бейсик, языков программирования. Например Фортран и Ассемблер.

Женский интернет журнал для леди!

Реклама

  • Людмила Юцкевич: Давно мечтала себе приобрести теннисный стол, вот проб [...]
  • Petr Lapuhin: Игровые автоматы, тем более от Вулкана - это конечно де� [...]
  • Кузьма Решетняк: да, неплохой джекпот в 40 лямов) я когда выигрываю 200-300 б� [...]
  • Кузьма Решетняк: а мне больше нравится сайт http://avtomaty-vulkan-free.com/ !! хотя, на [...]
  • Кузьма Решетняк: я тоже очень люблю игровые автоматы, но я предпочитаю б [...]

Друзья

Любимые фильмы онлайн