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 в целом достаточно похожа предоставляемой функциональностью. Основной проблемой при таком взаимодействии процессов может стать совместное использование канала несколькими процессами, однако для однонаправленной передачи данных одним процессом другому этот способ подходит идеально.


 

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

29348. Interaction of primary and derivative logical meanings. Stylistic Devices Based on Polysemantic Effect, Zeugma and Pun 23.92 KB
  Epithet is a stylistic device based on the interplay of emotive and logical meanings in an attributive word emotionally colored attitude of the speaker to the object he describes. 1 refer the mind to the concept due to some quality of the object it is attached to. 2 attributes used to characterize the object by adding a feature unexpected in it. One of the two members of oxymoron illuminates the feature observed while the other one offers a purely subjective individual perception of the object.
29349. Syntactical expressive means and stylistic devices 23.95 KB
  Its expressive effect may be based on the absence of logically required components of speech parts of the sentence formal words or on the other hand on a superabundance of components of speech; they may be founded on an unusual order of components of speech the change of meaning of syntactical constructions and other phenomena. The object is placed at the beginning of the sentence: Talent Mr. The adverbial modifier is placed at the beginning of the sentence: My dearest daughter at your feet I fall. However in modern English and American...
29350. Particular ways of combining parts of the utterance 16.65 KB
  Particular ways of combining parts of the utterance Asyndeton Asyndeton that is connection between parts of a sentence or between sentences without any formal sign becomes a stylistic device if there is a deliberate omission of the connective where it is generally expected to be according to the norms of the literary language. Polysyndeton Polysyndeton is the stylistic device of connecting sentences or phrases or syntagms or words by using connectives mostly conjunctions and prepositions before each component part as in: The heaviest...
29351. Functional Styles 19.61 KB
  Therefore functional style of language is a historical category. Thus the FS of emotive prose actually began to function as an independent style after the second half of the 16th century; the newspaper style budded off from the publicistic style; the oratorical style has undergone considerable fundamental changes and so with other FSs The development of each style is predetermined by the changes in the norms of standard English. The BellesLetters Style We have already pointed out that the belleslettres style is a generic term for three...
29352. Functional Styles. Newspaper Style 33.05 KB
  Not all the printed materials found in newspapers come under newspaper style. Only materials which perform the function of informing the reader and providing him with an evaluation of information published can be regarded as belonging to newspaper style. English newspaper style can be defined as a system of interrelated lexical phraseological and grammatical means which is perceived by the community as a separate linguistic unity that serves the purpose of informing and instructing the reader.
29353. General Notes on Stylistics. It’s subject and Object 40.48 KB
  It deals mainly with two interdependent tasks: The investigation of the inventory of special language media which secure the desirable effect of the utterance The investigation of certain types of texts which are distinguished due to the choice and arrangement of language means. The types of texts that are distinguished by the pragmatic aspect of communication are called functional styles of language FS; the special media of language which secure the desirable effect of the utterance are called stylistic devices SD and expressive means...
29354. Expressive means and stylistics devices 24 KB
  All stylistic means of a language can be divided into expressive means which are used in some specific way and special devices called stylistic devices. The expressive means of a language are those phonetic means morphological forms means of wordbuilding and lexical phraseological and syntactical forms all of which function in the language for emotional or logical intensification of the utterance. These intensifying forms of the language have been fixed in grammars and dictionaries. The most powerful expressive means of any language...
29355. Stylistic Classification of the English Vocabulary 53.1 KB
  This is important for the course in as much as some SDs are based on the interplay of different stylistic aspects of words. The literary vocabulary consists of the following groups of words: common literary; terms and learned [′ lə:nid] words; poetic words; archaic words; barbarisms and foreign words; literary coinages and noncewords. The colloquial vocabulary includes the following groups of words: common colloquial words; slang; jargonisms; professionalisms; dialectal words; vulgar words; colloquial coinages. The common...
29356. Тетрадная форма представления программ в языковых процессорах САПР 23.5 KB
  Списки тетрад. Удобной формой представления бинарных операций являются тетрады вида: оператор операнд1 операнд2 результат ABCD B C T1 A T1 T2 T2 D T3T1 T2 T3 временные переменные формируемые транслятором.Важным свойством списка тетрад является то что тетрады располагаются строго в соответствии с порядком в котором должны быть выполнены операторы при реализации программы.