UNIX Стивенс У. Р.UNIX купитьUNIX. Профессиональное программирование. 3-е изд.UNIX. Профессиональное программирование. 3-е изд. Стивенс У. Р.UNIX. Профессиональное программирование. 3-е изд. купить
UNIX
UNIX Стивенс У. Р.
UNIX купить
UNIX. Профессиональное программирование. 3-е изд.
UNIX. Профессиональное программирование. 3-е изд. Стивенс У. Р.
UNIX. Профессиональное программирование. 3-е изд. купить

UNIX. Профессиональное программирование. 3-е изд., Стивенс У. Р.

1064 грн.

Купить в 1 клик

Описание

UNIX. Профессиональное программирование. 3-е изд., Стивенс У. Р. купить Украина книга

Издательство — Питер

Язык — русский

Обложка — Твердый переплет

Год издания — 2018

Количество страниц — 944

ISBN — 978-5-4461-0649-3

Бумага — белая, офсетная

О книге UNIX. Профессиональное программирование. 3-е изд., Стивенс У. Р.

Эта книга заслуженно пользуется популярностью у серьезных программистов во всем мире, поскольку содержит самую важную и практическую информацию об управлении ядрами UNIX и Linux. Без этих знаний невозможно написать эффективный и надежный код.От основ — файлы, каталоги и процессы — вы постепенно перейдете к более сложным вопросам, таким как обработка сигналов и терминальный ввод/вывод, многопоточная модель выполнения и межпроцессное взаимодействие с применением сокетов.В общей сложности в этой книге охвачены более 70 интерфейсов, включая функции POSIX асинхронного ввода/вывода, циклические блокировки, барьеры и семафоры POSIX.

UNIX. Профессиональное программирование. 3-е изд., Стивенс У. Р. оглавление

Вступительное слово ко второму изданию

Предисловие

Введение

Изменения в третьем издании

Благодарности

Предисловие ко второму изданию

Введение

Изменения во втором издании

Благодарности

Предисловие к первому изданию

Введение

Стандарты UNIX

Структура книги

Примеры в книге

Перечень систем, использовавшихся для тестирования примеров

Благодарности

От издательства

Глава 1. Обзор ОС UNIX

1. Введение

2. Архитектура UNIX

3. Вход в систему

4. Файлы и каталоги

5. Ввод и вывод

6. Программы и процессы

7. Обработка ошибок

8. Идентификация пользователя

9. Сигналы

Представление времени

10

1

Системные вызовы и библиотечные функции

Подведение итогов

Упражнения

Глава 2. Стандарты и реализации UNIX

1. Введение

2. Стандартизация UNIX

2.1. ISO C

2.2. IEEE POSIX

2.3. Single UNIX Specification

2.4. FIPS

3. Реализации UNIX

3.1. UNIX System V Release 4

3.2. 4.4BSD

3.3. FreeBSD

3.4. Linux

3.5. Mac OS X

3.6. Solaris

3.7. Прочие версии UNIX

4. Связь между стандартами и реализациями

5. Ограничения

5.1. Пределы ISO C

5.2. Пределы POSIX

5.3. Пределы XSI

5.4. Функции sysconf, pathconf и fpathconf

5.5. Неопределенные пределы времени выполнения

6. Необязательные параметры

7. Макроопределения проверки особенностей

8. Элементарные системные типы данных

9. Различия между стандартами

Подведение итогов

Упражнения

Глава 3. Файловый ввод/вывод

1. Введение

2. Дескрипторы файлов

3. Функции open и openat

4. Функция creat

5. Функция close

6. Функция lseek

7. Функция read

8. Функция write

9. Эффективность операций ввода/вывода

113

Совместное использование файлов

Атомарные операции

Функции dup и dup2

Функции sync, fsync и fdatasync

Функция fcntl

Функция ioctl

/dev/fd

Подведение итогов

Упражнения

Глава 4. Файлы и каталоги

1. Введение

2. Функции stat, fstat и lstat

3. Типы файлов

4. set-user-ID и set-group-ID

5. Права доступа к файлу

6. Принадлежность новых файлов и каталогов

7. Функции access и faccessat

8. Функция umask

9. Функции chmod, fchmod и fchmodat

Бит sticky

Функции chown, fchown, fchownat и lchown

Размер файла

Усечение файлов

Файловые системы

Функции link, linkat, unlink, unlinkat и remove

