русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Межпроцессное взаимодействие


Дата добавления: 2013-12-23; просмотров: 656; Нарушение авторских прав


Лекция 6

Создание новых процессов

Происходит при помощи системного вызова fork() (или &).

 

Новый процесс, создаваемый fork(), является полной копией исходного и его контекстом, отличается только по PID. Дочерний процесс с помощью системного вызова exec запускает другую программу, заново инициализируя код и данные. Родительский процесс может синхронизировать своё исполнение с завершением дочернего с помощью системного вызова wait.

Способы взаимодействия Тип связи Способ применения Системные вызовы
разделяемая память Общий доступ Высококпроизводительный обмен данными Shmem mmap
Переменные окружения Односторонняя (При запуске операционной системы) Задание режимов работы setenv
сигналы Односторонняя Уведомления о наступлении события Signal
Каналы Односторонняя Ввод/вывод Pipe
Сокеты Двусторонняя Сетевой обмен socket

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

2. Переменные окружения – каждый запускаемый процесс снабжается информационным пространством, которое он может изменять. В нем можно создавать именованные хранилища данных (переменные окружения), содержащие любую текстовую или числовую информацию. При создании процессов родительский может указать, каким из копируемых переменных окружений надо изменить значения.

3. Сигнал – при получении сигнала исполнение процесса приостанавливается и запускается подпрограмма обработчик. Она может быть стандартной, определенной в ОС, или явно определена в исходном тексте исполняемой программы. У сигнала есть единственная характеристика – его номер (целое число).



4. Канал – (Юникс) однонаправленные потоки данных (очереди между процессами). Могут быть неименованные (существуют только вместе с процессом), именованные представленные в файловой системе.

5. Сокет – интерфейс сокета явно разделяет во взаимодействии 2 процессов клиентскую и серверные части. Серверный процесс инициализирует сокет и ждет входящих соединений. Клиентский – устанавливает соединения.

 

Виды сокетов:

1. Потоковый – сервер и множество клиентов.

2. Датаграмный – позволяет отправлять сообщения короткой длины между привязанными к нему процессами.


 

Эта таблица есть в приложении методички.

Приоритет потока Класс потока Класс процесса
IDCE Balow normal Normal About norm High Real Time
IDLE IDLE IDLE IDLE IDLE IDLE  
           
           
           
Below normal            
           
Norm            
           
About norm            
           
High            
           
           
             
RT TC TC TC      
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             

 



<== предыдущая лекция | следующая лекция ==>
Управление процессами | Непрерывное размещение


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.