Архитектура современных ОС. Структура ОС UNIX

Архитектура современных ОС. Структура ОС UNIX.

Монолитные

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

Моноли́тное ядро́ - классическая архитектура ядер операционных систем. Монолитные ядра предоставляют богатый набор абстракций оборудования. Все части монолитного ядра работают в одном адресном пространстве.

Ранние Unix, Novell Netware, Mac OS, IBM OS/370

Модульные

Модуль – функционально законченный элемент системы, отвечающий требованиям межмодульного интерфейса.ВСЕ современные ОС модульные!Модульное ядро - современная, усовершенствованная модификация архитектуры монолитных ядер операционных систем. В отличие от «классических» монолитных ядер, модульные ядра, как правило, не требуют полной перекомпиляции ядра при изменении состава аппаратного обеспечения компьютера. Вместо этого модульные ядра предоставляют тот или иной механизм подгрузки модулей ядра, поддерживающих то или иное аппаратное обеспечение (например, драйверов). При этом подгрузка модулей может быть как динамической

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

ОС с микроядром

Микроядро - это минимальная реализация функций ядра операционной системы.

Классические микроядра предоставляют лишь очень небольшой набор низкоуровневых примитивов, или системных вызовов, реализующих базовые сервисы операционной системы.Сюда относятся:1управление адресным пространством оперативной памяти.2управление адресным пространством виртуальной памяти.3управление процессами и потоками (нитями).4средства межпроцессной коммуникации.

4.Виртуальные машиныПостроение виртуальных ресурсов, их распределение и использование в настоящее время имеет место почти в каждой ОС. Этот принцип позволяет представить структуру системы в виде определенного набора планировщиков процессов и распределителей ресурсов и использовать единую централизованную схему распределения ресурсов.
Понятие виртуальная машина является итогом концепции виртуальности. Любая ОС, являясь средством распределения ресурсов и организуя по определенным правилам управление процессами, скрывает от пользователя и его приложений реальные аппаратные и иные ресурсы, заменяя их абстракциями. Пользователь видит виртуальную машину как некое устройство, способное воспринимать его программы и команды. Пользователя не интересует реальная конфигурация вычислительной системы и способы управления ее компонентами. Он оперирует с теми ресурсами, которые ему предоставлены в рамках виртуальной машины.
Виртуальная машина, предоставляемая пользователю, воспроизводит архитектуру реальной машины, но архитектурные элементы в таком представлении имеют новые или улучшенные характеристики, часто упрощающие работу с системой. Характеристики могут быть произвольными, но обычно пользователи хотят видеть идеальную по своим архитектурным характеристикам машину:1.единообразная по логике работы память практически неограниченного объема. 2.произвольное количество (виртуальных) процессоров, способных работать параллельно и взаимодействовать во время работы.3.произвольное количество (виртуальных) внешних устройств, способных работать с памятью виртуальной машины параллельно или последовательно, асинхронно или синхронно по отношению к работе того или иного виртуального процессора, которые инициируют работу этих устройств. Особенности UNIX, отличающие данное семейство от других ОС:1.Файловая система древовидная, чувствительная к регистру символов в именах, очень слабые ограничения на длину имён.2.Нет поддержки структурированных файлов ядром ОС, на уровне системных вызовов файл есть поток байт.3.Командная строка находится в адресном пространстве запускаемого процесса, а не извлекается системным вызовом из процесса интерпретатора команд .4Запуск процессов вызовом fork(), то есть возможность клонирования текущего процесса со всем состоянием.5.Понятия stdin/stdout/stderr.6.Ввод/вывод только через дескрипторы файлов.7.Традиционно крайне слабая поддержка асинхронного ввода/вывода, по сравнению с VMS и Windows NT.