Функции rename и renameat

Символические ссылки

Создание и чтение символических ссылок

Временные характеристики файлов

Функции futimens, utimensat и utimes

Функции mkdir, mkdirat и rmdir

Чтение каталогов

Функции chdir, fchdir и getcwd

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

Коротко о битах прав доступа к файлам

Подведение итогов

Упражнения

Глава 5. Стандартная библиотека ввода/вывода

1. Введение

2. Потоки и объекты FILE

3. Стандартные потоки ввода, вывода и сообщений об ошибках

12

5.4. Буферизация

5. Открытие потока

6. Чтение из потока и запись в поток

7. Построчный ввод/вывод

8. Эффективность стандартных функций ввода/вывода

9. Ввод/вывод двоичных данных

Позиционирование в потоке

Форматированный ввод/вывод

Подробности реализации

Временные файлы

Потоки ввода/вывода в памяти

Альтернативы стандартной библиотеке ввода/вывода

Подведение итогов

Упражнения

Глава 6. Информация о системе и файлы данных

1. Введение

2. Файл паролей

3. Теневые пароли

4. Файл групп

5. Идентификаторы дополнительных групп

6. Различия реализаций

7. Прочие файлы данных

8. Учет входов в систему

9. Информация о системе

Функции даты и времени

Подведение итогов

Упражнения

Глава 7. Окружение процесса

1. Введение

2. Функция main

3. Завершение работы процесса

4. Аргументы командной строки

5. Список переменных окружения

6. Организация памяти программы на языке C

7. Разделяемые библиотеки

8. Распределение памяти

9. Переменные окружения

Функции setjmp и longjmp

Функции getrlimit и setrlimit

Подведение итогов

Упражнения

13Глава 8. Управление процессами

1. Введение

2. Идентификаторы процесса

3. Функция fork

4. Функция vfork

5. Функции exit

6. Функции wait и waitpid

7. Функция waitid

8. Функции wait3 и wait4

9. Гонка за ресурсами

Функции exec

Изменение идентификаторов пользователя и группы

Интерпретируемые файлы

Функция system

Учет использования ресурсов процессами

Идентификация пользователя

Планирование процессов

Временные характеристики процесса

Подведение итогов

Упражнения

Глава 9. Взаимоотношения между процессами

1. Введение

2. Вход с терминала

3. Вход в систему через сетевое соединение

4. Группы процессов

5. Сеансы

6. Управляющий терминал

7. Функции tcgetpgrp, tcsetpgrp и tcgetsid

8. Управление заданиями

9. Выполнение программ командной оболочкой

Осиротевшие группы процессов

Реализация в FreeBSD

Подведение итогов

Упражнения

Глава 10. Сигналы

1. Введение

2. Концепция сигналов

3. Функция signal

4. Ненадежные сигналы

5. Прерванные системные вызовы

14

10.6. Реентерабельные функции

7. Семантика сигнала SIGCLD

8. Надежные сигналы. Терминология и семантика

9. Функции kill и raise

Функции alarm и pause

Наборы сигналов

Функция sigprocmask

Функция sigpending

Функция sigaction

Функции sigsetjmp и siglongjmp

Функция sigsuspend

Функция abort

Функция system

Функции sleep, nanosleep и clock_nanosleep

Функция sigqueue

Сигналы управления заданиями

Имена и номера сигналов

Подведение итогов

Упражнения

Глава 11. Потоки

1. Введение

2. Понятие потоков

3. Идентификация потоков

4. Создание потока

5. Завершение потока

6. Синхронизация потоков

6.1. Мьютексы

6.2. Предотвращение тупиковых ситуаций

6.3. Функция pthread_mutex_timedlock

6.4. Блокировки чтения-записи

6.5. Блокировки чтения-записи с тайм-аутом

6.6. Переменные состояния

6.7. Циклические блокировки

6.8. Барьеры

7. Подведение итогов

Упражнения

Глава 12. Управление потоками

1. Введение

2. Пределы для потоков

3. Атрибуты потока

1512.4. Атрибуты синхронизации

4.1. Атрибуты мьютексов

4.2. Атрибуты блокировок чтения-записи

4.3. Атрибуты переменных состояния

4.4. Атрибуты барьеров

5. Реентерабельность

6. Локальные данные потоков

7. Принудительное завершение потоков

8. Потоки и сигналы

9. Потоки и fork

