Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SRS_IPOVS_OS.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
1 Мб
Скачать
☆

Установить соединение с сервером.

Функция connect соединение с сервером.

#include <sys/types.h>

#include <sys/socket.h>

int connect(int sd, struct sockaddr *addr, int addrlen);

Здесь sd – дескриптор сокета; addr – указатель на структуру, в которую записан адрес оконечной точки, соответствующей удаленному компьютеру; addrlen – длина второго параметра. Функция connect возвращает 0 в случае успешного выполнения и -1 при ошибке.

Функция connect используется клиентом. Она инициирует соединение TCP и возвращает код возврата, говорящий об успехе или неуспехе.

Чтение данных из сокета и запись данных в сокет

Чтение и запись данных могут производиться как при помощи универсальных функций (read, write), так и при помощи специализированных функций работы с сокетами (send, recv для сокетов TCP и sendto, recvfrom для сокетов UDP).

Операции клиента и сервера

На рис. 13.2 показаны операции клиента и сервера при взаимодействии с установлением соединения.

Вопросы для самоконтроля

  1. Что такое IP-адрес?

  2. Как адресуются службы в сети?

  3. Что представляет собой порт?

  4. Дайте определение понятиям "протокол", "стек коммуникационных протоколов".

  5. Что такое сокет?

  6. Могут ли процессы, работающие на одном и том же компьютере, взаимодействовать при помощи сокетов?

Раздел 4. Планирование

Тема 14. Краткосрочное планирование

14.1. Основные понятия

В многозадачных системах ОС должна выполнять планирование процессов. Существует три вида планирования:

Долгосрочное планирование – решение о добавлении процесса в пул выполняемых процессов.

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

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

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

Невытесняющие. Выполняющийся процесс продолжает выполняться до тех пор, пока он не завершится или пока не окажется в заблокированном состоянии, ожидая завершения операции ввода-вывода или некоторого системного сервиса.

Вытесняющие. Выполняющийся процесс может быть прерван и переведен операционной системой в состояние готовности к выполнению. Решение о вытеснении может приниматься при запуске нового процесса по прерыванию или периодически – на основе прерываний таймера.

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

14.2. Критерии краткосрочного планирования.

Основная цель краткосрочного планирования состоит в распределении процессорного времени таким образом, чтобы оптимизировать один или несколько критериев (аспектов поведения системы). Основные из этих критериев перечислены ниже.

Время оборота – интервал времени поступлением процесса и его завершением. Включает время выполнения и ожидания.

Время отклика – в интерактивных процессах это время между подачей запроса и началом получения ответа на него.

Предсказуемость – данное задание должно выполняться примерно за одно и то же время независимо от загрузки системы.

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

Использование процессора – процент времени, в течение которого процессор занят.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]