Новая книга

Вопросы, связанные с работой сайта и форума. Замечания и пожелания.

Модератор: Модераторы

Сообщение STAKANOV » 26.09.2005 22:37:57

Sergey.Semerikov@f7.n4642.z2.fidonet.org:
Salve, All!

В следующих письмах - текстовый вариант сабжа по системному
программированию в Linux/BSD с использованием Free Pascal (версия 1.06).
Замечания, исправления и желающие создать HTML-вариант для размещения на своих
Web-ресурсах приветствуются в нетмэйле.


Vale!
Sergey

.... Стремитесь к простоте настолько, насколько это возможно, но не более того

Salve, All!


А.П. Полищук, С.А. Семериков


Системное программирование в UNIX
средствами Free Pascal

Содержание

Предисловие
О книге
Hазначение этой книги
Спецификация Х/Open
Структура книги
Что вы должны знать
Соглашения

Глава 1. Основные понятия и терминология
1.1. Файл
1.1.1. Каталоги и пути
1.1.2. Владелец файла и права доступа
1.1.3. Обобщение концепции файла
1.2. Процесс
1.2.1. Межпроцессное взаимодействие
1.3. Системные вызовы и библиотечные подпрограммы

Глава 2. Файл
2.1. Примитивы доступа к файлам в системе UNIX
2.1.1. Введение
2.1.2. Системный вызов fdopen
2.1.3. Создание файла при помощи вызова fdopen
2.1.4. Системный вызов fdcreat
2.1.5. Системный вызов fdclose
2.1.6. Системный вызов fdread
2.1.7. Системный вызов fdwrite
2.1.8. Пример copyfile
2.1.9. Эффективность вызовов fdread и fdwrite
2.1.10. Вызов fdseek и произвольный доступ
2.1.11. Пример: гостиница
2.1.12. Дописывание данных в конец файла
2.1.13. Удаление файла
2.1.14. Системный вызов fcntl
2.2. Стандартный ввод, стандартный вывод и стандартный вывод диагностики
2.2.1. Основные понятия
2.2.2. Программа io
2.2.3. Использование стандартного вывода диагностики
2.3. Стандартная библиотека ввода/вывода: взгляд в будущее
2.4. Системные вызовы и переменная linuxerror
2.4.7. Подпрограмма perror

Глава 3. Работа с файлами
3.1. Файлы в многопользовательской среде
3.1.1. Пользователи и права доступа
3.1.2. Права доступа и режимы файлов
3.1.3. Дополнительные права доступа для исполняемых файлов
3.1.4. Маска создания файла и системный вызов umask
3.1.5. Вызов fdopen и права доступа к файлу
3.1.6. Определение доступности файла при помощи вызова access
3.1.7. Изменение прав доступа при помощи вызова chmod
3.1.8. Изменение владельца при помощи вызова chown
3.2. Файлы с несколькими именами
3.2.1. Системный вызов link
3.2.2. Системный вызов unlink
3.2.3. Системный вызов frename
3.2.4. Символьные ссылки
3.2.5. Еще об именах файлов
3.3. Получение информации о файле: вызов fstat
3.3.1. Подробнее о вызове chmod

Глава 4. Каталоги, файловые системы и специальные файлы
4.1. Введение
4.2. Каталоги с точки зрения пользователя
4.3. Реализация каталогов
4.3.1. Снова о системных вызовах link и unlink
4.3.2. Точка и двойная точка
4.3.3. Права доступа к каталогам
4.4. Использование каталогов при программировании
4.4.1. Создание и удаление каталогов
4.4.2. Открытие и закрытие каталогов
4.4.3. Чтение каталогов: вызовы readdir и rewinddir
4.4.4. Текущий рабочий каталог
4.4.5. Смена рабочего каталога при помощи вызова chdir
4.4.6. Определение имени текущего рабочего каталога
4.4.7. Обход дерева каталогов
4.5. Файловые системы UNIX
4.5.1. Кэширование: вызовы sync и fsync
4.6. Имена устройств UNIX
4.6.1. Файлы блочных и символьных устройств
4.6.2. Структура tstat
4.6.3. Информация о файловой системе
4.6.4. Ограничения файловой системы: процедуры pathconf и fpathconf

