Томпсон + Ритчи = Unix
Кен Томпсон | Деннис М. Ритчи | ||||
1943 - Родился в Новом Орлеане, штат Луизиана 1943-1960 - Надоедливый ребенок эскадры, перемещающейся каждые несколько лет 1965-66 - Выпустился со степенями бакалавра и магистра по электротехнике из Университета Калифорнии в Беркли 1966 - Поступил на работу в исследовательский отдел Bell Labs, работая над проектом Multics 1969 - Разработал операционную систему UNIX
1970 - Написал язык B, предшественник языка
C
Денниса Ритчи
|
|
История легендарной операционной системы UNIX
Середина 1960-х — начало 1970-х:
Bell Telephone Laboratories, подразделение американского гиганта AT&T,
решает создать совершенно новую операционную систему для компьютеров третьего
поколения. К разработке присоединяются корпорация General Electric Company и
Массачусеттский институт технологии MIT (Massachusetts Institute of Technology).
ОС, получившая название MULTICS (MULTiplexed Information and Computing System),
должна была стать многозадачной операционной системой с разделением времени и
новым пользовательским интерфейсом, обеспечивающей одновременную работу
нескольких сотен пользователей. Затраты на разработку ОС себя не оправдали,
система получилась ненадежной и громоздкой. Были допущены некоторые серьезные
ошибки (в частности, основным языком программирования выбрали PL/I, далеко не
идеально справлявшийся с возложенными на него надеждами), работу над MULTICS
прекратили. В 1969 году Bell Labs (в которой особого внимания заслуживают Кен
Томпсон (Ken Tompson) и Дэннис Ритчи (Dennis Ritchie)) выходит из проекта.
Однако, во время работы над MULTICS у разработчиков появились новые идеи (в том
числе, об архитектуре файловой системы), которые позже были воплощены в жизнь.
Томпсон, Ритчи и ряд других сотрудников Bell Labs начинают разработку новой
операционной системы, стараясь внести в нее все лучшее, что было в MULTICS.
Всеобщими усилиями создаются первая версия ядра, свой ассемблер, необходимые
утилиты. Новую операционную систему, работающую на PDP-7, в память умершей
MULTICS называют UNICS (Uniplexed Information and Computing System). Название
придумал еще один важный деятель — Brian Kernighan. Система полностью написана
на ассемблере, официальным днем ее рождения стало 1 января 1970 года, начало
эпохи (с этого момента и ведется отсчет времени в секундах в функциях некоторых
языков программирования).
Начало — конец 1970-х:
В 1971 году патентному подразделению Bell Labs потребовалась система
обработки текста. В качестве операционной системы была выбрана UNIX, теперь
работающая на более мощном компьютере PDP-11. Сама система занимала 12 (16?)
килобайт, прикладные программы — 8 кб, максимальный размер файла ограничивался
64 кб. Assembler стал неудобен из-за слабой переносимости UNIX на разные
платформы. Tompson, занимаясь созданием компилятора Фортран (FORTRAN),
придумывает новый язык — Би (B). Ритчи же в свою очередь переработал его в Си
(C), способный генерировать машинный код. В 1973 году большая часть ядра UNIX
переписывается на C — теперь ОС может быть легко перенесена на другие аппаратные
платформы, что значительно повышает ее популярность. В Bell Labs уже работает 25
систем, появляется группа UNIX-системщиков — UNIX System Group (USG). С 1974
года AT&T начинает распространять исходные коды системы в университеты.
Благодаря своей небольшой цене UNIX приобретает новых сторонников, количество ее
разработчиков значительно возрастает. Появляются все новые и новые версии
системы, называемые редакциями; всего их вышло 10 (с 1971 по 1989 гг.). Первые
семь редакций (т.е. до 1979 года включительно) разрабатывались Компьютерной
Исследовательской Группой CRG (Computer Research Group) в Bell Labs при
содействии USG и PWB (Programmer's WorkBench), занимающихся сопровождением
системы и разработкой среды программирования соответственно; работали они под
PDP-11. После седьмой редакции разработкой занялась USG; работал UNIX под VAX. К
1977 году число работающих UNIX-систем превысило 500. Тогда же было совершено
первое портирование системы на компьютер, отличный от PDP. В 1978 году выходит
первая версия BSD UNIX, разработанная в Калифорнийском университете в Беркли и
основанная на шестой редакции. В 1979 году выходит 3BSD, теперь уже базирующаяся
на седьмой редакции и ставшая первой BSD-системой, перенесенной на VAX.
Начало — конец 1980-х:
В 1980 году фирма Bolt, Beranek and Newman (BBN) подписала контракт с
Отделом перспективных исследовательских проектов (DARPA) Министерства обороны
США на разработку поддержки протоколов TCP/IP в BSD UNIX. Работа над ней
завершается в конце 1981 года, переносится в 4.2BSD UNIX. В 1982 году AT&T
объединила несколько существующих версий UNIX, создав System III. Данная версия
уже была предназначена не для внутреннего использования, а для распространения
вне Bell Labs и AT&T. В 1983 году выходит System V, а лаборатория USDL (UNIX
System Development Laboratory), в которую переросла USG, выпускает ее
модификацию — System V Release 2. В 1987 году ATTIS (AT&T Information Systems),
новое подразделение AT&T, выпускает System V Release 3. В 1988 году AT&T и Sun
Microsystems заключили соглашение о сотрудничестве в разработке последующих
версий System V. Другие компьютерные гиганты по-своему отвечают на данный ход —
IBM, DEC, Hewlett-Packard создали организацию Open Software Foundation (OSF).
Результатом ее деятельности стала OSF/1 — UNIX операционная система, созданная
независимо от AT&T. В 1989 году выходит System V Release 4, вобравшая в себя
возможности SunOS от Sun Microsystems, BSD Unix от Berkley Software Distribution
и предыдущих версий System V.
Начало 1990-х — наши дни:
В начале 1990-х начинает набирать обороты проект GNU, организованный
Ричардом Столлмэном (Richard Stallman) и создающий бесплатное программное
обеспечение. А в это время появляется новый человек, существенно повлиявший на
дальнейшее развитие UNIX. Им стал Линус Торвальдс (Linus Torvalds) из Хельсинки
(Финляндия), который, будучи в 1991 году студентом второго курса местного
университета, заявляет, что ОС Minix (еще один UNIX-клон) его не устраивает и
начинает разработку своей операционной системы, позже названной Linux. 25
августа 1991 года приходит первое сообщение о появлении Linux-ядра, а днем
рождения Linux'а становится 17 сентября 1991 года, когда выходит версия 0.0.1.
Распространяется система в качестве части проекта GNU (до этого главным его
достижением был GNU C Compiler, но ему не хватало операционной системы, которой
и стал GNU/Linux). Со временем появляется огромное количество фирм, создающих
свои версии Linux'а, берущих за основу общее ядро, модифицируемое тысячами
разработчиками по всему миру (руководит процессом по-прежнему Торвальдс) и на
свое усмотрение добавляющих существующие, а также свои, приложения. Наибольшей
популярности достигают Red Hat Linux, Mandrake Linux, SuSE Linux, Debian GNU/Linux,
Slackware Linux (из русских — ASPLinux, ALT Linux). Кроме Linux'а повсеместно
используются и другие многочисленные *nix-системы, среди которых *BSD (FreeBSD,
OpenBSD, NetBSD…), Sun Solaris (бывшая SunOS), AIX (от IBM), HP-UX (от
Hewlett-Packard), Mac OS X (ОС от Apple, с ядром Darwin, основывающемся на
FreeBSD), QNX и многие-многие другие.
http://www.nixp.ru/articles/unixhistory
Хочу порекомендовать Вам посетить
www.kichaev.ru. Это сайт для
тех, кто интересуется коучингом - новым и
необыкновенно эффективным направлением в психологии. Его автор
Александр Кичаев профессионально работает с успешными людьми - и
в своих рассылках обучает всех желающих алгоритму успешности.
Вот и всё пока... Вопросы и замечания mailto:feod@narod.ru
До новых встреч!
Юлий Феодоритов