Лекция.
InterProcess Communication, или IPC.
Межпроцессное взаимодействие
Довольно часто процессам необходимо взаимодействовать с другими процессами. Например, в канале оболочки выходные данные одного процесса могут передаваться другому процессу, и так далее вниз по цепочке. Поэтому возникает необходимость во взаимодействии процессов, и желательно, по хорошо продуманной структуре без использования прерываний.
Ситуации, когда два или более процессов обрабатывают разделяемые данные, и конечный результат зависит от соотношения скоростей процессов, называются гонками.
Важным понятием синхронизации процессов является понятие «критическая секция» или «критическая область» программы. Критическая секция (критическая область) – это часть программы, в которой осуществляется доступ к разделяемым данным. Для исключения эффекта гонок по отношению к некоторому ресурсу, необходимо обеспечивать такие ситуации, чтобы в каждый момент времени в критической секции, связанной с этим ресурсом, находился максимум один процесс. Этот прием называют взаимным исключением.
Другим способом взаимного исключения является использование блокирующих переменных. При этом каждому разделяемому ресурсу ставится в соответствие двоичная переменная, которая принимает, например, значение 0, если ресурс свободен (то есть ни один из процессов не находится в данный момент в критической секции, связанной с данным процессом), и значение 1, если ресурс занят.
Одним из наиболее простых, удобных и интуитивных интерфейсов межпроцессного взаимодействия является буфер обмена. Буфер обмена может содержать в себе один информационный объект – фрагмент текста, рисунок и т. д. С помощью системного вызова процесс может получить копию информации, содержащейся в буфере обмена, или сам поместить объект в буфер, при этом старое содержимое буфера теряется. Таким образом, программы получают простой, но эффективный способ взаимного обмена информацией во время своей работы.
Операционная система MS-DOS (2 часа)
Цель:Повторить ранее пройденные команды MS-DOS. Рассмотреть необходимость использования системных программ и их использование. Дать понятие командных файлов. Четко определить начальную загрузку ОС. Обосновать специфику использования оперативной памяти, объяснить нехватку для запуска программ. Рассмотреть команды, использующиеся в командных файлах и файле config.sys. Определить необходимость использования системной дискеты и описать процесс её создания.
Краткий план:
1. Основных команд для работы с файлами и каталогами
2. Основные системные программы.
2.1. Инициализация (форматирование) дискет.
2.2. Задание метки на диске
2.3. Изменение состояния логических дисков.
3. Командные файлы
4. Начальная загрузка MS-DOS.
5. Использование оперативной памяти.
6. Основные команды, используемые в файлах autoexec.bat и config.sys.
7. Системная дискета.
Материал лекции: