Весь Нил Стивенсон в одном томе. Компиляция (СИ) - Стивенсон Нил Таун
PC87306
Dec 15 11:58:06 theRev kernel: md driver 0.35 MAX_MD_DEV=4,
MAX_REAL=8
Dec 15 11:58:06 theRev kernel: PPP: version 2.2.0 (dynamic
channel allocation)
Dec 15 11:58:06 theRev kernel: TCP compression code copyright
1989 Regents of the University of California
Dec 15 11:58:06 theRev kernel: PPP Dynamic channel allocation
code copyright 1995 Caldera, Inc.
Dec 15 11:58:06 theRev kernel: PPP line discipline registered.
Dec 15 11:58:06 theRev kernel: SLIP: version 0.8.4–NET3.019-
NEWTTY (dynamic channels, max=256).
Dec 15 11:58:06 theRev kernel: eth0: 3Com 3c900 Boomerang
10Mbps/Combo at 0xef00, 00:60:08:a4:3c: db, IRQ 10
Dec 15 11:58:06 theRev kernel: 8K word‑wide RAM 3:5 Rx: Tx split,
10base2 interface.
Dec 15 11:58:06 theRev kernel: Enabling bus‑master transmits and
whole‑frame receives.
Dec 15 11:58:06 theRev kernel: 3c59x.c:v0.49 1/2/98 Donald
Becker http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html
Dec 15 11:58:06 theRev kernel: Partition check:
Dec 15 11:58:06 theRev kernel: hda: hda1 hda2 hda3
Dec 15 11:58:06 theRev kernel: hdb: hdb1 hdb2
Dec 15 11:58:06 theRev kernel: VFS: Mounted root (ext2
filesystem) readonly.
Dec 15 11:58:06 theRev kernel: Adding Swap: 16124k swap‑space
(priority -1)
Dec 15 11:58:06 theRev kernel: EXT2–fs warning: maximal mount
count reached, running e2fsck is recommended
Dec 15 11:58:06 theRev kernel: hdc: media changed
Dec 15 11:58:06 theRev kernel: ISO9660 Extensions: RRIP_1991A
Dec 15 11:58:07 theRev syslogd 1.3–3#17: restart.
Dec 15 11:58:09 theRev diald[87]: Unable to open options
file /etc/diald/diald.options: No such file or directory
Dec 15 11:58:09 theRev diald[87]: No device specified. You must
have at least one device!
Dec 15 11:58:09 theRev diald[87]: You must define a connector
script (option 'connect').
Dec 15 11:58:09 theRev diald[87]: You must define the remote ip
address.
Dec 15 11:58:09 theRev diald[87]: You must define the local ip
address.
Dec 15 11:58:09 theRev diald[87]: Terminating due to damaged
reconfigure.
Единственное, что способен здесь прочитать нормальный человек, — сообщения об ошибках и предупреждения. Но что примечательно, на ошибках Linux не «зависает» и не рушится, он просто изрыгает проклятия, оставляет попытки загрузить «вышедший из строя» процесс и продолжает работать. Вы наверняка согласитесь, что ни операционные системы Apple, ни операционные системы Microsoft на ранних этапах развития на такое даже не претендовали, так как если за данный промежуток времени ОС способна выполнить лишь одно какое‑то действие, она, наткнувшись на ошибку, не в состоянии двигаться дальше. Для этого потребуется запустить в параллель ещё один процесс, который даст поврежденному собрату возможность очухаться и прийти в себя после сбоя. Этакий супергерой, если хотите, пристально наблюдающий за покоем и порядком во вверенном ему городе и бросающийся на выручку любому, кому требуется помощь. Сейчас и MacOS, и Windows научились делать несколько дел одновременно, поэтому худо — бедно, но с каким‑то ошибками справляются, хотя до Linux или различных версий Unix им еще ой, как далеко — они столь громоздки и неповоротливы, что всегда отыщется новая «бага», которая повергнет их в ступор.
Да будет свет, или несколько слов о туманных концептах сакральных компьютерных технологий
В Linux нет общепринятого единого стандарта написания документации и сообщений об ошибках, поэтому программисты пишут их, как Бог на душу положит. Пишут в основном на английском, хотя многие «линуксоиды» родились и живут в Европе. Послания такого рода часто забавны. Но всегда — честны и откровенны. Если программа глючит, так как не до конца отлажена или криворукий юзверь наваял что‑то несусветное, всё немедленно документируется и становится явным. Интерфейс командной строки позволяет программам выводить на экран коротенькие примечания, предупреждения и сообщения. Даже если неисправное приложение падает, словно подбитый бомбардировщик, оно успевает послать вам сигнал бедствия S. O. S. Иной раз, закрыв программу, вы наблюдаете в окошке терминала череду добродушных предупреждений и сообщений о незначительных ошибках. Словно пока вы работали с программным обеспечением, оно чатилось с вами о том, как идут дела.
Документация в Linux представлена в виде страниц руководства man (сокращенно от manual — руководство пользователя). Для вызова руководства в графическом режиме — наберите команду xman, а для вызова руководства из командной строки — команду man. Вот отрывок man — страницы для программы rsh:
“Stop signals stop the local rsh process only; this is arguably wrong, but currently hard to fix for reasons too complicated to explain here”. (Сигнал Stop останавливает только локальный процесс rsh [но не процесс, запущенный с помощью rsh на удаленной машине]. Это не самое корректное поведение, но исправить его довольно сложно по причинам, которые невозможно объяснить в данной статье).
Таких вот посланий, похожих, скорее, на невнятные возгласы пилота, бьющегося над панелью управления вошедшего в штопор самолёта, в man — страницах предостаточно.
Они — будто сполохи великой, но непостижимой битвы, идущей где‑то далеко — далеко вдали. Программистам некогда объясняться «высоким штилем» и разрабатывать тщательно продуманные руководства — они всегда на поле боя, сражаются с ошибками и замысловатыми «багами» и латают программное обеспечение.
На самом деле вряд ли вы столкнетесь с серьезной системной ошибкой в Linux. Но если всё‑таки столкнетесь, виновницей наверняка окажется какое‑нибудь коммерческое ПО (есть несколько фирм, торгующих запускающимся под Linux «софтом»). Сама же операционная система и основные служебные программы слишком важны для работы, поэтому серьезных «багов» не содержат. Пользуясь Linux ежедневно с 1995 года, я немало чего повидал — на моих глазах не запускались, сбоили или летели ко всем чертям множество приложений, но я ни разу не видел, чтобы рухнула операционная система. Не было такого. Ни единого раза. Некоторые Linux — системы пашут без устали и перезагрузки месяцы и годы.
У разработчиков коммерческих ОС отношение к системным ошибкам такое же, как у коммунистов к нищете. И те, и другие делают вид, что некоего явления не существует. Ведь если одна из главнейших коммунистических целей — безоговорочное и беспощадное истребление нищеты, то коммунисты нипочем не признаются, что нищету в их стране так пока и не удалось искоренить. Apple и Microsoft берут с коммунистов пример и прикидываются, что знать не знают и ведать не ведают об ошибках в программном обеспечении и постоянных крахах системы. Не хватало еще, чтобы корпорация Disney во всеуслышание заявила, что Микки Маус — не настоящий, и вместо него публику развлекает переодетый актер.
Вот тут‑то собака и порылась. Ибо ошибки, как ни крутите, наличествуют, и сбои в работе программ, что ни говорите, происходят. Два — три раза в год Билл Гейтс созывает огромное количество народу и демонстрирует новинки от Microsoft. Новинки чаще всего на подобных показах ведут себя отвратительно и ломаются прямо в руках создателя. Продавцы коммерческих ОС, торгаши, одним словом, вынуждены ломать комедию (довольно‑таки грубую, ибо актеры они никудышные) и убеждать всех и каждого, что системные «баги» — «ерунда, дело житейское», всего лишь человеческий фактор (ошибка какого‑то тупицы — программера), не стоит волноваться. Пользователи слова продавцов ни в грош не ставят — и младенцу понятно, что вранье это всё несусветное. Однако пресс — релизы и рекламные объявление подобным враньем прямо‑таки кишат. По ним выходит так, что работники корпораций ночами не спят, лишь бы создать великолепный продукт и порадовать любимых пользователей. Да если бы дело обстояло именно так, документация была бы написана четко и достоверно, каждая страница содержала бы описание всех ошибок, погрешностей и системных сбоев, а интерактивная система помощи, действительно заботящаяся о пользователях, давала бы полезные советы, как восстановить систему после краха.