MS DOS Version 6.22

 

Выполнение любой команды операционной системы фактически сводится к выполнению некоторой программы, которая является составной частью операционной системы, либо к вызову с системного диска и последующему выполнению дополнительной программы. Такие дополнительные, не входящие непосредственно в состав операционной системы программы принято называть ути­литами(utility — полезный, практичный). Обычно утилиты выполняют некоторые сервисные функции, типа проверки качества рабочих поверхностей магнитных дисков. Отсутствие какой–ли­бо утилиты на системном диске в целом не нарушает работоспособности операционной системы. Прос­то в этом случае будет недоступна для выполнения соответствующая ее функция, в то время как отсутствие какой-либо составной части операционной системы выводит из рабочего состояния всю систему.

Если по ходу выполнения команды операционной системе потребует­ся допол­ни­тельная информация, она задаст вопрос, на который пользователь должен дать от­вет. Эти вопрос и ответ также оформляются в виде тестов заранее обговоренной формы и содержания. Если же при выполнении команды встретится не­стандартная ситуация, то операционная система сформирует и выведет на экран дисплея ин­формационное или диагнос­ти­чес­кое сообщение, описывающее сложив­шуюся ситуацию. Она же подскажет возможные пути дальнейших дей­ст­­вий пользователя.

После успешного или безуспе­шного завершения вы­пол­нения команды операционная система вновь выводит на экран пригла­ше­­ние и ожидает следующей команды пользователя. Таким образом, диалог пользователя и операционной системы протекает в виде обмена текстовыми фразами. Собственно поэтому интерфейс такого типа и называют текстовым. Так как приглашение MS DOS вместе с командой пользователя обычно занимает на экране дисплея одну строку, то эту строку стали называть командной строкой, а текстовый интерфейс приобрел еще одно название — интерфейс командной строки.Заметим, что популярная сетевая операционная система Unix также использует интерфейс командной строки.

Практика работы с операционной системой MS DOS очень быстро показала, что для большинства пользователей текстовый интерфейс сложен и неудобен, так как пользователю приходится запоминать правила записи достаточно большого количества необходимых в работе команд. Кроме того, нужно вводить с клавиатуры довольно длинные последовательности символов, из которых состоит команда, а если при ее вводе сделана ошибка (что происходило довольно часто) — требуется выполнить повторный ввод команд. Поэтому стали разрабатывать всевозможные вспомогательные программы, которые должны обеспечивать более удобный для пользователя способ взаимодействия с операционной системой. Такие программы получили название оболочек. Являясь по сути дела над­ст­ройками над операционной системой, оболочки изменяют стиль и правила взаи­модейст­вия пользователя и операционной системы, обеспечивая при этом доступ к ее основ­ным возможностям.

 

i

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

 

Еще раз подчеркнем, что оболочки не являются независимыми программами, они могут функционировать только совместно с операционной системой, для которой они разработаны. Для MS DOS было разработано несколько различ­­ных оболо­чек — Qdos, Dos Shell, Norton Commander, Volkov Commander, Windows 3.x, среди которых наибольшей популярностью пользуются оболочки Nor­ton Commander (сок­ра­щён­но — NC), Volkov Commander (VC) и Win­dows 3.x. Различные оболочки используют разный интерфейс пользователя. Так, оболочки Nor­ton 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 Разновидность файла с графикой

 

Файлы с расширением .сом (com­mon — общий) и .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 (tem­porary — временный). Как правило, времен­ные файлы после окончания работы программы автоматически уничто­жа­ют­ся. Но бывают ситуации, когда такие файлы все-таки ос­таются на диске, и тогда по указанному расширению их легко опознать и при не­об­хо­ди­мос­ти уничтожить.

Различные графические редакторы также закрепляют за файлами, подго­тов­ленными с их помощью, определенные расширения. Одно из таких рас­ширений — расширение .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 Al­lo­ca­t­i­on 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;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.036 сек.