Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовые работы ОС.doc
Скачиваний:
26
Добавлен:
12.08.2019
Размер:
158.72 Кб
Скачать

Вариант 14

Вычислительная система включает три ЭВМ. В систему в среднем через 30 с поступают задания, которые попадают в очередь на обработку к первой ЭВМ, где они обрабатываются около 30 с. После этого задания поступают одновременно во вторую и третью ЭВМ. Вторая ЭВМ может обработать задания за (14+-5) с, а третья - за (16+-1) с. Окончание обработки задания на любой ЭВМ означает снятие ее с решения с той и другой машины. В свободное время вторая и третья ЭВМ заняты обработкой фоновых задач. Смоделировать 4 ч работы системы. Определить необходимую емкость накопителей перед всеми ЭВМ.

Рекомендуемая литература

Карпов В. Е., Коньков К. А. Введение в операционные системы.

http://cs.mipt.ru/docs/courses/osstud/oc.html

Брюс Моли UNIX/LINUX. Теория и практика программирования.

http://bookwebmaster.narod.ru/unix.html

Мендель Купер Искусство программирования на языке сценариев командной

оболочки.

http://www.opennet.ru/docs/RUS/bash_scripting_guide/

Алексеев И.Г., Бранцевич П. Ю. Теория вычислительных процессов и структур.

Учебно-методическое пособие.

http://bsur-helper.ru.

Стасышин В М Управление ресурсами в ОС UNIX.

http://www.ict.edu.ru/ft/002355/Method1.HTM

Пример концептуальной схемы для варианта 3

Основной процесс P

Создание процессов P1, P2, P3

Создание каналов взаимодействия процессов

Генерация входного потока транзактов

Буферизация потока транзактов

Ведение журнала и обработка результатов

Завершение моделирования

Процесс p2

Передача сообщений по основному каналу связи

Запрос очередного сообщения из буфера

2 Разработка и программная реализация многопользовательских сетевых приложений

Цель работы

Получение практических навыков разработки и реализации многопользовательских сетевых приложений под управлением операционной системы семейства Unix/Linux.

Общее описание задачи

В общем случае необходимо разработать 2 приложения: приложение-сервер (далее Сервер) и приложение-клиент (далее Клиент). В зависимости от варианта набор различных приложений может меняться.

Сервер предоставляет программный интерфейс (набор функций сервера) Клиенту. Если разработчиков несколько, то начать разработку лучше с интерфейса.

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

Пример взаимодействия Клиента с Сервером:

Сервер может одновременно обслуживать более одного Клиента (в несколько потоков). Максимальное количество Клиентов одновременно взаимодействующих с Сервером определяется конкретной задачей.

Основные отличия процессов Клиента и Сервера применительно к удаленному взаимодействию:

– Сервер работает постоянно, на всем протяжении жизни приложения, а Клиенты могут работать эпизодически.

– Сервер ждет запроса от Клиентов, инициатором же взаимодействия выступает Клиент.

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

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

– И Клиент, и Сервер должны использовать один и тот же протокол транспортного уровня OSI модели.

Неравноправность процессов в модели клиент-сервер, накладывает свой отпечаток на программный интерфейс, используемый между уровнем приложений/процессов и транспортным уровнем.

Поступающие запросы Сервер может обрабатывать последовательно – запрос за запросом – или параллельно, запуская для обработки каждого из них свой процесс или thread. Как правило, Серверы, ориентированные на связь клиент-сервер с помощью установки логического соединения (TCP-протокол), ведут обработку запросов параллельно, а серверы, ориентированные на связь клиент-сервер без установления соединения (UDP-протокол), обрабатывают запросы последовательно.

Более подробно об организации взаимодействия между Клиентом и Сервером с помощью протоколов TCP, UDP необходимо прочитать:

http://www.intuit.ru/department/os/osintropractice/10/1.html (можно с 4-ой страницы)

Там же можно посмотреть примеры реализации Клиента и Сервера.