Глава 5. Процесс
5.1. Понятие процесса
5.2. Создание процессов
5.2.1. Системный вызов fork
5.3. Запуск новых программ при помощи вызова ехес
5.3.1. Семейство вызовов ехес
5.3.2. Доступ к аргументам, передаваемым при вызове exec
5.4. Совместное использование вызовов ехес и fork
5.5. Hаследование данных и дескрипторы файлов
5.5.1. Вызов fork, файлы и данные
5.5.2. Вызов ехес и открытые файлы
5.6. Завершение процессов при помощи системного вызова halt
5.7. Синхронизация процессов
5.7.1. Системный вызов wait
5.7.2. Ожидание завершения определенного потомка: вызов waitpid
5.8. Зомби-процессы и преждевременное завершение программы
5.9. Командный интерпретатор smallsh
5.10. Атрибуты процесса
5.10.1. Идентификатор процесса
5.10.2. Группы процессов и идентификаторы группы процессов
5.10.3. Изменение группы процесса
5.10.4. Сеансы и идентификатор сеанса
5.10.5. Переменные программного окружения
5.10.6. Текущий рабочий каталог
5.10.7. Текущий корневой каталог
5.10.8. Идентификаторы пользователя и группы
5.10.9. Ограничения на размер файла: вызов ulimit
5.10.10. Приоритеты процессов

Глава 6. Сигналы и их обработка
6.1. Введение
6.1.1. Имена сигналов
6.1.2. Hормальное и аварийное завершение
6.2. Обработка сигналов
6.2.1. Hаборы сигналов
6.2.2. Задание обработчика сигналов: вызов sigaction
6.2.3. Сигналы и системные вызовы
6.2.4. Процедуры sigsetjmp и siglongjmp
6.3. Блокирование сигналов
6.4. Посылка сигналов
6.4.1. Посылка сигналов другим процессам: вызов kill
6.4.2. Посылка сигналов самому процессу: вызовы sigraise и alarm
6.4.3. Системный вызов pause
6.4.4. Системные вызовы sigpending и sigsuspend

Глава 7. Межпроцессное взаимодействие при помощи программных каналов
7.1. Каналы
7.1.1. Каналы на уровне команд
7.1.2. Использование каналов в программе
7.1.3. Размер канала
7.1.4. Закрытие каналов
7.1.5. Запись и чтение без блокирования
7.1.6. Использование системного вызова select для работы с несколькими каналами
7.1.7. Каналы и системный вызов ехес
7.2. Именованные каналы, или FIFO
7.2.1. Программирование при помощи каналов FIFO

Глава 8. Дополнительные методы межпроцессного взаимодействия
8.1. Введение
8.2. Блокировка записей
8.2.1. Мотивация
8.2.2. Блокировка записей при помощи вызова fcntl
8.3. Дополнительные средства межпроцессного взаимодействия
8.3.1. Введение и основные понятия
8.3.2. Очереди сообщений
8.3.3. Семафоры
8.3.4. Разделяемая память
8.3.5. Команды ipcs и ipcrm

Глава 9. Терминал
9.1. Введение
9.2. Терминал UNIX
9.2.1. Управляющий терминал
9.2.2. Передача данных
9.2.3. Эхо-отображение вводимых символов и опережающий ввод с клавиатуры
9.2.4. Канонический режим, редактирование строки и специальные символы
9.3. Взгляд с точки зрения программы
9.3.1. Системный вызов fdopen
9.3.2. Системный вызов fdread
9.3.3. Системный вызов fdwrite
9.3.4. Функции ttyname и isatty
9.3.5. Изменение свойств терминала: структура termios
9.3.6. Параметры MIN и TIME
9.3.7. Другие системные вызовы для работы с терминалом
9.3.8. Сигнал разрыва соединения
9.4. Псевдотерминалы
9.5. Пример управления терминалом: программа tscript

Глава 10.Сокеты
10.1. Введение
10.2. Типы соединения
10.3. Адресация
10.3.1. Адресация Internet
10.3.2. Порты
10.4. Интерфейс сокетов
10.4.1. Создание сокета
10.5. Программирование в режиме TCP-соединения
10.5.1. Связывание
10.5.2. Включение приема TCP-соединений
10.5.3. Прием запроса на установку TCP-соединения
10.5.4. Подключение клиента
10.5.5. Пересылка данных
10.5.6. Закрытие TCP-соединения
10.6. Программирование в режиме пересылок UDP-дейтаграмм
10.6.1. Прием и передача UDP-сообщений
10.7. Различия между двумя моделями

