
- •Министерство образования и науки Российской Федерации
- •Цель лекции
- •План лекции
- •1 Происхождение вычислительных машин
- •2 Изучение алгоритмов
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Биты и их хранение
- •2 Оперативная память
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Устройства внешней памяти
- •3 Хранение и поиск файлов
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Представление числовых значений
- •2 Хранение целых чисел
- •3 Хранение дробей
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Представление текста
- •2 Представление изображений
- •Достоинства пиксельной графики
- •Недостатки пиксельной графики
- •Достоинства векторной графики
- •Недостатки векторной графики
- •3 Представление звука
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Сжатие изображений
- •2 Ошибки передачи данных
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Архитектура эвм
- •2 Связь процессора с другими устройствами
- •3 Другие архитектуры
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Машинный язык
- •2 Пример машинного языка
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Выполнение программы
- •2 Пример выполнения программы
- •3 Программы и данные
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Логические операции
- •2 Операции сдвига
- •3 Арифметические операции
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Эволюция операционных систем
- •2 Архитектура операционных систем
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Понятие процесса
- •2 Управление процессами
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Классификация сетей
- •2 Сетевые протоколы*
- •3 Безопасность сетей
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Понятие алгоритма
- •2 Представление алгоритма
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Теория решения задач
- •2 Общие методы решения задач
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Алгоритм последовательного поиска
- •2 Управление циклами
- •3 Алгоритм сортировки методом вставки
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Алгоритмы поиска и сортировки
- •2 Управление рекурсией
- •3 Разработка рекурсивных процедур
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Эффективность алгоритмов
- •2 Верификация программ
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Эволюция и классификация языков программирования
- •2 Концепции традиционного программирования
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Процедурные единицы
- •2 Реализация языка программирования
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Объектно-ориентированное программирование
- •2 Декларативное программирование
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Структуры данных
- •Integer Scores (2.9).
- •2 Статические и динамические структуры
- •3 Указатели
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Массивы
- •2 Списки
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Структура и функции стека
- •2 Реализация стека
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Очереди
- •2 Деревья
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Пользовательские типы данных
- •Int Age;
- •2 Классы
- •Int *StackEntries;
- •3 Стандартная библиотека шаблонов
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Роль операционной системы
- •2 Последовательные файлы
- •3 Вопросы программирования
- •0000000010000110
- •001100010011001100110100
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Основные положения индексации
- •2 Вопросы программирования
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Основные положения хеширования
- •2 Вопросы программирования
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Общие вопросы
- •2 Система управления базой данных
- •3 Поддержка целостности баз данных
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Модели баз данных
- •2 Реляционная модель баз данных
- •3 Объектно-ориентированные базы данных
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Интеллект и машины
- •2 Распознавание образов
- •3 Мышление
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Искусственные нейронные сети
- •2 Генетические алгоритмы
- •Контрольные вопросы
- •Невычислимые функции Цель лекции
- •План лекции
- •1 Основы машины Тьюринга
- •2 Невычислимая функция
- •3 Сложность задач
- •Листинг 1. Процедура MergeLists для объединения двух упорядоченных списков
- •Листинг 2. Алгоритм сортировки слиянием, реализованный в процедуре MergeSort
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Шифрование с открытым ключом
- •2 Модульная арифметика
- •Контрольные вопросы
- •Литература
- •Internet-ресурсы
3 Хранение и поиск файлов
Информация на носителях запоминающих устройств хранится в файлах (file). Обычный файл может содержать текстовый документ, фотографию, программу или набор данных о сотрудниках компании. Физические свойства накопителей приводят к тому, что файл рассматривается как один многобитовый блок. Например, с каждым сектором магнитного диска следует обращаться как с непрерывной последовательностью битов. Блок данных, соответствующий физическим характеристикам запоминающего устройства, называется физическим блоком (physical record). Таким образом, файл в запоминающем устройстве, как правило, состоит из множества физических блоков данных.
Кроме разделения на физические блоки, файл часто делится на блоки, определяемые представленной в файле информацией. Например, файл, содержащий информацию о сотрудниках компании, будет состоять из набора единиц, каждая из которых представляет сведения об одном сотруднике. Такие естественные блоки данных называются логическими блоками (logical records).
Размер логического блока редко совпадает с размером физического блока данных, обусловленного строением запоминающего устройства.
Рисунок 4 – Логические и физические блоки данных на диске
Наоборот, несколько логических блоков могут находиться внутри одного физического блока или логический блок может быть разделен на два или больше физических блока (рис. 4).
В результате получение данных из запоминающего устройства часто связано с их расшифровкой. Обычно эта проблема решается следующим образом: освобождается область в оперативной памяти компьютера, достаточно большая, чтобы вместить несколько физических блоков, которая и используется для перегруппирования данных, то есть блоки данных, совпадающие с физическими блоками, могут передаваться между этой областью памяти и запоминающим устройством, а данные, хранящиеся в оперативной памяти, можно обрабатывать на основе логических блоков.
Область памяти, которая используется для этого, называется буфером (buffer). Вообще, буфер представляет собой область памяти, которая используется для временного хранения информации, обычно во время процесса передачи данных от одного устройства к другому. Например, современные принтеры имеют собственную оперативную память, большая часть которой используется в качестве буфера для хранения частей документа, которые были переданы принтеру, но еще не напечатаны.
Использование буфера при передаче данных между запоминающим устройством и оперативной памятью компьютера является примером относительной роли устройств хранения информации и оперативной памяти. Оперативная память используется для хранения данных при их обработке, в то время как накопители используются в качестве постоянного хранилища данных. Следовательно, чтобы обновить данные, находящиеся на устройстве хранения информации, нужно сначала передать их в оперативную память, обновить, а затем передать уже обновленными обратно запоминающему устройству.
В итоге оперативная память, магнитные диски, компакт-диски и магнитная лента представляют последовательность устройств, обладающих все меньшими возможностями произвольного доступа к данным. Система адресации, которая используется в оперативной памяти, способствует быстрому произвольному доступу к отдельным байтам информации. В магнитных дисках произвольный доступ возможен только к целым секторам данных. Кроме того, чтобы добраться до нужного сектора, требуется время для его поиска и для поворота диска. В компакт-дисках также возможен произвольный доступ к отдельным секторам, но для этого нужно больше времени, чем у магнитных дисков, так как требуется дополнительное время для локализации сектора на спиральной дорожке и для определения скорости вращения диска. Наконец, в магнитных лентах возможность произвольного доступа к данным очень мала. Современные запоминающие устройства маркируют позиции на ленте так, чтобы доступ к различным участкам ленты мог осуществляться индивидуально. Но из-за физической структуры ленты требуется очень много времени для поиска участков в конце ленты.