Углубленное изучение Операционная система Linux

Linux в создании современной сети предприятия.
Роль Linux в такой разработке достаточно значительна. В Linux есть все необходимые инструменты, он свободен и комфортен. Это отличный полигон для обкатки решений. Даже если вы потом перейдете на другую платформу (например, мощный сервер Sun и ОС Solaris), то вы не с пустыми руками это сделаете, а захватив с собой наработки.

Это достигается, во-первых, за счет того, что Linux поддерживает стандарты открытых систем.

Во-вторых, в Linux есть большое число инструментальных пакетов, с помощью которых реализуется прикладная система клиент-сервер. Это СУБД, построители графических интерфейсов и пр. Эти пакеты свободны, поставляются в исходных текстах. Они генерируются из исходных текстов как для Linux, так и для десятков других платформ, в т.ч. коммерческих - Solaris, SCO, BSD*.

Например, СУБД Exodus, Postgres и др. Пакет для разработки интерфейса пользователя Tcl/Tk. Последний может использоваться как интерпретатор и как библиотека программных вызовов. Tcl генерируется на десятки платформ: Linux, BSDI, SunOS, Solaris, Ultrix, IRIX, AIX, OSF/1, HPUX, SCO Unix, Xenix, Dynix, UMAX, Unicos, A/UX, QNX, VMS, NextStep, Convex, DOS, MS Windows, OS/2, ...

Когда вам понадобится перенести прикладную систему на другую платформу, вы легко сделаете это, поскольку у вас есть не только исходные тексты вашей прикладной системы, но и исходные тексты использованных инструментальных пакетов, которые вы можете свободно прихватить с собой на законных основаниях.

Следует особо выделить роль Linux как платформы для знакомства начинающих разработчиков и пользователей с миром открытых систем. Во-первых, Linux это комфортная и полноценная 32-х разрядная ОС, по качеству сравнимая и в ряде аспектов превосходящая коммерческие ОС. Во-вторых, расходы, связанные с освоением Linux, во много раз меньше, чем в случае с коммерческой системой. И не надо платить за дополнительные подсистемы и пакеты программ, нет ограничений на число пользователей. При этом доступ к исходным текстам! И не в виде примера из учебника, а в виде текста реально работающей программы.

Результат - драгоценный опыт при минимальных затратах, который убережет от дорогих ошибок в сфере коммерческих систем.
Особенность X Window System как сетевой системы.
X Window System (X Windows) это оконно-графическая система клиент/сервер.

Сервер X Windows выполняется на машине, где нужно отображать информацию. Часто к одной машине подключен один дисплей, но бывает и несколько. На одной машине может работать несколько серверов, каждый из которых обслуживает свой дисплей. Дисплей это клавиатура, мышка, планшет и т.п. в связке с монитором или несколькими мониторами (например, обычным и большим графическим).

Клиент это программа, которая посылает данные серверу для отображения в окне (окнах) на мониторе. И принимает данные от сервера, например, строку, введенную с клавиатуры. Клиент может выполняться как на той же машине, что и X сервер, так и на другой машине Internet.

Допустим, вы работаете на машине my_host и на одной из консолей запустили X Window System, т.е. X сервер. Затем, работая на другой консоли или в окне, вы загрузились в удаленную машину remote_host и хотите выполнить X приложение, т.е. прикладную программу, предназначенную для работы в X Windows. Для того, чтобы сообщить X приложению, что вы хотите видеть его окошки у себя на мониторе, достаточно ввести в удаленную машину команду

export DISPLAY=my_host:0.0

Если вы теперь вызовите X приложение, то оно по сети откроет канал связи с вашим X сервером на машине my_host, а не с X сервером машины remote_host, и отобразит все свои окна на вашем экране. Данные передаются по каналу связи между клиентом (X приложением) и X сервером таким же образом, как если бы они работали на одной машине. Сеть прозрачна и возникает иллюзия, что работа происходит на одной машине.

:0.0 это просто конкретные значения :<номер дисплея>.<номер монитора>, характерные для случая машины с одним монитором.

X Windows реализована на большом количестве машин различной архитектуры в различных операционных системах. Это дает возможность через сеть выполнять приложение на мощном (супер)компьютере, а видеть результат и управлять работой приложения на скромной персоналке. На своем мониторе можно одновременно открыть несколько окон - одно приложение на машине в Сан-Франциско, второе в Сиднее, третье в Париже - и работать с ними одновременно, перемещая мышкой (или программно) данные между ними.

