MS DOS Version 6.22
Выполнение любой команды операционной системы фактически сводится к выполнению некоторой программы, которая является составной частью операционной системы, либо к вызову с системного диска и последующему выполнению дополнительной программы. Такие дополнительные, не входящие непосредственно в состав операционной системы программы принято называть утилитами(utility — полезный, практичный). Обычно утилиты выполняют некоторые сервисные функции, типа проверки качества рабочих поверхностей магнитных дисков. Отсутствие какой–либо утилиты на системном диске в целом не нарушает работоспособности операционной системы. Просто в этом случае будет недоступна для выполнения соответствующая ее функция, в то время как отсутствие какой-либо составной части операционной системы выводит из рабочего состояния всю систему.
Если по ходу выполнения команды операционной системе потребуется дополнительная информация, она задаст вопрос, на который пользователь должен дать ответ. Эти вопрос и ответ также оформляются в виде тестов заранее обговоренной формы и содержания. Если же при выполнении команды встретится нестандартная ситуация, то операционная система сформирует и выведет на экран дисплея информационное или диагностическое сообщение, описывающее сложившуюся ситуацию. Она же подскажет возможные пути дальнейших действий пользователя.
После успешного или безуспешного завершения выполнения команды операционная система вновь выводит на экран приглашение и ожидает следующей команды пользователя. Таким образом, диалог пользователя и операционной системы протекает в виде обмена текстовыми фразами. Собственно поэтому интерфейс такого типа и называют текстовым. Так как приглашение MS DOS вместе с командой пользователя обычно занимает на экране дисплея одну строку, то эту строку стали называть командной строкой, а текстовый интерфейс приобрел еще одно название — интерфейс командной строки.Заметим, что популярная сетевая операционная система Unix также использует интерфейс командной строки.
Практика работы с операционной системой MS DOS очень быстро показала, что для большинства пользователей текстовый интерфейс сложен и неудобен, так как пользователю приходится запоминать правила записи достаточно большого количества необходимых в работе команд. Кроме того, нужно вводить с клавиатуры довольно длинные последовательности символов, из которых состоит команда, а если при ее вводе сделана ошибка (что происходило довольно часто) — требуется выполнить повторный ввод команд. Поэтому стали разрабатывать всевозможные вспомогательные программы, которые должны обеспечивать более удобный для пользователя способ взаимодействия с операционной системой. Такие программы получили название оболочек. Являясь по сути дела надстройками над операционной системой, оболочки изменяют стиль и правила взаимодействия пользователя и операционной системы, обеспечивая при этом доступ к ее основным возможностям.
i |
Оболочкой называется вспомогательная программа, обеспечивающая более удобный для пользователя способ работы с операционной системой.
Еще раз подчеркнем, что оболочки не являются независимыми программами, они могут функционировать только совместно с операционной системой, для которой они разработаны. Для MS DOS было разработано несколько различных оболочек — Qdos, Dos Shell, Norton Commander, Volkov Commander, Windows 3.x, среди которых наибольшей популярностью пользуются оболочки Norton Commander (сокращённо — NC), Volkov Commander (VC) и Windows 3.x. Различные оболочки используют разный интерфейс пользователя. Так, оболочки Norton Commander и Volkov Commander используют табличный интерфейс, отличительной особенностью которого является указание или выбор команды или ее элементов в готовой таблице, а не ввод текста команды. Подробнее особенности табличного интерфейса пользователя рассматриваются в седьмой главе данного пособия, которая посвящена изучению оболочки Norton Commander. Оболочки семейства Windows 3.х, в которое входят Windows 3.0, Windows 3.10, Windows 3.11, отличаются графическим интерфейсом. Особенностью этого интерфейса является широкое использование условных, легко запоминающихся значков, закрепленных за теми или иными действиями, программами, устройствами и т.д. Пользователю достаточно определенным образом указать на нужный значок, и операционная система выполнит связанное с ним действие. Графический интерфейс оказался настолько удачным, что стал основным для операционных систем семейства Windows 9.x, которые пришли на смену операционной системе MS DOS. Обратите внимание! Windows 3.x — семейство оболочек, а Windows 9.x — семейство самостоятельных операционных систем. Подробнее графический интерфейс пользователя рассматривается в главе пособия, которая посвящена изучению интерфейса операционной системы Windows.
ФАЙЛ.Одной из важнейших функций любой операционной системы является хранение и поиск информации на внешних запоминающих устройствах. Напоминаем, что внешние запоминающие устройства представляют собой своеобразные информационные склады, где программы и данные хранятся длительное время, до тех пор, пока они не понадобятся для решения какой–либо задачи. А теперь представьте себе, что товары на каком-либо складе хранятся без всякой системы. Чем больше склад — тем труднее отыскать нужный товар. Или возьмем, например, шкаф, в котором хранятся различные документы, книги, отчеты, справки и т.д. В случае отсутствия определенной организации хранения поиск нужных документов, особенно в случае большого их количества, может оказаться весьма сложной задачей, требующей много времени. Итак, для хранения информации, так же как и для хранения товаров, необходима определенная система, организация хранения, обеспечивающая быстрый и надежный способ поиска требуемых программ и данных.
Для обеспечения надежного хранения и поиска информации на внешних запоминающих устройствах программы и данные в операционных системах организованы в файлы(to file — регистрировать, хранить документы в каком-либо определенном порядке).
i |
Файлом называется поименованная совокупность данных, имеющая определенную внутреннюю организацию, общее назначение и занимающая некоторый участок внешнего носителя информации.
Можно представлять себе файл, находящийся на внешнем запоминающем устройстве, как документ в портфеле, в ящике стола, в шкафу для документации, а само устройство — как весь портфель, ящик, шкаф. Заметим, что документы могут содержать какие-либо данные или же планы (программы) выполнения каких-либо действий.
Из приведённого выше определения следует, что файл имеет собственное имя и занимает определенное место на внешнем носителе информации, например, конкретные сектора и дорожки на одном из дисковых устройств. Укрепляя развитую ранее аналогию, заметим, что документы имеют названия, а при наличии определенной системы за каждым документом закреплено конкретное место хранения, что и позволяет провести аналогию между файлом и отдельным документом.
Итак, файл — это документ, программа в электронном виде, которые хранятся на внешних устройствах — дисках, лентах и т.д.
Файл может содержать: программу в машинных кодах, текст программы на алгоритмическом языке, текст документа, отчёт, ведомость на зарплату, статью, числовые данные, запись человеческой речи или музыкальной мелодии, рисунок, иллюстрацию, чертеж, фотографию, видеофильм и т.д..
ДЕЙСТВИЯ С ФАЙЛАМИ.Над файлами могут быть выполнены следующие основные операции: создание, открытие, закрытие, изменение (редактирование), копирование, перемещение, переименование и уничтожение.
* Созданиефайла осуществляется по указанию пользователя или автоматически, средствами различных программных систем, таких как операционные системы, оболочки, инструментальные системы программирования и т.д. За создаваемым файлом закрепляется некоторое название, ему выделяется место на дисковом носителе, и он определённым образом регистрируется в операционной системе. Вновь созданный файл может быть заполнен какой–либо информацией. В некоторых ситуациях создаются пустые файлы, то есть файлы, не содержащие никаких данных, но полностью готовые к их приёму. Создание файла образно можно представлять себе как подготовку некоторого документа и выделение ему соответствующего места хранения. А создание пустого файла аналогично подбору названия для документа и определению места для его хранения. При этом формирование содержания документа откладывается на некоторое время.
* Открытиефайла означает подготовку файла к работе с какой-либо программной системой. Процесс подготовки, в частности, включает в себя поиск файла на дисковом носителе и подготовку различных вспомогательных таблиц, с помощью которых информация либо заносится в файл, либо выбирается из него. Как правило, открытие файла осуществляется автоматически той программной системой, которая используется для работы с ним. Открытие файла можно представлять как поиск в шкафу нужного документа и перенос его на рабочий стол для прочтения или внесения в документ каких–либо изменений.
* Закрытиефайла означает разрыв связи между файлом и программной системой и сохранение его текущего состояния. Закрытие файла, так же как и его открытие, осуществляется программной системой по специальному указанию пользователя или же автоматически. Закрытие файла аналогично возврату документа, в который вносились изменения, на место его постоянного хранения. Если оставить документ на рабочем столе, то он может оказаться случайно испорченным или уничтоженным, и все изменения, внесённые в него, окажутся потерянными.
* Изменениемфайла считается внесение любых изменений в данные, являющиеся его содержимым. Изменения, вносимые в содержащие какой-либо текст файлы, принято называть редактированием файла.
* Копирование файла означает, что на том же самом или на другом внешнем устройстве или носителе информации создается точная копия исходного файла. Оригинал при этом остается на своем старом месте, и, таким образом, на внешних устройствах получается два полностью одинаковых экземпляра исходного файла. Копирование файла можно трактовать как снятие копии с документа и её размещение для хранения в другом месте, например, в другом шкафу. Это может быть сделано, скажем, для обеспечения надёжности хранения документа или с какой-либо иной целью.
* Перемещение файла означает, что после копирования файла на другое место оригинал уничтожается, в результате остается только один его экземпляр. Перемещение файла можно представлять как перенос документа с одного места его хранения в другое, например, в другой шкаф.
* Переименование файла означает закрепление за файлом нового названия, при этом старое его название безвозвратно теряется.
* Уничтожение (удаление) файла приходится выполнять в тех случаях, когда устаревшая информация, хранящаяся в файлах, загромождает внешний носитель и теряется возможность записи на этот носитель новой полезной информации. В операционных системах удаление осуществляется так, что во многих случаях сохраняется возможность восстановления случайно уничтоженного файла. Можно представлять себе, что ненужный в дальнейшем документ выброшен в корзину для бумаг. Если случайно был выброшен важный документ, то, хорошенько порывшись в корзине, этот документ можно найти и продолжить работу с ним. Разумеется, если содержимое корзины не было окончательно уничтожено.
АТРИБУТЫ ФАЙЛА. Каждый файл обладает рядом характерных свойств — атрибутов. Важнейшими атрибутами файла являются: название, расширение, длина, время и дата создания.
Название файла. Название, или имя файла, точно так же, как и имя человека, название документа, книги, служит для того, чтобы иметь возможность отличить один файл от другого, указать на нужный файл. В различных операционных системах названия файлов формируются по разным правилам. Например, в операционной системе MS DOS название файла представляет из себя последовательность букв латинского алфавита, цифр и некоторых специальных знаков ( ~, _ , – , $, &, @, %, ^, !, (, ), {, }, #, `,’). Название может содержать от одного до восьми символов и выбирается произвольным образом. Однако желательно подбирать названия файлам так, чтобы пользователь мог легко вспомнить, что именно хранится в этом файле. Например, файл, содержащий отчет за 4-й квартал, можно назвать otchet4, файл с ведомостью на зарплату — vedzarpl, а файл с каким-либо рисунком целесообразно назвать picture. Обратите внимание! В операционной системе MS DOS название файла не может содержать пробелов, букв русского алфавита и точек. Кроме того, оно не может содержать более восьми символов. Вообще говоря, это достаточно существенные ограничения. Например, файл, содержащий отчет предприятия за 4-й квартал, который мы назвали «otchet4», желательно было бы назвать «Отчет за 4-й квартал», в крайнем случае «Otchet za 4 kvartal», применив так называемую транслитерацию, когда слова одного языка записываются буквами другого. В операционных системах Unix и Windows 9.x сняты ограничения на длину названия, использование пробелов и точек в названии. А в операционной системе Windows 9.x, кроме того, в названии можно использовать русские буквы. Таким образом, файл в Unix уже может иметь название «Otchet za 4 kvartal», а в Windows 9.x допускается и название «Отчет за 4-й квартал».
Расширение файла. Кроме названия каждый файл можетиметь или не иметь расширение. Расширение используется для того, чтобы определенным образом охарактеризовать содержимое файла. Например, расширения doc и txt указывают на то, что файл содержит какой-либо документ или текст, а расширение bmp имеет файл, содержащий изображение в формате битовой карты. Расширение, если оно есть, отделяется от названия файла точкой. В операционной системе MS DOS расширение может содержать от одного до трех символов, например, otchet4.doc, vedzarpl.txt, picture.bmp, а в системах Unix и Windows 9.x допускается более трех символов. Если расширения нет, то точка в названии файла не ставится. Название вместе с расширением называют полным именем файла.
Если файл создается с помощью какой-либо программной системы, то, как правило, он автоматически получает стандартное для данной системы расширение, и пользователю достаточно выбрать или указать только название. Впоследствии по стандартным расширениям программная система опознаёт «свои» файлы. В операционных системах предусмотрен целый ряд стандартных расширений. В табл. 6.1 приведены некоторые часто встречающиеся расширения MS DOS и Windows 9.x.
Таблица 6.1.
Некоторые расширения MS DOS и Windows 9.x
Расширение | Содержимое файла |
.сом | Разновидность программы в машинных кодах (выполняемый файл) |
.exe | Разновидность программы в машинных кодах (выполняемый файл) |
.bat | Командный файл (выполняемый файл) |
.bak | Резервный файл |
.doc | Файл программной документации или файл с документом |
.txt | Файл с текстом |
.dat | Файл с числовыми данными |
.hlp | Файл помощи, то есть файл встроенной справочной системы |
.sys | Драйвер устройства |
.tmp | Временный или рабочий файл |
.bmp | Разновидность файла с графикой |
Файлы с расширением .сом (common — общий) и .exe (execute — выполнение) содержат программы на машинном языке. Эти файлы часто называют программными файлами. Различия между .com файлами и .exe файлами касаются их внутренней организации, на способах обращения с файлами эти различия никак не сказываются. Файлы с расширением .bat (batch — пачка) содержат произвольные последовательности команд операционной системы. Такие файлы принято называть командными файлами. Использованный в табл. 6.1 термин «выполняемый файл» объединяет понятия «программный файл» и «командный файл». Другими словами, «выполняемый файл» означает, что файл содержит либо программу на машинном языке, которая может быть непосредственно выполнена процессором компьютера (файлы с расширениями .exe и .com), либо последовательность команд операционной системы (файл с расширением .bat), которые тоже выполняются, но только путем обращения к соответствующим программам и средствам операционной системы.
При внесении в файл каких-либо изменений целесообразно сохранить предыдущий вариант файла с тем, чтобы при необходимости отменить сделанные изменения и вернуться к первоначальному варианту. Поэтому многие программные системы после внесения в файл изменений автоматически формируютрезервный файл, в котором находится первоначальный вариант содержимого файла. Резервный файл имеет то же самое имя, что и исходный файл, но любое его расширение заменяется стандартным для резервных файлов расширением .bak (back — назад, обратно). Например, если изменения были внесены в файл otchet4.doc, то самый последний вариант файла будет иметь то же самое название otchet4.doc, и при этом автоматически будет создан резервный файл otchet4.bak, в котором сохранится старый вариант содержимого файла. Попутно заметим, что если изменения вносятся в большое число файлов, то на диске постепенно скапливается много резервных файлов, поэтому время от времени приходится выполнять «уборку» на диске — уничтожать ставшие уже ненужными или устаревшие резервные файлы.
В целом ряде случаев программная документация поставляется покупателю не на бумаге, а в виде текстовых файлов на дисковых носителях. Обычно таким файлам приписывают расширение .doc (documet — документ). Кроме того, некоторые текстовые редакторы автоматически дают «своим» файлам (то есть файлам, подготовленным с их помощью) это же расширение .doc. Расширение .txt (text — текст) — еще один распространенный вариант расширений, закрепляемых за файлами, которые содержат разнообразные тексты. А файлам с числовыми данными удобно давать расширение .dat (data — данные).
Ранее упоминалось о том, что достаточно часто в программах предусматривается встроенная справочная система, обращаться к которой можно во время выполнения программы. Такая система, как правило, содержит всю необходимую справочную информацию в файлах «помощи» с расширением .hlp (help — помощь).
Для обеспечения другой важной функции операционной системы — выполнения операций по обмену данными между программой и различными внешними устройствами — в составе системы имеется ряд специализированных на управлении конкретными внешними устройствами программ, которые принято называть драйверами(drive — управлять). Драйверы поставляются либо в комплекте программ и файлов операционной системы, либо вместе с устройством, которым они управляют. Отсутствие или применение не соответствующего устройству драйвера делает его бесполезным. Поэтому, приобретая какое–либо внешнее устройство, необходимо обращать внимание на наличие драйвера — программы управления этим устройством. Наиболее часто используемыми драйверами являются: драйверы управления клавиатурой, дисплеем, принтером, манипулятором мышь и т.д. Файлы, содержащие драйверы, имеют расширения .exe или .sys (system — система).
Иногда программным системам приходится сохранять промежуточную, рабочую информацию на дисковых устройствах. Для этого формируются специальные файлы, которые достаточно часто получают расширение .tmp (temporary — временный). Как правило, временные файлы после окончания работы программы автоматически уничтожаются. Но бывают ситуации, когда такие файлы все-таки остаются на диске, и тогда по указанному расширению их легко опознать и при необходимости уничтожить.
Различные графические редакторы также закрепляют за файлами, подготовленными с их помощью, определенные расширения. Одно из таких расширений — расширение .bmp (bit map — битовая карта).
Длина файла. Следующим важным атрибутом файла является его длина. Длина файла равна объему занимаемого файлом участка диска или ленты, и, следовательно, измеряется в байтах. Значение этого атрибута используется для определения возможности размещения файла на свободном участке дискового носителя и в некоторых других целях.
Время и дата создания файла. При первоначальной записи файла на диск, а также при внесении в файл изменений с помощью системных часов (специальной программы, входящей в состав операционной системы) автоматически фиксируются время и дата записи файла на дисковое устройство. При выключенном компьютере работа системных часов поддерживается за счёт специальных батареек или других источников питания. Поэтому системные часы довольно точно отслеживают время. Атрибуты даты и времени используются для опознания последних по времени вариантов файла.
? Кроме рассмотренных основных атрибутов файла, в операционной системе MS DOS файлы имеют еще четыре атрибута — только для чтения, системный, скрытый и архивный. Каждый из этих атрибутов имеет ровно два состояния — атрибут включён или атрибут выключен.
Включение атрибута только для чтения (иногда его называют атрибутом разграничения доступа) означает, что файл недоступен для внесения в него каких–либо изменений. Кроме того, усложнено уничтожение такого файла. После выключения атрибута только для чтения файл доступен для любых операций.
Атрибутсистемный обычно включен только у основных файлов операционной системы. У всех остальных файлов атрибут системный, как правило, выключен.
Атрибут скрытыйвключен у тех файлов, которые при просмотре списка файлов, находящихся на дисковом устройстве, командой операционной системы в этот список не включаются. Остальные файлы имеют выключенное значение атрибута скрытый.
Для обеспечения надежности хранения информации на дисковых устройствах необходимо иметь одну или две копии файлов, содержащих важную информацию. Для этого организуют архивныефайлы. При записи файла в архив атрибут архивный включается. Это значит, что копия последнего варианта файла находится в архиве. При внесении любых изменений в такой файл атрибут архивный выключается. Это значит, что в архиве имеется устаревший вариант файла (или же файл вообще не архивирован). Специальные программы–архиваторы, отслеживая значение атрибута архивный, могут обновлять в архиве только те файлы, в которых были сделаны изменения. Это позволяет оптимизировать работу архиваторов.
Каждый из рассмотренных атрибутов задается одним битом. Эти биты вместе с некоторой дополнительной информацией образуют байт атрибутов.
ГРУППОВОЕ ИМЯ ФАЙЛА. При выполнении операций с файлами иногда возникают ситуации, когда одно и то же действие нужно выполнить с целой группой файлов. Например, нужно переписать (скопировать) несколько файлов с диска С: на диск А: с целью последующего переноса этих файлов на другую машину. Или, скажем, требуется уничтожить все устаревшие резервные файлы с целью освобождения места на дисковом устройстве для записи полезной информации. Конечно, такие действия можно выполнять последовательно, задавая одно и то же нужное действие для каждого файла группы. Однако этот подход может потребовать очень много времени и сил, особенно если группа состоит из достаточно большого числа файлов.
В операционной системе MS DOS предусмотрен способ, упрощающий коллективные действия с файлами. Действие, которое нужно выполнить над группой файлов, задается только один раз, но вместе с действием указывается не полное имя одиночного файла, а специальное имя, которое позволяет операционной системе выделить, опознать все файлы группы и затем выполнить над ними нужное действие. Такое имя называют групповым именем, шаблономилимаской.
Групповое имя образуется с помощью символов «*» и «?». Символ «*», встретившийся в групповом имени, трактуется операционной системой как «любая последовательность любых символов названия». То есть этому символу соответствует любое количество любых символов названия. Так, групповому имени «a*» соответствуют любые названия, начинающиеся с буквы «а»: a1, azbuka, a2z4. Символ «?» воспринимается ОС как любой одиночный символ, то есть ему соответствует ровно один произвольный символ имени. Например, шаблону otchet?.doc соответствуют любые имена с расширением .doc, в названии которых за отрезком названия otchet следует ровно один символ, например, otchet1.doc, otchet4.doc, otchet%.doc, otchet#.doc и т.д. Рассмотрим ещё несколько примеров:
??.txt — файлы с любыми двухбуквенными именами и расширением .txt;
*.bak — файлы с любыми именами и расширением .bak;
prog1.* — файлы с названием prog1 и любым расширением;
*.* — файлы с любыми названиями и любыми расширениями.
КАТАЛОГ. Чтобы прочитать содержимое файла, необходимо знать его местоположение на дисковом устройстве. Каждый файл занимает на диске определённую группу секторов. Следовательно, местоположение файла можно задавать, указывая номера секторов и дорожек, занятых файлом. Однако такой способ указания местоположения файла очень неудобен, так как пользователю необходимо знать номера всех секторов диска, которые отведены под файл. Как было выяснено ранее, для повышения эффективности обмена данными несколько подряд расположенных секторов объединяются в кластер, и обмен осуществляют сразу всей группой секторов. Такая схема организации обмена существенно увеличивает скорость выполнения операций обмена данными с винчестерскими дисками. Кроме того, чтобы не задавать три отдельных числа (номер рабочей поверхности, номер дорожки и номер сектора) в качестве адреса сектора, с которого начинается кластер, для всех кластеров диска введена единая, сплошная нумерация. Таким образом, для определения кластера, в котором начинается файл, теперь достаточно указывать только одно число — порядковый номер кластера на диске.
На любом дисковом носителе имеется несколько служебных таблиц, содержащих всю необходимую информацию о положении файлов на этом дисковом носителе. Совокупность всех служебных таблиц образует файловую систему диска.Одна из таких таблиц, с которой в основном приходится иметь дело пользователю, называется каталогом(директорией).
i |
Каталогомназывается таблица файловой системы диска, которая содержит список всех записанных на этот диск файлов. Для каждого файла в этой таблице указываются значения всех его атрибутов, а также номер первого выделенного файлу кластера.
С точки зрения своего назначения, каталог можно сравнить с оглавлением в книге, в котором для каждой главы указан начальный номер страницы, или с описью документов, хранящихся в шкафу. Так же, как в книге, для определения положения той или иной главы можно по названию главы в содержании книги определить, на какой странице она начинается, так и операционная система по названию файла находит в каталоге кластер, в котором он начинается.
Таблица 6.2.
Фрагмент каталога
Имя файла | Расширение | Байт Атрибутов | Время Создания | Дата создания | Номер кластера | Длина файла |
Otchet4 | bak | 0016 | 10:17 | 04/12/95 | ||
Otchet4 | txt | 0016 | 19:43 | 12/01/96 | ||
Picture | bmp | 0016 | 09:12 | 20/02/96 | ||
Vedzarpl | txt | 0016 | 15:22 | 01/03/96 |
Табл. 6.2 можно рассматривать как пример фрагмента каталога, за тем исключением, что в реальных каталогах информация представлена не символами, а в виде соответствующих машинных кодов. Байт атрибутов в таблице представлен в шестнадцатиричной форме. Приведённое в неё значение байта атрибутов 0016 означает, что все не основные атрибуты файла выключены и, следовательно, файлы, присутствующие во фрагменте каталога, являются обычными файлами.
Вообще говоря, выше изложена несколько упрощенная схема работы файловой системы при поиске и считывании файла с дискового устройства. На самом деле аналогия между каталогом и оглавлением в книге только частичная из-за того, что кластеры выделяются файлу на диске не сплошным массивом, а вразброс, в то время как в книге все страницы главы размещаются подряд. Представьте себе, что одна из глав книги занимает страницы 5, 15, 16, 17, 31, 123, 124 вместо того, чтобы занимать страницы 5, 6, 7, 8, 9, 10, 11 подряд. Такое не сплошное выделение кластеров файлам организовано для того, чтобы оптимизировать использование свободного пространства диска при многочисленных уничтожениях и записях файлов.
Для того чтобы всё-таки знать, какие именно кластеры и в каком порядке выделены для хранения файла, в файловой системе предусмотрена другая таблица, имеющаяся на любом дисковом устройстве. Эта таблица называется FAT (File Allocation Table — таблица размещения файла). Каталог содержит только номер начального кластера файла. А таблица FAT — номера всех остальных занятых файлом кластеров. В подавляющем большинстве случаев пользователю не приходится работать с таблицей FAT, так как она заполняется при записи файла и анализируется при его считывании автоматически. Каталог и одна или две таблицы FAT (для обеспечения большей надежности таблица FAT, как правило, дублируется) автоматически создаются в процессе форматирования на любом дисковом носителе. Созданный автоматически каталог принято называть корневым. Корневой каталог вместе с таблицами FAT и начальным (нулевым, стартовым) сектором диска образуют его системную область.
Рассмотренная выше простая структура каталога, в котором все файлы образуют один общий список, может обеспечить удовлетворительную работу операционной системы только в случае небольших объёмов диска и ограничивает общее число файлов, которые могут быть записаны на диск. Так, на гибких дисках объёмом 1,44 Мбайт каталог может содержать сведения не более чем о 224 файлах. А когда объём диска становится достаточно большим и, следовательно, на диске могут быть записаны сотни и тысячи файлов, простая структура каталога приводит к существенному замедлению процесса поиска файла на диске или переполнению каталога. Представьте себе список хранящихся в шкафу документов из нескольких тысяч названий. Совершенно очевидно, что работать с таким списком очень неудобно. В реальной жизни документы в шкафах сгруппированы по каким-либо признакам в папки. При этом в описи содержимого шкафа указываются не отдельные документы, а папки. Аналогичным образом каталог в операционных системах имеет более сложную структуру. Произвольные группы файлов каталога могут объединяться и образовывать подкаталоги.Внекоторых операционных системахподкаталоги называются папками.Фактически подкаталоги так же, как и корневой каталог, являются таблицами, размещаемыми на диске и содержащими информацию об отнесенных к подкаталогу файлах. В отличие от корневого каталога, положение подкаталогов на диске не привязано к системной области. Поэтому размеры подкаталогов могут быть достаточно произвольными, что позволяет снять ограничение на количество указываемых в подкаталоге файлов.
Подкаталоги создаются пользователями по своему усмотрению. Каждый подкаталог имеет собственное имя (обычно без расширения), которое подбирается по тем же правилам, что и имя файла. Группировка и включение файлов в подкаталог могут производиться по любым критериям. Например, в отдельный подкаталог с названием WINDOWS целесообразно собрать все файлы, имеющие отношение к операционной системе. Точно так же целесообразно сгруппировать в отдельный подкаталог все файлы, необходимые для работы какого-либо текстового редактора или игровой программы. Если на машине по очереди работают несколько пользователей, то имеет смысл организовать отдельные подкаталоги для каждого пользователя, скажем, user1, user2, user3, … (user — пользователь), сгруппировав в подкаталоге user1 файлы первого пользователя, в подкаталоге user2 — второго и т.д. Кроме снятия количественных ограничений, связанных с использованием одного каталога, это создает определенную упорядоченность при хранении информации на дисках.
Все подкаталоги, находящиеся в корневом каталоге, относят к первому уровню. На рис. 6.2 подкаталогами первого уровня являются подкаталоги Windows, user1, Program files. Корневой каталог по отношению к включенным в него подкаталогам первого уровня называют родительским, а подкаталоги по отношению к корневому считаются дочерними или вложенными.Каждый подкаталог первого уровня в свою очередь устроен точно так же, как и корневой. То есть в файлах, отнесенных к подкаталогу, можно выделить какие-либо подгруппы, образовав из них новые подкаталоги. Таким образом, кроме обычных файлов любой подкаталог может содержать и файлы, сгруппированные в подкаталоги. Эти подкаталоги относятся к следующему уровню. Например, владелец подкаталога user1 может сгруппировать внутри этого подкаталога все подготовленные им отчеты в отдельный подкаталог с названием otcheti, а, скажем, файлы, содержащие информацию о деловых контактах, собрать в подкаталоге kontakti (рис.6.2). Подкаталоги первого уровня по отношению к включенным в них подкаталогам второго уровня считаются родительскими. Подкаталоги второго уровня выступают в роли дочерних по отношению к подкаталогам первого уровня. Отсюда следует, что понятия «родительский» и «дочерний» подкаталог являются относительными. Подкаталоги первого уровня, с одной стороны, считаются дочерними для корневого каталога, а с другой — родительскими для подкаталогов второго уровня. Подкаталоги второго уровня могут иметь сформированные внутри них подкаталоги третьего уровня, а те в свою очередь — четвертого уровня и т.д. Глубина вложения подкаталогов не ограничена. Такую структуру каталога можно представлять себе как оглавление книги, в котором введена определённая структуризация, — выделены части, в частях выделены главы, главы разбиты на параграфы, параграфы — на разделы и т.д. Каждую из этих структурных единиц можно рассматривать как подкаталог.
Глядя на рис. 6.2, можно заметить, что каталог по своей структуре напоминает дерево. Корневой каталог можно сопоставить со стволом дерева, подкаталоги играют роль ветвей, а файлы являются листьями этого «дерева». Такая структура каталога называется древовидной или иерархической. Собственно говоря, названия «корневой» и «древовидная» происходят от указанной аналогии. А название «иерархическая» произошло от понятия «иерархия». Иерархией называется расположение частей или элементов целого в порядке от высшего к низшему. Иерархические структуры имеют очень широкое распространение.
Рис. 6.2. Древовидная структура каталога
Например, вооруженные силы государства в основном построены на вертикальных связях управления, то есть по иерархическому принципу: армия–дивизия–полк–рота–взвод–военнослужащие. Можно сказать, что армия аналогична корневому каталогу, военнослужащие — файлам, а промежуточные подразделения: дивизия, полк, рота, взвод — подкаталогам различных уровней. Такую же структуру имеют высшие учебные заведения (вуз–факультет–кафедра–преподаватели) и многие другие организации.
Отметим, что фактически на любом дисковом устройстве имеется только один каталог — корневой, все остальные являются подкаталогами какого-либо уровня вложенности. Тем не менее, для простоты речи достаточно часто подкаталоги также называют каталогами, иногда указывая при этом на существующие для них отношения подчиненности. Заметим, что пользователь сам создает или не создает подкаталоги, их наличие, в принципе, не обязательно. В то время как корневой каталог обязателен, и создается он автоматически. Отметим также, что, создавая подкаталог, пользователь произвольным образом выбирает ему название, в то время как корневой каталог в этом смысле названия не имеет вообще.
МАРШРУТ К ФАЙЛУ. Операционная система осуществляет поиск файла в каталоге по его полному имени. Это означает, что в одном каталоге или подкаталоге в принципе не могут находиться два различных файла с одним и тем же полным именем. Напоминаем, что полное имя состоит из названия файла и его расширения. Не допускается также и наличие в одном каталоге или подкаталоге двух вложенных подкаталогов с одинаковыми именами. Для того чтобы разобраться в том, почему это невозможно, рассмотрим следующую ситуацию. Представьте себе, что в некотором городе почтовая служба организована так: фамилии, имена и отчества, то есть полные имена, а также адреса всех жителей города имеются в списках, хранящихся на почте (аналог каталога на диске). Отправителям корреспонденций в этот город известны только полные имена получателей, а их адреса неизвестны, и поэтому на почтовых отправлениях в этот город указываются только фамилия, имя и отчество получателя. На почте по указанному в почтовом отправлении полному имени в соответствующем списке определяют адрес получателя и доставляют по нему это отправление (аналог осуществляемого операционной системой поиска файла на диске по его названию). Допустим теперь, что в этом городе проживают по разным адресам два различных человека с одинаковыми полными именами. Тогда рассмотренная схема работы почты приведет к тому, что адресаты с совпадающими фамилиями, именами и отчествами будут получать почтовые отправления вперемешку — и свои, и чужие. Аналогичным образом при совпадающих полных именах двух файлов операционная система не сможет однозначно определить — в какой файл надо записывать данные или же из какого файла читать, и будет выбирать их случайным образом.
Однако в различных каталогах или подкаталогах допускается наличие файлов или дочерних подкаталогов с совпадающими полными именами. Но тогда для однозначного указания на нужный файл одного полного названия файла теперь оказывается недостаточно. Для того чтобы отличить друг от друга файлы с одним и тем же названием приходится указывать ещё и подкаталоги, в которых они находятся. А в общем случае требуется указывать не один подкаталог, а всю цепочку подкаталогов, по которым необходимо пройти от корневого каталога до подкаталога, содержащего искомый файл, чтобы добраться до нужного файла и определить его местоположение.
i |
Цепочка названий подкаталогов, по которым нужно пройти, начиная от корневого каталога и заканчивая подкаталогом, содержащим файл, называется маршрутом, или путёмк файлу.
В операционных системах MS DOS и Windows корневой каталог в маршруте указывается символом «\». Этим же символом отделяются друг от друга названия подкаталогов в цепочке, а также имя файла от названия подкаталога, в котором он находится.
Таким образом, для файлов, находящихся в корневом каталоге (рис. 6.2), маршрутом является только обозначение корневого каталога «\», и файлы указываются следующим образом:
Дата добавления: 2016-01-26; просмотров: 994;