Общие принципы работы РЕД ОС

Работа с операционной средой заключается в вводе определенных команд (запросов) к операционной среде и получению на них ответов в виде текстового отображения.

Диалог с ОС осуществляется посредством командных интерпретаторов с системных библиотек.

Каждая системная библиотека представляет собой набор программ, динамически вызываемых операционной системой.

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

В самом центре РЕД ОС находится управляющая программа, называемая ядром. Ядро взаимодействует с компьютером и периферией (дисками, принтерами и т.д.), распределяет ресурсы и выполняет фоновое планирование заданий.

Другими словами, ядро ОС изолирует пользователей от сложностей аппаратуры компьютера, командный интерпретатор от ядра, а ИРС от командного интерпретатора.

Защита ОС осуществляется с помощью комплекса встроенных средств защиты информации.

1 Процессы и файлы

РЕД ОС является многопользовательской интегрированной системой. Это значит, что она разработана в расчете на одновременную работу нескольких пользователей.

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

Пользователь взаимодействует с системой через командный интерпретатор, который представляет собой, как было сказано выше, прикладную программу, которая принимает от пользователя команды или набор команд и транслирует их в системные вызовы к ядру системы. Интерпретатор позволяет пользователю просматривать файлы, передвигаться по дереву файловой системы, запускать прикладные процессы. Все командные интерпретаторы UNIX имеют развитый командный язык и позволяют писать достаточно сложные программы, упрощающие процесс администрирования системы и работы с ней.

1.1 Процессы функционирования ОС

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

Пользовательские процессы — процессы, запускаемые пользователем из командного интерпретатора для решения задач пользователя или управления системными процессами. Linux изначально разрабатывался как многозадачная система. Он использует технологии, опробованные и отработанные другими реализациями UNIX, которые существовали ранее.

Фоновый режим работы процесса — режим, когда программа может работать без взаимодействия с пользователем. В случае необходимости интерактивной работы с пользователем (в общем случае) процесс будет «остановлен» ядром и работа его продолжается только после переведения его в «нормальный» режим работы.

1.2 Файловая система ОС

В РЕД ОС использована файловая система Linux, которая, в отличие от файловых систем DOS и Windows(™), является единым деревом. Корень этого дерева — каталог, называемый root (рут), и обозначаемый «/». Части дерева файловой системы могут физически располагаться в разных разделах разных дисков или вообще на других компьютерах, — для пользователя это прозрачно. Процесс присоединения файловой системы раздела к дереву называется монтированием, удаление — размонтированием. Например, файловая система CDROM в РЕД ОС монтируется по умолчанию в каталог /media/cdrom (путь в РЕД ОС обозначается с использованием «/», а не «\», как в DOS/Windows). Текущий каталог обозначается «./».

Файловая система РЕД ОС содержит каталоги первого уровня:

Каталог

Описание каталога

/bin

командные оболочки (shell), основные утилиты

/boot

содержит ядро системы

/dev

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

/etc

файлы конфигурации

/home

личные каталоги пользователей

/lib

системные библиотеки, модули ядра

/media

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

/mnt

каталоги для монтирования файловых систем сменных устройств и внешних файловых систем

/proc

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

/root

личный каталог администратора системы

/sbin

системные утилиты

/sys

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

/usr

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

/var

рабочие файлы программ, очереди, журналы

/tmp

временные файлы


1.3 Организация файловой структуры

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

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

Маршрут (путь) — это последовательность имён каталогов, представляющий собой путь в файловой системе к файлу, где каждое следующее имя отделяется от предыдущего наклонной чертой (слэшем). Если название маршрута начинается со слэша, то путь в искомый файл начинается от корневого каталога всего дерева системы. В противном случае, если название маршрута начинается непосредственно с имени файла, то путь к искомому файлу должен начаться от текущего каталога (рабочего каталога).

Имя файла может содержать любые символы за исключением косой черты (/). Однако следует избегать применения в именах файлов большинства знаков препинания и непечатаемых символов. При выборе имен файлов рекомендуем ограничиться следующими символами:

— строчные и ПРОПИСНЫЕ буквы (следует обратить внимание на то, что регистр всегда имеет значение);

— символ подчеркивания ( _ );

— точка ( . ).

Для удобства работы необходимо использовать знак «.» (точка) для отделения имени файла от расширения файла. Данная возможность может быть необходима пользователям или некоторым программам, но не имеет значения для shell.

1.4 Иерархическая организация файловой системы

Каталог /:

Каталог

Описание каталога

/boot

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

/lib

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

/bin

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

/sbin

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

/home

здесь располагаются домашние каталоги пользователей

/etc

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

/etc/rc?.d,/etc/init.d,/etc/rc.boot,/etc/rc.d

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

/etc/passwd

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

/etc/shadow

