Смекни!
smekni.com

Руководство Системного администратора Linux (стр. 3 из 20)

попытки соединения с компьютером. Если опpеделяется попытка

соединения, то программа создает новый процесс - создает сама себя

для обработки этого соединения - а затем продолжает отслеживание

новых соединений. Создаваемый процесс идентичен программе getty.

2.3.8 Сетевые файловые системы

Одна из наиболее полезных функций, которая может быть

реализована с помощью сети, это разделение файлов через сетевую


- 14 -

файловую систему. Обычно используется система, называемая Network

File System или NFS, которая разработана корпорацией Sun.

При работе с сетевой файловой системой любые операции над

файлами, производимыми на локальном комьютере, передаются через

сеть на удаленную машину. При работе сетевой файловой системы

программа считает, что все файлы на удаленном компьютере находятся

на компьютере, где она запущена. Таким образом разделение

информации посредством такой системы не требует внесения

каких-либо изменений в программу.

2.3.9 Почта

Электронная почта является самым важным средством связи между

компьютерами. Электронные письма хранятся в одном файле в

специальном формате. Для чтения и отправления писем применяются

специальные программы.

У каждого пользователя имеется отдельный "почтовый ящик"

(т.е. файл, где информация хранится в специальном формате), в

котром хранится приходящая почта. Если на комьютер приходит

письмо, то программа обработки почты находит файл почтового ящика

соответвующего пользователя и добавляет туда полученное письмо.

Если же почтовый ящик пользователя находится на другом компьютере,

то письмо перенаправляется на этот компьютер, где проходит его

последующая обработка.

Почтовая система состоит из множества различных программ.

Доставка писем к локальным или удаленным почтовым ящикам

производится одной программой (например, sendmail или smail), в то

время как для обычной отправки или просмотра писем применяется

большое количетсво различных программ (например, Pine или elm).

Файлы почтовых ящиков обычно хранятся в каталоге /var/spool/mail.

2.3.10 Печать

В один момент времени принтером может пользоваться только

один пользователь. Поэтому для того, чтобы принтером могли


- 15 -

пользоваться сразу несколько пользователей, используется

специальная программа, которая обеспечивает обслуживание очереди к

принтеру. Все задания для принтера помещаются в буфеp. Когда

принтер заканчивает обработку одного задания, следуещее передается

к нему автоматически. Это значительно упрощает работу с принтером.

Программа обслуживания очереди к принтеру помещает

информацию, которая должна быть распечатана, на диск, то есть

текст располагается на диске, в то время как задание находится в

очереди. Это позволяет прикладным программам достаточно быстро

распечатывать тексты, помещая их в очередь, так как для

продолжения работы приложению не требуется дожидаться окончания

распечатки.

2.4 Структура файловой системы

Файловая система разделяется на несколько частей: файловая

система root, состоящая из каталогов /bin, /lib, /etc, /dev и

некоторых других, файловая система /usr, где хранятся различные

программы и данные не подлежащие изменению, файловая система /var,

где содержатся изменяемые файлы (такие как log файлы и др.) и

файловая система /home, которая состоит из личных каталогов

пользователей. Разделение может существенно отличатся от выше

указанного в зависимости от работы системного администратора и

конфигурации аппаратного обеспечения.

В главе 5 сруктура файловой системы рассматривается более

подробно (см. также Linux Filesystem Standard).

.

- 16 -

Глава 3 Запуск Системы и Перезагрузка

В этой главе описывается то, что происходит в системе Linux

при ее запуске и перезагрузке и как это правильно сделать.

3.1 Обзор

Процесс включения компьютера и загрузки операционной системы

называется запуском. Во время запуска сначала загружется небольшая

программа, называемая начальнам загрузчиком, которая в свою

очередь загружет в память и запускает операционную систему.

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

жестком диске или дискете. Потому как Linux это довольно сложная и

большая система, ее запуск производится в два этапа, хотя первично

загружаемый код должен быть достаточно маленьким (несколько сотен

байт).

На разных компьютерах начальная загрузка производится по

разному. На персональных компьютерах сначала считывется первый

сектор дискеты или жесткого диска (посредством процедур BIOS),

который назывется загрузочным сектором. В этом секторе находится

начальный загрузчик, который затем загружает операционную систему,

которая может быть расположена в другом месте на диске или

где-либо еще.

После загрузки Linux, инициализируются драйверы устройств, а

затем запускается init(8), который в свою очередь запускает другие

