Читайте также:
|
|
Процессы могут быть полностью независимы друг от друга, т.е. не имеют ни общих переменных, ни одинаковых внешних устройств.
Зависимые процессы могут иметь общие поля памяти, внешние устройства, файлы, программы.
Примеры:
1. Ввод с клавиатуры ПЭВМ осуществляется по нажатию клавиш вне зависимости от программ и накоплению введенных символов в буфере ОП, т.е. это параллельный процесс. В какой-то момент времени программа выдает команду чтения с клавиатуры. На самом деле ОС выдает введенные символы из буфера, а не требует нажатия клавиш. Если буфер пуст, то программа блокируется, пока не получит символ из буфера. Здесь общим является поле памяти - буфер.
2. При выводе на принтер нельзя выдавать следующие символы в порт, пока не получим подтверждения на прием через некоторый регистр или некоторое поле ОП. Здесь общим является порт.
Таким образом, параллельные процессы из-за связи друг с другом (хотя бы по данным) требуют синхронизации в некоторых точках программы. Такие процессы называются асинхронными (не путать с несинхронными, которые вообще не требуют синхронизации, если они между собой не взаимодействуют). Данные, по которым происходит связь между процессами (параметры, результаты), называются полями связи.
Дата добавления: 2015-10-02; просмотров: 56 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Db 0 ; конец дополнительного окружения | | | Взаимное исключение процессов |