66556

РАБОТА С ТЕРМИНАЛОМ. УПРАВЛЕНИЕ ПРОЦЕССАМИ. ВЗАИМОДЕЙСТВИЕ ПРОЦЕССОВ: КАНАЛЫ

Лабораторная работа

Информатика, кибернетика и программирование

Цель работы изучение механизмов управления устройствами ввода-вывода UNIX при помощи специальных файлов устройств основных принципов управления процессами способов создания и уничтожения процессов механизмов планирования процессов простейших видов взаимодействия процессов...

Русский

2014-08-22

32.29 KB

0 чел.

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

Санкт-Петербургский государственный политехнический университет

Факультет технической кибернетики

Кафедра «Информационная безопасность компьютерных систем»

ОТЧЕТ

по лабораторной работе №6

«РАБОТА С ТЕРМИНАЛОМ.

УПРАВЛЕНИЕ ПРОЦЕССАМИ.

ВЗАИМОДЕЙСТВИЕ ПРОЦЕССОВ: КАНАЛЫ»

по курсу «Операционные системы»

Выполнил

студент гр. 2088/4    А.А.Чернышев

                           <подпись>

Руководитель     А.С. Коноплев

                           <подпись>

Санкт-Петербург

2011

  1.  Формулировка задания

Цель работы - изучение механизмов управления устройствами ввода-вывода UNIX при помощи специальных файлов устройств, основных принципов управления процессами, способов создания и уничтожения процессов, механизмов планирования процессов, простейших видов взаимодействия процессов (посредством каналов pipe) в ОС UNIX и Windows.

2. Использованные теоретические сведения

Материалы из методического пособия 06.pdf, материалы интернет ресурсов msdn.com, и rus-linux.net, unix-manuals.com.

3. Результаты работы

3.1. Выполнение индивидуального задания

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

В теоретических сведениях была найдена программа, которую следовало лишь немного доработать, чтобы выполнить наше задание.

 

//=========================================================//

//========================Пример 7=========================//

#include <sys/types.h>

#include <unistd.h>

#include <stdio.h>

int main()

{

   int fd[2], result;

   size_t size;

   char resstring[128];

   //pipe

   if(pipe(fd) < 0)

   {

       printf("Can\'t create pipe\n");

       exit(-1);

   }

   //create new proc

   result = fork();

   if(result <0)

   {

       printf("Can\'t fork child\n");

       exit(-1);

   }

   else if (result > 0)

   {

       //parent proc

       close(fd[0]);

       size = write(fd[1], "It`s a message from parent to child!", 128);

       if(size != 128)

       {

           printf("Can\'t write all string\n");

           exit(-1);

       }

       close(fd[1]);

       printf("Parent exit\n");

   }

   else

   {

       //child proc

       close(fd[1]);

       size = read(fd[0], resstring, 128); //попробуем прочитать из pip`a в 1-й раз

       if(size < 0)

       {

           printf("Can\'t read string\n");

           exit(-1);

       }

       printf("%s\n1st time read %dbytes\n",resstring, size); //выведет количество прочтенных байт

       resstring[0]  = '\0';

       size = read(fd[0], resstring, 128); //попробуем прочитать из pip`a во 2-й раз

       if(size < 0)

       {

           printf("Can\'t read string\n");

           exit(-1);

       }

       printf("%s2nd time read: %dbytes\n",resstring, size); //выведет количество прочтенных байт

       close(fd[0]);

   }

   return 0;

}

3.2. Ответы на контрольные вопросы

Опишите функции создания и завершения процессов в UNIX.

int fork()- создание процесса, void exit(int status) – завершение процесса.

Каков максимальный размер программного канала?

Зависит от системы.

Каков алгоритм системного вызова fork() в UNIX?

Сразу после выполнения системного вызова fork() основной и порожденный процессы являются абсолютными близнецами;  управление и в том, и в другом находится в точке, непосредственно следующей за вызовом fork().

Чтобы программа могла разобраться, в каком процессе она теперь работает – в основном или порожденном, функция fork() возвращает разные значения: 0 в порожденном процессе и целое положительное число (идентификатор порожденного процесса) в основном процессе.

При выполнении системного вызова fork() ядро системы осуществляет:

1) Выделение памяти под описатель нового процесса в таблице описателей процессов.

2) Назначение уникального идентификатора процесса (PID) для вновь образованного процесса.

3) Создание логической копии процесса, выполняющего системный вызов fork, включая полное копирование содержимого виртуальной памяти процесса-предка во вновь создаваемую виртуальную память, а также копирование составляющих контекста процесса-предка в режиме ядра.

4) Копирование таблицы файловых дескрипторов родительского процесса и увеличение счетчиков открытых файлов (процесс-потомок автоматически наследует все открытые файлы своего родителя).

5) Возврат из системного вызова с передачей идентификатора нового процесса в процессе-предке и нулевого значения в процессе-потомке.

4. Выводы

ОС UNIX предоставляет достаточно удобный интерфейс для работы с терминалом. Одной из составляющих удобства является файл терминала.

В Windows реализован достаточно гибкий алгоритм планирования процессов, однако не всегда планирование оказывается удачным, что связано с вытеснением процессов с низким приоритетом процессами с более высоким приоритетом.

Реализация каналов в операционных системах UNIX и Windows в целом достаточно похожа предоставляемой функциональностью. Основной проблемой при таком взаимодействии процессов может стать совместное использование канала несколькими процессами, однако для однонаправленной передачи данных одним процессом другому этот способ подходит идеально.


 

А также другие работы, которые могут Вас заинтересовать

54337. Методичний конструктор як техніка підготовки педагогів до впровадження директивних інновацій 59.5 KB
  Цей методичний захід має бути необхідний закладу та учителям легкий у виконанні не обтяжуючий учасників заходу і водночас корисний Для цього треба не забувати про особливості навчання дорослих людей які мають свій досвід свої погляди на себе та оточуючий світ на розвиток себе в професії і суспільстві. Подруге підійдіть до розробки заходу дуже ретельно хоча на сучасному етапі саме розробка дійсно якісного методичного заходу не завжди є проблемою для цього є маса літератури з даного приводу але до технік що обираються треба...
54338. Використання методу проектів на уроках інформатики 187 KB
  Тема: Компютерні презентації Проект: Я інформую Тип проекту : інформаційнотворчий. Очікуваний результат: створення презентації засобами MS PowerPoint. Порада Перед створенням презентації бажано: Визначити тему та призначення презентації Створити схему сценарій презентації Спланувати зміст усіх слайдів їх стиль. ДОДАТКОВІ ВИМОГИ ДО ЗМІСТУ ПРЕЗЕНТАЦІЇ ЗА Д.
54339. ВИКОРИСТАННЯ ПРОЕКТНИХ ТЕХНОЛОГІЙ НА УРОКАХ МАТЕМАТИКИ ЯК ЗАСІБ АКТИВІЗАЦІЇ ПІЗНАВАЛЬНОЇ ДІЯЛЬНОСТІ УЧНІВ 107.5 KB
  Дуже важливою також є структуризація змістовної частини проекту із зазначенням поетапних результатів. Необхідною складовою методики здійснення проектної діяльності є складання загальної моделі що розглядається як умовний образ схема кінцевого результату проекту. Першим із них передбачено виконання завдань навчального проекту та здійснення презентації кінцевого інтелектуального матеріального продукту безпосередньо на уроці або під час проведення серії уроків з певної теми. Водночас педагогічна функція вчителя ускладнюється порівняно з...
54340. Метод проектів на уроках інформатики 78.5 KB
  Історія виникнення методу проектів Місце методу проектів у навчальному процесі Формування проектних компетенцій Метод проектів на уроках інформатики Висновки Використані джерела Вступ Сучасну практичну діяльність людства науковотехнічний та культурний прогрес у різних сферах суспільного буття неможливо уявити без проектування і проектів. Історія виникнення методу проектів Використання у навчальновиховному процесі методу проектів не є новим для українських шкіл. Першим увів поняття метод проектів...
54341. Культура Европы в XX - начале XXI вв.: противоречия и проблемы 28.21 KB
  Таким образом процесс подготовки и проведения такого учебного занятия как комбинированный урок увлекает студентов активизирует их достаточно свободно пользоваться простыми языковыми средствами в основных видах речевой деятельности: говорении аудировании чтении и письме. ФГОУ СПО Чебоксарский техникум строительства и городского хозяйства МЕТОДИЧЕСКАЯ КАРТА ЗАНЯТИЯ Дисциплина: Английский язык Группа: С41 Преподаватель: Бутакова Л. Тема занятия: Строительство зданий и сооружений Тип и вид занятия: комбинированный Цели занятия...
54342. Методические основы использования прикладного ПО на уроках в школе 111.5 KB
  Деление на группы производят либо по способностям либо случайным образом например по партам или по алфавиту. В этом случае как правило формируются разно уровневые группы в которых быстро определяются лидеры и аутсайдеры. Гузеев предложил различать группы выравнивания поддержки и развития. Группы выравнивания состоят из учащихся с различной успеваемостью и ориентированы на достижение всех ее участников обязательного уровня образования; группы поддержки однородны по успеваемости; в группах развития ученики более высокого уровня...
54343. Дмитриу Донской. Куликовская битва 83 KB
  Что позволило Дмитрию Ивановичу открыто выступить против монголотатар и разгромить их 12 октября 1350 года у московского удельного князя Ивана родился сын которого окрестили Дмитрием. Дмитрия Московского сумели получить для своего князя ярлык. Разведка великого князя донесла что Мамай собрав войско уже три недели ждал на Дону Ягайло Литовского.
54344. Сучасний урок - джерело творчості вчителя 2.78 MB
  Тестові завдання з геометрії. клас із використанням тестуючого комплексу MIFTests. Кожен вчитель є справжнім керівником дитячого колективу діти визнають своїх педагогів за лідерів та активно співпрацюють із ними а це означає: вчитель має власний педагогічний імідж свій особливий педагогічний почерк він конкурентоспроможний компетентний фахівець. МАТЕМАТИКА ТА ІТК У сучасному світі потреба в компютерних технологіях постійно зростає вони необхідні і вдома і на робочому місці. Систематичне використання...
54345. Комплекс игр и упражнений «Биоэнергопластика» в коррекционной работе с детьми-логопатами 717 KB
  Поражение верхней височной извилины приводит к тому что человек слышит слова но не понимает их смысла так как в зоне Вернике как в своеобразной картотеке хранятся все усвоенные человеком слова точнее их звуковые образы и он всю жизнь пользуется этой картотекой. Если произошло поражение этой зоны то хранящиеся там звуковые образы слов распадаются человек перестает понимать слова. При нормальном слухе он остается глухим к словам. Действительно левое полушарие отвечает: за движение правых конечностей и обеих рук за...