3.Архитектура современных ОС. Структура ОС Windows NT. Архитектура Windows NT имеет модульную структуру и состоит из двух основных уровней - компоненты, работающие в режиме пользователя и компоненты режима ядра. Программы и подсистемы, работающие в режиме пользователя имеют ограничения на доступ к системным ресурсам. Режим ядра имеет неограниченный доступ к системной памяти и внешним устройствам. Ядро системы NT называют гибридным ядром или макроядром. Архитектура включает в себя само ядро, уровень аппаратных абстракций (HAL), драйверы и ряд служб (Executives), которые работают в режиме ядра (Kernel-mode drivers) или в пользовательском режиме (User-mode drivers).Пользовательский режим Windows NT состоит из подсистем, передающих запросы ввода\вывода соответствующему драйверу режима ядра посредством менеджера ввода\вывода. Есть две подсистемы на уровне пользователя: подсистема окружения (запускает приложения, написанные для разных операционных систем) и интегрированная подсистема (управляет особыми системными функциями от имени подсистемы окружения). Режим ядра имеет полный доступ к аппаратной части и системным ресурсам компьютера. И также предотвращает доступ к критическим зонам системы со стороны пользовательских служб и приложений.Windows API (application programming interfaces) - общее наименование целого набора базовых функций интерфейсов программирования приложений операционны систем семейств Windows и Windows NT корпорации «Майкрософт». Является самым прямым способом взаимодействия приложений с Windows.

4.Архитектура современных ОС. Системы с монолитным ядром и с микроядром. Ядро́ - центральная часть операционной системы (ОС),обеспечивающая приложениям координированный доступ к ресурсам компьютера, таким как процессорное время, память и внешнее аппаратное обеспечение. Также обычно ядро предоставляет сервисы файловой системы и сетевых протоколов.(2) Все остальные сервисы ОС, в классических монолитных ядрах предоставляемые непосредственно ядром, в микроядерных архитектурах реализуются в адресном пространстве пользователя (Ring3) и называются сервисами. Примерами таких сервисов, выносимых в пространство пользователя в микроядерных архитектурах, являются сетевые сервисы, файловая система, драйверы.Такая конструкция позволяет улучшить общее быстродействие системы (небольшое микроядро может уместиться в кэше процессора). Основное достоинство микроядерной архитектуры - высокая степень модульности ядра операционной системы.

6.Процессы и потоки в ОС. Понятие процесса. Атрибуты процесса. Создание нового процесса в различных ОС. Мультипрограммирование, или многозадачность (multitasking), - это способ организации вычислительного процесса, при котором на одном процессоре попеременно выполняются сразу несколько программ. Эти программы совместно используют не только процессор, но и другие ресурсы компьютера: оперативную и внешнюю память, устройства ввода-вывода, данные. Мультипрограммирование призвано повысить эффективность использования вычислительной системы(пропускная способность - количество задач, выполняемых вычислительной системой в единицу времени).Чтобы поддерживать мультипрограммирование, ОС должна определить и оформить для себя те внутренние единицы работы, между которыми будет разделяться процессор и другие ресурсы компьютера. В настоящее время в большинстве операционных систем определены два типа единиц работы. Более крупная единица работы, обычно носящая название процесса, или задачи, требует для своего выполнения нескольких более мелких работ, для обозначения которых используют термины «поток», или «нить». В операционных системах, где существуют и процессы, и потоки, процесс рассматривается операционной системой как заявка на потребление всех видов ресурсов, кроме одного - процессорного времени. Этот последний важнейший ресурс распределяется операционной системой между другими единицами работы - потоками, которые и получили свое название благодаря тому, что они представляют собой последовательности (потоки выполнения) команд.

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

Создать процесс - это, прежде всего, означает создать описатель процесса, в качестве которого выступает одна или несколько информационных структур, содержащих все сведения о процессе,, необходимые операционной системе для управления им. В число таких сведений могут входить, например, идентификатор процесса, данные о расположении в памяти исполняемого модуля, степень привилегированности процесса (приоритет и права доступа) и т.п. Примерами описателей процесса являются блок управления задачей (ТСВ - Task Control Block) в OS/360, управляющий блок процесса (РСВ - Process Control Block) в OS/2, дескриптор процесса в UNIX, объект-процесс (object-process) в Windows NT.

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

