- •1.Структура ядра unix
- •2.Типы файлов в unix
- •3.Владельцы файлов
- •4.Права доступа к файлу
- •5.Атрибуты пользователя
- •6.Типы процессов
- •7.Атрибуты процесса
- •8.Жизненный путь процесса
- •9. Пользовательская среда в unix.
- •10. Подсистема управления процессом.
- •13 Пространство и контекст процесса
- •11. Инфраструктура процесса в unix.
- •12. Состояния процессов в unix.
- •14 Файловая система s5fs
- •15.Файловая система ffs
- •16.Примитивы доступа к файлам в ос unix
- •17.Параллельное программирование в unix.
- •18.Создание процесса с помощью fork
- •19.Приминение функции exec
- •20. Програмные каналы
- •21. Переназначение стандартного ввода/вывода.
- •23. Программные каналы как средство синхронизации процессов.
- •22.Использование канала fifo
- •24.Сигналы в unix
- •25.Обработка сигналов.
- •26. Использование обработчика сигналов для предотвращения появления процессов "зомби"
- •27. Посылка сигналов процессам.
- •29.Разделяемая память в unix
- •28.Завершение выполнения процесса.
- •Ожидание завершения выполнения процесса
- •30. Семафоры в unix
- •33. Cтандартный ввод стандартный вывод и стандартный вывод диагностики.
- •31. Очереди сообщения в unix
- •32.Блокировка записей
- •34. Cтандартная библиотека ввода/вывода.
- •35.Системное администрирование. Начальная загрузка ос
- •36.Взаимодействие пользователей с ос.
- •37. Задание системного времени(и даты).
- •38. Уровни выполнения: (команда init schutdown)
- •39.Системные каталоги и папки
- •41.Файл /etc/passwd/
- •43.Управление правами доступа
- •42. Управление пользовательской системной средой
- •40. Системные журналы и анализ производительности процесса.
32.Блокировка записей
В случае, когда к записи имеет доступ несколько процессов, то надо синхронизировать их работу, чтобы не получить неверные данные. Для этого разработан способ синхронизации, который называется блокировка записей. Запись может быть заблокирована либо для чтения, либо для записи.
Используется функция fcntl() – эта функция предлагает два типа блокировки: 1) блокировка чтения (предотвращает установку другими процессами бловкировки. Несколько процессов могут устанавливать блокировку чтения для одного и того же участка файла. Это необходимо, когда нужно предотвратить обновление данных, не скрывая их содержимого от других процессов); 2) блокировказ записи: предотвращает установку другими процессами как блокировки чтения, так и блокировки записи. Для одного участка файла может существовать только одна блокировка записи.
Int fcntl(int filedes, int cmd, struct flock *ldata); параметры:1) предварительно файл должен быть открыт. Если испол. блокировка чтения, то файл должен быть открыт с параметром O_RDONLY или O_RDWR. Если блокировка записи: O_RDWR или O_WRONLY. 2) определяет выполнение действия. Значения: а) F_GETLK – получить описание блокировки на основании данных в последнем аргументе. б)F_SETFLK – выполнить попытку блокировки и немедленно возвратить управление, если это невозможно. Это значение параметра также используется для удаления блокировки. в) F_ SETLKW – попытаться применить блокировку к файлу и приостановить работу, если блокировка наложена другим процессом. Структура ldata содержит описание блокировки (fcntl.h): short l_type – тип блокировки; short l_whence – тип смещения; offt l_start – величина смещения в байтах.
34. Cтандартная библиотека ввода/вывода.
Имеются ряд системных вызовов которые реализуют интерфейс ввода вывода
OPEN_CREATE, CLOSE( ), DUP( ), READ ( ), WRITE( ),FCNTL( ),LSCEK( );
Средства буферизации и эффективности ввода-вывода лежат на программисте. Библиотека ввода вывода позволяет использовать вместо файлового дескриптора указатель на специальную структуру FILE которая называется потоком или файловым указателем.
FILE
Extern File*stdin
Extern File*stdout
Extern File*stderror
Использование стандартных потоков ввода вывода позволяет: 1считывать символ из
потока. 2обратно записывать один символ.3форматированный вывод. 4Форматированный ввод.
35.Системное администрирование. Начальная загрузка ос
1. Определяется системная консоль
2. Загрузка программы ISL- системный загрузчик.
3. ISL ищет раздел в котором находится программа загрузки.
4. После того как Unix получает управление от программы загрузки она выполняет 2 задачи. Находит главную файловую систему. Стартует INIT это прародитель всех процессов он переводит систему на уровень 2. Уровень 2 это многопользовательский режим. Выполняется системный вызов EXEC который заменяет команду процесса INIT командами находящимися в файле INIT. Процесс INIT ЧИТАЕТ файл etc/init tab где находится системный инициализирующий процесс Shell для выполнения /etc/rc.
