Операционная система UNIX. Руководство программиста


Содержание


ПРЕДИСЛОВИЕ
Круг читателей. Необходимые предварительные знания
Организация Руководства
Соглашения
Ссылки
Примеры
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
Предыстория
Предыстория - часть 2
Простая формулировка философии системы UNIX
ИНСТРУМЕНТАРИЙ ОС UNIX. ГДЕ О НЕМ МОЖНО ПРОЧИТАТЬ
Какие инструменты описываются в данном Руководстве
Shell как средство изготовления прототипов
ТРИ ВИДА ПРОГРАММИСТОВ
Программисты-одиночки
Прикладные программисты
Системные программисты
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
ВЫБОР ЯЗЫКА ПРОГРАММИРОВАНИЯ
Поддерживаемые языки программирования
Язык C
Фортран
Паскаль
Ассемблер
Специализированные языки программирования
Awk(1)
Lex(1)
Yacc(1)
M4(1)
Bc(1) и dc(1)
Curses(3X)
КОГДА ПРОГРАММА НАПИСАНА
Компиляция и редактирование связей
Компиляция C-программ
Компиляция Фортран-программ
Диагностические сообщения при компиляции
Редактирование внешних связей
ИНТЕРФЕЙС МЕЖДУ ЯЗЫКОМ ПРОГРАММИРОВАНИЯ И ОС UNIX
Почему для иллюстрации интерфейса используется язык C
Как аргументы передаются в программу
Как аргументы передаются в программу - часть 2
Системные вызовы и библиотечные функции
Классификация системных вызовов и библиотечных функций
Классификация системных вызовов и библиотечных функций - часть 2
Классификация системных вызовов и библиотечных функций - часть 3
Где можно найти справочную информацию
Как системные вызовы и библиотечные функции используются в C-программах
Как системные вызовы и библиотечные функции используются в C-программах - часть 2
Как системные вызовы и библиотечные функции используются в C-программах - часть 3
Включаемые файлы
Библиотеки объектных файлов
Ввод/вывод
Стандартные открытые файлы
Именованные файлы
Именованные файлы - часть 2
Низкоуровневый ввод/вывод и почему не стоит им пользоваться
Управление окружением и получение информации о его состоянии
Процессы
System(3S)
Exec(2)
Fork(2)
Каналы
Обработка ошибок
Сигналы и прерывания
Сигналы и прерывания - часть 2
АНАЛИЗ И ОТЛАДКА ПРОГРАММ
Пример программы
Пример программы - часть 2
Cflow(1)
Ctrace(1)
Ctrace(1) - часть 2
Cxref(1)
Cxref(1) - часть 2
Cxref(1) - часть 3
Lint(1)
Prof(1)
Size(1)
Strip(1)
Sdb(1)
СРЕДСТВА ОРГАНИЗАЦИИ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
Утилита make(1)
Работа с архивами
Работа с архивами - часть 2
Работа с архивами - часть 3
Использование системы SCCS программистами-одиночками
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
ТЕРМИНОЛОГИЯ
БЛОКИРОВКА ФАЙЛОВ И СЕГМЕНТОВ
Открытие файлов для блокировки сегментов
Блокировка файлов
Блокировка файлов - часть 2
Блокировка и разблокирование сегментов
Блокировка и разблокирование сегментов - часть 2
Блокировка и разблокирование сегментов - часть 3
Получение информации о блокировке
Получение информации о блокировке - часть 2
Управление тупиковыми ситуациями
ВЫБОР СЛАБОЙ ИЛИ СИЛЬНОЙ БЛОКИРОВКИ
Сильная блокировка. Некоторые предупреждения
Блокировка сегментов и развитие системы UNIX
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
ИСПОЛЬЗОВАНИЕ РАЗДЕЛЯЕМЫХ БИБЛИОТЕК
Что такое разделяемая библиотека?
Разделяемые библиотеки ОС UNIX
Создание выполняемых файлов
Исходный текст программ
Использовать ли разделяемую библиотеку?
Еще об экономии памяти
Как разделяемые библиотеки экономят память?
Как разделяемые библиотеки экономят память? - часть 2
Как ОС UNIX работает с разделяемыми библиотеками?
Как ОС UNIX работает с разделяемыми библиотеками? - часть 2
Как ОС UNIX работает с разделяемыми библиотеками? - часть 3
Как применение разделяемых библиотек может привести к увеличению расхода памяти?
Как узнать, нужны ли выполняемому файлу разделяемые библиотеки?
Отладка процессов, работающих с разделяемыми библиотеками
СОЗДАНИЕ РАЗДЕЛЯЕМОЙ БИБЛИОТЕКИ
Порядок создания
Выбор адресов секций команд и данных
Выбор маршрутного имени разделяемой библиотеки выполнения
Определение содержимого библиотеки
Подготовка исходного текста
Создание файла спецификаций библиотеки
Создание файла спецификаций библиотеки - часть 2
Создание с помощью mkshlib(1) разделяемых библиотек сборки и выполнения
Пример
Пример - часть 2
Пример - часть 3
Рекомендации по разработке исходного текста для разделяемой библиотеки
Какие функции целесообразно включать в библиотеку?
Какие функции целесообразно включать в библиотеку? - часть 2
Подготовка исходного текста для разделяемой библиотеки
Подготовка исходного текста для разделяемой библиотеки - часть 2
Подготовка исходного текста для разделяемой библиотеки - часть 3
Использование импортируемых имен
Использование импортируемых имен - часть 2
Использование импортируемых имен - часть 3
Использование импортируемых имен - часть 4
Обеспечение совместимости с архивной библиотекой
Настройка разделяемой библиотеки
Настройка разделяемой библиотеки - часть 2
Обеспечение совместимости с будущими версиями
Обеспечение совместимости с будущими версиями - часть 2
РЕЗЮМЕ
СОДЕРЖАНИЕ
ПРЕДИСЛОВИЕ
Что такое curses?
Что такое terminfo?
Взаимодействие curses и terminfo
Другие компоненты пакета управления терминалом
ИСПОЛЬЗОВАНИЕ ПОДПРОГРАММ ПАКЕТА CURSES
Что нужно программе для работы с curses
Файл <curses.h>
Подпрограммы initscr( ), refresh( ) и endwin( )
Компиляция программы, которая использует curses
Выполнение программы, которая использует curses



Начало    



Книжный магазин