Глава 11. Стандартная библиотека ввода/вывода
11.1. Введение
11.2. Структура TFILE
11.3. Открытие и закрытие потоков: процедуры fopen и fclose
11.4. Посимвольный ввод/вывод: процедуры getc и putc
11.5. Возврат символов в поток: процедура ungetc
11.6. Стандартный ввод, стандартный вывод и стандартный вывод диагностики
11.7. Стандартные процедуры опроса состояния
11.8. Построчный ввод и вывод
11.9. Ввод и вывод бинарных данных: процедуры fread и fwrite
11.10. Произвольный доступ к файлу: процедуры fseek, rewind и ftell
11.11. Форматированный вывод: семейство процедур printf
11.12. Форматированный ввод: семейство процедур scanf
11.13. Запуск программ при помощи библиотек стандартного ввода/вывода
11.14. Вспомогательные процедуры
11.14.1. Процедуры freopen и fdopen
11.14.2. Управление буфером: процедуры setbuf и setvbuf

Глава 12. Разные дополнительные системные вызовы и библиотечные процедуры
12.1. Введение
12.2. Управление динамическим распределением памяти
12.3. Ввод/вывод с отображением в память и работа с памятью
12.4. Время
12.5. Работа со строками и символами
12.5.1. Семейство процедур strings
12.5.2. Преобразование строк в числовые значения
12.5.3. Проверка и преобразование символов
12.6. Дополнительные средства
12.6.1. Дополнение о сокетах
12.6.2. Потоки управления
12.6.3. Расширения режима реального времени
12.6.4. Получение параметров локальной системы
12.6.5. Интернационализация
12.6.6. Математические функции
12.6.7. Работа с портами ввода вывода

Глава 13. Задачи с решениями
13.1. Введение
13.2. Обработка текста
13.3. Бинарные файлы
13.4. Каталоги
13.5. Файловые системы
13.6. Файловая система proc
13.7. Управление файлами
13.8. Управление процессами
13.9. Программные каналы
13.10. Управление терминалом
13.11. Дата и время
13.12. Генератор лексических анализаторов lex

Приложение 1. Коды ошибок переменной linuxerror и связанные с ними сообщения
Введение
Список кодов и сообщений об ошибках

Приложение 2. История UNIX
Основные стандарты

Приложение 3. Модуль stdio

Приложение 4. Замечания о компиляции во Free Pascal 2.0

Литература


Vale!
Sergey

.... У лисы множество уловок, а у ежа всего одна, зато какая эффективная!
Аватара пользователя
STAKANOV
энтузиаст
 
Сообщения: 1069
Зарегистрирован: 14.05.2006 21:26:24
Откуда: Зеленоград

Сообщение ev » 26.09.2005 22:49:09

книга уже есть в наличии, сейчас переводится в HTML и скоро будет доступна на сайте :)
если есть желающие кропотливо и нудно поработать - стучитесь мне в аську и на мыло...
ev
долгожитель
 
Сообщения: 1763
Зарегистрирован: 27.04.2005 23:19:06
Откуда: Москва

Сообщение Dmitry » 29.09.2005 16:34:47

ev писал(а): книга уже есть в наличии, сейчас переводится в HTML и скоро будет доступна на сайте :)
если есть желающие кропотливо и нудно поработать - стучитесь мне в аську и на мыло...

У меня есть e-mail адрес Сергея Семерикова. Только он его смотрит раз в пятилетку. Попробую попросить электронный вариант книги.
Dmitry
новенький
 
Сообщения: 52
Зарегистрирован: 05.07.2005 08:53:06

Сообщение ev » 29.09.2005 17:11:42

книга есть в электронном формате - DOC (word)
задача - перевести в HTML для удобного отображения на сайте
ev
долгожитель
 
Сообщения: 1763
Зарегистрирован: 27.04.2005 23:19:06
Откуда: Москва

Сообщение Alexander » 30.09.2005 17:18:27

Хорошая, похоже, книжка. А в чём сложность при переводе в HTML из DOC ?
И нельзя ли сразу выложить её в DOC е ? ;)
Alexander
 

Сообщение Alexander » 02.10.2005 16:55:46

И куда стучатся то ?
Alexander
 

Сообщение ev » 02.10.2005 17:39:53

архив книги выложен для скачки (формат DOC)
стучаться можно по любым <a href='http://freepascal.ru/about/' target='_blank'>контактам</a> (я - Евгений ;) )
ev
долгожитель
 
Сообщения: 1763
Зарегистрирован: 27.04.2005 23:19:06
Откуда: Москва


Вернуться в Обсуждение сайта

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9

Рейтинг@Mail.ru