Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Содержание сайт... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Создание отчето... 63909
Модуль Forms 63636
ТЕХНОЛОГИИ ДОСТ... 60486
Пример работы с... 59876
Имитационное мо... 55958
Реклама
Сейчас на сайте
Гостей: 3
На сайте нет зарегистрированных пользователей

Пользователей: 13,079
новичок: Openair
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Поиск пути в графе заданном списками инцедентности на Turbo Pascal
Моделирование процесса передачи данных по магистрали с основным и резерв...
База данных студентов на Delphi + Microsoft SQL Server

Реклама



Подписывайся на YouTube канал о программировании, что бы не пропустить новые видео!

ПОДПИСЫВАЙСЯ на канал о программировании
Группы процессов в системе 4.3BSD UNIX
Задания. Командные интерпретаторы, поддерживающие управления заданиями, такие как csh, обычно создают новую группу процессов для каждой введенной командной строки, независимо от того, будут ли они выполняться в фоновом или текущем режиме. Таким образом, задание обыкновенно состоит из одного процесса или набора процессов, соединенных между собой конвейерами
Потомки этих процессов также будут являться членами группы.

Также может иметь смысл заглянуть на сайт trucktrading.ru, ведь именно там можно узнать много нового на тему http://www.trucktrading.ru/. Тема запчасти для грузовиков может показаться на первый взгляд незначительной и даже не тематичной. Но стоит посетить сайт trucktrading.ru, и тема запчасти для грузовиков начинает проявлять себя с неожиданной стороны и вызывает всё больший интерес. Дело в том, что тема запчасти для грузовиков очень подробно представлена на сайте trucktrading.ru. Трудно найти более детальное освещение темы запчасти для грузовиков чем это сделано на сайте trucktrading.ru. Спасибо сайту trucktrading.ru за такое доскональное преподнесение темы запчасти для грузовиков.


Сеансы входа в систему. В системе 4.3BSD каждый сеанс входа в систему может создавать несколько групп процессов (или заданий), которые функционируют одновременно, разделяя между собой один и тот же терминал. Поле t_pgrp структуры tty терминала всегда содержит группу текущего выполняющегося задания.



Управляющие терминалы. Если процесс с идентификатором, группы равным нулю, открывает терминал, то такой терминал становится управляющим для данного процесса, а сам процесс присоединяется к текущей управляющей группе терминала (поле p_pgrp структуры ргос процесса устанавливается равным полю t_pgrp структуры tty терминала). Если терминал в данный момент не является управляющим терминалом какой-либо группы, то процесс становится лидером (то есть поля p_pgrp структуры ргос процесса и t_pgrp структуры tty терминала устанавливаются равными значению PID процесса).



Прямые наследники init (то есть все командные интерпретаторы, установленные на вход в систему) первоначально обладают идентификатором группы, равным нулю. Установить идентификатор группы процесса в ноль может только суперпользователь.
Доступ к терминалу. Интерактивные процессы (то есть процессы, принадлежащие текущей управляющей группе терминала, полученной из поля t_pgrp структуры tty этого терминала) всегда обладают беспрепятственным доступом к терминалу. Если фоновый процесс попытается прочесть с терминала, драйвер пошлет сигнал SIGTTIN всем процессам, принадлежащим его группе. По умолчанию сигнал SIGTTIN приводит к приостановке работы получивших его процессов. Операция записи в терминал по умолчанию разрешена всем фоновым процессам. Система 4.3BSD предлагает настройку терминала (бит LT0ST0P, изменяемый при помощи вызова TIOCLSET ioctl), установка которой приводит к отправке сигнала SIGTT0U фоновому процессу, пытающемуся произвести запись в терминал. Задания, приостановленные сигналом SIGTTIN или SIGTT0U, могут продолжить работу после получения сигнала SIGC0NT.
Управляющая группа. Процесс, имеющий доступ к терминалу на чтение, может осуществить вызов TIOSPGRP ioctl для изменения значения идентификатора управляющей группы терминала (поле t_pgrp структуры tty) на любое другое. Командный интерпретатор использует эту возможность системы для вызова процесса из фонового выполнения в интерактивный режим и наоборот. Например, пользователь может возобновить работу приостановленной группы процессов и назначить ее активной, сделав эту группу управляющей и отправив ей сигнал SIGC0NT. Для этой цели в командных интерпретаторах csh и ksh предусмотрены команды fg и bg.
Закрытие терминала. Когда нет ни одного процесса, для которого данный терминал открыт, то такой терминал не связан с группой и его поле t_pgrp обнуляется. Это действие производится при помощи процедуры драйвера close, вызываемой в момент, когда последний дескриптор терминала закрывается.
Повторная инициализация линии терминала. ОС 4.3BSD обеспечивает системный вызов vhangup, который обычно используется процессом init для завершения текущего сеанса входа в систему и старта нового.


Вызов просматривает таблицу открытых файлов, находит каждый элемент, относящийся к этому терминалу, и делает его неиспользуемым. Это достигается посредством удаления состояния «открыт» в элементах таблицы открытых файлов либо в тех реализациях, в которых поддерживается интерфейс vnode (см. раздел 8.6), изменением вектора vnodeops на такой набор функций, которые просто возвращают ошибку.



Затем vhangup вызывает процедуру терминала close() и посылает сигнал SIGHUP управляющей группе этого терминала. Такой подход в ОС 4.3BSD является решением проблемы управления процессами, которые продолжают функционирование уже после завершения сеанса входа в систему.
Опубликовал katy July 06 2015 19:03:21 · 0 Комментариев · 1555 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
Профессиональное ...
Меню проводника в...
Microsoft Press -...
Программа "AutoRu...
Советы от Даниилы...
Киллер окон
PBEditPack
Мод "проверочный ...
ИНТЕРНЕТ ПРОГРАММ...
около 291 статьи ...
Пример клиента ФТ...
ScrollCredit
HTMLredaktor
IMtale
Как программирова...
Apollovcl61
AlignEdit
Averaging [Исходн...
DS_Group
EMSQuickImport

Топ загрузок
Приложение Клие... 100449
Delphi 7 Enterp... 85822
Converter AMR<-... 20067
GPSS World Stud... 12518
Borland C++Buil... 11576
Borland Delphi ... 8504
Turbo Pascal fo... 7023
Visual Studio 2... 4989
Калькулятор [Ис... 4739
FreeSMS v1.3.1 3536
Случайные статьи
Глава 26. ХР в ...
Финальный класс
6.1. Пример
Кардшаринг
Системный вызов ехес
Сбор метаданных и ...
Программа вычислен...
СПОСОБЫ РАСПОЗНАВА...
Создание пользоват...
27 способов продви...
Описание сети масс...
Повышение производ...
Определение шаблон...
Как работать с абз...
ЦЕЛЬ: ПОДДЕРЖКА МА...
Wildcard О.О.О.О. ...
Получение цифровог...
ПРИНЦИПЫ, ЛЕЖАЩИЕ ...
Этап 7: выполните ...
File: are not allo...
Элементы управлени...
Организация ввода-...
Ваш выбор заметноп...
Разреженные массивы
Принципы организац...
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?