Главная
страница 1 ... страница 2страница 3страница 4страница 5

Вариант №2



Сервер. Создать гнездо домена UNIX типа datagram. Присвоить ему имя. Принять сообщение от клиентского гнезда. Записать в стандартный файл вывода имена тех файлов из принятого сообщения, размер которых не превышает 1 блока.

Клиент. Создать гнездо домена UNIX типа datagram. Передать сообщение в серверное гнездо обо всех файлах текущего каталога, написанных на языке программирования Си.

Вариант №3



Клиент. Создать очередь сообщений. Передать в эту очередь полное имя текущего каталога и список файлов текущего каталога, в которых встречается подстрока «define».

Сервер. Выбрать из очереди все сообщения. Отсортировать список файлов из очереди по времени создания и записать эту информацию в стандартный файл вывода. Определить идентификатор процесса, который последним передал сообщение в очередь и максимальную длину очереди сообщений в байтах. Удалить очередь сообщений.

Вариант №4



Сервер. Создать разделяемую область памяти. Подсоединить её к виртуальному адресному пространству процесса. Записать в неё информацию обо всех файлах текущего каталога.

Клиент. Открыть разделяемую область памяти, созданную сервером. Прочитать записанные сообщения и записать в стандартный файл вывода информацию только о двоичных файлах. Вывести также идентификатор процесса, который последним подсоединился к разделяемой области памяти.

Вариант №5



Сервер. Создать набор семафоров и разделяемую область памяти. Из информации, переданной клиентом, выделить имена тех пользователей, которые работают в системе более 20 минут.

Клиент. Записать, в созданную сервером разделяемую область памяти, список всех пользователей, работающих в настоящее время в системе.

Вариант №6



Клиент. Создать набор из десяти семафоров. Увеличивать за 1 цикл значение 1-го семафора на 1, 2-ого семафора на 2, …., 9-ого семафора на 9, а у 10-ого проверять значение на равенство 0.

Сервер. Записать в стандартный файл вывода значения всех семафоров из указанного набора в текущий момент времени, а также время, когда в последний раз выполнялись операции с данным набором.

Вариант №7



Клиент. Создать очередь сообщений. Передать в эту очередь информацию (имена) о текстовых файлах текущего каталога. Вывести на экран ответы сервера.

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

Вариант №8



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

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

Вариант №9



Сервер. Создать гнездо домена UNIX типа virtual circuit. Присвоить ему имя. Принять сообщение от клиентского гнезда. Распечатать электронную почту 1-го по порядку пользователя, имя которого упоминается в ответе клиента.

Клиент. Создать гнездо домена UNIX типа virtual circuit. Передать в серверное гнездо информацию (имена) обо всех пользователях, от которых получена электронная почта.

Вариант №10



Клиент. Создать набор из пяти семафоров. Присвоить семафорам из созданного набора значения 10, 20, 30, 40, 50.

Сервер. Записать в стандартный файл вывода значение 3-его семафора из указанного набора, после чего уменьшить его значение на –5. Вывести также значение идентификатора процесса, который выполнял операции над 1-ым семафором последним.

Вариант №11



Сервер. Создать гнездо домена INET типа virtual circuit. Присвоить ему имя. Записать в него информацию, содержащую имена файлов текущего каталога, которые были модифицированы в течении последнего месяца. Распечатать ответ клиента.

Клиент. Создать гнездо домена INET типа virtual circuit. Прочитать сообщение из серверного гнезда. Определить имена файлов, которые нельзя выполнять для данного пользователя и отправить их в виде сообщения в серверное гнездо.

Вариант №12



Сервер. Создать разделяемую область памяти. Подсоединить её к виртуальному адресному пространству процесса. Записать в неё информацию (идентификаторы) обо всех активных процессах в системе, управляемых терминалами.

Клиент. Открыть разделяемую область памяти, созданную серверным процессом. Считать из неё информацию. Определить состояния процессов, идентификаторы которых указаны в сообщении. Определить также количество процессов, подсоединенных в данный момент времени к разделяемой области памяти.

Вариант №13



Сервер. Создать гнездо без установления соединения домена UNIX. Присвоить ему имя. Записать в него информацию о количестве файлов текущего каталога. Распечатать информацию, полученную от клиента.

Клиент. Создать гнездо без установления соединения домена UNIX. Прочитать сообщение из серверного гнезда. Уменьшить прочитанное значение на число, равное количеству файлов, имя которых начинается с точки и передать это значение в гнездо сервера.

Вариант №14



Сервер. Создать очередь сообщений. Записать в неё сообщение об именах файлов, помещенных в спулинг.

Клиент. Выбрать из очереди сообщений последнее сообщение. Отфильтровать в нем те файлы, последняя модификация которых производилась в течение текущего дня и записать их в стандартный файл вывода. Вывести также величину общего количества байтов во всех сообщениях очереди. Удалить очередь сообщений.

Вариант №15



Сервер. Создать гнездо с установлением соединения домена INET. Присвоить ему имя. При поступлении клиентского сообщения о календаре текущего месяца, определить текущий день недели по текущей дате.

Клиент. Создать гнездо с установлением соединения домена INET. Переслать в серверное гнездо сообщение, содержащее календарь текущего месяца.

Вариант №16



Сервер. Создать разделяемую область памяти и набор семафоров. Подождать, пока один из клиентов не пришлет информацию. Среди полученных имен файлов, определить такие, размер которых превышает 2 блока, и эти данные переслать через разделяемую область памяти соответствующему клиенту.

Клиент 1. Записать в разделяемую область памяти, созданную сервером, имена текстовых файлов текущего каталога. Записать в стандартный файл вывода результаты обработки сервера.

Клиент 2. Записать в разделяемую область памяти, созданную сервером, имена файлов текущего каталога, написанные на языке программирования Си. Записать в стандартный файл вывода результаты обработки этого запроса.

Вариант №17



Сервер. Создать очередь сообщений. Записать в качестве 1-го сообщения текущую дату и время, в качестве 2-го сообщения – имена всех пользователей, работающих в настоящее время в системе, в качестве 3-его сообщения – хост-имя компьютера. Сообщения, полученные от клиентов, распечатывать.

Клиент 1. Выбрать из очереди сообщений 2-ое сообщение и определить имена терминалов, связанных с этим пользователем.

Клиент 2. Выбрать из очереди 1-ое сообщение, определить по нему день недели, а также записать эту информацию в очередь сообщений.

Вариант №18



Сервер. Создать гнездо без установления соединения домена UNIX. Присвоить ему адрес. Послать в клиентское гнездо данные (идентификаторы) обо всех активных процессах системы. Результаты обработки клиентом этих данных распечатать.

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


Вариант №19



Сервер. Создать гнездо домена UNIX типа virtual circuit. Назначить ему адрес. Среди поступивших от клиентов сообщений, отфильтровать такие, которые содержат шаблон «S».

Клиент 1. Создать гнездо домена UNIX типа virtual circuit. Послать в серверное гнездо сообщение, содержащее полную информацию о списке всех активных процессов в системе не управляемых терминалами.

Клиент 2. Создать гнездо домена UNIX типа virtual circuit. Послать в серверное гнездо сообщение, содержащее полную информацию о списке всех активных процессов в системе управляемых терминалами.

Вариант №20



Сервер. Создать набор из 6-ти семафоров. Присвоить семафорам из созданного набора значения 0, 1, 2, …, 5. В течении 2-х минут распечатывать значения семафоров, а потом удалить этот набор семафоров.

Клиент 1. Изменить значения из набора семафоров на { +1, +2, +3, …, +6}.

Клиент 2. Уменьшить значения семафоров из набора в 2 раза.

Вариант №21



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

Клиент 1. Подсоединиться к разделяемой области памяти. Определить подкаталог родительского каталога с максимальным количеством файлов и записать эту информацию в разделяемую область памяти.

Клиент 2. Подсоединиться к разделяемой области памяти. Определить количество процессов, подсоединенных к разделяемой области памяти и записать эту информацию в неё.

Вариант №22



Сервер. Создать очередь сообщений. Записать в качестве 1-го сообщения количество пользователей, работающих в настоящее время в системе, в качестве 2-ого сообщения – имена этих пользователей, в качестве 3-его сообщения – сумарное рабочее время, затраченное пользователями, в качестве 4-ого сообщения – имена задействованных терминалов.

Клиент 1. Определить общее число байтов во всех сообщениях очереди.

Клиент 2. Определить идентификатор процесса, который последним передал в очередь сообщение.

Клиент 3. Прочитать 3-е сообщение из очереди и вывести его на печать.

Вариант №23



Сервер. Создать гнездо без установления соединения. Присвоить ему имя. При поступлении клиентского сообщения определить системную составляющую приоритета полученных процессов и переслать клиенту.

Клиент. Создать гнездо без установления соединения. Определить идентификаторы процессов, являющихся системными и переслать эти данные в серверное гнездо. При получении ответа от сервера, распечатать поступившую информацию.

Вариант №24



Сервер. Создать разделяемую область памяти и набор семафоров. Ждать сообщений клиентов. При поступлении сообщения от 1-ого клиента, обработать его и переслать абоненту размеры полученных файлов. Распечатать содержимое спулинга, полученное от 2-ого клиента.

Клиент 1. Записать в разделяемую область памяти имена тех файлов текущего каталога, в которых встречается строка с шаблоном «main». Распечатать ответ сервера.

Клиент 2. Записать в разделяемую область памяти содержимое спулинга.

Вариант №25



Сервер. Создать гнездо с установлением соединения домена INET. Присвоить ему имя. При поступлении клиентского сообщения, определить количество файлов в каждой поддиректории текущего каталога и переслать эту информацию в клиентское гнездо.

Клиент. Создать гнездо с установлением соединения INET. Переслать в серверное гнездо сообщение обо всех поддиректориях текущего каталога. Записать в стандартный файл вывода ответ сервера.

Вариант №26



Сервер. Создать очередь сообщений. Записать в качестве 1-ого сообщения имена всех текстовых файлов текущего каталога, в качестве 2-ого сообщения – имена всех файлов текущего каталога, написанных на языке программирования Си, в качестве 3-его сообщения – имена всех двоичных файлов текущего каталога.

Клиент 1. Прочитать 2-ое сообщение из очереди и определить количество строк в каждом файле.

Клиент 2. Определить время, когда последнее сообщение было записано в очередь и вывести его на экран

БИБЛИОГРАФИЧЕСКИЙ СПИСОК


  1. Чан Т. Системное программирование на С++ для UNIX. – Киев: Издательская группа BHV, 1999 г.

  2. Моли Б. UNIX/LINUX: Теория и практика программирования. - М: КУДИЦ_ОБРАЗ, 2004 г.

  3. Роббинс А. LINUX: программирование в примерах. – М: КУДИЦ_ОБРАЗ, 2005 г.



<< предыдущая страница  
Смотрите также:
Методические указания к лабораторным и домашним работам по дисциплине «Операционные системы» Специальности: 230401 Прикладная математика
584.93kb.
5 стр.
Методические указания к лабораторным работам №1-­5 для студентов специальности 210100
346.16kb.
1 стр.
Программа дисциплины математическое моделирование для специальности 230401. 65 «Прикладная математика»
153.49kb.
1 стр.
Методические указания к лабораторным работам по дисциплине «Дендрология» для студентов специальности 050807 «Лесохозяйственное дело»
81.03kb.
1 стр.
Прикладная математика и информатика
283.44kb.
1 стр.
Учебно-методический комплекс по дисциплине «Операционные системы, среды и оболочки» для студентов специальности 080801 «Прикладная информатика в экономике»
565.65kb.
3 стр.
Программа дисциплины «Квантовые вычисления»
112.23kb.
1 стр.
Вопросы к экзамену: Зоопарк операционных систем
21.77kb.
1 стр.
Методические указания к лабораторной работе операционные усилители д исциплина "Физические основы электроники"
83.78kb.
1 стр.
Методические указания к лабораторным работам для студентов iy-y курсов фэн всех форм обучения Новосибирск 2003 (076. 5)
133.46kb.
1 стр.
Методические указания к лабораторным работам по биологической химии для студентов 2 курса медицинского факультета Петрозаводск 2002
878.9kb.
3 стр.
Исследование полупроводниковых диодов методические указания к лабораторным работам по курсу «Электроника»
370.01kb.
3 стр.