Весь Нил Стивенсон в одном томе. Компиляция (СИ) - Стивенсон Нил Таун
Несколько товариществ взяли на себя труд и создали «дистрибутивы» Linux. Чтобы понять, зачем, мысленно возвратимся к Египту. Вы прилетаете в Египет, и в аэропорту вас поджидают представители различных турагентств; они говорят на родном вам языке и помогают преодолеть барьер между вашей и чужеземной культурами. Однако с точки зрения египтян всё выглядит несколько иначе, местные жители уверены, что туроператоры помогают не вам, а им, спасают их от столпотворения варваров, которые путаются под ногами, задают одни и те же вопросы и постоянно рвутся в мечети.
Некоторые туроператоры — коммерческие фирмы, такой является, например, Red Hat Software. Она очень успешно выпускает популярный дистрибутив Linux под названием Red Hat. Всё, что от вас требуется — запустить CD с Red Hat и подождать, пока система самостоятельно загрузится. Сначала, правда, необходимо приобрести дистрибутив, но ведь и услуги египетского турагента не бесплатны. Цена у дистрибутива смехотворная, и деньги вы потратите не в пустую — ваши затраты окупятся с лихвой.
Я пользуюсь некоммерческим, бесплатным Debian — ом (Deborah + Ian) [629]. Он получен (точнее — получился) таким же способом, как и Linux. Собралось в Сети несколько энтузиастов, распределили между собой ответственность за написание определенных частей системы, разбили Linux на пакеты и запаковали их в архивы, чтобы в дальнейшем эти пакеты можно было загрузить на машину с уже установленным и рабочим Linux — ом семейства Debian, распаковать и запустить с помощью бесплатной установочной программы. А раз Debian за прибылью не гонится, то никакой розничной продажи дистрибутивов не предусмотрено — качайте архивы из интернета и устанавливайте сами. Но так как большинство всё‑таки предпочитает CD — дистрибутивы, возникли компании, которые собрали все существующие на данный момент архивы Debian на CD — диски и стали их продавать. Свой CD я приобрел у компании Linux System Labs, заплатив за три диска с Debian во всем его объеме и красе меньше трех долларов. Хочу, однако, подчеркнуть — разработчики Linux и создатели Debian не получают с этих трех долларов ни цента. Все деньги идут Linux System Labs, и, соответсвенно, вы платите не за программное обеспечение и даже не за архивы ОС, а за их запись на CD — болванку.
Процесс загрузки Linux сбивает с толку. Вы включаете компьютер, и система начинает вести себя, словно большой допотопный «Мэйнфрейм» с загруженным на него Unix. Если до сих пор ваше знакомство с компьютерами ограничивалось исключительно ОС Windows, вы чувствуете себя довольно неуютно, происходящее на экране вас немного пугает. Не бойтесь. Загружаясь, система вначале тестирует саму себя, проверяет доступность дисков, количество памяти (в общем, проводит обычную рутинную работу), а затем ищет загрузочный диск. Обычно на компьютерах с Windows им является жесткий диск. Но можно настроить систему так, что вначале она будет искать дискету или CD — диск и пытаться загрузиться с них.
Это — Ахилесова пята ОС. Именно её использует Linux. Система находит загрузочный диск на дискете или CD, загружает с него объектный код и послушно его исполняет. Но это не код, написанный программистами Microsoft или Apple, это код Linux, поэтому происходящее на экране вызывает у вас изумление, граничащее с ужасом, это совсем не то, к чему вы привыкли. Никаких приветливых заставок типа «Welcome to MacOS» или умилительных облачков в чистом голубом небе с логотипом Windows. Вместо них Linux подсовывает вам какую‑то угрожающую шифровку — нескончаемую, невразумительная телеграмма с белыми буквами, бегущими по черному экрану. И никаких тебе — «добро пожаловать!». Боже мой, что это?!
Dec 14 15:04:15 theRev syslogd 1.3–3#17: restart.
Dec 14 15:04:15 theRev kernel: klogd 1.3–3, log source
= /proc/kmsg started.
Dec 14 15:04:15 theRev kernel: Loaded 3535 symbols
from /System.map.
Dec 14 15:04:15 theRev kernel: Symbols match kernel version 2.0.30.
Dec 14 15:04:15 theRev kernel: No module symbols loaded.
Dec 14 15:04:15 theRev kernel: Intel MultiProcessor
Specification v1.4
Dec 14 15:04:15 theRev kernel: Virtual Wire compatibility mode.
Dec 14 15:04:15 theRev kernel: OEM ID: INTEL Product ID: 440FX
APIC at: 0xFEE00000
Dec 14 15:04:15 theRev kernel: Processor #0 Pentium(tm) Pro
APIC version 17
Dec 14 15:04:15 theRev kernel: Processor #1 Pentium(tm) Pro
APIC version 17
Dec 14 15:04:15 theRev kernel: I/O APIC #2 Version 17 at
0xFEC00000.
Dec 14 15:04:15 theRev kernel: Processors: 2
Dec 14 15:04:15 theRev kernel: Console: 16 point font, 400 scans
Dec 14 15:04:15 theRev kernel: Console: colour VGA+ 80x25, 1
virtual console (max 63)
Dec 14 15:04:15 theRev kernel: pcibios_init: BIOS32 Service
Directory structure at 0x000fdb70
Dec 14 15:04:15 theRev kernel: pcibios_init: BIOS32 Service
Directory entry at 0xfdb80
Dec 14 15:04:15 theRev kernel: pcibios_init: PCI BIOS revision
2.10 entry at 0xfdba1
Dec 14 15:04:15 theRev kernel: Probing PCI hardware.
Dec 14 15:04:15 theRev kernel: Warning: Unknown PCI device
(10b7:9001). Please read include/linux/pci.h
Dec 14 15:04:15 theRev kernel: Calibrating delay loop.. ok -
179.40 BogoMIPS
Dec 14 15:04:15 theRev kernel: Memory: 64268k/66556k available
(700k kernel code, 384k reserved, 1204k data)
Dec 14 15:04:15 theRev kernel: Swansea University Computer
Society NET3.035 for Linux 2.0
Dec 14 15:04:15 theRev kernel: NET3: Unix domain sockets 0.13
for Linux NET3.035.
Dec 14 15:04:15 theRev kernel: Swansea University Computer
Society TCP/IP for NET3.034
Dec 14 15:04:15 theRev kernel: IP Protocols: ICMP, UDP, TCP
Dec 14 15:04:15 theRev kernel: Checking 386/387 coupling… ok,
fpu using exception 16 error reporting.
Dec 14 15:04:15 theRev kernel: Checking 'hlt' instruction… ok.
Dec 14 15:04:15 theRev kernel: Linux version 2.0.30
(root@theRev) (gcc version 2.7.2.1) #15 Fri Mar 27 16:37:24 PST
1998
Dec 14 15:04:15 theRev kernel: Booting processor 1 stack
00002000: Calibrating delay loop.. ok — 179.40 BogoMIPS
Dec 14 15:04:15 theRev kernel: Total of 2 processors activated
(358.81 BogoMIPS).
Dec 14 15:04:15 theRev kernel: Serial driver version 4.13 with
no serial options enabled
Dec 14 15:04:15 theRev kernel: tty00 at 0x03f8 (irq = 4) is a
16550A
Dec 14 15:04:15 theRev kernel: tty01 at 0x02f8 (irq = 3) is a
16550A
Dec 14 15:04:15 theRev kernel: lp1 at 0x0378, (polling)
Dec 14 15:04:15 theRev kernel: PS/2 auxiliary pointing device
detected — driver installed.
Dec 14 15:04:15 theRev kernel: Real Time Clock Driver v1.07
Dec 14 15:04:15 theRev kernel: loop: registered device at major 7
Dec 14 15:04:15 theRev kernel: ide: i82371 PIIX (Triton) on PCI
bus 0 function 57
Dec 14 15:04:15 theRev kernel: ide0: BM‑DMA at 0xffa0–0xffa7
Dec 14 15:04:15 theRev kernel: ide1: BM‑DMA at 0xffa8–0xffaf
Dec 14 15:04:15 theRev kernel: hda: Conner Peripherals 1275MB -
CFS1275A, 1219MB w/64kB Cache, LBA, CHS=619/64/63
Dec 14 15:04:15 theRev kernel: hdb: Maxtor 84320A5, 4119MB
w/256kB Cache, LBA, CHS=8928/15/63, DMA
Dec 14 15:04:15 theRev kernel: hdc:, ATAPI CDROM drive
Dec 15 11:58:06 theRev kernel: ide0 at 0x1f0–0x1f7,0x3f6 on irq
14
Dec 15 11:58:06 theRev kernel: ide1 at 0x170–0x177,0x376 on irq
15
Dec 15 11:58:06 theRev kernel: Floppy drive(s): fd0 is 1.44M
Dec 15 11:58:06 theRev kernel: Started kswapd v 1.4.2.2
Dec 15 11:58:06 theRev kernel: FDC 0 is a National Semiconductor