скачать рефераты
  RSS    

Меню

Быстрый поиск

скачать рефераты

скачать рефератыРеферат: ОС Linux. Руководство системного администратора

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

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

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

происходит взаимодействие между самим устройством и драйвером.

Такое сходство позволяет использовать классы драйверов,

поддерживающих одинаковые операции. В каждом члене такого класса

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

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

диска представляются для ядра абсолютно одинаково, то есть у них у

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

'чтение сектора N', 'запись сектора N'.

     Некоторые функции, предоставляемые ядром, имеют одинаковые

свойства. Например, различные сетевые протоколы объединены в один

программный интерфейс - BSD socket библиотеку. Вот другой пример -

различные файловые системы, поддерживаемые системой Linux. Ядро

содержит виртуальную файловую систему (Virtual File System - VFS)

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

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

системы. При попытке доступа к какой-либо файловой системе запрос

проходит через VFS, откуда перенаправляется к соответствующему

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

                 2.3   Основные функции UNIX системы

     В этом разделе достаточно поверхностно рассматриваются

некоторые наиболее важные функции UNIX системы. Более подробно они

рассмотрены в следующих главах.

                            2.3.1  init

     Единственную и самую важную функцую в UNIX системе

предоставляет пpоцесс init. Он запускается в любой UNIX системе

как самый первый процесс, а также завершает процедуpу загрузки

системы. При запуске init, продолжается процесс загрузки

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

различные программы-демоны и т.д.).

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

от версии программы. Обычно init предоставляет

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

подключиться к системе. Обычный режим - это многопользовательский.

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

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

уровни запуска. Также существуют дополнительные уровни, например

для запуска X-windows.

     При работающей системе, две самые важные задачи программы

init - это удостоверится, что все программы-демоны getty работают

(т.е. имеется возможность подключения к системе) и адаптирование

orphan-процессов (т.е. процессов, чей родительский процесс был

уничтожен; в системе UNIX все процессы должны принадлежать одному

дереву процессов, поэтому orphan-процессы должны быть

адаптированы).

     При завершении работы системы и перезапуске, init уничтожает

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

останавливает процессор.

                2.3.2  Подключение к системе с терминалов

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

линии) и с главной консоли (если не запущены X) обеспечивается

программой getty. init запускает отдельный процесс getty для

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

программу login, которая считывает пароль. Если имя и пароль

соответствуют одному пользователю, то login запускает оболочку.

При выходе из оболочки, то есть при выходе из системы, или при

завершении программы login в случае если имя пользователя и пароль

не подходят, init запускает новый процесс getty. Ядро не

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

программы.

                           2.3.3  Syslog

     Иногда при работе ядра или различных системных программ

возникают ошибки, предупреждения и другие сообщения. Программа

syslog записывает все сообщения в файл так, что он может быть

впоследствии просмотрен. Syslog можно сконфигурировать так, что

сообщения будут сортироваться и записываться в разные файлы по

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

отдельный файл, так как эти сообщения наиболее важные и должны

регулярно просматриваться во избежание серьезных проблем.

         2.3.4  Периодическое выполнение команд:  cron  и  at

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

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

Например, системному администратору может потребоваться

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

файлов (/tmp и /var/tmp), для предотвращения переполнения диска.

     Для этого используется функция cron. У каждого пользователя

имеется файл crontab, в котором содержится список команд,

представленных к выполнению и количество раз, которое они должны

быть выполнены. Программа-демон crond обеспечивает своевременное

выполнение указанных команд.

     Функция at идентична функции cron, только команда запускается

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

                 2.3.5  Графический интерфейс пользователя

     Как в системе UNIX так и в Linux, пользовательский интерфейс

не встраивается в ядро системы. Вместо этого он представляется

программами пользовательского уровня. Это применяется как к

текстовым, так и к графическим оболочкам.

     Такой стандарт делает систему более гибкой, хотя и имеет свои

недостатки. Например, это легко позволяет создавать новые

интерфейсы для программ, что затрудняет изучение системы.

     Первоначально используемой с системой Linux графической

оболочкой была система X Window System (сокращенно X). X не

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

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

интерфейс. Три наиболее популярных версии графических интерфейсов

на основе X - это Athena, Motif и Open Look.

                       2.3.6  Работа с сетью

     Сеть - это средство, позволяющее соединяться двум или более

компьютерам между собой.

     UNIX-подобные операционные системы имеют широкий спектр

сетевых возможностей. Большинство базовых функций (файловые

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

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

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

централизованное администрирование.

     Однако, в этой книге поверхностно рассмотрены вопросы работы

с сетью. Для более подробной информации см. книгу "Руководство

Сетевого Администратора Системы Linux".

               2.3.7  Подключение к системе через сеть

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

чем обычное подключение. Существуют отдельные физические

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

происходит подключение. Для каждого пользователя, подключающегося

к системе, существует отдельное виртуальное сетевое соединение и

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

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

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

подключения к системе посредством сети. Например, telnet и rlogin

- основные службы в TCP/IP сетях.

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

большого количества процессов getty используется отдельная

программа-демон (при использовании как telnet так и login

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                              2.3.9  Почта

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                            2.3.10  Печать

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

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

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

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

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

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

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

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

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

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

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

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

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

распечатки.

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

                            3.1   Обзор

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

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

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

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

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

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

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

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

байт).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

системы.

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

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

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

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

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

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

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

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

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

сектор.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13


Новости

Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

  скачать рефераты              скачать рефераты

Новости

скачать рефераты

© 2010.