Unix: fork() позволяет создать нов пр(копию процесса) – единственный!. После выполнения запроса fork() двум пр – родительскому и дочернему – соотв одинаковые образы памяти, строки окружения и открытые файлы. Обычно дочерний пр выполняет сист вызов execve для изменения своего образа памяти и запуска нов проги. Начальное адресное пр-во дочернего процесса явл копией родительского, но сами адресн пр-ва различны, и перезаписываемая память совместно не используется.

Windows: CreateProcess(8 параметров) управляет и созданием пр и запуском в нем нужной программы. Есть еще около 100 ф-ий для управления пр. адресные пространства отличаются с самого начала.Атрибуты (Unix):

Каждый процесс в ОС Unix характеризуется набором признаков – атрибутов, отличающих его от других процессов. Большинство атрибутов процесс наследует от родительского процесса, одна часть атрибутов устанавливается ОС, другая часть порождается самим процессом в ходе его выполнения.

Назначает ОС:1идентификатор (номер) процесса PID (Process Identifier)2идентификатор родительского процесса PPID (Parent Process ID).

К атрибутам также относятся:

1Контролирующий управляющий терминал. Открывается процессом для чтения и записи. С его помощью процессу могут быть посланы сигналы прерывания. Управляющий терминал устанавливается только для тех процессов, которые запущены программой пользователя.

2Реальный и эффективный идентификаторы пользователя и группы.
Каждый пользователь, зарегистрированный в ОС, имеет идентификаторы пользователя UID и группы GID, которые хранятся в файлах /etc/passwd и /etc/group.

Объекта ядра, через который операционная система управляет потоком. Там же хранится статистическая информация о потоке(дополнительные потоки создаются также ядром);стека потока, который содержит параметры всех функций и локальные переменные, необходимые потоку для выполнения кода.

Процесс состоит хотя бы из одного потока. В ОС каждому процессу соответствует адресное пространство и одиночный управляющий поток. Фактически это и определяет процесс.Процессы используются для группирования ресурсов, а потоки являются объектами, поочередно исполняющимися на центральном процессоре.Концепция потоков добавляетк модели процессавозможность одновременного выполнения в одной и той же среде процесса нескольких программ. Главное отличие процессов от потоков, состоит в том, что процессы изолированы друг от друга, так используют разные адресные пространства, а потоки, могут использовать одно и то же пространство (внутри процесса) при этом, выполняя действия не мешая друг другу. Итог:

*Поток (thread) определяет последовательность исполнения кода в процессе.*Процесс ничего не исполняет, он просто служит контейнером потоков.

*Потоки всегда создаются в контексте какого-либо процесса, и вся их жизнь проходит только в его границах.*Потоки могут исполнять один и тот же код и манипулировать одними и теми же данными, а также совместно использовать описатели объектов ядра, поскольку таблица описателей создается не в отдельных потоках, а в процессах.

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

Стратегия вытеснения

-если есть свободная, то исп-ть ее

-если нет, то вытесняется некоторая страница

Алгоритмы определения устаревших страниц:

При выделении места для новой страницы бывает необходимо удалить какую-либо страницу, в данный момент находящуюся в памяти. Правила замещения страниц служат для принятия решения о том, какую именно страницу следует удалить из памяти. Идеальным кандидатом является «мёртвая» страница, которая больше не потребуется кому-либо (например, относится к завершённому процессу). Если же таких страниц нет в памяти (или их количества недостаточно), используется правило локального или глобального замещения страниц:

Правило локального замещениявыделяет каждому процессу или группе взаимосвязанных процессов определённое количество страниц. Если процессу нужна новая страница, он должен заменить одну из собственных.

Правило глобального замещения страниц позволяет брать страницы любого процесса, используя глобальные критерии выбора. Для реализации данного подхода необходимо выбрать критерий, по которому будет приниматься решение о страницах, хранимых в памяти.

