چه کسانی این کتاب را می‌خوانند

دانشجوعلاقه‌مند یادگیری
کتابخوان حرفه‌ایلذت مطالعه
نویسندهالهام‌گیری

Программирование в Linux. Самоучитель. 2 изд

Иванов, Николай Николаевич

قیمت نهایی

۴۴٬۰۰۰ تومان۴۹٬۰۰۰ تومان۱۰٪ تخفیف
  • تخفیف زمان‌دار−۵٬۰۰۰ تومان

۵٬۰۰۰ تومان صرفه‌جویی نسبت به قیمت اصلی

نسخه اصلی و اورجینال

بلافاصله پس از خرید، فایل کتاب روی دستگاه شما آمادهٔ دانلود است.

تحویل فوری
پرداخت امن
ضمانت فایل
پشتیبانی

مشخصات کتاب

سال انتشار
۲۰۱۲
فرمت
PDF
زبان
روسی
حجم فایل
۱۱ مگابایت
شابک
9785977507448، 5977507445

دربارهٔ کتاب

Рассмотрены фундаментальные основы программирования в Linux: инструментарий, низкоуровневый ввод-вывод, многозадачность, файловая система, межпроцессное взаимодействие и обработка ошибок. Книга главным образом ориентирована на практическое применение изложенных концепций. В ней есть все, что нужно начинающим, а углубленное изучение каждой темы делает ее ценной и для опытных программистов. Каждая тема проиллюстрирована большим числом примеров на языках С и С++ и Python, которые читатель сможет использовать в качестве образцов для собственных программ. На FTP-сервере издательства находятся исходные тексты программ. Во втором издании материал актуализирован с учетом современных тенденций, добавлены 3 новые главы по программированию в Linux на языке Python, устранены замеченные ошибки. Оглавление Введение Предисловие Условные обозначения Примеры программ Благодарности Обратная связь часть I Основы программирования в Linux Глава 1. Создание программы 1.1. Исходный код 1.2. Компиляция 1.3. Компоновка 1.4. Многофайловые проекты Глава 2 . Автосборка 2.1. Обзор средств автосборки в Linux 2.2. Утилита make 2.3. Базовый синтаксис Makefile 2.4. Константы make 2.5. Рекурсивный вызов make 2.6. Получение дополнительной информации Глава 3 . Окружение 3.1. Понятие окружения 3.2. Чтение окружения: environ, getenv() 3.3. Модификация окружения: setenv(), putenv(), unsetenv() 3.4. Очистка окружения Глава 4 . Библиотеки 4.1. Библиотеки и заголовочные файлы 4.2. Подключение библиотек 4.3. Создание статических библиотек 4.4. Создание совместно используемых библиотек 4.5. Взаимодействие библиотек Глава 5 . Аргументы и опции программы 5.1. Аргументы программы 5.2. Использование опций 5.3. Использование длинных опций 5.4. Получение дополнительной информации часть II Низкоуровневый ввод-вывод в Linux Глава 6 . Концепция ввода-вывода в Linux 6.1. Библиотечные механизмы ввода-вывода языка C 6.2. Концепция низкоуровневого ввода-вывода 6.3. Консольный ввод-вывод 6.4. Ввод-вывод в C++ Глава 7 . Базовые операции ввода-вывода 7.1. Создание файла: creat() 7.2. Открытие файла: open() 7.3. Закрытие файла: close() 7.4. Чтение файла: read() 7.5. Запись файла: write() 7.6. Произвольный доступ: lseek() Глава 8 . Расширенные возможности ввода-вывода в Linux 8.1. Взаимодействие с библиотечными механизмами 8.2. Векторное чтение: readv() 8.3. Векторная запись: writev() 8.4. Концепция "черных дыр" часть III Многозадачность Глава 9 . Основы многозадачности в Linux 9.1. Библиотечный подход: system() 9.2. Процессы в Linux 9.3. Дерево процессов 9.4. Получение информации о процессе Глава 10 . Базовая многозадачность 10.1. Концепция развилки: fork() 10.2. Передача управления: execve() 10.3. Семейство exec() 10.4. Ожидание процесса: wait() Глава 11 . Потоки 11.1. Концепция потоков в Linux 11.2. Создание потока: pthread_create() 11.3. Завершение потока: pthread_exit() 11.4. Ожидание потока: pthread_join() 11.5. Получение информации о потоке: pthread_self(), pthread_equal() 11.6. Отмена потока: pthread_cancel() 11.7. Получение дополнительной информации Глава 12 . Расширенная многозадачность 12.1. Уступчивость процесса: nice() 12.2. Семейство wait() 12.3. Зомби часть IV Файловая система Глава 13 . Обзор файловой системы в Linux 13.1. Аксиоматика файловой системы в Linux 13.2. Типы файлов 13.3. Права доступа 13.4. Служебные файловые системы 13.5. Устройства 13.6. Монтирование файловых систем Глава 14 . Чтение информации о файловой системе 14.1. Семейство statvfs() 14.2. Текущий каталог: getcwd() 14.3. Получение дополнительной информации Глава 15 . Чтение каталогов 15.1. Смена текущего каталога: chdir() 15.2. Открытие и закрытие каталога: opendir(), closedir() 15.3. Чтение каталога: readdir() 15.4. Повторное чтение каталога: rewinddir() 15.5. Получение данных о файлах: семейство stat() 15.6. Чтение ссылок: readlink() Глава 16 . Операции над файлами 16.1. Удаление файла: unlink() 16.2. Перемещение файла: rename() 16.3. Создание ссылок: link() 16.4. Создание каталога: mkdir() 16.5. Удаление каталога: rmdir() Глава 17 . Права доступа 17.1. Смена владельца: chown() 17.2. Смена прав доступа: семейство chmod() Глава 18 . Временные файлы 18.1. Концепция использования временных файлов 18.2. Создание временного файла: mkstemp() 18.3. Закрытие и удаление временного файла часть V Межпроцессное взаимодействие Глава 19 . Обзор методов межпроцессного взаимодействия в Linux 19.1. Общие сведения о межпроцессном взаимодействии в Linux 19.2. Локальные методы межпроцессного взаимодействия 19.3. Удаленное межпроцессное взаимодействие Глава 20 . Сигналы 20.1. Понятие сигнала в Linux 20.2. Отправка сигнала: kill() 20.3. Обработка сигнала: sigaction() 20.4. Сигналы и многозадачность 20.5. Получение дополнительной информации Глава 21 . Использование общей памяти 21.1. Выделение памяти: shmget() 21.2. Активизация совместного доступа: shmat() 21.3. Отключение совместного доступа: shmdt() 21.4. Контроль использования памяти: shmctl() 21.5. Использование семафоров 21.6. Контроль за семафорами: semctl() Глава 22 . Использование общих файлов 22.1. Размещение файла в памяти: mmap() 22.2. Освобождение памяти: munmap() 22.3. Синхронизация: msync() Глава 23 . Каналы 23.1. Создание канала: pipe() 23.2. Перенаправление ввода-вывода: dup2() 23.3. Получение дополнительной информации Глава 24 . Именованные каналы FIFO 24.1. Создание именованного канала 24.2. Чтение, запись и закрытие FIFO Глава 25 . Сокеты 25.1. Типы сокетов 25.2. Создание и удаление сокетов 25.3. Назначение адреса: bind() 25.4. Соединение сокетов: connect() 25.5. Прослушивание сокета: listen() 25.6. Принятие запроса на подключение: accept() 25.7. Прием и передача данных через сокеты 25.8. Получение дополнительной информации часть VI Работа над ошибками и отладка Глава 26 . Выявление и обработка ошибок 26.1. Типы ошибок 26.2. Сообщения об ошибках 26.3. Макрос assert() Глава 27 . Ошибки системных вызовов 27.1. Чтение ошибки: errno 27.2. Сообщение об ошибке: strerror(), perror() Глава 28 . Использование отладчика gdb 28.1. Добавление отладочной информации 28.2. Запуск отладчика 28.3. Трансляция программы под отладчиком 28.4. Точки останова 28.5. Получение дополнительной информации часть VII Программирование в Linux на языке Python Глава 29 . Язык Python 29.1. Несколько слов о языке Python 29.2. Инструментарий 29.3. Первая программа 29.4. Структура программы Глава 30 . Типы данных 30.1. Переменные 30.2. Целые числа 30.3. Числа с плавающей точкой 30.4. Строки 30.5. Списки Глава 31 . Программирование на языке Python 31.1. Логические операции 31.2. Сообщения об ошибках 31.3. Ветвления 31.4. Циклы 31.5. Функции приложения Приложение 1. Именованные константы Приложение 2 . Коды ошибок системных вызовов Приложение 3 . Сигналы Linux Приложение 4 . Примеры программ Предметный указатель

قیمت نهایی

۴۴٬۰۰۰ تومان