Софтпанорама 1994, No.67 (52) *** FOREWORD *** Составитель Н.Н.Безруков =================== октябрь 1994 (beta) ================================ ---------------------------------------- # К О Л О Н К А Р Е Д А К Т О Р А # ---------------------------------------- Уважаемые коллеги ! Исполнилось 25 лет с момента появления UNIX и этот выпуск задуман мной как в какой-то мере юбилейный. Как я уже писал, UNIX и какой-то уро- вень знакомства с ним сейчас становится необходим каждому программис- ту, поскольку это стратегически важная для телекоммуникаций операцион- ная система. В связи с этим, планируется уделить UNIXу значительную часть выпуска С (прежде всего инструментам, созданными для этой опера- ционки и доступными в исходных текстах). Наиболее выдающимся примером из этой серии несомненно являются инструментальные средства, создавае- мые в рамках проекта GNU. Публикации GNU-софта будут занимать значи- тельную часть выпуска С. История UNIX не так проста как описывается в популярной литературе. В ней есть своего рода белые пятна. Все началось с того, что Bell Telephone Laboratories, которые обычно называют Bell Labs и которая является научно-исследовательским институтом фирмы AT&T совместно с фирмой General Electric и MIT участвовали в совместном проекте по со- зданию операционной системы MULTIX. Это была очень интересная операци- онная система под которую создавался специальный компьютер - один из первых компьютеров с полностью виртуализованной памятью. Подобно тому как Algol-68 был своего рода реакций на Pl/1, Multix был попыткой со- здать очень мощную и гибкую операционную систему, превосходящую OS/360 и в большей степени ориентированную на телекоммуникации. Своего рода попытка переосмыслить достижения OS/360 на новом уровне и на новой ап- паратуре. Насколько я помню, концепция виртуальной памяти в ней была доведена до предела и в ней практически не было различия между файлами и массивами. В качестве языка системного программирования использовал- ся PL/1. Как это часто бывает с большими операционными системами ее разработка заняла гораздо больше времени и средств, чем первоначально предполагалось. В 1969 году Bell Labs решила выйти из игры и отозвала своих представителей из группы разработчиков Multix. Среди этих разра- ботчиков, фактически оставшихся не у дел, были всем известные Кэн Том- псон и Деннис Ричи, а также гораздо менее известный, но тоже сыгравший важную роль на начальном этапе Rudd Canaday и еще несколько человек. Так вот первые трое попытались продолжить свои исследования и разрабо- тки на PDP-7. Другой интересный факт состоит в том, что первая версия UNIX для PDP-11 требовала 16K памяти и на ней крутился редактор, зани- мавший 8K. Поскольку диск имел объем 512K, то максимальный размер фай- ла был ограничен 64K. Учитывая этот факт я думаю никого не удивит, что есть версии UNIX прекрасно работающие на достаточно слабых компьюте- рах. В частности первая версия XENIX была ориентирована на XT и требо- вала всего 10M жесткого диска и 640K оперативной памяти. Т.е. Microsoft имел возможность сделать ее основной системой для PC с вин- честером, но не захотел. Важной вехой в развитии UNIX является ветвь версий, объединяемая общим названием BSD. В январе 74 года кафедра программирования Университета Беркли получила PDP11/45 и решила использовать на ней UNIX. К 1977 был создан первый дистрибутив BSD, включавший интерпретатор с Pascal и ре- дактор ex - исторический предшественник редактора vi. Однако версия BSD вышла на первый план в конце 70, когда министерство обороны пору- чило университеты часть проекта создания сети, которая в последствии получила название Internet. Интеграция протокола TCP/IP в UNIX была исключительно удачной идеей, в дальнейшем получившей колоссальное развитие. Неслучайно версии BSD до последнего времени были лучше всего приспособлены для работы в Internet, хотя сейчас LINUX вплотную при- близился к BSD в этом плане. Можно сказать, что Internet является бо- лее важным приложением UNIX, чем сам UNIX. Т.е. приложение в какой-то мере спасло операционную систему. Другим немаловажным преимуществом UNIX является его открытость. Многие версии UNIX доступны в исходных текстах и тем самым являются идеальной платформой для изучения системного программирования. Среди них есть и бесплатные варианты, которые c учетом текущей экономической ситуации несомненно представляют для нас колоссальный интерес. При этом я не шучу - их качество зачастую выше коммерческих версий. Например выбирая между SCO и Linux я бы предпочел Linux. Как я уже отмечал, основным диалектом бесплатного UNIX сейчас становится Linux. По сути Linux это первый UNIX, признавший существование MS DOS де-юре ;-). Он даже способен работать на стандартной досовской файло- вой системе. 386BSD несколько уходит на второй план и активность конфе- ренций Internet по ней постоянно снижается в то время как конференции по LINUX переживают расцвет. Во всем мире талантливые программисты стараются внести посильный вклад в его развитие. Я думаю, что нам сам бог велел участвовать в этом международном движении. Правда с Internet у нас дела обстоят неважно, но было бы желание. Можно найти участки работы, которые не требуют большого траффика. Например драйверы. У нас, к сожалению о LINUX знают мало. Поэтому я постараюсь привести не- которые минимальные сведения об этой замечательной операционной систе- ме. Хочу подчеркнуть, что в UNIX я не специалист и извинить, если если что не так ;-). Более подробные сведения можно найти в faq, приведен- ном в выпуске C этого номера. Linux это клон UNIX для PC 386 и старше, написанный с нуля талантливым финским программистом Линусом Торвальсом (Linus Torvalds) при поддерж- ке и участии программистов, работающих с Internet со всего мира. Это первая операционная система, созданная международным коллективом, объ- единенным Internet! Поскольку в каждой стране все способные программис- ты так или иначе имеют выход на Internet, а на 10 очень способных най- дется один или несколько энтузиастов, то соответственно класс разра- ботчиков очень и очень высок. Поэтому применительно к Linux не следует воспринимать слово freeware как синоним чего-то неполноценного. Как большинство из нас убедилось на примере Volkov Commander иногда бывает и наоборот ;-). В отличии от FreeBSD этот клон ориентирован на совмес- тимость со стандартом POSIX и гораздо более тесное взаимодействие с MS DOS и OS/2. LINUX это не просто очень качественный и достаточно полный клон UNIX для 386 компьютеров, он достаточно тонко использует особенности этих процессоров для повышения эффективности. В то же вре- мя в результате его успеха на PC ведутся и разработки и для других ар- хитектур, прежде всего Power PC. С точки зрения количества и качества программного обеспечения Linux не- льзя назвать голым королем, хотя до изобилия DOS и Windows он явно не дотягивает. Впрочем это что кому нужно - шашечки или ехать ;-) - на самом деле "джентльменский набор" он несомненно предоставляет - есть все продукты GNU (GCC, Modula-2, Modula-3, ADA(гораздо лучший паскаль, чем TP ;-), REXX, PERL, Smalltalk, Emacs, XEDIT, Make, Bizon, X-Windows и т.д.), все стандартные юниксоидные утилиты. Есть довольно приличный шелл(BASH), пожалуй одни из лучших среди юниксовских шеллов и в целом не уступающего коммерческому Korn-shell. И что важно полное TCP/IP (включая SLIP и PPP). Правда в этой области LINUX еще не дотяги- вает до BSD, но разрыв быстро сокращается. Кроме этих базовых компо- нент есть сотни наименований freeware, shareware и коммерческих проду- ктов. Я не оговорился. Качество LINUX настолько высоко, что фирмы пи- шут коммерческие продукты для этой операционной системы. Это в общем- то достаточно редкий случай, хотя LINUX сам по себе это безусловно уникальное явление в истории операционных систем. Я хочу подчеркнуть, что при его разработке были предприняты значительные усилия по обеспечению совместимости с MS-DOS. Файловую систему MS-DOS он понимает как родную :-). Есть неплохой эмулятор DOS, позволяющий гонять Volcov Сommander и даже драйвер Stacker 3.0. (т.е. хоть через эмулятор, но хоть какой-то доступ к компрессированным дискам). В общем в этом плане LINUX совсем не сноб ;-), что выгодно отличает его от других клонов. Поскольку Linux использует стандартный MBR, он прекрас- но может сосуществовать на одном компьютере с DOS, OS/2 и 386BSD. Бо- лее того, Linux может читать и писать файлы на досовские разделы диска и флоппи. Это позволяет использовать LINUX без переразметки винчесте- ра, на обычных разделах MS DOS. Имеется также, правда еще довольно сырой, эмулятор Windows (WINE). LINUX поддерживает и очень гибкую и эффективную файловую систему HPFS OS/2 (основанную на B-деревьях). Правда пока только в режиме чтения, но это уже немало. Неслучайно, среди его сторонников немалое число членов Team OS/2. Кроме того совместимость с POSIX позволяет использовать на LINUX все программное обеспечение, разработанное для SCO. Минимальное железо предполагает 386 компьютер 2Mb и флоппи диск. Однако для нормальной работы конечно требуется как минимум 4M памяти и 40M винчестер. Если используются X-window, то памяти нужно побольше. 8M оперативной и 80 винчестера. Полная инсталляция с исходниками возможна на 200M диске. Однако лучше использовать CD-ROM. Я написал, что Linux это freeware. Это не совсем точно - ядро распрост- раняется под стандартной GNU-лицензией, поэтому все исходные тексты доступны. Полный дистрибутив LINUX может быть получен по Internet, хотя в наших условиях наверное проще списать с CD-ROM. Документация достаточно полна и включает: Linux INFO-SHEET, Busmouse HOWTO, Distribution HOWTO, Ethernet HOWTO, Hardware HOWTO, Japanese Extensions HOWTO, Mail HOWTO, NET-2 HOWTO, Printing HOWTO, Sound HOWTO, Tips HOWTO, XFree86 HOWTO, Linux META-FAQ, CDROM HOWTO, DOSEMU HOWTO, Ftape HOWTO, Installation HOWTO, Keystroke HOWTO, MGR HOWTO News HOWTO, SCSI HOWTO, Term HOWTO, UUCP HOWTO. Кроме того есть электронные книги по внутреннему устройству LINUX. Oни лежат на в каталоге /pub/Linux/docs/LDP на sunsite.unc.edu. и включа- ют: - The Linux Documentation Project manifesto - Installation and Getting Started Guide - The Kernel Hacker's Guide - Network Administration Guide - Linux System Administrator's Guide В USENET имеется масса активно работающих групп по LINUX и они в наших условиях гораздо доступнее, чем FTP. Сейчас намечается реорганизация, однако до последнего времени наиболее активным среди них были: comp.os.linux.announce, comp.os.linux.help, comp.os.linux.development, comp.os.linux.admin и особенно comp.os.linux.misc. Поскольку Linux это клон Unix, документация и литература по другим клонам может быть тоже полезна, как и такие иерархии групп USENET как comp.unix.* и comp.windows.x.*. Во многих странах имеются и национальные группы. Я не заметил русскоязычной группы по LINUX, но может я отстал от жизни. Впрочем, это не важно. Группы по UNIX есть и можно общаться в их рамках. На Западе имеется целый ряд LINUX BBS, список которых периодически пуб- ликуется в linux.annonce. Возможно со временем Linux BBS появятся и у нас. Однако реально сейчас оптимальным методом получения свежей версии Linux является покупка CD-ROM. Поскольку свежий CD-ROM с Linux стоит порядка $40, достаточно, чтобы 40 человек скинулось по доллару :-). В заключение я бы хотел призвать тех, кто имеет такую возможность, по- ставить и хотя бы поиграться с LINUX месяц-другой. В отличие от моего поколения, которое прошло школу больших операционных систем на ЕС ЭВМ, сейчас mainframe у нас практически вымерли. Поскольку знание только MS-DOS/Windows существенно ограничивает понимание программистом про- блем системного программирования, LINUX сейчас предоставляет уникаль- ную возможность расширить свой кругозор и какой-то мере подтянуться до уровня передовых стран. Конечно осваивать новую операционную систе- му всегда не просто, но в данном случае затраты того стоят. Жаль, что я уже не молод :-(. 12.10.94 С уважением, H.Безруков P.S. Условия подписки на 1995 год как я и обещал объявлены в этом номе- ре. Как и в прошлом году, в случае, если к 1 января на Украине будет меньше 100 (ста :) организаций подписчиков, то 95 год будет последним годом выпуска бюллетеня. По крайней мере на дискетах в его сегодняшнем виде. Возможно я перейду на выпуск на СD. Количество подписавшихся ор- ганизаций будет приводиться в каждом номере.