18.Логическая файловая система ОС Windows NT. В Windows много всего скрыто, нет жестких ссылок, логические тома (f:\...\).

Каталоги на разных дисках могут образовывать несколько отдельных деревьев – DOS/Windows. На самом деле, в DOS/Windows системах также, как и в UNIX-подобных существует один корневой каталог со вложенными директориями, имеющими названия «c:», «d:» и т. д. В эти каталоги монтируются разделы жёсткого диска. То есть, c:\ - это всего лишь ссылка на file:///c:/. Однако, в отличие от UNIX-подобных файловых систем, в Windows запись в корневой каталог запрещена, как и просмотр его содержимого.Файловые системы Windows: FAT16, FAT32, NTFS.

Windows NT в своей новой файловой системе NTFS устанавливает, что имя файла может содержать до 255 символов, не считая завершающего нулевого символа.

Требования к NTFS (New Technology File System):

Надежность и самосогласованность;Высокая скорость работы;Поддержка различных ЛФС.

Структура таблиц. Таблицы в NTFS устроены существенно лучше; таких ограничений на размер не имеется, кроме того, они существенно устойчивей к сбоям - если компьютер зависает или "мигает" электричество, велика вероятность, что системе не потребуется восстанавливать целостность таблиц - они смогут корректно восстановиться благодаря дублированию информации.

Кроме того, в NTFS имеются встроенные средства для разграничения прав доступа и предоставления квот. Возможно, для персонального компьютера это и не так важно, но при разделении прав на работе может очень пригодиться. Единственная существенная проблема NTFS - то, что ее спецификации закрыты, поэтому в операционных системах, не принадлежащих Microsoft поддержка NTFS затруднена.

Права доступа к файлу

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

В самом общем случае права доступа могут быть описаны матрицей прав доступа, в которой столбцы соответствуют всем файлам системы, строки - всем пользователям, а на пересечении строк и столбцов указываются разрешенные операции. Различают два основных подхода к определению прав доступа: 1избирательный доступ, когда для каждого файла и каждого пользователя сам владелец может определить допустимые операции; 2мандатный подход, когда система наделяет пользователя определенными правами по отношению к каждому разделяемому ресурсу (в данном случае файлу) в зависимости от того, к какой группе пользователь отнесен.

Архитектура современных ОС. Структура ОС UNIX.

Монолитные

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

Моноли́тное ядро́ - классическая архитектура ядер операционных систем. Монолитные ядра предоставляют богатый набор абстракций оборудования. Все части монолитного ядра работают в одном адресном пространстве.

Ранние Unix, Novell Netware, Mac OS, IBM OS/370

Модульные

Модуль – функционально законченный элемент системы, отвечающий требованиям межмодульного интерфейса.ВСЕ современные ОС модульные!Модульное ядро - современная, усовершенствованная модификация архитектуры монолитных ядер операционных систем. В отличие от «классических» монолитных ядер, модульные ядра, как правило, не требуют полной перекомпиляции ядра при изменении состава аппаратного обеспечения компьютера. Вместо этого модульные ядра предоставляют тот или иной механизм подгрузки модулей ядра, поддерживающих то или иное аппаратное обеспечение (например, драйверов). При этом подгрузка модулей может быть как динамической

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

ОС с микроядром

Микроядро - это минимальная реализация функций ядра операционной системы.

Классические микроядра предоставляют лишь очень небольшой набор низкоуровневых примитивов, или системных вызовов, реализующих базовые сервисы операционной системы.Сюда относятся:1управление адресным пространством оперативной памяти.2управление адресным пространством виртуальной памяти.3управление процессами и потоками (нитями).4средства межпроцессной коммуникации.