теневая база данных пользователей. При этом информация из файла /etc/passwd перемещается в /etc/shadow, который недоступен по чтению всем, кроме пользователя root. В случае использования альтернативной схемы управления теневыми паролями (TCB) все теневые пароли для каждого пользователя располагаются в директории /etc/tcb/<имя пользователя>/shadow

/dev

в этом каталоге находятся файлы устройств. Файлы в /dev создаются сервисом udev

/usr

обычно файловая система /usr достаточно большая по объему, так как все программы установлены именно здесь. Вся информация в каталоге /usr помещается туда во время установки системы. Отдельно устанавливаемые пакеты программ и другие файлы размещаются в каталоге /usr/local. Некоторые подкаталоги системы /usr рассмотрены ниже

/usr/bin

практически все команды, хотя некоторые находятся в /bin или в /usr/local/bin

/usr/sbin

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

/usr/local

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

/usr/man

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

/usr/share

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

Каталог /var:

Каталог

Описание каталога

/var/log

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

/var/spool

каталог для хранения файлов, находящихся в очереди на обработку для того или иного процесса (очередь на печать, отправку почты и т.д.)

/tmp

временный каталог, необходимый некоторым приложениям

/proc

файловая система /proc является виртуальной, и в действительности она не существует на диске. Ядро создает её в памяти компьютера. Система /proc предоставляет информацию о системе


1.5 Имена дисков и разделов

Все физические устройства вашего компьютера отображаются в каталог /dev файловой системы РЕД ОС (об этом — ниже). Диски (в том числе IDE/SATA/SCSI жёсткие диски, USB-диски) имеют имена:

/dev/sda — первый диск;

/dev/sdb — второй диск и т.д.

Диски обозначаются /dev/sdX, где Xa,b,c,d,e,… в зависимости от порядкового номера диска на шине.

Раздел диска обозначается числом после его имени. Например, /dev/sdb4 — четвертый раздел второго диска.

1.6 Разделы, необходимые для работы ОС

Для работы ОС необходимо создать на жестком диске (дисках), по крайней мере, два раздела: корневой (то есть тот, который будет содержать каталог / ) и раздел подкачки (swap). Размер последнего, как правило, составляет от однократной до двукратной величины оперативной памяти компьютера. Если у вас много свободного места на диске, то можно создать отдельные разделы для каталогов /usr, /home, /var.

1.7 Утилиты для работы с файловой системой

Утилита

Описание утилиты

mkfs

создание файловой системы. В действительности, это программа-оболочка, вызывающая для каждого конкретного типа файловых систем свою программу. Например, для файловой системы ext2 будет вызвана mkfs.ext2

fsck

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

df

формирует отчет о доступном и использованном дисковом пространстве на файловых системах. Без аргументов df выдает отчет по доступному и использованному пространству для всех файловых систем (всех типов), которые смонтированы в данный момент. В противном случае, df на каждый файл, заданный как аргумент, выдается отчет по файловой системе, которая его содержит

du

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

1.8 Часто используемые утилиты

Утилита

Описание утилиты

mount

монтирование файловых систем

umount

размонтирование файловых систем

find

поиск файлов в директориях

locate

поиск файлов по определенному образцу имени

which

поиск файла, который будет запущен при выполнении данной команды

cd

смена текущего каталога/директории

pwd

показать текущий каталог/директорию

mkdir

создание каталога

ls

выдача информации о файлах или каталогах

cp

копирование файлов

mv

перемещение/переименование файлов

rm

удаление файлов

cat

вывод содержимого заданных файлов на стандартный вывод

more

программа постраничного просмотра файлов

ln

создание ссылок (альтернативных имен) для файлов

file

определение типа файла

chmod

изменение прав доступа к файлам.

chown

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

umask

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

chattr

изменение атрибутов файлов для файловой системы ext2/ext3 (append-only, immutable, safe deletion, no atime modified, no backup,…)

lsattr

просмотр атрибутов файлов для файловой системы ext2/ext3

2 Использование многозадачности

РЕД ОС — это многозадачная система. Продемонстрируем на двух примерах, как это можно использовать.

Первый пример — запуск программы в фоновом режиме. Для того чтобы это сделать, вам нужно набрать «&» после имени программы. После этого оболочка дает возможность запускать другие приложения. Пользователь должен быть внимательным, так как некоторые программы интерактивны, и их запуск в фоновом режиме не имеет смысла (подобные программы просто остановятся, будучи запущенными в фоновом режиме). Для того, чтобы вернуть их в обычный режим, наберите:

fg имя_программы

Второй метод представляет собой запуск нескольких независимых сеансов. В консоли, нажмите «alt» и одну из клавиш, находящихся в интервале от «F1» до «F6». На экране появится новое приглашение системы, и вы сможете открыть новый сеанс. Этот метод также позволяет вам работать на другой консоли, если консоль, которую вы использовали до этого, не отвечает, или вам необходимо остановить зависшую программу.

Если вы нашли ошибку, выделите текст и нажмите Ctrl+Enter.