14. Файлы данных. Файловые структуры. ПОНЯТИЕ ФАЙЛА В

advertisement
14. Файлы данных. Файловые структуры.
ПОНЯТИЕ ФАЙЛА
В основе любой операционной системы лежит принцип организации
работы внешнего устройства хранения информации. Несмотря на то, что
внешняя память может быть технически реализована на разных
материальных носителях (например, в виде гибкого магнитного диска или
магнитной ленты), их объединяет принятый в операционной системе
принцип организации хранения логически связанных наборов информации в
виде так называемых файлов.
Файл — логически связанная совокупность данных или
программ, для размещения которой во внешней памяти
выделяется именованная область.
Файл служит учетной единицей информации в операционной системе.
Любые действия с информацией в современной операционной системе
осуществляются над файлами: запись на диск, вывод на экран, ввод с
клавиатуры, печать, считывание информации CD-ROM и пр.
На диске файл не требует для своего размещения непрерывного
пространства, обычно он занимает свободные кластеры в разных частях
диска. Сведения о номерах этих кластеров хранятся в специальной FATтаблице. Кластер является минимальной единицей пространства диска,
которое может быть отведено файлу. Самый маленький файл занимает один
кластер, большие файлы — несколько десятков кластеров.
В файлах могут храниться разнообразные виды и формы представления
информации: тексты, рисунки, чертежи, числа, программы, таблицы и т.п.
Особенности конкретных файлов определяются их форматом. Под
форматом понимается элемент языка, в символическом виде описывающий
представление информации в файле.
Текстовая информация хранится в файле в кодах ASCII, в так
называемом текстовом формате. Содержимое текстовых файлов можно
просмотреть на экране дисплея с помощью разных программных средств.
Любой другой файл с нетекстовой информацией просмотреть теми же
средствами, что и текстовый файл, не удается. При просмотре на экран будут
выводиться абсолютно непонятные символы.
Для характеристики файла используются следующие параметры:
• полное имя файла;
• объем файла в байтах;
• дата создания файла;
• время создания файла;
• специальные атрибуты файла: R (Read only) — только для чтения, Н
(Hidden) — скрытый файл, S (System) — системный файл, A (Archive) —
архивированный файл.
С понятием файла связано понятие логического диска. Логический диск
создается и управляется специальной программой (драйвером). Он имеет
уникальное имя в виде одной латинской буквы, например С, D, Е, F и т.д.
Логический диск может реализовываться на жестком диске, на гибком диске,
на CD-ROM, в оперативной памяти (электронный диск) и т.п. На одном
физическом диске может быть создано несколько логических дисков.
СПОСОБЫ ОБРАЩЕНИЯ К ФАЙЛУ
Как обращаться к файлу
К файлу можно обращаться с помощью имени, полного имени,
спецификации. Дня того чтобы воспользоваться одним из этих вариантов,
надо знать ряд правил и соглашений, позволяющих унифицировать в
операционной системе процедуру обращения к файлу. Рассмотрим эти
варианты.
Правило образования имени. Имя файла всегда уникально и служит
для отличия одного файла от другого.
По имени к файлу обращаются редко, обычно только в тех прикладных
программах, когда это специально предусмотрено, а также при вводе имени
файла, где хранится команда операционной системы.
В качестве имени файла можно использовать символьное имя
устройства:
PRN или LPT 1(2,3) принтер
или
любое
устройство,
подключенное к параллельному порту;
CON консоль (клавиатура при вводе и дисплей при выводе);
СОМ1(2,3,4)
внешнее
устройство,
подключенное
к
последовательному порту;
NUL фиктивное устройство, вывод в файл NUL никуда не
направляется, а
просто уничтожается.
Правило образования полного имени. Обычно к файлу обращаются с
помощью полного имени, за исключением оговоренных выше случаев.
Полное имя файла более подробно характеризует файл и образуется из
имени файла и типа (расширения), разделенных точкой.
Тип файла служит для характеристики хранящейся в файле информации
и образуется не более чем из трех символов, причем используются, как и
при образовании имени, только буквы латинского алфавита.
При работе на персональном компьютере установлен ряд соглашений
по заданию типа файла, некоторые из которых приведены в табл.14.1.
Таблица 14.1. Некоторые соглашения по типу файлов
Тип
Назначение
.ARJ
Архивный файл
.ВАК
Копия файла, создаваемая при перезаписи файла
оригинала
.BAS
Программа на языке Бейсик
.ВАТ
Командный файл
.СОВ
Программа на языке Кобол
.COD
Версия файла типа .OBJ на языке ассемблера
.СОМ
Командный системный файл, исполняемый файл
.DAT
Файл данных
.DOC
Файл документов (текстовый)
.ЕХЕ
Исполняемый файл
.FOR
Программа на языке Фортран
.HEX
Символьное шестнадцатеричное представление
двоичных данных в коде ASCII
.HLP
Файл для справочной информации
.LIB
Библиотека программ
.OBJ
Скомпилированная объектная программа на
машинном языке
.OVL
Оверлейный файл прикладной программы
.OVR
Оверлейный файл программы компилятора
.PAS
Программа на языке Паскаль
.PIC
Данные выводимого
экран изображения
Практические рекомендации.
Хотяна
операционная
система разрешает в
.PRN и типе файла
Листинг
(распечатка
программы)
имени
наличие
написанных
в любой последовательности
.SYS
расширяющие
возможности
операционной
символов
с учетом Файлы,
ограничений,
рекомендуется
использовать
буквы
системы, например
латинского
алфавита драйверы
и цифры, а имя начинать с буквы.
.SYM
символов
для компилятора
При назначенииТаблица
имен файлов
рекомендуется
образовывать их так, чтобы
.TER
Описание
терминала
(для асинхронной передачи)
они
отражали смысловое
содержание
файла.
.ТМР
Временный файл
Правило
образования
спецификации. Спецификация
.ТХТ
Текстовый
файл
файла
обычно используется
тогда, когда файл хранится на
.$$$
Временный
файл
диске пассивного дисковода или в пассивном каталоге.
Различают две формы спецификации: сокращенную и
полную.
ОРГАНИЗАЦИЯ ДОСТУПА К ФАЙЛУ
Структура каталога
Надеемся, что вы хорошо представляете себе организацию хранения
книг в библиотеке и соответственно процедуру поиска нужной книги по ее
шифру из каталога. Перенесите свое представление об этом на способ
хранения файлов на диске и организацию к нему доступа.
Доступ — процедура установления связи с памятью и
размещенным в ней файлом для записи и чтения данных.
Имя логического диска, стоящее перед именем файла в спецификации,
указывает логический диск, на котором следует искать файл. На этом же
диске организован каталог, в котором хранятся полные имена файлов, а
также их характеристики: дата и время создания; объем (в байтах);
специальные атрибуты. По аналогии с библиотечной системой организации
каталогов полное имя файла, зарегистрированное в каталоге, будет служить
шифром, по которому операционная система находит месторасположение
файла на диске.
Каталог — справочник файлов с указанием месторасположения
на диске.
Различают два состояния каталога — текущее (активное) и пассивное.
Текущий (активный) каталог — каталог, в котором работа
пользователя производится в текущее машинное время.
Пассивный каталог — каталог, с которым в данный момент
времени не имеется связи.
Обычно в операционной системе принята иерархическая структура
(рис. 14.1) организации каталогов. На каждом диске всегда имеется
единственный главный (корневой) каталог. Он находится на 0-м уровне
иерархической структуры и обозначается символом "\". Корневой каталог
создается при форматировании (инициализации, разметке) диска, имеет
ограниченный размер и не может быть удален средствами операционной
системы. В главный каталог могут входить другие каталоги и файлы,
которые создаются командами операционной системы и могут быть удалены
соответствующими командами.
Рис. 14.1. Иерархическая структура организации каталога
Родительский каталог — каталог, имеющий
подкаталоги.
Подкаталог — каталог, который входит в другой
каталог.
Таким образом, любой каталог, содержащий каталоги нижнего уровня,
может быть, с одной стороны, по отношению к ним родительским, а с другой
стороны, подчиненным по отношению к каталогу верхнего уровня. Как
правило, если это не вызывает путаницы, употребляют термин "каталог",
подразумевая или подкаталог, или родительский каталог в зависимости от
контекста.
Каталоги на дисках организованы как системные файлы. Единственное
исключение — корневой каталог, для которого отведено фиксированное
место на диске. Доступ к каталогам можно получить, как к обыкновенному
файлу.
Примечание. В структуре каталогов могут находиться
каталоги, не содержащие ни одного файла или
подкаталога. Такие подкаталоги называются пустыми.
Правила наименования подкаталогов такие же, как и правила
наименования файлов. Для формального отличия от файлов обычно
подкаталогам присваивают только имена, хотя можно добавить и тип по тем
же правилам, что и для файлов.
Доступ к содержимому файла организован из главного каталога, через
цепочку соподчиненных каталогов (подкаталогов) n-ro уровня. В каталоге
любого уровня могут храниться записи как о файлах, так и о каталогах
нижнего уровня.
На рис. 14.2 приведена простейшая структура каталога, где в главном
каталоге 0-го уровня хранятся только записи о файлах, каталогов нижнего
уровня не существует.
На рис. 14.3 приведена иерархическая структура каталога, где в
каталогах любого уровня хранятся записи о файлах и каталогах нижнего
уровня. Причем переход в каталог нижнего уровня может быть организован
только последовательно через соподчиненные каталоги.
Рис. 14.2. Простейшая структура каталога, в котором отсутствуют каталоги
нижнего уровня
Рис. 14.3. Типовая структура каталога, состоящего из каталогов
нижнего уровня: при обозначении каталога нижнего уровня
используются три цифры: первая цифра обозначает номер уровня;
вторая — порядковый номер этого каталога на данном уровне, третья
указывает, на каком уровне зарегистрировано его имя. Каждый каталог
имеет имя КАТ с индексами. Например, КАТ342 — имя каталога
третьего уровня, который зарегистрирован в каталоге второго уровня
под номером 4
Нельзя перейти из главного каталога сразу в каталог, например 5-го
уровня. Нужно обязательно пройти через все предыдущие каталоги высшего
уровня.
Описанный выше принцип организации доступа к файлу через каталог
является основой файловой системы.
Файловая система — часть операционной системы,
управляющая размещением и доступом к файлам и каталогам на
диске.
С понятием файловой системы тесно связано понятие файловой
структуры диска, под которой понимают, как размещаются на диске:
главный каталог, подкаталоги, файлы, операционная система, а также какие
для них выделены объемы секторов, кластеров, дорожек.
Правила формирования файловой структуры диска. При
формировании файловой структуры диска операционная система соблюдает
ряд правил:
• файл или каталог могут быть зарегистрированы с одним и тем же именем
в разных каталогах, но в одном и том же каталоге только один раз;
• порядок следования имен файлов и подкаталогов в родительском
каталоге произвольный;
• файл может быть разбит на несколько частей, для которых выделяются
участки дискового пространства одинакового объема на разных
дорожках и секторах.
Путь и приглашение
Из рис. 14.1 - 14.3 видно, что доступ к файлу осуществляется через
каталог благодаря зарегистрированному в нем имени данного файла. Если
каталог имеет иерархическую структуру, то доступ к файлу операционная
система организует в зависимости от положения подкаталога, в котором
зарегистрировано имя искомого файла.
Доступ к файлу можно организовать следующим образом:
• если имя файла зарегистрировано в текущем каталоге, то достаточно для
доступа к файлу указать только его имя;
• если имя файла зарегистрировано в пассивном каталоге, то, находясь в
текущем каталоге, вы должны указать путь, т.е. цепочку соподчиненных
каталогов, через которые следует организовать доступ к файлу.
Путь — цепочка соподчиненных каталогов, которую
необходимо пройти по иерархической структуре к каталогу, где
зарегистрирован искомый файл. При задании пути имена
каталогов записываются в порядке следования и отделяются
друг от друга символом \.
Взаимодействие пользователя с операционной системой осуществляется
с помощью командной строки, индицируемой на экране дисплея. В начале
командной строки всегда имеется приглашение, которое заканчивается
символом >. В приглашении может быть отображено: имя текущего диска,
имя текущего каталога, текущее время и дата, путь, символы-разделители.
Приглашение операционной системы — индикация на экране
дисплея информации, означающей готовность операционной
системы к вводу команд пользователя.
Пример 14.8.
А:\
Текущим дисководом является дисковод с гибким диском
А, текущим каталогом — главный, на что указывает символ
\
C:\KAT1\KAT2
Текущим диском является жесткий диск С. Текущим
каталогом — каталог второго уровня КАТ2, входит в
каталог первого уровня К ATI, который, в свою очередь,
зарегистрирован в главном каталоге.
Возможны три варианта организации пути доступа к файлу в
зависимости от места его регистрации:
• файл находится в текущем каталоге (путь отсутствует). При организации
доступа к файлу достаточно указать его полное имя;
• файл находится в пассивном каталоге одного из нижних уровней,
подчиненного текущему каталогу. При организации доступа к файлу
необходимо указать путь, в котором перечислены все имена каталогов
нижнего уровня, лежащих на этом пути (включая каталог, в котором
зарегистрирован данный файл);
• файл находится в пассивном каталоге на другой ветке по отношению к
местонахождению текущего каталога иерархической структуры. При
организации доступа к файлу необходимо указать путь, начиная с
главного каталога, т.е. с символа \. Это объясняется тем, что в
иерархической структуре движение возможно только по вертикали
сверху вниз. Горизонтальные переходы из каталога в каталог
недопустимы.
В нижеприведенных примерах иллюстрируются возможные варианты
пути.
Пример 14.9.
Условие: файл Fl .TXT зарегистрирован в текущем каталоге 1-го уровня К1
жесткого диска С. Поэтому на экране индицируется приглашение C:\K1
Пояснение: в этом случае путь отсутствует, и для доступа к файлу
достаточно указать только его полное имя F1.TXT
Пример 14.10.
Условие: файл F1.TXT зарегистрирован в каталоге 2-го уровня К2 жесткого
диска С. Текущий каталог — К1. Поэтому на экране индицируется
приглашение C:\K1
Пояснение: в этом случае путь будет начинаться от каталога К1 вниз через
подчиненный ему каталог К2. Поэтому перед полным именем файла
указывается путь от текущего каталога К2 \ F1.TXT
Пример 14.11.
Условие: файл F1.TXT зарегистрирован в каталоге 2-го уровня N2. Текущий
каталог — К1. Поэтому на экране индицируется приглашение C:\K1
Пояснение: в этом случае путь пройдет через главный каталог в новую ветвь
иерархической структуры через каталоги N1 и N2. Перед полным именем
файла надо указать весь путь от главного каталога \N1\N2\F1.TXT
Внимание! Отличие примера 14.12 от примера 14.11 в
следующем: в примере 14.12 перед именем первого
каталога ставится символ \, что определяет путь поиска
файла от главного каталога вниз по указанной цепочке;
в примере 14.11 перед первым именем каталога не
ставится символ \, что задает путь поиска файла от
текущего каталога вниз.
Познакомившись с понятием пути, вернемся к понятию спецификации
файла. Существует сокращенная спецификация файла и полная
спецификация файла, в образовании которой участвует путь. На рис. 14.4
показаны варианты правила образования спецификации файла.
Рис. 14.4. Форматы спецификаций (в [ ] указан необязательный параметр)
Пример 14.12. Сокращенная форма
спецификации файла C:\KIT.BAS
Файл с программой на Бейсике KIT.BAS находится в главном каталоге
жесткого диска. Полная форма спецификации файла
C:\KAT1\KAT2\BOOK1.TXT
Текстовый файл BOOK1.TXT зарегистрирован в каталоге второго уровня
КАТ2 жесткого диска С.
Структура записей в каталоге
Теперь вам предстоит знакомство со структурой хранящихся в
каталоге записей со сведениями о файлах и подкаталогах нижнего уровня.
Запись о файле в каталоге содержит имя и тип файла, объем файла в
байтах, дату создания, время создания и еще ряд параметров, необходимых
операционной системе для организации доступа.
Запись о подкаталоге нижнего уровня в родительском каталоге
содержит его имя, признак <DIR>, дату и время создания.
Рассмотрим возможные варианты содержимого каталога.
1-й вариант. В каталоге хранятся только записи о файлах (рис. 14.5).
Перед записями о файлах выводится сообщение о названии каталога. В
данном случае — это главный каталог гибкого диска А. В конце
содержимого каталога выводится сообщение о количестве файлов,
хранящихся на диске, и о свободном пространстве диска в байтах. Например,
в приводимом выше каталоге выводится сообщение:
4 file(s)
359560 bytes free
Количество файлов на диске
Объем свободного пространства
диска, байт
2-й вариант. В каталоге хранятся только записи о каталогах нижнего
уровня (рис. 14.6).
В конце каталога, как и в предыдущем случае, вы увидите аналогичную
рассмотренной выше запись об объеме свободного пространства на диске.
3-й вариант.В каталоге хранятся записи как о файлах, так и о каталогах
нижнего уровня (рис. 14.7). Из этой структуры видно, что в данном каталоге
имеются 3 файла и 2 каталога нижнего уровня BASIC и LEXICON. На диске
свободного пространства 2,6575 Мбайт.
Рассмотренные выше три варианта представления каталогов отражают
содержимое главного каталога. Структура каталогов, начиная с 1-го уровня и
ниже, идентична и отличается от главного только тем, что перед записями о
файлах и каталогах нижнего уровня помещаются две записи с многоточием
(рис. 14.8).
Точки, которые вы видите вначале, означают, что на экран вызвано
содержимое подкаталога (каталога 1-го уровня) KNIGA, который содержит
два текстовых файла SVET и TON.
Рис. 9.5. В главном каталоге хранятся только файлы
Рис. 14.6. В главном каталоге хранятся только подкаталоги
3 files 265750Q bytes free
Рис. 14.7. В главном каталоге хранятся файлы и подкаталоги
Рис. 14.8. Структура записей в подкаталоге
Размещение операционной системы на диске
Операционная система постоянно хранится на жестком диске. Помимо
этого должна существовать ее резервная копия на съемном диске,
называемом системным.
Системный диск — диск, где хранятся основные модули
операционной системы и сервисные программы (команды),
расширяющие ее возможности.
На рис. 14.10 показана структура системного диска, состоящего из 2847
секторов, где выделены: В качестве примера выбрана MS DOS, т.к. на ее
примере достаточно просто понять размещение операционной системы на
основе моноядра.
• системная область объемом 77 Кбайт для двух модулей IO.SYS и
MSDOS.SYS;
• область пользователя, где будет находиться файл COMMAND.COM —
55 Кбайт.
Рис. 14.10. Структура системного с операционной системой MS DOS
На гибком диске 0-я и 1-я дорожки отведены для размещения модулей
операционной системы и организации файловой структуры диска:
• 0-й сектор занимает загрузчик;
•
•
•
•
18 секторов (с 1-го по 18-й) отведены для основной и дублирующей
таблиц размещения файлов FAT (File Allocations Table), в которых
хранятся номера кластеров, выделенных под каждый файл;
14 секторов (с 19-го по 32-й) занимает главный каталог;
начиная с 33-го сектора, располагаются два модуля операционной
системы IO.SYS и MSDOS.SYS;
командный процессор COMMAND.COM наряду с другими программами
располагается в области пользователя.
Внимание!
Структура
диска
с
прикладными
программами (без операционной системы) полностью
совпадает по 32-й сектор включительно со структурой
системного диска (рис. 9.10). Начиная с 33-го сектора,
располагается область пользователя, где хранятся
прикладные программы.
Роль FAT-таблицы размещения файлов
Файл размещается на диске по кластерам, которые пронумерованы.
Эти кластеры могут находиться в разных местах диска, и соответственно
файл будет храниться на диске в виде отдельных фрагментов в свободных на
момент записи на диск кластерах. В этом случае говорят, что файл
фрагментирован. Желательно, чтобы кластеры, выделенные для хранения
файла, шли подряд, так как это позволяет сократить время его поиска.
Однако это возможно сделать только с помощью специальной программы, и
подобная процедура получила название дефрагментации файла. И в том, и в
другом случае для организации доступа к файлу операционная система
должна иметь сведения о номерах кластеров, где размещается каждый файл.
В этом ей помогает FAT-таблица.
FAT-таблица предназначена для размещения и поиска файлов на диске.
Она хранится на диске в определенном месте (см. рис. 14.10). Учитывая ее
крайне важную роль в организации файловой системы, предусмотрено
хранение и ее дубля, т.е. на диске хранятся две одинаковые таблицы —
основная и дублирующая. При повреждении основной таблицы можно
восстановить информацию о размещении файлов с помощью дублирующей.
Рассмотрим основную идею, заложенную в основу построения и
использования FAT-таблицы, обратившись к рис. 14.11. Следует заметить,
что для ускорения доступа к таблице производится ее предварительная
загрузка в оперативную память.
Количество ячеек FAT-таблицы определяется количеством кластеров на
диске. Каждая ячейка содержит номер кластера.
В свою очередь, в каталоге хранятся записи о файлах, где наряду с
другими характеристиками указан номер его первого кластера. При
необходимости доступа к файлу сначала производится обращение к ячейке
FAT-таблицы, адрес которой определяется первым номером, хранящимся в
записи о файле. В этой ячейке хранится номер второго кластера этого файла.
Обратившись к ячейке таблицы, соответствующей номеру второго кластера,
операционная система найдет там номер третьего кластера и т.д. Так будет
создана цепочка кластеров, где расположен файл.
В последней клетке таблицы, завершающей данную цепочку, должен
находиться код FFF или FFFF для указания ее конца. Так определяется
цепочка кластеров, где хранится файл.
Рис. 14.11. Организация доступа к файлу с помощью FAT-таблицы
Размещение операционной системы в оперативной памяти
Рассмотрим это пространство, обратившись к рис. 14.12 с позиций
расположения в нем операционной системы.
Приблизительно 110 Кбайт, начиная с младших адресов, займет основная
часть ядра операционной системы. В области старших адресов расположится
транзитная часть командного процессора, которая автоматически удаляется
из операционной системы.
Рис. 14.12. Распределение пространства оперативной памяти после
загрузки
15. Представление информации в цифровых
автоматах. Позиционные системы счисления.
Методы перевода чисел. Форматы представления
чисел с плавающей запятой.
Двоичная
арифметика.
Коды:
прямой,
обратный,
дополнительный.
Выполнение арифметических операций с числами
с плавающей и фиксированной запятой.
ПРЕДСТАВЛЕНИЕ ИНФОРМАЦИИ В ЭВМ
Системы счисления и формы представления чисел
Информация в ЭВМ кодируется, как правило, в двоичной или в
двоично-десятичной системе счисления.
Система счисления — это способ наименования и изображения
чисел с помощью символов, имеющих определенные
количественные значения.
В зависимости от способа изображения чисел системы счисления
делятся на позиционные и непозиционные.
В позиционной системе счисления количественное значение каждой
цифры зависит от ее места (позиции) в числе. В непозиционной системе
счисления цифры не меняют своего количественного значения при
изменении их расположения в числе. Количество (Р) различных цифр,
используемых для изображения числа в позиционной системе счисления,
называется основанием системы счисления. Значения цифр лежат в пределах
от 0 до Р-1. В общем случае запись любого смешанного числа в системе
счисления с основанием Р будет представлять собой ряд вида:
ат-1Рт-1 + аm-2Рm-2 + ... + а1Р
(1)
1
+aoP° + a-1P-1+a-2P-2 + .. . + a-SP-S
где нижние индексы определяют местоположение цифры в числе (разряд):
• положительные значения индексов — для целой части числа (т
разрядов);
• отрицательные значения — для дробной (s разрядов).
Пример 15.1. Позиционная система счисления — арабская
десятичная система, в которой: основание P=10, для
изображения чисел используются 10 цифр (от 0 до 9). Непозиционная система счисления — римская, в которой для
каждого числа используется
специфическое сочетание
символов (XIV, CXXVII и т.п.).
Максимальное целое число, которое может быть представлено в т
разрядах:
Nmax=Pm–1
Минимальное значащее (не равное 0) число, которое можно записать в s
разрядах дробной части:
Nmax=PS.
Имея в целой части числа т, а в дробной s разрядов, можно записать
всего Р m+S разных чисел.
Двоичная система счисления имеет основание Р = 2 и использует для
представления информации всего две цифры: 0 и 1. Существуют правила
перевода чисел из одной системы счисления в другую, основанные в том
числе и на соотношении (1).
Пример 15.2.
101110,101(2) = 1∙25+0∙24+1∙23+1∙22+1∙21+0∙2°+1∙2-1+0∙22
+1∙2-3 = 46,625(10), т.е. двоичное число 101110,101 равно
десятичному числу 46,625.
В вычислительных машинах применяются две формы представления
двоичных чисел:
• естественная форма или форма с фиксированной запятой (точкой);
• нормальная форма или форма с плавающей запятой (точкой).
С фиксированной запятой все числа изображаются в виде
последовательности цифр с постоянным для всех чисел положением запятой,
отделяющей целую часть от дробной.
Пример 15.3. В десятичной системе счисления имеются 5
разрядов в целой части числа (до запятой) и 5 разрядов в
дробной части числа (после запятой); числа, записанные в
такую разрядную сетку, имеют вид:
+00721,35500; +00000,00328; -10301,20260.
Эта форма наиболее проста, естественна, но имеет небольшой диапазон
представления чисел и поэтому не всегда приемлема при вычислениях.
Пример 15.4. Диапазон значащих чисел (N) в системе
счисления с основанием Р при наличии т разрядов в целой
части и s разрядов в дробной части числа (без учета знака
числа) будет:
P-S ≤ N ≤ Pm-P-S.
При P = 2, m=10 и S = 6: 0,015≤ N
≤1024.
Если в результате операции получится число, выходящее за допустимый
диапазон, происходит переполнение разрядной сетки, и дальнейшие
вычисления теряют смысл. В современных ЭВМ естественная форма
представления используется как вспомогательная и только для целых чисел.
С плавающей запятой каждое число изображается в виде двух групп
цифр. Первая группа цифр называется мантиссой, вторая — порядком,
причем абсолютная величина мантиссы должна быть меньше 1, а порядок —
целым числом. В общем виде число в форме с плавающей запятой может
быть представлено так:
N=±MP±r,
где М—мантисса числа (│М│ < 1);
r — порядок числа (r — целое число);
Р — основание системы
счисления.
Пример 15.5. Приведенные в примере 24.3 числа в
нормальной форме запишутся так: +0,721355*103 ;
+0,328*10-3 ; -0,103012026*105.
Нормальная форма представления имеет огромный диапазон
отображения чисел и является основной в современных ЭВМ.
Пример 15.6. Диапазон значащих чисел в системе
счисления с основанием Р при наличии т разрядов у
мантиссы и 5 разрядов у порядка (без учета знаковых
разрядов порядка и мантиссы) будет:
P-m P-(Ps-1)≤ N ≤ (1-P-m)P(Ps-1)
При Р = 2, m = 10 и s = 6 диапазон чисел простирается
примерно от 10 -19 до 1019.
Знак числа обычно кодируется двоичной цифрой, при этом код 0
означает знак "+", код 1 — знак "-".
Примечание. Для алгебраического представления чисел
(т.е. для представления положительных и отрицательных
чисел) в машинах используются специальные коды: прямой,
обратный и дополнительный. Причем два последних
позволяют заменить неудобную для ЭВМ операцию
вычитания на операцию сложения с отрицательным числом;
дополнительный код обеспечивает более быстрое
выполнение операций, поэтому в ЭВМ применяется чаще
именно он.
Двоично-десятичная
система
счисления
получила
большое
распространение в современных ЭВМ ввиду легкости перевода в десятичную
систему и обратно. Она используется там, где основное внимание уделяется
не простоте технического построения машины, а удобству работы
пользователя. В этой системе счисления все десятичные цифры отдельно
кодируются четырьмя двоичными цифрами (табл. 4.1) и в таком виде
записываются последовательно друг за другом.
Таблица 15.1. Таблица двоичных кодов десятичных и шестнадцатеричных
цифр
Цифр 0 1 2 3 4 5 6 7 8 9 А В С D Е F
010 010 011 011 100 100 101 101 110 110 111 111
аКод 000 000 001
0 1 0 Пример
1 Десятичное
0 1 0 число
1 097031в двоично-десятичной
0 1 0 1
001 0 15.7.
1
системе
выглядит так: 1001011100000011.
При программировании иногда используется шестнадцатеричная
система счисления, перевод чисел из которой в двоичную систему счисления
весьма прост — выполняется поразрядно (полностью аналогично переводу
из двоично-десятичной системы).
Для изображения цифр, больших 9, в шестнадцатеричной системе
счисления применяются буквы А = 10, В = 11, С = 12, D = 13, Е = 14, F = 15.
Пример 15.8. Шестнадцатеричное число F17B в двоичной
системе выглядит так: 1111000101111011.
Варианты представления информации в ПК
Вся информация (данные) представлена в виде двоичных кодов. Для
удобства работы введены следующие термины, обозначающие совокупности
двоичных разрядов (табл. 15.2). Эти термины обычно используются в
качестве единиц измерения объемов информации, хранимой или
обрабатываемой в ЭВМ.
Таблица 15.2. Двоичные совокупности
Количество
двоичных
разрядов в
группе
Наименование
единицы
измерения
1
8
16
Бит Байт Параграф
8*1024
8*10242
8*10243
8*10244
Килобайт Мегабайт Гигабайт Терабайт
(Кбайт) (Мбайт) (Гбайт) (Тбайт)
Последовательность нескольких битов или байтов часто называют полем
данных. Биты в числе (в слове, в поле и т.п.) нумеруются справа налево,
начиная с 0-го разряда.
В ПК могут обрабатываться поля постоянной и переменной длины.
Поля постоянной длины:
слово — 2 байта
двойное слово — 4 байта
полуслово — 1 байт
расширенное слово — 8 байт
слово длиной 10 байт — 10 байт
Числа с фиксированной запятой чаще всего имеют формат слова и
полуслова, числа с плавающей запятой — формат двойного и расширенного
слова.
Поля переменной длины могут иметь любой размер от 0 до 256 байт, но
обязательно равный целому числу байтов.
Пример 15.9. Структурно запись числа -193(10) = -11000001(2) в разрядной
сетке ПК выглядит следующим образом.
Число с фиксированной запятой формата слово со знаком:
Знак
числ
Абсолютная величина числа
а
N
15 1 1 1 1 1 9 8 7 6 5 4 3 2 1 0
Число
04 30 20 10 0 0 0 1 1 0 0 0 0 0 1
разряд 1
а
Число с плавающей запятой формата двойное слово:
Знак
числ
Порядок
Мантисса
а
N
31 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 .. 1 0
Число
разряд 1 0 0
9 0
8 1
7 0
6 0
5 0
4 13 12 01 0 09 08 07 16 05 . 0 0
а
Двоично-кодированные десятичные числа могут быть представлены в
ПК полями переменной длины в так называемых упакованном и
распакованном форматах.
В упакованном формате для каждой десятичной цифры отводится по 4
двоичных разряда (полбайта), при этом знак числа кодируется в крайнем
правом полубайте числа (1100 — знак "+" и 1101 — знак "-").
Структура поля упакованного формата:
Цф
Цф
Цф
Цф
…
Цф
Знак
Здесь и далее: Цф — цифра, Знак — знак числа.
Упакованный формат используется обычно в ПК при выполнении
операций сложения и вычитания двоично-десятичных чисел.
В распакованном формате для каждой десятичной цифры отводится по
целому байту, при этом старшие полубайты (зона) каждого байта (кроме
самого младшего) в ПК заполняются кодом 0011 (в соответствии с ASCIIкодом), а в младших (левых) полубайтах обычным образом кодируются
десятичные цифры. Старший полубайт (зона) самого младшего (правого)
байта используется для кодирования знака числа.
Структура поля распакованного формата:
зона
Цф
зона Цф … знак Цф
Распакованный формат используется в ПК при вводе-выводе
информации в ПК, а также при выполнении операций умножения и деления
двоично-десятичных чисел.
Пример 15.10. Число -193(10) = -000110010011 (2-10) в ПК
будет представлено:
в упакованном формате —
0001 1001 0011 1101
в распакованном формате —
0011 0001 0011 1001 1101 0011
Коды ASCII
Распакованный формат представления двоично-десятичных чисел
(иногда его называют "зонный") является следствием использования в ПК
ASCII-кода для представления символьной информации.
Код ASCII (American Standard Code for Information Interchange —
Американский стандартный код для обмена информацией) имеет основной
стандарт и его расширение (табл. 24.3). Основной стандарт для кодирования
символов использует шестнадцатеричные коды 00 - 7F, расширение
стандарта — 80 - FF. Основной стандарт является международным и
используется для кодирования управляющих символов, цифр и букв
латинского алфавита; в расширении стандарта кодируются символы
псевдографики и буквы национального алфавита (естественно, в разных
странах разные).
Таблица 15.3. Таблица кодов ASCII
ЛОГИЧЕСКИЕ ОСНОВЫ ПОСТРОЕНИЯ ПК
Основы алгебры логики
Для анализа и синтеза схем в ЭВМ при алгоритмизации и
программировании решения задач широко используется математический
аппарат алгебры логики.
Алгебра логики — это раздел математической логики, значения
всех элементов (функций и аргументов) которой определены в
двухэлементном множестве: 0 и 1. Алгебра логики оперирует с
логическими высказываниями.
Высказывание — это любое предложение, в отношении
которого имеет смысл утверждение о его истинности или
ложности. При этом считается, что высказывание
удовлетворяет закону исключенного третьего, т.е. каждое
высказывание или истинно, или ложно и не может быть
одновременно и истинным, и ложным.
Пример 15.11. Высказывания: "Сейчас идет снег" — это
утверждение может быть истинным или ложным;
"Вашингтон — столица США" — истинное утверждение;
"Частное от деления 10 на 2 равно 3" — ложное
утверждение.
В алгебре логики все высказывания обозначают буквами а, b, с и т.д.
Содержание высказываний учитывается только при введении их буквенных
обозначений, и в дальнейшем над ними можно производить любые действия,
предусмотренные данной алгеброй. Причем если над исходными элементами
алгебры выполнены некоторые разрешенные в алгебре логики операции, то
результаты операций также будут элементами этой алгебры.
Простейшими операциями в алгебре логики являются операции
логического сложения (иначе, операция ИЛИ, операция дизъюнкции) и
логического умножения (иначе, операция И, операция конъюнкции). Для
обозначения операции логического сложения используют символы + или  ,
а логического умножения — символы * или  .
Правила выполнения операций в алгебре логики определяются рядом
аксиом, теорем и следствий.
В частности, для алгебры логики выполняются законы:
1)сочетательный:
(а + b) + с = а + (b + с);
(a*b)*c = a*(b*c);
2)переместительный:
а + b = b + а;
а * b = b * а;
3)распределительный:
a*(b + c) = a* b + a*c;
a + b*c = a* b + a*c.
Справедливы соотношения:
а + а = а;
а* а = а;
а + а* b = a;
a + b = a, если а > Ь;
a + b = b, если а <b;
а* b = а, если а < b;
a + b = b, если а > b
и др.
Наименьшим элементом алгебры логики является 0, наибольшим элементом
— 1. В алгебре логики также вводится еще одна операция — операция
отрицания (иначе, операция НЕ, операция инверсии), обозначаемая чертой
над элементом.
По определению: а + a =1, а* a = 0, 0 =1, 1 =0.
Справедливы, например, такие соотношения: a = а, a  b = a , a * b = a
+ b.
Функция в алгебре логики — это алгебраическое выражение, содержащее
элементы алгебры логики а, b, с ..., связанные между собой операциями,
определенными в этой алгебре.
Пример 15.12. Примеры логических функций:
f(a,b,c) = а + а*b*с + а+с;
f(a,b,c) = а*b + a *с + a *b*с
Согласно теоремам разложения функций на конституэнты
(составляющие) любая функция может быть разложена на конституэнты "1":
f(a) = f(1)*a + f(0)* a ;
f(a,b) = f(1,b)*a + f(0,b)* a = f(1,1)*a*a + f(1,0)*a* b + f(0,1)* a *b +
f(0,0)* a * b
и т.д.
Эти соотношения используются для синтеза логических функций и
вычислительных схем.
Логический синтез вычислительных схем
Рассмотрим логический синтез (создание) вычислительных схем на
примере одноразрядного двоичного сумматора, имеющего два входа ("а" и
"b") и два выхода ("S" и "Р») и выполняющего операцию сложения в
соответствии с заданной таблицей:
а
0
0
1
1
b
0
1
0
1
f1 (a,b) = S
0
1
1
0
f2 (a,b)=Р
0
0
0
1
Где f1(a,b) = S — значение цифры суммы в данном
разряде;
f2(a,b) = P — цифра переноса в следующий
(старший) разряд.
Согласно соотношению (2), можно записать:
S =f1(a,b) = 0*a*b + 1 * a *b + 1 *а* b + 0* a * b = a *b + а* b ;
Р =f2(a,b) = 1*а*b + 0* a *b + 0*а* b + 0* a * b = а*b.
Логическая схема сумматора, реализующего полученную функцию,
представлена на рис. 15.1.
Рис.15.1. Логическая схема сумматора
Здесь изображены логические блоки в соответствии с международным
стандартом:
Примечания: 1. В ряде случаев перед построением
логической схемы устройства по логической функции
последнюю, пользуясь соотношениями алгебры логики,
следует преобразовать к более простому виду
(минимизировать). 2. Для логических схем ИЛИ, И и НЕ
существуют типовые технические схемы, реализующие
их на реле, электронных лампах, дискретных
полупроводниковых
элементах.
Для
построения
современных ЭВМ обычно применяются системы
интегральных элементов, у которых с целью большей
унификации в качестве базовой логической схемы
используется всего одна из схем: И — НЕ (штрих
Шеффера), ИЛИ — НЕ (стрелка Пирса) или И — ИЛИ
— НЕ.
Download