ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
Государственное образовательное учреждение высшего профессионального образования
РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ ТОРГОВО-ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ
КЕМЕРОВСКИЙ ИНСТИТУТ (ФИЛИАЛ)
ФАКУЛЬТЕТ ЗАОЧНОГО ОБУЧЕНИЯ
Кафедра вычислительной техники и информационных технологий
Контрольная работа по дисциплине
“Операционные системы, среды и оболочки”
на тему:
«Работа с дисками. Основные файлы конфигурации ОС Linux»
Выполнил:
студент группы ПИс-061
Жилкова Ольга Анатольевна
г. Кемерово 2008 г.
Содержание
1. Практическое задание
2. Принцип действия чередующегося тома и его преимущества перед другими типами томов
3. Основные файлы конфигурации ОС Linux
Список литературы
1. Практическое задание
Добавьте в ваш виртуальный ПК два виртуальных винчестера объемом 0,1 Gb каждый. При включении ПК будет выдано сообщение о наличии новой конфигурации, — выбрать последнюю версию.
/>
Рисунок 1.1
С помощью оснастки “Администрирование\Управление компьютером\Управление” дисками сделайте новые винчестеры динамическими. Сделайте скриншот оснастки “Управление дисками”, в которой будет видно структуру существующих дисков вашего ПК.
/>
Рисунок 1.2
Создайте на первом добавленном винчестере (“диск_1”) простой том объемом около 60-70 Мб и отформатируйте его в системе NTFS.
/>
/>
Рисунок 1.3
/>
Рисунок 1.4
/>
Рисунок 1.5
/>
Рисунок 1.6
На этом же винчестере в оставшемся месте создайте чередующийся том. На втором добавленном винчестере (“Диск_2”) должна быть создана вторая часть чередующегося тома, причем обе части будут иметь одинаковый размер.
/>
Рисунок 1.7
Сделайте скриншот оснастки “Управление дисками”, где показана структура дисков.
/>
Рисунок 1.8
/>
Рисунок 1.9
/>
Рисунок 1.10
2. Принцип действия чередующегося тома и его преимущества перед другими типами томов
Все простейшие файловые системы связаны с физическим диском отношением “один-к-одному”. Это означает, что у каждого диска имеется собственный корневой каталог, собственная таблица метаданных и собственная информация, предназначенная для управления хранением данных. такая структура естественна для съемных носителей (гибких дисков и CD-ROM), поскольку соответствует пользовательской модели записи данных на носитель и переноса их как физической сущности. Но для жестких дисков, выступающих в роли энергонезависимой, постоянной памяти компьютера, требование соответствия “один-к-одному” менее оправдано, так как нельзя ни расширить файловую систему за пределы конкретного диска, ни разделить диск на разделы, управляемые независимо (возможно, разными операционными системами, установленными на одном компьютере).
Для решения этих проблем введена концепция логического тома – области действия файловой системы. Том состоит из разделов физических дисков. Каждый раздел представляет собой экстент (непрерывную последовательность) дисковых блоков. Широко распространена простейшая схема, когда диск делится на несколько разделов, каждый из которых содержит один логический том и соответственно одну файловую систему. Более универсальный подход позволяет составить логический том из нескольких отдельных разделов, причем расположенных даже на разных дисках.
Логический том с чередованием – это том, последовательные группы блоков которого размещаются в последовательных разделах (рисунок 1.1), а разделы располагаются на разных физических дисках. На рисунке метод чередования показан на примере тома, состоящего из трех разделов. Первые восемь блоков этого тома размещены в первом разделе, вторые восемь блоков – во втором, третьи – в третьем, а четвертые снова в первом т. д.
Рисунок 1.1 – Использование метода чередования
При последовательном чтении файла можно одновременно считывать три группы блоков с трех разных дисков, что позволяет значительно повысить скорость операции, если только узким местом не окажется дисковый контроллер или подсистема ввода-вывода. Чередование может производится и на уровне отдельных блоков, но наиболее эффективно этот процесс осуществляется на уровне групп блоков, поскольку дисковое аппаратное обеспечение может кэшировать данные в собственном буфере (это преимущество имеет большое значение при условии пространственной локализации доступа).
Метод чередования, который применяется при хранении тома на нескольких дисках, сам по себе еще не способствует повышению отказоустойчивости: если один из дисков оказывается недоступным, теряется вся файловая система. Повышение устойчивости к сбоям обеспечивает другой метод – зазеркаливание тома. При зазеркаливании на дополнительных дисках создается одна или несколько полных копий тома, называемых “зеркальными” (рисунок 1.2).
Повышение надежности хранения данных обеспечивается ценой дополнительных операций записи так как при каждом обновлении данных должны обновляться все диски. Однако эти операции обычно выполняются асинхронно и поэтому замедляют работу только при очень высокой интенсивности записи. Если же обновления осуществляются редко, зазеркаливание позволяет повысить производительность благодаря двум факторам.
Во-первых, как и в случае использования метода чередования, можно считывать последовательные группы блоков с разных дисков, таким образом, повышая пропускную способность дисковой системы. Во-вторых, можно сократить задержки отдельных операций чтения. выполняя их на том диске, считывающая головка которого ближе к запрошенному блоку. Однако, хотя эта технология и привлекательна, она требует либо отслеживания состояния дисков операционной системой, либо дополнительного управления со стороны дискового контроллера.
Рисунок 1.2 – Использование метода зазеркаливания
Чередование и зазеркаливание – это две базовые технологии, которые совместно или по отдельности могут применяться для создания дисковой системы хранения данных, называемой массивом недорогих дисков с избыточностью (Redundant Array of Inexpensive Disk, RAID). Чередование официально именуется RAID-0, а зазеркаливание – RAID-1. Совместное применение этих процессов (RAID-5) обеспечивает высокую отказоустойчивость, одновременно позволяя снизить затраты ресурсов, связанные с зазеркаливанием.
Стандарт RAID-5 определяет том с чередованием и дополнительным пространством для хранения данных, используемых при контроле четности. На рисунке 1.3 показан принцип его действия на примере трех дисков: для каждого блока два диска содержат данные, а третий – результат “исключающего или” (XOR) их содержимого. Операция XOR выбрана потому, что в случае отказа одного из дисков его содержимое можно восстановить путем применения этой же операции к двум остальным, что очень удобно. Конечно, предполагается, что отказы дисков обнаруживаются системой и что операции записи на два дополнительных диска выполняются автоматически.
Блоки четности записываются на три диска циклически, чтобы ни один из дисков не подвергался большей нагрузке по сравнению с остальными, поскольку контрольная информация должна обновляться для каждой операции записи. Блоки данных тоже размещаются циклически: это позволяет уравновешивать нагрузку на диски при последовательном считывании.
Рисунок 1.3 – Логический том на основе RAID-5
Предлагались и другие уровни RAID, но они не получили широкого распространения. Стандарты RAID-2 и RAID-3 предполагают чередование битов, а не блоков, то есть мельчайшую гранулярность. В них информация, используемая для контроля четности, хранится на одном (RAID-3) или нескольких (RAID-2) выделенных дисках. Предполагается, что механические компоненты всех дисков работают синхронно, так что механические задержки доступа к дисковому массиву не превышают задержки доступа к единственному диску. Стандарт RAID-4 предусматривает чередование на уровне групп блоков, как в RAID-5, но с выделенным диском для информации контроля четности. Этот выделенный диск становится узким местом массива, поскольку обновляется при каждой операции записи на любой другой диск.--PAGE_BREAK--
3. Основные файлы конфигурации ОС Linux
Основная категория конфигурационных файлов — /etc/:
Общесистемные:
anacrontab – конфигурация задач, выполняемых Anacron. Anacron – это планировщик задач, подобный Cron, за исключением того, что компьютер может не работать непрерывно. Он применяется для запуска ежедневных, еженедельных и ежемесячных задач, обычно выполняемых службой Cron. При запуске Anacron читает файл /etc/anacrontab.
aspldr.conf – конфигурация boot-загрузчика ASPLoader (дистрибутив ASPLinux). Этот файл считывается установщиком загрузчика системы Aspldr. ASPLinux (Application Service Provider Linux)– один из российских дистрибутивов ОС GNU/Linux, выпускаемый одноименной компанией.
auto.misc, auto.master – конфигурация автомонтировщика. Автомонтировщик – это программа, которая монтирует сменный носитель при обращении к нему. Самый распространенный автомонтировщик это Autofs. Он управляет файлом auto.master. Каждый раз, когда происходит обращение к каталогу /mnt, запускается автомонтировщик с управляемым файлом /etc/auto.misc. Проведение проверок дисков является необходимостью, независимо от используемой файловой и операционной системы. В Linux для этого служит целый набор команд. Команда badblocks проводит проверку поверхности диска на читаемость и записываемость, она действует независимо от используемой файловой системы.
crontab – конфигурация задач, выполняемых Cron. Наиболее распространенное средство планирования задач – Cron. В настоящее время существует множество модификаций этого демона. Cron запускает команды в указанное время. Время запуска задают пять параметров: минуты, часы, месяцы, дни месяца, дни недели. Каждую минуту Cron сравнивает текущее время с временем запланированного запуска команд. Если они совпадают – команда выполняется. Команды и время их выполнения хранятся в crontab-файлах. Есть два вида crontab-файлов: пользовательские и системные. Cron просматривает все файлы системы каждую минуту. Пользователям и системным администраторам иногда требуется периодически запускать определенные команды. Например, системному администратору может потребоваться периодически запускать команду для очистки каталогов от временных файлов для предотвращения переполнения диска. Для этого используется функция cron. У каждого пользователя имеется файл crontsb, в котором содержится список команд, представленных к выполнению и количество раз, которое они должны быть выполнены. Программа-демон Cron обеспечивает своевременное выполнение указанных команд. Функция at идентична функции cron, только команда запускается один раз в указанное время и запуск больше не повторяется.
csh.login, csh.cshrc, profile –Эти командные файлы выполняются оболочками Bourne или C shell при запуске системы, что позволяет изменять системные установки для всех пользователей. Общесистемный инициализационный файл для csh – csh.login. Оболочка – пользователь общается с нею на удобном ему языке (с помощью текстовой командной строки), а она общается с другими частями системы на удобном им языке (вызывая запрограммированные функции). Какая бы задача, связанная с управлением системой, ни стояла перед пользователем Linux, она должна иметь решение в терминах командного интерпретатора. Фактически, решение пользовательской задачи – это описание ее на языке shell. Язык общения пользователя и командного интерпретатора – это высокоуровневый язык программирования, дополненный, с одной стороны, средствами организации взаимодействия команд и системы, а с другой стороны – средствами взаимодействия с пользователем, облегчающими и ускоряющими работу с командной строкой. Оболочка Bourne проще в использовании и более понятная в сравнении с оболочкой C shell, но она является менее практичной для программирования сложных сценариев. Оболочка Korn обеспечивает простоту использования оболочки Bourne и добавляет расширения для управления заданиями (позволяя упростить управление несколькими фоновыми заданиями), возможность журналирования и редактирования командной строки, также добавляет элементы оболочки C shell, позволяющие упростить программирование. Оболочка Bourne-again представляет собой проект с открытым исходным кодом и объединяет принципы оболочки Bourne, среды программирования оболочки C shell, расширенные функциональные возможности оболочки Korn и различные собственные расширения, предоставляющие среду не только для программирования основных сценариев, но и интерактивную оболочку для управления и взаимодействия с системой. Оболочка Bash – свободная версия Bourne shell, первой Unix оболочки, плюс множество дополнительных свойств. Bash имеет редактируемые командные строки, прокручиваемую историю команд и дописывание кнопкой tab, чтобы не приходилось набирать длинные названия файлов. C shell использует C-подобный синтаксис и заимствует много свойств из Borne shell, однако использует другой набор внутренних shell команд. TC shell (TCSH) – улучшенная версия C shell и на 100% совместима с ней. Z shell – улучшенная версия Korn shell со многими свойствами Bash Shell. Чтобы узнать какие оболочки установлены на машине, необходимо запустить команду “cat /etc/shells”. Запустить любую оболочку можно, набрав ее имя в командной строке.
fstab – файл содержит информацию обо всех файловых системах, инсталлированных на Linux сервере. В Linux все разделы, используемые системой, должны быть перечислены в /etc/fstab. В этом файле указываются точки подключения разделов (местоположение разделов в файловой системе), порядок подключения, а также дополнительные параметры (автоматический или ручной режим подключения, достаточность прав пользователя для подключения и т. п.). Он содержит информацию обо всех разделах жесткого диска и других носителях информации в компьютере. В нем прописано, куда и как разделы винчестера и другие носители должны быть примонтированы. Процесс связывания файловой системы с устройством в Linux называется монтированием. Для подключения файловой системы к существующей иерархии файловых систем используется команда mount.
group – системные группы пользователей. В Linux группы значительно облегчают администрирование, так как с их помощью можно настраивать полномочия не для отдельных пользователей, а коллективно. В Linux группы определяются так же, как пользователи, в одном файле, но файл для групп — /etc/group. Файл представляет собой системный конфигурационный файл, который содержит описания групп, к которым принадлежат пользователи.
gtk/ — файлы указателей шрифтов для графического тулкита GTK. Самыми распространенными библиотеками для создания GUI (Graphical User Interface – графический интерфейс пользователя) являются библиотеки CTK и Qt.
Hostname – текущее имя машины;
inittab – конфигурация последовательности загрузки. Конфигурационный файл для демона Init. Когда пользователь включает питание, BIOS определяет с какого диска ему грузиться (Boot sequence), после чего на выполнение запускается загрузочный код. Это первые 512 байт с диска. Их называют Master Boot Record. В данном месте находится программа, определяющая, где находится вторичный загрузчик. После того, как программа с MBR нашла раздел диска, с которого ей необходимо грузиться, она считывает MBR данного раздела данного диска и запускает программу, находящуюся уже во второй MBR. В Linux наиболее распространенными загрузчиками являются Lilo (Linux loader) и Grub (Grand Unified boot Loader). Различия между ними не очень велики. Конфигурирование Lilo происходит с помощью одноименной команды. Данные по загрузке хранятся в /etc/lilo.conf.
Когда ядро завершает процесс инициализации, оно запускает несколько пользовательских процессов. В Linux — это демон Init и обработчики памяти и сигналов ядра. Демон Init отвечает за дальнейшую загрузку Linux. Процесс init – это демон, который отвечает за инициализацию системы. Без него ни один другой процесс не сможет запуститься. Во время загрузки Init выполняет две важные задачи: во-первых, он запускает стартовые сценарии rc, а затем инициализирует терминалы, для того что бы в систему могли войти пользователи. Сценарий rc читает несколько конфигурационных файлов, для того чтобы правильно смонтировать файловые системы и подготовить среду для старта системных демонов. После того, как система загружена и работает, ще не существует среды, в которой пользователь будет общаться с операционной системой. С этого момента начинается второй этап работы процедуры Init. Теперь прочитывается конфигурационный файл /etc/ttys. Файл /eyc/ttys содержит важную информацию о терминалах – какие из них должны быть проинициализированы. В отличие от /etc/rc, этот файл может отредактирован суперпользователем, если в этом есть необходимость.
В FreeBSD существует три типа терминалов. Название виртуального терминала начинается с последовательности ttyv, за которой следует число или буква, это терминалы, которые доступны пользователю непосредственно сидящему за компьютером с FreeBSD. По умолчанию первый из них, ttyv0, выполняет функции системной консоли. Последовательные, или “телефонные”, терминалы называются с ttyd и заканчиваются числом. Эти терминалы предназначены для пользователей, которые получают доступ к вашей FreeBSD удаленно при помощи модема. Последним типом терминалов являются псевдотерминалы (сетевые терминалы), их название начинается на ttyp, заканчиваясь числом или буквой. Такие терминалы используются для работы пользователей, получающих доступ к FreeBSD по сети.
Таким образом, Init читает /etc/ttys и запускает программу Getty на каждом терминале указанном в конфигурационном файле. Задачей Getty является постоянный мониторинг терминала на наличие попыток войти в систему. Если кто-нибудь это делает, Getty запускает программу Login, для того чтобы проверить имя пользователя и пароль (Getty считывает имя пользователя, а пароль считывает Login). Если проверка прошла успешно, то Login запускает указанный в профиле пользователя интерпретатор команд и помещает пользователя в его домашний каталог. Как только пользователю становится доступен интерпретатор команд, он может взаимодействовать с операционной системой. Теперь только интерпретатор команд разбирает команды пользователя, а так же обеспечивает запуск необходимых программ.
issue – сообщение, выдаваемое системой до регистрации пользователя. Файл представляет собой текстовый файл, который содержит сообщение или системную идентификацию версии Linux, которая выводится на экран до приглашения программы login. Программа login, регистрирующая пользователей в системе, запускается только тогда, когда сама система уже приведена в полную готовность и работает в обычном режиме. Происходит это далеко не сразу после включения компьютера: Linux – довольно сложная система, объекты которой попадают в оперативную память не сами собой, а в процессе загрузки. Сама загрузка – процесс ступенчатый: поведение компьютера на различных этапах загрузки определяется разными людьми – от разработчиков аппаратной составляющей до системного администратора. Предъявляемые к системе требования гибкости, возможности изменять ее настройку в зависимости от аппаратной составляющей, необходимость решать разные задачи с помощью одного и того же компьютера тоже делают процесс загрузки ступенчатым: сначала определяется профиль будущей системы, а затем этот профиль реализуется. Начальный этап вообще не зависит от того, какая операционная система установлена на компьютере, для некоторых этапов в каждой операционной системе предлагаются свои решения – по большей части, взаимозаменяемые. Эта стадия (начальная) называется досистемная загрузка. Начиная с определенного этапа, загрузка компьютера уже управляется самой Linux, используются утилиты, сценарии и т. п. Эта стадия (завершающая) называется системной загрузкой.
issue.net – сообщение, выдаваемое перед сетевой регистрацией. Telnet также отображает системное приглашение при любом соединении. Оно обычно включает системную информацию, в частности название ОС, версию и тому подобные сведения, вплоть до версии ядра. Telnet отображает содержимое файла /etc/issue.net (обычно он идентичен /etc/issue, который отображается на терминалах).
login.defs – описывает поведение Login и Su;
logrotate.conf – Конфигурационный файл для программы Logrotate, который позволяет администрировать файлы сообщений, генерируемые различными программами. Программа Logrotate позволяет автоматически начать файл сообщений заново, удалить, сжать файл сообщений, послать его по электронной почте. Такие действия можно делать ежедневно, еженедельно, ежемесячно или когда файл достигнет определенного размера. Обычно Logrotate запускается как задание из демона Cron. Если система интенсивно используется, то файлы протоколов быстро растут. Скрипт logrotate ежедневно запускается демоном Cron. Этот скрипт позволяет обрабатывать не только журналы системы Syslog, но и любые другие программы. Скрипт обеспечивает так называемую ротацию этих файлов в случае, если они превысили указанный размер (или по истечению указанного временного интервала). Ротация – последовательное копирование предыдущих версий архивных файлов, удаление самых старых файлов, переименовывание устаревших файлов и замещение текущего лог-файла заново созданным. Перечень файлов для обработки скриптом logrotate и параметры этой обработки определяются конфигурационными файлами. продолжение
--PAGE_BREAK--
logrotate.d – директория конфигурационных файлов демона автоматической обработки логов;
ld.so.conf – файл содержит список каталогов для поиска разделяемых библиотек. На основании содержания файла строится другой файл /etc/ld.so.cache, который содержит упорядоченный список библиотек, найденных в каталогах, имена которых перечислены в файле ld.so.conf.
Для выполнения стандартных операций программист может использовать функции из стандартных библиотек. Самый характерный пример – это библиотека libc, которая содержит функции, выполняющие такие задачи, как управления памятью и операции ввода-вывода. Программисты могут создать свои собственные библиотеки и использовать их при написании новых программ.
Библиотеки бывают статическими, разделяемыми и динамическими. Статическая библиотека – это библиотека, код которой встраивается в программу при компиляции. Код разделяемой библиотеки не встраивается в программу, а загружается в память одновременно с программой и программа получает доступ к функциям этой библиотеки. Динамические библиотеки – разновидность разделяемых, но библиотечные функции загружаются в память только тогда, когда из программы поступит вызов соответствующей функции. В процессе выполнения программы они могут выгружаться и заменяться другими функциями из той же или другой библиотеки. Многие системные библиотеки располагаются в системных каталогах, но некоторые могут располагаться и в других каталогах. Список этих каталогов помещается в файл ld.so.conf. Каждый раз, когда разделяемая библиотека изменяется или инсталлируется вновь, необходимо выполнить команду ldconfig, чтобы обновить файл ld.so.conf, а также ссылки на него.
lilo.conf – конфигурация boot-загрузчика LILO. LILO (Linux Loader) – программа, предназначенная для загрузки Linux и других операционных систем. LILO состоит из 3-ех частей: программа записи начального загрузчика lilo, программа конфигурации liloconf, файл конфигурации /etc/lilo.conf. Liloconf создает файл /etc/lilo.conf, который используется программой lilo для записи начального загрузчика. Обычно LILO помещают в MBR. При загрузке компьютера LILO выдает подсказку “LILO:”. После чего нужно ввести метку той операционной системы, которую нужно загрузить. Для загрузки Linux обычно следует ввести linux. Поведение LILO зависит от его настройки в файле /etc/lilo.conf. С помощью LILO можно организовать загрузку других операционных систем и загрузку разных версий одной ОС Linux.
man.conf – конфигурация системы страниц помощи для программы man, команда man.
motd – сообщение, выдаваемое системой после удачной регистрации пользователя.
mtab – список смонтированных ФС. Динамически изменяющаяся информация о смонтированных файловых системах.
nologin – наличие этого файла запрещает пользователям входить в систему с выдачей сообщения в файле;
nsswitch.conf – конфигурационный файл для целой группы библиотечных программ, которые связаны с получением имен хостов и использованию этих имен локально. Системные базы данных и файл с настройками для диспетчера служб имен.
Сетевые файлы:
ethers – файл соответствия аппаратных МАС-адресов сетевым IP-адресам в сети, в случае несоответствия доступ для хоста будет закрыт. Номера Ethernet. Форматом фала /etc/ethers является MAC адрес сетевой загрузки сервера и имя хоста. Эти два параметра разделены пробелом, и каждая запись должна быть на отдельной строке. Так как каждая запись в фале /etc/ethers имеет имя хоста, сервер сетевой загрузки должен иметь возможность преобразовывать имя хоста в его IP-адрес. Это может быть выполнено с помощью файлы /etc/host.
export – список контроля доступа для сетевой файловой системы NFS. Файл управляет доступом ресурсов на уровне приложений.
host – перечень хостов и соответствующих им IP-адресов. Постоянная информация об именах хостов.
host.allow – список хостов, с которых разрешен доступ в систему.
host.deny – список хостов, с которых запрещен доступ в систему.
host.conf – файл конфигурации для системы разрешения имен, указывает, где и в каком порядке искать имена хостов. Файл представляет собой конфигурационные данные для комплекта программ resolver, которые обеспечивают нахождение имени хоста, под которым он известен в Интернет. Среди прочего, в файле должен быть описан порядок нахождения (разрешения) имени.
resolv.conf – конфигурационный файл для системы разрешения имен.
Железо:
printcap – файл конфигурации принтеров. База данных с настройками принтеров для демона Lpd.
inputrc – конфигурация ресурсов ввода с клавиатуры;
Графическая система — /X11 – конфигурационные файлы X Window. В Linux пользовательский интерфейс не встраивается в ядро системы. Вместо этого он представляется программами пользовательского уровня. Это применяется как к текстовым, так и к графическим оболочкам. X Windows – графический интерфейс для Linux, а также множество дополнительных функций как для пользователя, так и для разработчика программного обеспечения. Среду X Windows можно разделить на интерфейс и средства работы с окнами. В X Windows для обеспечения завершенного GUI должны быть запущены два приложения. Первое – это X сервер, который устанавливает режимы графического отображения (т. е. разрешение и частоту регенерации изображения, глубину цвета). Отображает окна, следит за движением мыши, нажатиями клавиш и окнами. Но X сервер не поддерживает меню, границы окон или механизмы перемещения, переключения, свертывания или развертывания окон. Цветной фон, сложные рамки окна и другие элементы обеспечиваются вторым приложением – диспетчером окон.
/X11/fs/config – содержит перечень каталогов со шрифтами для X;
/X11/XF86Config – файл конфигурации X(XFree86);
/X11/xorg.conf – файл конфигурации X (XOrg);
Список литературы
Операционные системы / Д. Бэкон, Т. Харрис – СПб.: Питер; Киев: Издательская группа BHV, 2004., 800 с.: ил.