Потоки и операции ввода/вывода

Подведение итогов

Упражнения

Глава 13. Процессы-демоны

1. Введение

2. Характеристики демонов

3. Правила программирования демонов

4. Журналирование ошибок

5. Демоны в единственном экземпляре

6. Соглашения для демонов

7. Модель клиент-сервер

8. Подведение итогов

Упражнения

Глава 14. Расширенные операции ввода/вывода

1. Введение

2. Неблокирующий ввод/вывод

3. Блокировка записей

4. Мультиплексирование ввода/вывода

4.1. Функции select и pselect

4.2. Функция poll

5. Асинхронный ввод/вывод

5.1. Асинхронный вывод в System V

5.2. Асинхронный ввод/вывод в BSD

5.3. Асинхронный ввод/вывод в POSIX

6. Функции readv и writev

7. Функции readn и writen

8. Операции ввода/вывода с отображаемой памятью

9. Подведение итогов

Упражнения

16

Глава 15. Межпроцессные взаимодействия

1. Введение

2. Неименованные каналы

3. Функции popen и pclose

4. Сопроцессы

5. FIFO

6. XSI IPC

6.1. Идентификаторы и ключи

6.2. Структура прав доступа

6.3. Конфигурируемые пределы

6.4. Преимущества и недостатки

7. Очереди сообщений

8. Семафоры

9. Разделяемая память

Семафоры POSIX

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

Подведение итогов

Упражнения

Глава 16. Межпроцессные взаимодействия в сети: сокеты

1. Введение

2. Дескрипторы сокетов

3. Адресация

3.1. Порядок байтов

3.2. Форматы адресов

3.3. Определение адреса

3.4. Присваивание адресов сокетам

4. Установка соединения

5. Передача данных

6. Параметры сокетов

7. Экстренные данные

8. Неблокирующий и асинхронный ввод/вывод

9. Подведение итогов

Упражнения

Глава 17. Расширенные возможности IPC

1. Введение

2. Сокеты домена UNIX

3. Уникальные соединения

4. Передача дескрипторов файлов

5. Сервер открытия файлов, версия 1

1717.6. Сервер открытия файлов, версия 2

7. Подведение итогов

Упражнения

Глава 18. Терминальный ввод/вывод

1. Введение

2. Обзор

3. Специальные символы ввода

4. Получение и изменение характеристик терминала

5. Флаги режимов терминала

6. Команда stty

7. Функции для работы со скоростью передачи

8. Функции управления линией связи

9. Идентификация терминала

Канонический режим

Неканонический режим

Размер окна терминала

termcap, terminfo и curses

Подведение итогов

Упражнения

Глава 19. Псевдотерминалы

1. Введение

2. Обзор

3. Открытие устройств псевдотерминалов

4. Функция pty_fork

5. Программа pty

6. Использование программы pty

7. Дополнительные возможности

8. Подведение итогов

Упражнения

Глава 20. Библиотека базы данных

1. Введение

2. Предыстория

3. Библиотека

4. Обзор реализации

5. Централизация или децентрализация?

6. Одновременный доступ

7. Сборка библиотеки

8. Исходный код

9. Производительность

18

20

Подведение итогов

Упражнения

Глава 21. Взаимодействие с сетевым принтером

1. Введение

2. Протокол печати через Интернет

3. Протокол передачи гипертекста

4. Очередь печати

5. Исходный код

6. Подведение итогов

Упражнения

Приложение А. Прототипы функций

www.piter.comПриложение В. Различные исходные тексты

www.piter.comПриложение С. Варианты решения некоторых упражнений

www.piter.comПриложения к книге доступны по ссылке: https://goo.gl/AoCBfd.От издательстваВаши замечания, предложения, вопросы отправляйте по адресу comp@piter.com (издательство «Питер», компьютерная редакция).Мы будем рады узнать ваше мнение!На веб-сайте издательства www.piter.com вы найдете подробную информацию о на-ших книгах.Приложения к книге доступны по ссылке: https://goo.gl/AoCBfd.

Также вы можете оставить вопрос или отзыв о книге: UNIX. Профессиональное программирование. 3-е изд., Стивенс У. Р.

Отзывы

Отзывов пока нет.

Будьте первым, кто оставил отзыв на “UNIX. Профессиональное программирование. 3-е изд., Стивенс У. Р.”

Ваш e-mail не будет опубликован. Обязательные поля помечены *