Подготовка boot и root дискеты

C диcтрибутива Linux-Yes

Для большинства SCSI и IDE карт достаточно скопировать образы дискет с диструбитива Linux-Yes.

Директорий linux.yes/bootdsks.144 (для DOS LINUX.YES\BOOTDSKS.144) содержит набор образов ядер для разных конфигураций CD/ROM драйверов и SCSI и IDE контролерров. Выбрать необходимый образ Вам поможет файл linux.yes/bootdsks.144/WICH.ONE (для DOS LINUX.YES\BOOTDSKS.144\WICH.ONE).

Директорий linux.yes/rootdsks (для DOS LINUX.YES\ROOTDSKS) содержит образ файловой системы color.gz.

Для копирования образов вам необходимо :

примонтировать CD/ROM
для DOS'a на один из логических дисков - например на D:
для Linux'a командой

mount -t iso9660 /dev/cdrom /cdrom

установить дискету без сбойных блоков в дисковод и скопировать образ ядра
для DOS

cd D:\LINUX.YES\BOOTDSKS.144
D:\LINUX.YES\RAWRITE.EXE

и скопируйте на дискету выбранное Вами ядро.
для Linux'a:

cd /cdrom/linux.yes/bootdsks.144
cp <имя_ядра> /dev/fd0

установить дискету без сбойных блоков в дисковод и скопировать образ файловой системы:
для DOS

cd D:\LINUX.YES\ROOTDSKS.144
D:\LINUX.YES\RAWRITE.EXE

и скопируйте на дискету файл color.gz.
для Linux'a:

cd /cdrom/linux.yes/rootdsks
cp color.gz /dev/fd0

Сборка нового ядра для конкретной конфигурации

Дистрибутив Linux-Yes содержит ядро Linux версии 1.3.79. Данная версия ядра не содержит часть драйверов на SCSI устройства. Если Вы столкнулись с этой ситуацией Вам необходимо собрать ядро версии 2.0.0 и выше на уже установленной системе OC Linux с установленным ядром 2.0.0 и выше.

Для этого:

Перейдите в каталог /usr/src/linux. Запустите программу конфигурации нового ядра:

cd /usr/src/linux
make menuconfig

На экране появится меню:

Linux Kernel Configuration
------------------------------------------------------------------------------
+------------------------------- Main Menu -------------------------------+
| Arrow keys navigate the menu. <Enter> selects submenus --->. |
| Highlighted letters are hotkeys. Pressing <Y> includes, <N> excludes, |
| <M> modularizes features. Press <Esc><Esc> to exit, <?> for Help. |
| Legend: [*] built-in [ ] excluded <M> module < > module capable |
| +---------------------------------------------------------------------+ |
| | Code maturity level options ---> | |
| | Loadable module support ---> | |
| | General setup ---> | |
| | Floppy, IDE, and other block devices ---> | |
| | Networking options ---> | |
| | SCSI support ---> | |
| | Network device support ---> | |
| | ISDN subsystem ---> | |
| | CD-ROM drivers (not for SCSI or IDE/ATAPI drives) ---> | |
| | Filesystems ---> | |
| | Character devices ---> | |
| +------|(+)-----------------------------------------------------------+ |
+-------------------------------------------------------------------------+
| <Select> < Exit > < Help > |
+-------------------------------------------------------------------------+

Выберите необходимые настройки для нового ядра.
Если Вы имеете SCSI адаптер в подменю SCSI support установите SCSI disk support, если Вы имеете SCSI диск и SCSI CD-ROM support, если имеете SCSI CD/ROM. Войдите в подменю SCSI low-level drivers и установите необходимый тип SCSI адаптера.
Если Вы имеете IDE-ATAPI CD/ROM в меню Floppy, IDE, and other block devices выберите поддержку Include IDE-ATAPI CDROM support. ОБЯЗАТЕЛЬНО не забудьте установить поддержку RAM disk support для собираемогоядра в этом подменю.
Если Вы имеете не SCSI и не IDE-ATAPI CD/ROM, перейдитев меню CD-ROM drivers (not for SCSI or IDE-ATAPI drives) и выберите необходимый драйвер CD/ROM'a.
После выхода из главного меню не забудьте выбрать пункт Yes при ответе на вопрос Do you wish to save your new kernel configuration?.

На главную