Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Лабораторная Работа № 9. Понятие о потоке ввода-вывода. Цель работы. Понятие о FIFO. Использование системного вызова mknod для создания FIFO. Функция mkfifo.




ЛАБОРАТОРНАЯ РАБОТА № 9.

Понятие о потоке ввода-вывода.

ЦЕЛЬ РАБОТЫ

Понятие о FIFO. Использование системного вызова mknod для создания FIFO. Функция mkfifo.

Практические задания:

· Для иллюстрации взаимодействия процессов через FIFO давайте рассмотрим программ у_1, откомпили руем е е и зап устим на исполнени е. В этой п рограмме информацией между собой обмениваются процесс - родитель и процесс - ребенок. О брати м в нимани е, что п ов торн ый запуск этой п рограммы приведет к о ши бк е п ри поп ы тке создания FIFO, так как файл с задан н ым имен ем уже с уществует. З десь н ужно либо удал ять е го перед каж дым прогоном программы с диска вр учн ую, ли бо после первого запус ка моди фицировать исходный текст, исключив из него все, связанное с ситемным вызовом mknod().

 

· Написание, компиля ция и запуск п ро граммы с FIFO в не родстве нных проце ссах. Для закр еплен и я получен н ы х зн ан ий нап и шите на базе предыдуще го примера две программы, одн а из которы х пишет и н формацию в FIFO, а вторая - читает из него, так чтобы между ними не было ярко выраженных родственных связей (т. е. чтобы одна из них не была потомком другой).

 

 

 

1. 2. ПОСЛЕДОВАТЕЛЬНОСТЬ ВЫПОЛНЕНИЯ РАБОТЫ

 

Для иллюстрации взаимодействия процессов через FIFO давайте рассмотрим

программ у_1, откомпили руем е е и зап устим на исполнени е. В этой п рограмме информацией между собой обмениваются процесс - родитель и процесс - ребенок. О брати м в нимани е, что п ов торн ый запуск этой п рограммы приведет к о ши бк е п ри поп ы тке создания FIFO, так как файл с задан н ым имен ем уже с уществует. З десь н ужно либо удал ять е го перед каж дым прогоном программы с диска вр учн ую, ли бо после первого запус ка моди фицировать исходный текст, исключив из него все, связанное с ситемным вызовом mknod().

 

 

Написание, компиляция и запуск программы с FIFO в неродственных процессах. Для закрепления полученных знаний напишите на базе предыдущего примера две программы, одна из которых пишет информацию в FIFO, а вторая – читает из него, так чтобы между ними не было ярко выраженных родственных связей (т. е чтобы одна из них не была потомком другой).

Программа 1:

Программа 2:

 

 

Вывод: в этой лабораторной работе мы получили навыки о потоке ввода-вывода информации. Изучили стандартную библиотеку и функции, их системные вызовы на языке С. На практике применили такие функции как open(), read(), write(), close(). А также научились передавать информацию с помощью потоковой модели между различными процессами или даже внутри одного процесса в операционной системе через один файл FIFO.

 

 

Министерство образования и науки Российской Федерации

Федеральное государственное автономное образовательное учреждение

высшего образования

«Южно-Уральский государственный университет»

(национальный исследовательский университет)

Институт естественных и точных наук

Факультет математики, механики и компьютерных технологий

Кафедра прикладной математики и программирования

 

   

 

 

ОТЧЕТ К ЛАБОРАТОРНОЙ РАБОТЕ №10

по дисциплине операционные системы

 

    Руководитель работы, __________/Е. Ю. Алексеева «____»_____________2019 г.
    Автор работы Студент группы ЕТ-313 _____________/К. С. Шведов «____»_____________2019 г.
   

 

Челябинск 2019

ЛАБОРАТОРНАЯ РАБОТА № 10.

Организация работы с разделяемой памятью в UNIX. Понятие нитей исполнения (thread’ов)

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...