
- •Введение
- •1 Тема 1. Назначение и функции ОС
- •1.1 ОС как базовая часть систем обработки данных (СОД)
- •1.2 Серверные ОС и рабочие станции
- •1.3 Многослойная структура ОС
- •1.4 ОС как базовая часть ПО ЭВМ
- •1.5 Режимы ядра и пользователя
- •1.6 Ядро и модули ОС
- •1.7 Три базовых концепции ОС: файл, пользователь, процесс
- •1.8 Системные вызовы fork(...) и exec*(…)
- •1.9 Дистрибутивы ОС
- •1.10 Лабораторная работа по теме №1
- •1.10.1 Рабочий стол УПК АСУ
- •1.10.2 Работа с личным архивом студента на flashUSB
- •1.10.3 Изучение рабочей среды пользователя upk
- •2 Тема 2. BIOS, UEFI и загрузка ОС
- •2.1 Архитектура х86
- •2.2 BIOS и его функции
- •2.3 Этапы и режимы POST
- •2.4 UEFI и его стандартизация
- •2.5 Блочные и символьные устройства компьютера
- •2.6 Винчестер и загрузочные устройства
- •2.7 Загрузочный сектор MBR, его назначение и архитектура
- •2.8 GRUB как универсальный загрузчик ОС
- •2.9 Меню и функции GRUB
- •2.10 Лабораторная работа по теме №2
- •2.10.1 Установка ПО GRUB на устройство flashUSB
- •2.10.2 Создание аварийного варианта ОС УПК АСУ
- •2.10.3 Практика настройки файла конфигурации grub.cfg
- •3 Тема 3. Языки управления ОС
- •3.1 Языки программирования и командные интерпретаторы
- •3.2 Базовый язык shell (sh)
- •3.3 Среда исполнения программ
- •3.4 Командная строка: опции и аргументы
- •3.5 Переменные shell
- •3.6 Специальные символы и имена файлов
- •3.7 Стандартный ввод/вывод и переадресация
- •3.8 Программные каналы
- •3.9 Сценарии
- •3.10 Фоновый и приоритетный режимы
- •3.11 Отмена заданий
- •3.12 Прерывания
- •3.13 Завершение работы ОС
- •3.14 Лабораторная работа по теме №3
- •3.14.1 Среда исполнения программ
- •3.14.2 Переменные, опции и аргументы командной строки
- •3.14.3 Стандартный ввод/вывод и переадресация
- •3.14.4 Программные каналы и сценарии
- •3.14.5 Работа с процессами и заданиями среды
- •3.14.6 Сценарии ПО GRUB
- •4 Тема 4. Управление файловыми системами ОС
- •4.1 Устройства компьютера
- •4.2 BOOT-сектор и разделы винчестера
- •4.3 Загрузочные сектора разделов
- •4.4 Структура файловой системы FAT32 (VFAT)
- •4.5 Структура файловой системы EXT2FS
- •4.6 Сравнение файловых систем
- •4.7 Стандартизация структуры ФС
- •4.8 Модули и драйверы ОС
- •4.9 Системные вызовы ОС по управлению устройствами и ФС
- •4.10 Три концепции работы с устройствами
- •4.11 Разделы дисков и работа с ними
- •4.12 Монтирование и демонтирование устройств
- •4.13 Файловые системы loopback, squashfs, overlayfs и fuse
- •4.14 Дисковые квоты
- •4.15 Лабораторная работа по теме №4
- •4.15.1 Типы, имена и узлы устройств
- •4.15.2 Структура винчестера и файловые системы
- •4.15.3 Стандартизация структуры ФС
- •4.15.4 Модули и драйверы ОС
- •5.15.5 Концепции работы с устройствами
- •4.15.6 FUSE и другие специальные ФС
- •4.15.7 Подключение рабочей области пользователя upk
- •5 Тема 5. Управление пользователями ОС
- •5.1 Пользовательские режимы работы ОС
- •5.2 Разграничение прав пользователей
- •5.3 Login и система доступа Linux-PAM
- •5.4 Команды управления пользователями
- •5.5 Лабораторная работа по теме №5
- •5.5.1 Инфраструктура управления пользователями
- •5.5.2 Реалные и эффективные права пользователя
- •5.5.3 Инфраструктура PAM
- •5.5.4 Команды управления пользователями
- •6 Тема 6. Теоретическая часть
- •6.1 Подсистема управления процессами
- •6.2 Главный родительский процесс init
- •6.3 Состояния процессов в ядре ОС
- •6.4 ОС реального времени
- •6.5 Алгоритм разделения времени
- •6.6 Четыре подхода к управлению процессами
- •6.7 Стандарты POSIX и сигналы
- •6.8 Работа пользователя с процессами
- •6.9 Системные вызовы ОС по управлению процессами
- •6.10 Подсистема управления оперативной памятью
- •6.11 Системные вызовы и разделяемая память
- •6.12 Передача сообщений
- •6.13 Лабораторная работа по теме №6
- •6.13.1 Сценарий загрузки ОС
- •6.13.2 Разные подходы к управлению процессами
- •6.13.3 Сигналы и средства IPC
- •Заключение
- •Список использованных источников