процессы, позволяющие подключаться к системе и обеспечивающие

нормальную работу. Этот этап рассмотрен ниже более подробно.

Для перезапуска системы сначала все процессы должны быть

завершены (т.е. закрыты все используемые ими файлы и др.), затем

демонтируются файловые системы и swap-области и, в конце концов,

на экран выдается сообщение о том, что питание может быть

отключено. Если же такая процедура не будет произведена, то могут

произойти серьезные сбои в последующей работе системы. Например,


- 17 -

информация, хранящаяся в кэш буфере файловой системы, будет

утеряна, нарушится целостность файловой системы и, следовательно,

она будет не пригодна к использованию.

3.2 Процесс запуска при близком рассмотрении

Linux может быть запущена как с дискет, так и с жесткого

диска. В книге "Установка и запуск Linux" подробно описан запуск

системы.

При включении компьютера, сначала BIOS производит

тестирование оборудования, а затем запуск операционной системы.

Сначала выбирается устройство, с которого будет производится

запуск (обычно первый дисковод, если в него вставлена дискета, в

противном случае - первый жесткий диск, если он установлен, хотя

порядок выбора может быть настроен) и считывается самый первый

сектор, который называется загрузочным. Его также называют MBR

(Master Boot Record), так как у жесткого диска может быть

несколько разделов и у кажодого может быть свой загрузочный

сектор.

В загрузочном секторе находится небольшая программа

(относительно небольшая чтобы она могла разместится в одном

секторе), которая загружает и запускает операционную систему. При

загрузке с дискеты, в загрузочном секторе находится код, который

обеспечивает только считывание ядра системы в определенную заранее

область памяти. Загрузочная дискета для Linux не содержит никаких

файловых систем. Ядро записано на дискете как последовательность

блоков, так как это значительно упрощает процесс загрузки. Однако,

вполне можно загружаться с дискеты, на которой установлена

какая-нибудь файловая система, используя загpузчик LILO.

При загрузке с жесткого диска, код, расположенный в MBR,

проверяет таблицу разделов (также расположенную в MBR), определяет

активный раздел (раздел, используемый при загрузке), считывает

загрузочный сектор этого раздела и запускает считанный код. Код,

расположенный в загрузочном секторе активного раздела жесткого

диска, выполняет те же функции, что и код, находящийся в


- 18 -

загрузочном секторе дискеты: он считывает ядро из выбранного

раздела, а затем запускает его. Однако здесь существует много

тонкостей, так как использование отдельного раздела диска только

для хранения кода ядра неэффективно, поэтому код, расположенный в

загрузочном секторе раздела, не просто последовательно считывает

информацию с диска, а использует считывание по секторам.

Существует несколько способов решения этой проблемы, но наиболее

простым из них является использование LILO загрузчика (информацию

по установке и настройке LILO см. в документации по LILO).

При загрузке с использованием LILO обычно сразу же

загружается и запускается ядро, заданное по умолчанию, однако

можно сконфигурировать LILO так, чтобы можно было бы загрузить

одно из нескольких возможных ядер или даже другую операционную

систему (в добавление к Linux). Также можно указать требуемое ядро

или операционную сиситему во время загрузки. При нажатии клавиши

ALT, SHIFT или CTRL (после загрузки LILO) будет выдан запрос, где

можно указать ядро или систему. Однако при конфигурировании можно

установить опцию, при которой LILO будет всегда выдвать такой

запрос, а также указать время, по истечении которого загружается

ядро, установленное по умолчанию.

Существуют и другие загрузчики, подобные LILO, однако у него

есть несколько полезных функций, которых нет в других загрузчиках,

так как он был написан специально для Linux. Например, имеется

возможность передачи ядру параметров во время загрузки или

изменения некоторых опций, встроенных в ядро. Среди подобных

загрузчиков (bootlin, bootactv и др.) LILO является наилучшим

выбором.

Загрузка системы как с жесткого диска, так и с дискет имеет

свои преимущества, хотя загрузка с жесткого диска считается лучше

и быстрее, так как она позволяет избежать неудобства, связанные со

сменой дискет. Однако в некоторых случаях загрузка с дискет более

удобна. Например, при установке системы или при повреждении

файловой системы.

После того, как ядро системы загружено в память (с жесткого


- 19 -

диска или с дискет) и запущено, выполняются приблизительно

следующие действия:

Так как ядро Linux установлено в запакованном виде, то прежде