
- •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. Системные журналы и анализ производительности процесса.
10. Подсистема управления процессом.
Запущенная на выполнение программа порождает в системе один или болеепроцессов (или задач). Подсистема управления процессами контролирует:Создание и удаление процессов, Распределение системных ресурсов (памяти, вычислительных ресурсов) между процессами, Синхронизацию процессов, межпроцессное взаимодействие. Очевидно, что в общем случае число активных процессов превышает число процессоров компьютера, но в каждый конкретный момент времени на каждом процессоре может выполняться только один процесс. Операционная система управляет доступом процессов к вычислительным ресурсам, создавая ощущение одновременного выполнения нескольких задач. Специальная задача ядра, называемая распорядителем или планировщиком процессов (scheduler), разрешает конфликты между процессами в конкуренции за системные ресурсы (процессор, память, устройства ввода/вывода). Планировщик запускает процесс на выполнение, следя за тем, чтобы процесс монопольно не захватил разделяемые системные ресурсы. Процесс освобождает процессор, ожидая длительной операции ввода/вывода, или по прошествии кванта времени. В этом случае планировщик выбирает следующий процесс с наивысшим приоритетом и запускает его на выполнение. Модуль управления памятью обеспечивает размещение оперативной памяти для прикладных задач. Оперативная память является дорогостоящим ресурсом, и, как правило, ее редко бывает "слишком много". В случае, если для всех процессов недостаточно памяти, ядро перемещает части процесса или нескольких процессов во вторичную память (как правило, в специальную область жесткого диска), освобождая ресурсы для выполняющегося процесса. Все современные системы реализуют так называемую виртуальную память: процесс выполняется в собственном логическом адресном пространстве, которое может значительно превышать доступную физическую память. Управление виртуальной памятью процесса также входит в задачи модуля управления памятью. Модуль межпроцессного взаимодействия отвечает за уведомление процессов о событиях с помощью сигналов и обеспечивает возможность передачи данных между различными процессами.
13 Пространство и контекст процесса
Каждый процесс UNIX имеет контекст, под которым понимается вся ин!
формация, требуемая для описания процесса. Эта информация сохраняет!
ся, когда выполнение процесса простанавливается, и восстанавливается,
когда планировщик предоставляет процессу вычислительные ресурсы.
Контекст процесса состоит из нескольких частей:
Адресное пространство процесса в режиме задачи. Сюда входят код,
данные и стек процесса, а также другие области, например, разде!
ляемая память или код и данные динамических библиотек.
Управляющая информация. Ядро использует две основные структуры
данных для управления процессом — proc и user. Сюда же входят
данные, необходимые для отображения виртуального адресного про!
странства процесса в физическое.
Окружение процесса. Переменные окружения процесса представляют
собой строки пар вида:
переменная = значение
которые наследуются дочерним процессом от родительского и обыч!
но хранятся в нижней части стека. Окружение процесса упоминалось
в предыдущих главах, там же были показаны функции, позволяющие
получить или изменить переменные окружения.
Аппаратный контекст. Сюда входят значения общих иряда систем!
ных регистров процессора. К системным регистрам, в частности, от!
носятся:
• указатель инструкций, содержащий адрес следующей инструк!
ции, которую необходимо выполнить;
• указатель стека, содержащий адрес последнего элемента стека;
• регистры плавающей точки;
• регистры управления памятью, отвечающие за трансляцию вир!
туального адреса процесса в физический.