124
Рисунок 4.8 - Схема работы модуля FUSE
Для операций монтирования и демонтирования используется специальная утилита fusermount, использующая файл конфигурации /etc/fuse.conf:
fusermount [OPTIONS] MOUNTPOINT
Опция -u используется для демонтирования FUSE.
Следует заметить, что многие видные разработчики ОС критикуют FUSE, но эти вопросы выходят за рамки нашей дисциплины.
Замечание
Разделы винчестера, содержащие ФС ntfs, монтируются в Linux с типом fuseblk.
4.14Дисковые квоты
Взаключение темы, рассмотрим вопросы ограничения размеров, которые системно можно накладывать на файловые системы.
Рано или поздно может случиться так, что некоторая ФС на внешнем носителе, подключенная к древовидной структуре ядра ОС, заполнится и блокирует нормальную работу ОС.
По умолчанию, ФС ext2fs резервирует 5% места для пользователя root.
Принято считать, что для нормальной работы ФС требуется свободное пространство:
•не менее 10% дискового пространства (пространство раздела);

125
• не менее наибольшего файла в файловой системе.
Рекомендуется размешать /home, /opt, /tmp, /var, /usr/local в разных разделах диска.
Определить свободное пространство диска можно командой df:
$ df
Файл.система |
1K-блоков Использовано |
Доступно Использовано% |
Cмонтировано в |
||
/dev/sda5 |
21356772 |
14841812 |
5430084 |
74% |
/ |
udev |
1669124 |
12 |
1669112 |
1% |
/dev |
tmpfs |
670748 |
780 |
669968 |
1% |
/run |
none |
5120 |
0 |
5120 |
0% |
/run/lock |
none |
1676860 |
84 |
1676776 |
1% |
/run/shm |
none |
102400 |
12 |
102388 |
1% |
/run/user |
/dev/sda1 |
51199120 |
26771180 |
24427940 |
53% |
/cdrom |
$ |
|
|
|
|
|
Администратор ОС должен отслеживать наличие достаточного дискового пространства ФС. Для этих целей имеется специальное системное ПО под общим названием quota. Естественно, ядро ОС должно поддерживать команды этого пакета.
Чтобы включить квоты для конкретной файловой системы, нужно в корень ФС поместить бинарные файлы:
•quota.user — для персональных квот;
•quota.group — для групповых квот.
Управление квотами выполняется с помощью команд:
quotastats |
Проверка поддержки квот ядром ОС. |
quotacheck |
Сканирование заданной ФС и первоначальное создание файлов |
|
quota.user и quota.group. |
edquota |
Редактор квот. |
quotaon |
Активация настроек квот для ФС. |
quotaoff |
Деактивация настроек квот для ФС. |
quota |
Проверка пользователем, установленных для него квот. |