Чарльз Петцольд - Код. Тайный язык информатики

Тут можно читать онлайн Чарльз Петцольд - Код. Тайный язык информатики - бесплатно ознакомительный отрывок. Жанр: Прочая научная литература, издательство Манн, Иванов и Фербер, год 2019. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.

Чарльз Петцольд - Код. Тайный язык информатики краткое содержание

Код. Тайный язык информатики - описание и краткое содержание, автор Чарльз Петцольд, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru
Книга «Код» представляет собой увлекательное путешествие в прошлое – мир электрических устройств и телеграфных машин. Знакомство с прообразами первых компьютеров позволит читателю с любым уровнем технической подготовки узнать о том, как работают современные электронные устройства.

Код. Тайный язык информатики - читать онлайн бесплатно ознакомительный отрывок

Код. Тайный язык информатики - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Чарльз Петцольд
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Исторически наиболее важной операционной системой для 8-битных микропроцессоров была CP/M (Control Program for Micros, управляющая программа для микрокомпьютеров), написанная в середине 1970-х для Intel 8080 Гэри Килдаллом (1942–1994), который позднее основал компанию Digital Research Incorporated (DRI).

На диске хранилась CP/M. На заре использования этой ОС наиболее распространенным носителем для нее была односторонняя 8-дюймовая дискета с 77 дорожками, 26 секторами на дорожке и 128 байтами в секторе (всего 256 байт). На первых двух дорожках диска содержалась сама CP/M. Чуть позже расскажу о том, как CP/M с диска переместилась в память компьютера.

Остальные 75 дорожек на диске CP/M использовались для хранения файлов. Файловая система CP/M довольно проста. Она удовлетворяет двум основным требованиям. Во-первых, каждый файл на диске имеет имя, которое тоже хранится на диске. На самом деле вся информация, которая требуется CP/M для считывания этих файлов, хранится на диске вместе с самими файлами. Во-вторых, файлы не обязательно должны занимать последовательные сектора. Часто при создании и удалении файлов разного размера свободное место на диске становится фрагментированным. Так что способность файловой системы хранить большой объем информации в несмежных секторах оказывается полезной.

Сектора на 75 дорожках, используемые для хранения файлов, сгруппированы в блоки выделения памяти . Каждый блок содержит восемь секторов, или 1024 байта. Всего на диске 243 блока выделения памяти, пронумерованных от 0 до 242.

Первые два блока выделения памяти (всего 2048 байт) отведены под каталог . Каталог — область диска, содержащая имена и некоторую важную информацию о каждом хранящемся файле. Каждому файлу на диске соответствует элемент каталога длиной 32 байта. Поскольку общий объем каталога всего 2048 байт, дискета может хранить 64 файла (2048 / 32).

Каждая 32-байтная запись каталога содержит следующую информацию.

Байты

Значение

0

Обычно равен 0

1–8

Имя файла

9–11

Тип файла

12

Экстент

13–14

Зарезервированы (равны 0)

15

Количество секторов в последнем блоке

16–31

Карта диска

Первый байт элемента каталога применяется только в том случае, когда с файловой системой работают два человека и более. В операционной системе CP/M этот байт обычно равен 0, как и байты тринадцатый и четырнадцатый.

В CP/M каждому файлу присваивается имя, состоящее из двух частей. Первая часть — имя файла — может содержать до восьми символов, хранящихся в байтах с первого по восьмой элемент каталога; вторая часть — тип файла — может содержать до трех символов, хранящихся в байтах с девятого по одиннадцатый. Существует несколько стандартных типов файлов. Например, TXT говорит о том, что файл является текстовым (содержит только коды ASCII), а COM (от command — «команда») указывает, что файл содержит машинные инструкции для процессора 8080, то есть программу. При указании конкретного файла эти две части разделяются точкой.

MYLETTER.TXT

CALC.COM

Этот метод наименования файлов известен как формат 8.3 («восемь точка три»), допускающий максимум восемь букв до точки и три буквы после.

