Навигация
Главная
Поиск
Форум
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
Модуль Forms 62811
Создание отчето... 62809
ТЕХНОЛОГИИ ДОСТ... 59346
Пример работы с... 58068
Имитационное мо... 54737
Реклама
Сейчас на сайте
Гостей: 31
На сайте нет зарегистрированных пользователей

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

База данных - словарь терминов на Delphi + Пояснительная записка
Двунаправленный динамический список на Delphi + Блок схемы
Моделирование процесса обработки заданий на вычислительном центре на GP...

Реклама



Подписывайся на 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 Комментариев · 1464 Прочтений · Для печати

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


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



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

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

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

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

Пароль



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

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

Случайные загрузки
Swat [Исходник на...
Rss Parser
PDJ_Anima
TDBF
Приложение Клиент...
ActiveX в Delphi
Платформа програм...
WAP версия сайта
Измерение тактово...
RSS Feeds
Mass Photo Upload
StartMark
Шейдеры в Delphi
PDJXPPack
Электронный магаз...
Strawberry Prolog...
Фундаментальные а...
Язык программиров...
ComboBox97
Иллюстрированный ...

Топ загрузок
Приложение Клие... 100422
Delphi 7 Enterp... 84951
Converter AMR<-... 20062
GPSS World Stud... 11971
Borland C++Buil... 11406
Borland Delphi ... 8379
Turbo Pascal fo... 7008
Visual Studio 2... 4985
Калькулятор [Ис... 4630
FreeSMS v1.3.1 3530
Случайные статьи
Игровой сервер ком...
Использование TFil...
Открытие и закрыти...
Ключевые слова
Разработка приложе...
распределенной сети
Сколько есть всего...
Ввод-вывод потока
Некоторые фрагмент...
Вычисление произво...
Создание в среде D...
Установка Windows ...
Сейчас в Интернете...
nonvar(X)
Указатель this
Сколько по времени...
Единственное, что ...
2.6.3. Установле...
Формат PNG
Класс Scanner
Примеры кода
Получить адреса и ...
Свойство типа множ...
Заливка надписи
Заголовок сообщени...
Статистика



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


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