4.Виртуальные машиныПостроение виртуальных ресурсов, их распределение и использование в настоящее время имеет место почти в каждой ОС. Этот принцип позволяет представить структуру системы в виде определенного набора планировщиков процессов и распределителей ресурсов и использовать единую централизованную схему распределения ресурсов.
Понятие виртуальная машина является итогом концепции виртуальности. Любая ОС, являясь средством распределения ресурсов и организуя по определенным правилам управление процессами, скрывает от пользователя и его приложений реальные аппаратные и иные ресурсы, заменяя их абстракциями. Пользователь видит виртуальную машину как некое устройство, способное воспринимать его программы и команды. Пользователя не интересует реальная конфигурация вычислительной системы и способы управления ее компонентами. Он оперирует с теми ресурсами, которые ему предоставлены в рамках виртуальной машины.
Виртуальная машина, предоставляемая пользователю, воспроизводит архитектуру реальной машины, но архитектурные элементы в таком представлении имеют новые или улучшенные характеристики, часто упрощающие работу с системой. Характеристики могут быть произвольными, но обычно пользователи хотят видеть идеальную по своим архитектурным характеристикам машину:1.единообразная по логике работы память практически неограниченного объема. 2.произвольное количество (виртуальных) процессоров, способных работать параллельно и взаимодействовать во время работы.3.произвольное количество (виртуальных) внешних устройств, способных работать с памятью виртуальной машины параллельно или последовательно, асинхронно или синхронно по отношению к работе того или иного виртуального процессора, которые инициируют работу этих устройств. Особенности UNIX, отличающие данное семейство от других ОС:1.Файловая система древовидная, чувствительная к регистру символов в именах, очень слабые ограничения на длину имён.2.Нет поддержки структурированных файлов ядром ОС, на уровне системных вызовов файл есть поток байт.3.Командная строка находится в адресном пространстве запускаемого процесса, а не извлекается системным вызовом из процесса интерпретатора команд .4Запуск процессов вызовом fork(), то есть возможность клонирования текущего процесса со всем состоянием.5.Понятия stdin/stdout/stderr.6.Ввод/вывод только через дескрипторы файлов.7.Традиционно крайне слабая поддержка асинхронного ввода/вывода, по сравнению с VMS и Windows NT.

3.Архитектура современных ОС. Структура ОС Windows NT. Архитектура Windows NT имеет модульную структуру и состоит из двух основных уровней - компоненты, работающие в режиме пользователя и компоненты режима ядра. Программы и подсистемы, работающие в режиме пользователя имеют ограничения на доступ к системным ресурсам. Режим ядра имеет неограниченный доступ к системной памяти и внешним устройствам. Ядро системы NT называют гибридным ядром или макроядром. Архитектура включает в себя само ядро, уровень аппаратных абстракций (HAL), драйверы и ряд служб (Executives), которые работают в режиме ядра (Kernel-mode drivers) или в пользовательском режиме (User-mode drivers).Пользовательский режим Windows NT состоит из подсистем, передающих запросы ввода\вывода соответствующему драйверу режима ядра посредством менеджера ввода\вывода. Есть две подсистемы на уровне пользователя: подсистема окружения (запускает приложения, написанные для разных операционных систем) и интегрированная подсистема (управляет особыми системными функциями от имени подсистемы окружения). Режим ядра имеет полный доступ к аппаратной части и системным ресурсам компьютера. И также предотвращает доступ к критическим зонам системы со стороны пользовательских служб и приложений.Windows API (application programming interfaces) - общее наименование целого набора базовых функций интерфейсов программирования приложений операционны систем семейств Windows и Windows NT корпорации «Майкрософт». Является самым прямым способом взаимодействия приложений с Windows.

4.Архитектура современных ОС. Системы с монолитным ядром и с микроядром. Ядро́ - центральная часть операционной системы (ОС),обеспечивающая приложениям координированный доступ к ресурсам компьютера, таким как процессорное время, память и внешнее аппаратное обеспечение. Также обычно ядро предоставляет сервисы файловой системы и сетевых протоколов.(2) Все остальные сервисы ОС, в классических монолитных ядрах предоставляемые непосредственно ядром, в микроядерных архитектурах реализуются в адресном пространстве пользователя (Ring3) и называются сервисами. Примерами таких сервисов, выносимых в пространство пользователя в микроядерных архитектурах, являются сетевые сервисы, файловая система, драйверы.Такая конструкция позволяет улучшить общее быстродействие системы (небольшое микроядро может уместиться в кэше процессора). Основное достоинство микроядерной архитектуры - высокая степень модульности ядра операционной системы.