Карта диска в элементе каталога указывает блоки выделения памяти, где хранится файл. Предположим, что значениями первых четырех байтов карты диска являются 14h, 15h, 07h и 23h, а значениями остальных — нули. Значит, файл занимает четыре блока, или четыре килобайта дискового пространства. Объем файла может быть немного меньше. Пятнадцатый байт в элементе каталога указывает, сколько 128-байтовых секторов фактически занято в последнем блоке.

Длина карты диска — 16 байт, и их достаточно для указания местоположения файла объемом до 16 384 байт. Для файла объемом более 16 килобайт необходимо использовать несколько элементов каталога, которые называются экстентами . В этом случае двенадцатый байт будет равен 0 в первом элементе каталога, 1 — во втором и т. д.

Ранее я упомянул текстовые файлы, которые также называются ASCII-файлами и содержат коды ASCII (включая коды возврата каретки и перевода строки), которые соответствуют понятным людям текстовым символам. Файл, который не является текстовым, называется двоичным . Файл СP/M типа COM — двоичный, поскольку содержит машинный код для процессора 8080.

Предположим, нам нужно сохранить в файле (очень маленького объема) три 16-битных числа, например 5A48h, 78BFh и F510h. Двоичный файл с этими тремя числами имеет длину всего шесть байт.

48 5A BF 78 10 F5

Разумеется, это формат хранения многобайтовых чисел для процессоров Intel. Первым указывается младший байт. Программа, написанная для процессоров Motorola, сохранила бы эти числа следующим образом.

5A 48 78 BF F5 10

В текстовом файле ASCII эти же четыре 16-битных значения были бы записаны, как показано ниже.

35 41 34 38 68 0D0A 37 38 42 46 68 0D0A 46 35 31 30 68 0D0A

Эти байты — коды ASCII для цифр и букв, а сами числа разделяются кодами возврата каретки (0Dh) и перевода строки (0A). Текстовый файл удобнее отображать не в виде строки кодов ASCII, а в виде соответствующих им символов.

5A48h

78BFh

F510h

Текстовый файл ASCII, в котором хранятся эти три числа, также может содержать следующие байты.

32 33 31 31 32 0D0A 33 30 39 31 31 0D0A 36 32 37 33 36 0D0A

Коды ASCII для десятичных эквивалентов трех чисел следующие.

23112

30911

62736

Поскольку текстовые файлы призваны упростить людям процесс чтения их содержимого, нет причин для отказа от использования десятичных чисел вместо шестнадцатеричных.

Как я уже упоминал, сама CP/M записана на первых двух дорожках диска. Для запуска системы ее необходимо загрузить с диска в память. Объем ПЗУ в компьютере, использующем CP/M, не обязательно будет большим. В ПЗУ должен содержаться небольшой фрагмент кода, известный как загрузчик программы . Этот загрузчик считывает самый первый 128-байтовый сектор с дискеты в память и запускает его. Этот сектор содержит код для загрузки в память остальной части CP/M. Весь процесс называется загрузкой операционной системы.

В результате система CP/M размещается в оперативной памяти с самыми старшими адресами. После загрузки CP/M память будет организована так.

Эта схема не отражает реального масштаба Три компонента CPM базовая система - фото 446

Эта схема не отражает реального масштаба. Три компонента CP/M: базовая система ввода/вывода (Basic Input/Output System, BIOS), базовая дисковая операционная система (Basic Disk Operating System, BDOS) и консольный командный процессор (Command and Control Processor, CCP) — занимают в общей сложности около шести килобайт памяти. Область нерезидентных программ — около 58 килобайт памяти на компьютере с оперативной памятью 64 килобайта — изначально не содержит ничего.

Консольный командный процессор эквивалентен командному процессору, созданному нами ранее. Словом, консоль обозначает совокупность клавиатуры и дисплея. Консольный процессор отображает на дисплее следующее приглашение.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Чарльз Петцольд читать все книги автора по порядку

Чарльз Петцольд - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Код. Тайный язык информатики отзывы


Отзывы читателей о книге Код. Тайный язык информатики, автор: Чарльз Петцольд. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
Bestplay Smit
11 января 2025 в 19:53
Книга просто очень классная. Я когда вырасту хочу стать этичным хакером. И сейчас мне 9 лет. Но я уже могу создавать красивые сайты. Так что я твёрдо иду к своей цели и не сдаюсь!
x