Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методические указ. по выпон. контр. р. по Опера...doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
2.66 Mб
Скачать

Управление безопасностью реестра

Windows XP предоставляет следующие возможности по обеспечению защиты системы:

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

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

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

Структура операционной системы Linux

Компоненты операционной системы

Операционная система состоит из 4-х основных компонент.

Ядро – базовая программа, которая управляет аппаратными средствами ивыполнением других программ.

Оболочка – обеспечивает функционирование интерфейса пользователя.Она принимает от пользователя команды и посылает их в ядро для исполнения.

Файловая система – представляет собой систему хранения файлов на запоминающих устройствах.

Утилиты – специализированные программы, такие как редакторы,компиляторы, коммуникационные программы, посредством которыхвыполняются стандартные действия пользователя.

Взаимодействие всех компонент осуществляется через ядро.

Рис. 17. Структура операционной системы Linux

Процессы

Главная, постоянно находящаяся в оперативной памяти, часть ОС Linux называется ядром (Kernel). Ядро ОС обрабатывает прерывания от устройств, выполняет запросы системных процессов и пользовательских приложений, распределяет виртуальную память, создает и уничтожает процессы, обеспечивает многозадачность посредством переключения между ними, содержит драйверы устройств, обслуживает файловую систему.

Пользовательские процессы не могут непосредственно, например, порождать другие процессы, производить чтение или запись на диск, выводить данные на экран или создавать гнездо {socket) для обмена по сети. Для выполнения этих действий они должны воспользоваться сервисами ядра. Обращения за такими услугами называются системными вызовами.

Начальная загрузка системы состоит в том, что файл с образом ядра считывается в оперативную память, начиная с нулевого адреса. Этот файл находится в каталоге /boot и называется vmlinuz-x.y.z, где x.y.z — это номер версии ядра.

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

Запись в таблице процессов и пространство процесса вместе составляют контекст, или окружение, процесса. В него входят:

  • PID — идентификатор процесса. Он принудительно назначается планировщиком при запуске процесса.

  • PPID — идентификатор родительского процесса (о порождении процессов — дальше в этом же параграфе).

  • TTY — имя управляющего терминала (терминал, с которого запущен процесс).

  • WD — текущий каталог процесса, от которого отсчитываются относительные пути.

  • RID, RGID — реальные ID и групповой ID пользователя, запустившего процесс.

  • NICE — показатель уступчивости. Процессы выполняются в режиме разделения времени, то есть время центрального процессора делится между готовыми к выполнению процессами с учетом их приоритета. Чем выше показатель уступчивости, тем ниже приоритет.

  • Переменные окружения.

Каждый процесс порождается другим процессом, использующим для этого системный вызов fork(). Таким образом, структура процессов древовидна. Корнем этого дерева служит init — процесс инициализации системы. Он запускается ядром первым, получает идентификатор 1 и порождает еще несколько процессов (сколько и каких, можно узнать из его конфигурационного файла /etc/inittab), которые, в свою очередь, при участии пользователя порождают другие процессы.

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

Иерархия процессов: ps и pstree

Команда ps позволяет просмотреть сведения обо всех процессах, протекающих в системе в данный момент(ps aux, ps -l)

Команда pstree представляет дерево процессов сразу в наглядном виде:

Ключ -р выводит вместе с именем процесса его PID, а ключ -и — имя пользователя, запустившего процесс/

Команды df (disk free) и du (disk usage) показывают, сколько места доступно и занято на жестком диске.

Процессы в реальном времени: команда top.

Фоновый режим

Родительский процесс может либо ждать завершения дочернего, либо продолжать свое выполнение. Если в роли родителя выступает командная оболочка, то это значит, что процессы, запущенные с одной консоли (или виртуального терминала), распадаются на две группы: те, которых оболочка ждет, — они взаимодействуют с пользователем, занимая консоль, — и те, после запуска которых с пользователем взаимодействует сама оболочка (консоль свободна). Эти группы называются передним и задним планами.

Чтобы запустить процесс на заднем плане (в фоновом или асинхронном режиме), нужно завершить командную строку управляющим оператором &.

Категории процессов

Процессы делятся на три категории:

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

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

  • Демоны. Запускаются после инициализации ядра. Выполняются в фоновом режиме, не связаны ни с одним пользователем, обеспечивают работу различных служб (например, управление сетью). Главным демоном считается init — процесс инициализации системы.

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

Пользователь может послать сигнал процессу с идентификатором PID командой

kill <PID> - удаление процесса по его идентификатору.

killall <имя процесса>- удаление процесса по его имени.

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

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

Назначение основных каталогов

/bin - -Основные программы, необходимые для работы в системе: командные оболочки, файловые утилиты и т.п.

/sbin - Команды для системного администрирования, а также программы, выполняемые в ходе загрузки

/boot - Файлы, необходимые для загрузки системы (образ ядра)

/home Домашние каталоги пользователей, кроме root

/dev - Файлы устройств

/etc - Файлы настроек: стартовые сценарии, конфигурационные файлы графической системы и различных приложений.

/lib - Системные библиотеки, необходимые для основных программ, и модули ядра /lost+found - Восстановленные после аварийного размонтирования части файловой системы.

/media - Сюда обычно монтируются съемные носители: компакт-диски, flash-накопители.