6.Процессы и потоки в ОС. Понятие процесса. Атрибуты процесса. Создание нового процесса в различных ОС. Мультипрограммирование, или многозадачность (multitasking), - это способ организации вычислительного процесса, при котором на одном процессоре попеременно выполняются сразу несколько программ. Эти программы совместно используют не только процессор, но и другие ресурсы компьютера: оперативную и внешнюю память, устройства ввода-вывода, данные. Мультипрограммирование призвано повысить эффективность использования вычислительной системы(пропускная способность - количество задач, выполняемых вычислительной системой в единицу времени).Чтобы поддерживать мультипрограммирование, ОС должна определить и оформить для себя те внутренние единицы работы, между которыми будет разделяться процессор и другие ресурсы компьютера. В настоящее время в большинстве операционных систем определены два типа единиц работы. Более крупная единица работы, обычно носящая название процесса, или задачи, требует для своего выполнения нескольких более мелких работ, для обозначения которых используют термины «поток», или «нить». В операционных системах, где существуют и процессы, и потоки, процесс рассматривается операционной системой как заявка на потребление всех видов ресурсов, кроме одного - процессорного времени. Этот последний важнейший ресурс распределяется операционной системой между другими единицами работы - потоками, которые и получили свое название благодаря тому, что они представляют собой последовательности (потоки выполнения) команд.

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

Создать процесс - это, прежде всего, означает создать описатель процесса, в качестве которого выступает одна или несколько информационных структур, содержащих все сведения о процессе,, необходимые операционной системе для управления им. В число таких сведений могут входить, например, идентификатор процесса, данные о расположении в памяти исполняемого модуля, степень привилегированности процесса (приоритет и права доступа) и т.п. Примерами описателей процесса являются блок управления задачей (ТСВ - Task Control Block) в OS/360, управляющий блок процесса (РСВ - Process Control Block) в OS/2, дескриптор процесса в UNIX, объект-процесс (object-process) в Windows NT.

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

Unix: fork() позволяет создать нов пр(копию процесса) – единственный!. После выполнения запроса fork() двум пр – родительскому и дочернему – соотв одинаковые образы памяти, строки окружения и открытые файлы. Обычно дочерний пр выполняет сист вызов execve для изменения своего образа памяти и запуска нов проги. Начальное адресное пр-во дочернего процесса явл копией родительского, но сами адресн пр-ва различны, и перезаписываемая память совместно не используется.

Windows: CreateProcess(8 параметров) управляет и созданием пр и запуском в нем нужной программы. Есть еще около 100 ф-ий для управления пр. адресные пространства отличаются с самого начала.Атрибуты (Unix):

Каждый процесс в ОС Unix характеризуется набором признаков – атрибутов, отличающих его от других процессов. Большинство атрибутов процесс наследует от родительского процесса, одна часть атрибутов устанавливается ОС, другая часть порождается самим процессом в ходе его выполнения.

Назначает ОС:1идентификатор (номер) процесса PID (Process Identifier)2идентификатор родительского процесса PPID (Parent Process ID).

К атрибутам также относятся:

1Контролирующий управляющий терминал. Открывается процессом для чтения и записи. С его помощью процессу могут быть посланы сигналы прерывания. Управляющий терминал устанавливается только для тех процессов, которые запущены программой пользователя.

2Реальный и эффективный идентификаторы пользователя и группы.
Каждый пользователь, зарегистрированный в ОС, имеет идентификаторы пользователя UID и группы GID, которые хранятся в файлах /etc/passwd и /etc/group.