Теория и практика программирования на Си в Unix

       

Теория и практика программирования на Си в Unix

Введение
Организация

Примеры
Средства выражения
Предложения
Сведения из истории UNIX
TCP/IP
ОСНОВНЫЕ ЭЛЕМЕНТЫ СИСТЕМЫ UNIX
Ядро системы UNIX
Программа


Процесс

Обращение к ОС и вызов библиотеки
Создание и разрушение процессов
Идентификация процесса (PID)
Идентификация группы процессов (PGID)
Идентификация группы терминалов и операторский терминал
Идентификация пользователя (UID) и идентификация группы (GID)
Командный интерпретатор shell
Имена файлов и полные имена (pathnames)
Ввод-вывод
Сигналы

Сигналы: особые случаи
Не-блокирующие операции
Асинхронный ввод-вывод
Мультиплексирование ввода-вывода
Процесс "демон"
БАЗОВЫЕ ПОНЯТИЯ TCP/IP
Адрес Ethernet, адрес Internet, имя компьютера
Широковещательный адрес
Маршрутизация

Сетевой уровень IP (Internet Protocol)
Транспортный уровень TCP (Transmission Control Protocol)
Транспортный уровень UDP (User Datagram Protocol)
Службы и номера портов
Связывание
Буферы TCP
Суперсервер inetd
ИТОГИ
Мультипроцессоры и мультимашины

Мультипроцессоры
Мультимашинная организация
Терминология
Что называют распределенной обработкой данных
Цели распределенной обработки данных
Распределение и параллелизм
Прозрачность
МОДЕЛЬ "КЛИЕНТ-СЕРВЕР"
Инструментарий

Программные каналы (pipes)
Именованные каналы (named pipes или fifos)
Общие сведения об IPC System V
Очереди сообщений
Общая память и семафоры

Сокеты и интерфейс TLI
Запуск удаленного процесса
Останов удаленного процесса
Предоставляемые услуги

Использование буферов TCP
Реализация сокетов
Принципы применения
Использование в режиме дейтаграмм
Адресация
Адресация в области AF_INET
Адресация в области AF_UNIX
Включаемые файлы
Основные примитивы
Некоторые вспомогательные программы

- Построение сетевых адресов
Другие примитивы
Присвоение номеров портов
Считывание и запись в сокет в режиме виртуального соединения
Управление сигналами
Управление ошибками
Безопасность
Отладка программ
Суперсервер Internet

Определение параметров сокета
Мультиплексирование с помощью select ()
Асинхронные сокеты
Экспресс-данные
Широковещательная передача
Параллельный сервер
Запуск и останов сервера клиентом
Другие примеры
Принципы

Реализация
Преимущества и недостатки такого подхода
Функциональные возможности и механизмы
Применение
TLI и транспортные службы
Связь между клиентом и сервером

Реализация TLI
Использование в режиме соединения
Использование в режиме без установления логического соединения
Включаемый файл
Функции локального управления
Функции в режиме установления соединения

Функции в режиме отсутствия соединения
Несколько дополнительных программ
Мультиплексирование
Не-блокирующие вызовы

STREAMS
Функциональные особенности и механизмы реализации
СОПОСТАВЛЕНИЕ TLI И СОКЕТОВ
ИТОГИ
Предлагаемый сервис
Модель клиент-сервер
Виртуальные файловые системы

Протокол
Идентификация пользователей
Передача информации между клиентом и сервером в UNIX
Механизмы кэширования
Административные функции
Конфигурация на серверах
Конфигурация на клиентах
Операции поддержки
Возможные проблемы

Эксплуатация
Особенности функционирования
Характеристики
Загрузка сети

Теория и практика программирования на Си в Unix

Система виртуальных файлов

Установка первичного сервера имен
Установка вторичного сервера имен
Установка серверов
Установка клиентов
Инициализация пролграммного обеспечения при запуске станции
Операции сопровождения
Взаимодействие между процессами с помощью именованного канала
СРАВНЕНИЕ С NFS

Концепции и предлагаемые возможности
Многооконность
Понятие дисплея
Распределение
Графика
Пользовательский интерфейс
Управление ресурсами
Символьные шрифты
Внешний вид и внутреннее состояние

Запросы и события
Обмен данными между прикладными программами
Протокол коммуникации
Окна и ресурсы
Сервер и прикладные программы
Xlib
Инструментальные средства
Motif и Open Look
Интерактивные средства порождения интерфейсов
Использование прикладных программ

Запуск сервера и клиентов
Производительность
Функциональные возможности и механизмы реализации PEX
Альтернативы PEX
DGL (Distributed Graphic Library)
Распределенный PHIGIX
DGPHIGS

Кодирование и декодирование
Понятия потока и фильтра XDR
Потоки XDR
Стандартный поток ввода-вывода
Поток в памяти
Поток записей

Макросы, связанные с потоками
Фильтры XDR
Управление памятью
Использование RPCGEN
Использование XDR с сокетами или TLI