/mnt - Временные точки монтирования жестких дисков. Использовать этот каталог необязательно: подмонтировать файловую систему можно к любому другому каталогу.

/opt - Дополнительные пакеты программ. Если программа, установленная сюда, больше не нужна, то достаточно удалить ее каталог без обычной процедуры деинсталляции.

/proc - Виртуальная файловая система, дающая доступ к информации ядра (например, выведите на экран файл /proc/cpulnfo). Другие файлы в этом каталоге в каждый момент времени содержат информацию о выполняющихся в этот момент программах.

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

/tmp - Временные файлы.

/var - Часто меняющиеся данные: системные журналы и протоколы приложений, замки, почтовые ящики, очереди печати и т.п.

/usr - Практически все остальное: программы, исходные коды, документация. Сюда по умолчанию устанавливаются новые программы.

Имена файлов и каталогов могут иметь длину до 255 символов. Символы «/» (слэш) и символ с кодом 0 запрещены.

Если имя файла начинается с точки, то этот файл считается скрытым.

Linux различает регистр символов в именах файлов.

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

Корневой каталог обозначается символом «/» (слэш), и этим же символом разделяются имена каталогов в списке.

Свойства (атрибуты) файлов и каталогов можно вывести на терминал с помощью команды Is с ключом -1:

ls -l /home/den/README

-rwxr-xr-- 1 den users 0 Feb 14 19:08 /home/den/README

Что это за свойства?

Первый символ выведенной строки, в данном случае дефис, обозначает тип файла. Другие значения этого свойства: d — каталог, b — блочное устройство, с — символьное устройство, 1 — символическая ссылка, р — именованный канал и s — гнездо.

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

Отсутствие права обозначается символом дефиса. С файлом README из нашего примера владелец (в обшем случае, пользователь, создавший его) имеет право делать все, что угодно; члены его группы — только читать и запускать файл на выполнение; все остальные — только читать.

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

Далее указаны имя владельца файла и имя его группы; размер файла в байтах; дата и время последней модификации и имя файла.

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

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

$ln /home/den/README /home/den/readme_too

$ls -1 /home/den/README

-rwxr-xr-- 2 den users 0 Feb 14 19:08 /home/den/README

Жесткую ссылку можно создавать в любом каталоге, но обязательно на том же физическом носителе (то есть в той же файловой системе), что и исходный файл.

Символическая ссылка (это ярлык) создается той же командой ln с ключом -s:

$ln -s /home/den/README /home/den/do.not.readme

$ls -1 /home/den/do.not.readme

lrwxrwxrwx 1 den users 16 Feb 14 19:17 /home/den/do.not.

readme -> /home/den/README

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

Основные команды

ls [-параметры] каталог - показывает содержимое <каталога> включая файлы,

-l – выводит список в расширенном виде (показываются полномочия, владельца, размер, имя файла).

cd <директория> - сменить текущий (рабочий) директорий. Директорий (каталог) должен существовать.

mkdir имя_каталога – создать каталог

mv старое_имя_файла новое_имя_файла – переименовать файл

rmdir каталог - удаляет каталог

команда1>файл - перенаправление вывода в файл. команда1>>файл - перенаправление вывода в файл с добавлением (не затирая содержимого файла)

cp файл1 файл2 - копирует файл1 в файл2

cp файл - копирует файл в текущий каталог (cp /etc/fstab .)

команда1|команда2 - перенаправление вывода первой команды на ввод второй, организация конвейера (ls -l /etc|more).

more – выводит содержимое файла на экран отдельными страницами. ln [параметры] исходный файл файл_ссылка – создание жестких и символьных ссылок. Одному файлу на диске можно присвоить несколько имен. Каждый файл имеет индексный дескриптор и с ним можно связать несколько имен. Жесткая ссылка – это другое имя файла. Символьная ссылка – это ярлык файла.

-s - создание символьной ссылки;

Например, ln mfile.txt file.txt – создание жесткой ссылки.

Например, ln –l mfile.txt f.txt - создание символьной ссылки.

more имя файла – постраничный просмотр текстового файла;

pwd – определение текущего каталога;

rm [ключи] имя файла – удаление файла

tar -cf archiv.tar myfile.txt – создание нового файла

tar -xf archiv.tar – извлечение файлов из архива

Сжатие файлов осуществляется командой командой gzip.

gzip имя_архивного_файла имя_исходного файла

Файловая система ОС Linux является монтируемой. Монтирование осуществляется с помощью команды mount, размонтирование – umount.

ОС Linux поддерживает многие файловые системы: ext2fs, ext3fs, XFS, JFS, Reiser и т.д.

.

Загрузочный сектор

Суперблок

Группа блоков

Группа блоков

……

Группа блоков

Копия суперблока

Описание

группы

блоков

Карта

блоков

Карта

inode

Таблица

inode

Блоки

данных

Рис. 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, в дальнейших версиях ставший файловым менеджером по умолчанию. В нем нет ничего лишнего: ни панели инструментов, ни адресной строки — только окно с файлами и каталогами. Каждый каталог открывается в новом окне, а размер, положение окна и представление файлов (значками или списком) привязаны к этому каталогу: в следующем сеансе окно этого каталога откроется в том же месте рабочего стола. Такой интерфейс называется пространственно ориентированным.