- •Список тем к курсу Red Hat Enterprise Linux
- •Уровни работы ос: уровень ядра и пользователя
- •Назначение и функции ядра ос и системные компоненты (модули ядра, библиотеки и драйвера)
- •Файловая система как способ организации данных на диске
- •Назначение и содержимое супер-блока
- •Индексный узел (I-node). Файлы и каталоги.
- •Жесткие (hard) и символные (symbolic) ссылки
- •Файлы устройств
- •Виртуальная файловая система (vfs): назначение и организация
- •Дерево каталогов: корень и стандартные папки. Содержимое и назначение стандартных каталогов
- •Виды устройств: символьные, блочные. Стандартные устройства: console, null, random, stdin, stdout, stderr
- •Монтирование и работа с mount, umount, fstab
- •Страничная организация памяти и виртуальная память процессов
- •Процесс и контекст процесса: pid, ppid, process state, uid, priority. Потоки
- •Механизм создания процессов и потоков (функция fork)
- •Разделяемая память
- •Переменные окружения
- •Сигналы
- •Shell: назначение, приглашение
- •Shell: логические функции и спец. Символы &&, ||. Возвращаемые программами значения
- •Пользователи и группы. Uid, gid, euid, основная группа в которую входят пользователи.
- •Безопасность в Linux. Права доступа к файлам.
- •Авторизация и аутентификация. Процесс входа пользователя в систему.
- •Пользователь root
- •Конфигурационные файлы. Примеры, формат и назначение.
- •Системные службы (демоны): локальные и сетевые
- •Службы syslog и cron
- •Сетевая подсистема Linux. Сетевой интерфейс, сокеты, стек tcp/ip. Службы dns, dhcp. Файлы hosts, resolv.Conf и настройки сетевых адаптеров. Маршрутизация.
- •Работа со справкой: справка самих команд (вызов с аргументов --help), работа с man, info и whatis
- •Работа с текстовым редактором VI
- •Процесс загрузки ос. Mbr, Загрузочные скрипты, загрузчик, уровни загрузки.
- •Программа init, inittab и другие настройки загрузки.
- •Команды ls, cd, cp, mv, rm, ln, touch, cat, find, mkdir, tar gzip
- •Команды , echo, more, less, tail, head, file
- •Команды useradd, userdel, groupadd, groupdel, usermod, passwd, groupmod
- •Команды ps, top, nice, kill, killall
- •Команды chmod, chown, chgrp
- •Команды ifconfig, ping, route, netstat, traceroute
Список тем к курсу Red Hat Enterprise Linux
Общие вопросы, на которые стоить ответить, рассматривая данные темы: «Что это? Назначение? Как с этим работать?»
Уровни работы ос: уровень ядра и пользователя
Самый общий взляд на архитектуру UNIX позволяет увидеть двухуровневую модель системы, состоящую из пользовательской и системной части (ядра) (см. Рисунок 1.20, «Архитектура операционной системы UNIX»). Ядро непосредственно взаимодействует с аппаратной частью компьютера, изолируя прикладные программы (процессы в пользовательской части операционной системы) от особенностей ее архитектуры. Ядро имеет набор услуг, предоставляемых прикладным программам посредством системных вызовов. Таким образом, в системе можно выделить два уровня привилегий: уровень системы (привилегии специального пользователя root) и уровень пользователя (привилегии всех остальных пользователей).
Назначение и функции ядра ос и системные компоненты (модули ядра, библиотеки и драйвера)
Операционная система UNIX обладает классическим монолитным ядром (см. «Архитектура операционной системы»), в котором можно выделить следующие основные части:
Файловая подсистема
Доступ к структурам ядра осуществляется через файловый интерфейс.
Управление процессами
Сюда входит управление параллельным выполнением процессов (планирование и диспетчеризация), виртуальной памятью процесса и взаимодействием между процессами (сигналы, очереди сообщений и т. п.).
Драйверы устройств
Драйверы устройств делятся на символьные и блочные по типу внешнего устройства. Для каждого из устройств определен набор возможных операций (открытие, чтение и т. д.). Блочные устройства кэшируются с помощью специального внутреннего механизма управления буферами. Подробнее об этом сказано в разделе «Устройства и драйверы».
Благодаря тому, что в UNIX аппаратно-независимая часть отделена явно, операционные системы этого семейства могут быть с минимальными затратами перенесены на новые аппаратные платформы.
Видно, что ядро операционной системы UNIX является классическим для многозадачной многопользовательской операционной системы, поэтому оно широко используется не только в промышленной эксплуатации, но и в обучении обучении системному программированию и теории операционных систем.
Файловая система как способ организации данных на диске
Организация файловой системы в первом значении этого термина означает рассмотрение структур, в которые могут быть организованы файлы на носителях данных. Существует несколько видов таких структур: линейные, древовидные, объектные и другие, но в настоящее время широко распространены только древовидные структуры.
Каждый файл в древовидной структуре расположен в определенном хранилище файлов — каталоге, каждый каталог, в свою очередь, также расположен в некотором каталоге. Таким образом, по принципу вложения элементов файловой системы (файлов и каталогов) друг в друга строится дерево, вершинами которого являются непустые каталоги, а листьями — файлы или пустые каталоги. Корень такого дерева имеет название корневой каталог и обозначается каким-либо специальным символом или группой символов (например, «/» в UNIX или «C:» в операционной системе Windows). Каждому файлу соответствует некоторое имя, определяющее его расположение в дереве файловой системы. Полное имя файла состоит из имен всех вершин дерева файловой системы, через которые можно пройти от корня до данного файла (каталога), записывая их слева направо и разделяя специальными символами-разделителями.