| От редактора перевода | 5 |
| Предисловие | 7 |
| |
| 1. ВВЕДЕНИЕ | 9 |
| |
| 1.1. Коммерческие расчёты и вычислительные машины | 9 |
| 1.2. Нормальная форма Бэкуса (БНФ) | 10 |
| 1.3. Файлы | 11 |
| 1.4. Хранение файлов | 12 |
| |
| 2. СТРУКТУРА ФАЙЛОВ | 13 |
| |
| 2.1. Абстрактные файлы | 13 |
| 2.2. Записи разных типов | 13 |
| 2.3. Простые и групповые элементы | 15 |
| 2.4. Фиксированная и переменная длина элементов | 17 |
| 2.5. Инвертированные файлы | 21 |
| 2.6. Иерархическая и ассоциативная структуры файлов | 23 |
| |
| 3. ХАРАКТЕРИСТИКА ЗАПОМИНАЮЩИХ УСТРОЙСТВ | 26 |
| |
| 3.1. Устройства, ёмкость и связи | 26 |
| 3.2. Магнитные ленты | 27 |
| 3.3. Магнитные барабаны | 30 |
| 3.4. Магнитные диски | 31 |
| 3.5. Перфоленты | 33 |
| 3.6. Перфокарты | 34 |
| 3.7. Дисплей | 34 |
| 3.8. Файлы на магнитных картах | 35 |
| 3.9. Большая ферритовая память | 37 |
| 3.10. Строчные печатающие устройства | 38 |
| 3.11. Перспективы на будущее | 39 |
| |
| 4. ОБРАБОТКА ФАЙЛОВ | 41 |
| |
| 4.1. Каталоги файлов | 41 |
| 4.2. Открытие и закрытие файлов | 42 |
| 4.3. Запись и считывание последовательных записей | 44 |
| 4.4. Запись и считывание записей с устройств с прямым доступом | 45 |
| 4.5. Файлы без меток | 54 |
| 4.6. Некоторые другие возможности | 55 |
| |
| 5. ПРЕДСТАВЛЕНИЕ ИНФОРМАЦИИ | 57 |
| |
| 5.1. Набор символов и кодирование | 57 |
| 5.2. Машинно-зависимое представление | 58 |
| 5.3. Кодирование при передаче данных | 59 |
| 5.4. Программирование преобразований | 60 |
| 5.5. Звуковые коды | 62 |
| 5.6. Обработка числовых данных | 63 |
| 5.7. Кодирование текстов | 63 |
| |
| 6. СОЗДАНИЕ ФАЙЛОВ | 65 |
| |
| 6.1. Ручные записи | 65 |
| 6.2. Контрольные цифры | 66 |
| 6.3. Последствия от перевода файлов на машинную обработку | 69 |
| |
| 7. СОРТИРОВКА ЗАПИСЕЙ | 70 |
| |
| 7.1. Сортировка и последовательные файлы | 70 |
| 7.2. Последовательная пакетная обработка | 71 |
| 7.3. Составление отчёта | 72 |
| 7.4. Ключи | 72 |
| 7.5. Сортировка информации на магнитной ленте | 74 |
| 7.6. Внутренняя сортировка | 75 |
| |
| 8. РАССМОТРЕНИЕ СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ | 79 |
| |
| 8.1. Сравнение работы в реальном времени с пакетной обработкой | 79 |
| 8.2. Проблема обновления | 82 |
| 8.3. Тупиковая ситуация | 83 |
| 8.4. Защита в системах реального времени | 84 |
| 8.5. Очереди | 85 |
| |
| 9. ОБЕСПЕЧЕНИЕ БЕЗОПАСНОСТИ ФАЙЛОВ | 87 |
| |
| 9.1. Безопасность и пользователь | 87 |
| 9.2. Потеря информации — присоединённая память | 87 |
| 9.3. Потеря информации — отсоединённая память | 89 |
| 9.4. Системы поколений | 89 |
| 9.5. Износ | 90 |
| 9.6. Ревизия | 91 |
| 9.7. Контроль качества | 94 |
| 9.8. Конфиденциальность | 94 |
| |
| 10. СОСТАВЛЕНИЕ ПРОГРАММ ОБРАБОТКИ ФАЙЛОВ | 96 |
| |
| 10.1. Подготовка программ | 96 |
| 10.2. Составление блок-схемы программы | 97 |
| 10.3. Меры предосторожности при программировании | 98 |
| 10.4. Модульное программирование | 100 |
| 10.5. Программирование с линией балансировки | 102 |
| 10.6. Программирование при помощи таблиц решений | 104 |
| 10.7. Модель преобразования состояний | 107 |
| |
| 11. ПРОВЕРКА ПРОГРАММ, ИСПОЛЬЗУЮЩИХ ФАЙЛЫ | 110 |
| |
| 11.1. Отладка программ обработки файлов | 110 |
| 11.2. Программа как «чёрный ящик» | 110 |
| 11.З. Моментальные снимки | 112 |
| 11.4. Подпрограммы «посмертной выдачи» | 112 |
| 11.5. Подпрограммы типа «прокрутка» | 112 |
| 11.6. Средства подготовки данных для теста | 113 |
| 11.7. Специальные стратегии для программ обработки файлов | 113 |
| 11.8. Ошибки в готовых программах | 115 |
| |
| 12. ЯЗЫКИ И ПАКЕТЫ ПРОГРАММ | 117 |
| |
| 12.1. Автокоды и КОБОЛ | 117 |
| 12.2. Перепрограммирование | 118 |
| 12.3. Язык PL/1 и соображения сбыта | 119 |
| 12.4. Пакеты программ обработки файлов | 120 |
| |
| 13. ФАЙЛЫ ДЛЯ ИНФОРМАЦИОННОГО ПОИСКА | 122 |
| |
| 13.1. Файлы для информационного поиска | 122 |
| 13.2. Идентифицирующая информация | 123 |
| 13.3. Указатели KWIC и KWOC | 125 |
| |
| 14. ДОКУМЕНТАЦИЯ ФАЙЛОВ | 127 |
| |
| 14.1. Файлы и программы | 127 |
| 14.2. Конструктивная документация | 127 |
| 14.3. Ретроспективная документация | 130 |
| 14.4. Проверенные и рассортированные файлы | 131 |
| |
| 15. ТЕОРИЯ ФАЙЛОВ | 132 |
| |
| 15.1. Теория и практика | 132 |
| 15.2. Матричная нотация для файлов | 133 |
| 15.3. Применение векторов для проверки записей | 134 |
| 15.4. Самоопределяющиеся файлы | 134 |
| 15.5. Взаимоотношения между данными, файлами и функциями | 134 |
| |
| СПИСОК ЛИТЕРАТУРЫ | 136 |