|
Gzip имя_архивного_файла имя_исходного файла ⇐ ПредыдущаяСтр 10 из 10 Файловая система ОС Linux является монтируемой. Монтирование осуществляется с помощью команды mount, размонтирование – umount. ОС Linux поддерживает многие файловые системы: ext2fs, ext3fs, XFS, JFS, Reiser и т.д.
.
Рис. 18. Структура файловой системы ext2fs Физически жесткий диск разбит на сектора размером 512 байт. Первый сектор дискового раздела в любой файловой системе считается загрузочной областью. В первичном разделе эта область содержит загрузочную запись — фрагмент кода, который инициирует процесс загрузки операционной системы при запуске. На других разделах эта область не используется. Остальные сектора объединены в логические блоки размером 1, 2 или 4 килобайта. Логический блок есть наименьшая адресуемая порция данных: данные каждого файла занимают целое число блоков. Суперблок служит начальной точкой файловой системы и хранит всю информацию о ней. В каждой группе блоков он дублируется, что позволяет быстро восстановить его после сбоев. В суперблоке определяется размер файловой системы, максимальное число файлов в разделе, объем свободного пространства и содержится информация о том, где искать незанятые участки. После суперблока следует описание (дескриптор) группы блоков. Хранящаяся в нем информация позволяет найти битовые карты блоков и индексных дескрипторов, а также таблицу индексных дескрипторов. Битовой картой блоков (block bitmap) называется структура, каждый бит которой показывает, отведен ли такой же по счету блок какому-либо файлу. Значение 1 показывает, что блок занят. Эта карта служит для поиска свободных блоков в тех случаях, когда надо выделить место под файл. Битовая карта индексных дескрипторов выполняет аналогичную функцию по отношению к таблице индексных дескрипторов: показывает, какие именно дескрипторы заняты. Каждому файлу соответствует один и только один индексный дескриптор (inode, i-узел, информационный узел), который идентифицируется своим порядковым номером — индексом файла. В индексном дескрипторе хранятся метаданные файла. Среди них — все атрибуты файла, кроме его имени, и указатель на данные файла. Имя файла хранится только в каталоге, к которому файл приписан, и больше нигде. Файловая система ext3fs совместима со всеми программами для обслуживания и настройки файловой системы ext2fs, является журналируемой. Кроме того, ext3fs — самая надежная новых файловых систем: в ней предусмотрено журналирование операций не только с метаданными, но и с данными файлов. ReiserFS - (журналируемая): преимущества данной ФС в основном проявляются в работе с мелкими файлами: они целиком хранятся в своих i-узлах (inode), без выделения блоков в области данных. XFS - (журналируемая): преимущества этой файловой системы при работе с огромными (терабайтными) файлами специально для операций с мультимедийными данными. Целью журналирования является обеспечение целостности файловой системы. Графический интерфейс Графический интерфейс в Linux строится на основе стандарта X Window System (в просторечии --- "иксы"). Система X Window построена на основе модели клиент/сервер. Правда, модель эта в данном случае используется как бы в "перевернутом" виде. Дело в том, что Х сервер работает на компьютере пользователя (а не на каком то удаленном "сервере") и обеспечивает вывод изображения на экран монитора. Х - сервер работает непосредственно с "железом": видеосистемой, устройствами ввода и динамиком. Но сам Х - сервер изображение не формирует, он только "доставляет" графику видеодрайверу. Если запустить только Х - сервер, вы увидите просто серый экран с характерным крестиком курсора посредине. С помощью мыши этот крестик перемещать по экрану. И все! На нажатие кнопок мыши и клавиш никакой видимой реакции не следует. И невидимой X - сервер готов передавать эти сигналы своим клиентам, а клиенты пока не запущены. Существует уже несколько графических сред, как свободно распространяемых, так и коммерческих. Из свободно распространяемых наибольшую известность приобрели KDE и GNOME. Среда GNOME (GNU Network Object Model Environment — Сетевая Объектная Среда GNU) — один из основных конкурентов среде KDE. Среда GNOME включает в себя рабочий стол, панель для запуска программ и показа информации о состоянии системы, а также набор всевозможных приложений, которые тесно взаимодействуют друг с другом. GNOME, как и KDE, Основные элементы среды — это рабочий стол, панель GNOME и панель задач. На панели GNOME (узкая полоска вверху экрана) расположены кнопки главного меню Приложения (выбор приложения) и Команды (различные команды, например, Выполнить или Завершить сеанс), Система (производятся настройки системы), а также апплеты. Все остальное пространство называется рабочим столом. Нижняя полоска внизу экрана — это панель задач. Ее можно временно убрать с экрана, щелкнув по стрелке в углу. Апплеты — небольшие программы, которые работают внутри панели и запускаются щелчком мыши по значку на панели. Сразу после установки вы можете увидеть там, например, календарь. Начиная с версии 1.4, в пакет GNOME входит файловый менеджер Nautilus, в дальнейших версиях ставший файловым менеджером по умолчанию. В нем нет ничего лишнего: ни панели инструментов, ни адресной строки — только окно с файлами и каталогами. Каждый каталог открывается в новом окне, а размер, положение окна и представление файлов (значками или списком) привязаны к этому каталогу: в следующем сеансе окно этого каталога откроется в том же месте рабочего стола. Такой интерфейс называется пространственно ориентированным. Процедура загрузки ОС Linux ОС Linux работает в 2-х режимах: однопользовательском (режим пользователя root, в этом режиме настраивается ОС) и многопользовательский (режим работы всех пользователей). После включения питания компьютера и завершения тестирования аппаратной части BIOS считывает из первого сектора загрузочного диска короткую программу загрузчик. Эта программа запускает основной системный загрузчик (например, LILO), который, в свою очередь, загружает в память ядро системы vmlinuz - x.y.z- a, которое обычно хранится в файле в каталоге /boot. Здесь x.y.z --- это номер версии ядра, а вместо символа "а" часто стоит указание на какие то конкретные модификации ядра. Сразу после загрузки ядро монтирует корневую файловую систему и запускает процесс init. Процесс init --- это программа, которая ответственна за продолжение процедуры загрузки, и перевод системы от начального состояния, возникающего после загрузки ядра, в стандартное состояние обработки запросов многих пользователей. Процесс init выполняет еще массу различных операций, необходимых для дальнейшей работы системы: проверку и монтирование файловых систем, запуск различных служб (демонов), запуск процедур регистрации, оболочек пользователей на различных терминалах и т. д. Точный список этих операций зависит от так называемого уровня выполнения (run level). Уровень выполнения определяет перечень действий, выполняемых процессом init, и состояние системы после загрузки, т. е. конфигурацию запущенных процессов. Уровень выполнения идентифицируется одним символом. В ОС Linux существует 8 основных уровней выполнения: 0- остановка системы; 1- однопользовательский режим (для специальных случаев администрирования); 2 - многопользовательский режим без NFS (то же, что и 3, если компьютер не работает с сетью); 3 - полный многопользовательский режим; 4 - использование не регламентировано; 5 - обычно используется для запуска системы в графическом режиме; 6 - перезагрузка системы; S (или s) --- примерно то же, что и однопользовательский режим, но S и s используются в основном в скриптах. Как видите, уровни 0, 1 и 6 зарезервированы для особых случаев. Относительно того, как использовать уровни со 2 по 5, единого мнения не существует. Первым делом после старта процесс считывает свой конфигурационный файл /etc/inittab. Этот файл состоит из отдельных строк. Если строка начинается со знака или пуста, то она игнорируется. Обработка файла /etc/inittab процессом init начинается в однопользовательском режиме (уровень 1), в котором единственным пользователем является пользователь root, работающий с консоли. Первым делом init находит строку, которая определяет, какой уровень выполнения запускается по умолчанию. Далее выполняет команды, указанные в строке с ключевым словом sysinit. В стандартной конфигурации здесь выполняется скрипт rc.sysinit из каталога /etc/rc.d. После этого процесс init просматривает файл /etc/inittab и выполняет скрипты, соответствующие однопользовательскому уровню (1 во втором поле строки), всем уровням (строки с пустым вторым полем) и уровню, заданному по умолчанию. Следующая важная функция, которую выполняет этот процесс (на уровнях со 2 по 5) --- запуск шести виртуальных консолей (процессов getty), чтобы предоставить пользователям возможность регистрироваться в системе с терминалов. Для этого init порождает процессы, именуемые getty процессами, и следит за тем, какой из процессов открывает какой терминал. Каждый getty процесс устанавливает свою группу процессов, используя вызов системной функции setpgrp, открывает отдельную терминальную линию и обычно приостанавливается во время выполнения функции open до тех пор, пока машина не получит аппаратную связь с терминалом. Когда функция open возвращает управление, getty процесс исполняет программу login (регистрации в системе), которая требует от пользователей, чтобы они идентифицировали себя указанием регистрационного имени и пароля. Если пользователь зарегистрировался успешно, программа login, запускает командный процессор shell и пользователь приступает к работе. Этот вызов shell именуется "login shell" (регистрационный shell, регистрационный интерпретатор команд). Процесс, связанный с shell, имеет тот же идентификатор, что и начальный getty процесс, поэтому login shell является процессом, возглавляющим группу процессов. Если пользователь не смог успешно зарегистрироваться, программа регистрации завершается через определенный промежуток времени, закрывая открытую терминальную линию, а процесс init порождает для этой линии следующий getty – процесс открывающий терминал, вместо прекратившего существование. После завершения загрузки init продолжает работать в фоновом режиме, отслеживая изменения в состоянии системы. Таким образом, процесс начальной загрузки init постоянно находится в оперативной памяти и при получении соответствующих сигналов повторно выполняет цикл чтения из файла /etc/inittab о том, что нужно делать, при чем этот набор инструкций различен для разных уровней выполнения. Когда суперпользователь останавливает систему (командой shutdown), именно init завершает все другие исполняющиеся процессы, размонтирует все файловые системы и останавливает процессор.
ЧТО ПРОИСХОДИТ, КОГДА МЫ ССОРИМСЯ Не понимая различий, существующих между мужчинами и женщинами, очень легко довести дело до ссоры... ЧТО И КАК ПИСАЛИ О МОДЕ В ЖУРНАЛАХ НАЧАЛА XX ВЕКА Первый номер журнала «Аполлон» за 1909 г. начинался, по сути, с программного заявления редакции журнала... ЧТО ТАКОЕ УВЕРЕННОЕ ПОВЕДЕНИЕ В МЕЖЛИЧНОСТНЫХ ОТНОШЕНИЯХ? Исторически существует три основных модели различий, существующих между... Живите по правилу: МАЛО ЛИ ЧТО НА СВЕТЕ СУЩЕСТВУЕТ? Я неслучайно подчеркиваю, что место в голове ограничено, а информации вокруг много, и что ваше право... Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:
|