Операционная система windows управление файловой структурой настройки

Управление файловой системой

Управление файловой системой – одна из наиболее традиционных функций ОС Файловая система – это часть операционной системы, назначение которой состоит в том, чтобы организовать эффективную работу с данными, хранящимися во внешней памяти, и обеспечить пользователю удобный интерфейс при работе с такими данными. Помимо собственно файлов и структур данных, используемых для управления файлами (каталоги, дескрипторы файлов, различные таблицы распределения внешней памяти), понятие «файловая система» включает и программные средства, реализующие различные операции над файлами.

Управление файловой системой опирается:

· на подсистему управления вводом–выводом;

· использование специальных аппаратных средств;

· специальные информационные структуры.

Файл — это совокупность данных, доступ к которым осуществляется по имени. Файл, таким образом, противопоставляется другим объектам, доступ к которым осуществляется по их адресу в памяти. Понятие файла может быть обращено на любой источник или потребитель информации в машине. Например, в качестве файла для программы могут выступать принтер, дисплей, клавиатура и др. Здесь мы имеем дело со свойством ОС подменять реальную аппаратуру удобными для пользователей и программистов абстракциями.

Совокупность каталогов и системных структур данных, отслеживающих размещение файлов на диске и свободное дисковое пространство, называется файловой системой. Современные ОС часто позволяют размещать на одном физическом диске несколько файловых систем. Обычно разбиение диска на части производится на уровне драйвера диска, поэтому общее название частей — логические диски. Главная задача файловой системы – скрыть особенности ввода–вывода и дать программисту простую абстрактную модель хранения и доступа к данным, независимым от устройств.

Назовем основные функции файловой системы:

· идентификация файлов – связывание имени файла с выделенным ему пространством внешней памяти;

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

· обеспечение надежности и отказоустойчивости. Стоимость информации может во много раз превышать стоимость компьютера;

· обеспечение защиты от несанкционированного доступа;

· обеспечение совместного доступа к файлам, так чтобы пользователю не приходилось прилагать специальных усилий по обеспечению синхронизации доступа;

· обеспечение высокой производительности.

Назначение файловых систем определяет состав их программных частей, которые должны иметь следующие компоненты:

· средства взаимодействия с процессами пользователей, обеспечивающие прием и интерпретацию запросов от пользователей на обработку файлов и сообщающие им в удобной форме о результатах этой обработки;

· средства, реализующие методы доступа к внутренним составным элементам файла и файлу в целом. Эти средства осуществляют связь между физическим и логическим уровнями управления данными;

· средства, обеспечивающие распределение внешней памяти для хранения файлов и ее освобождение при уничтожении файлов;

· средства учета расположения файлов в целом и их составных частей.

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

1. open(char * fname, int flags, mode_t mode)

Эта операция открывает файл, устанавливая соединение между программой и файлом. При этом программа получает дескриптор файла — целое число, идентифицирующее данное соединение. Все остальные операции (чтения, записи, позиционирования) используют этот индекс для ссылки на файл. Параметр char * fname задает имя файла, int flags — это битовая маска, определяющая режим открытия файла. Файл может быть открыт только для чтения, только для записи и для чтения и записи; кроме того, можно открывать существующий файл, а можно пытаться создать новый файл нулевой длины. Необязательный третий параметр mode используется только при создании файла и задает его атрибуты.

2. lseek(int handle, off_t offset., int whence)

Эта операция перемещает указатель чтения/записи в файле. Параметр offset задает количество байтов, на которое нужно сместить указатель, а параметр whence — начало отсчета смещения. Предполагается, что смещение можно отсчитывать от начала файла (SEEK_SET), от его конца (SEEK_END) и от текущего положения указателя (SEEK_CUR). Операция возвращает положение указателя, отсчитываемое от начала файла.

3. read(int handle, char * where, size__t howjnuch)

Операция чтения из файла. Указатель where задает буфер, куда нужно поместить прочитанные данные; третий параметр указывает, сколько данных надо считать. Система считывает требуемое число байтов из файла, начиная с указателя чтения/записи в этом файле, и перемещает указатель к концу считанной последовательности. Если файл кончился раньше, считывается столько данных, сколько оставалось до его конца. Операция возвращает количество считанных байтов. Если файл открывался только для записи, вызов read возвратит ошибку.

Читайте также:  Windows 10 home rpd не работает

4. write(int handle, char * what, size__t how_much)

Операция записи в файл. Указатель what задает начало буфера данных, третий параметр указывает, сколько данных надо записать. Система записывает требуемое число байтов в файл, начиная с указателя чтения/записи в этом файле, заменяя хранившиеся в этом месте данные, и перемещает указатель к концу записанного блока. Если файл кончился раньше, его длина увеличивается. Операция возвращает количество записанных байтов. Если файл открывался только для чтения, вызов write возвратит ошибку.

5. close (int handle)

Эта операция закрывает файл, разрывая соединение между программой и файлом.

Набор файловых системных вызовов в ОС MS–DOS фактически был скопирован с вызовов Unix, послуживших основой для стандарта POSIX. В свою очередь и Windows NT/2000/XP унаследовали принципы работы с файлами непосредственно от MS–DOS.

Стандарт POSIX предлагает и другие дополнительные операции для работы с файлами, в частности отображение всего или части файла в виртуальное адресное пространство процесса.

Отображение (проецирование) файла в память. Отображение (проецирование) файла в память (File mapping) – это соединение содержания файла с частью виртуального адресного пространства процесса. Система создает объект «проекция файла» (file mapping object), чтобы обслужить эту ассоциацию. Представление данных файла (file view) – это часть виртуального адресного пространства, которое процесс использует, чтобы получить доступ к содержанию файла. Процессы читают и записывают в представление данных файла, используя указатели точно так же, как при работе с динамически распределенной памятью.

Отображение файла в память обеспечивает несколько преимуществ:

· возможность работы с файлами большего размера;

· при работе с большими файлами память не выделяется, а резервируется, и при обращении к ней происходит подгрузка данных из файла, что обеспечивает более быстрый и более легкий доступ к содержимому;

· файл, отображаемый в память, может совместно использоваться между двумя или несколькими процессами.

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

Управление атрибутами файлов. Кроме имени и расширения имени файла, операционная система хранит для каждого файла дату его создания (изменения) и атрибуты файла. Атрибуты – это дополнительные параметры, определяющие свойства файлов. Операционная система позволяет их контролировать и изменять. Состояние атрибутов учитывается при проведении автоматических операций с файлами. Существует четыре основных атрибута: только для чтения (Read Only), скрытый (Hidden), системный (System), архивный (Archive).

Атрибут «только для чтения» ограничивает возможности работы с файлом. Его установка означает, что файл не предназначен для внесения изменений. Атрибут «скрытый» указывает, что данный файл не следует 129

отображать на экране при проведении файловых операций. Это мера защиты против случайного повреждения файла. Атрибут «системный» используется для файлов, связанных с функционированием операционной системы. Его отличительная особенность в том, что средствами операционной системы его изменить нельзя. Как правило, большинство файлов, имеющих установленный атрибут «системный», имеют также установленный атрибут «скрытый». Атрибут «архивный» в прошлом использовался для работы программ резервного копирования. Предполагалось, что любая программа, изменяющая файл, должна автоматически устанавливать этот атрибут, а средство резервного копирования должно его сбрасывать. Таким образом, очередному резервному копированию подлежали только те файлы, у которых этот атрибут был установлен. Современные программы резервного копирования используют другие средства для установления факта изменения файла, и данный атрибут во внимание не принимается, а его изменение вручную средствами операционной системы не имеет практического значения.

Структура файловой системы и хранения данных на внешних носителях определяет удобство работы пользователя, скорость доступа к файлам и т.д. Каталоги – важные элементы иерархической структуры, необходимые для обеспечения удобного доступа к файлам, если файлов на носителе слишком много. Файлы объединяются в каталоги по любому общему признаку, заданному их создателем (по типу, времени создания, имени владельца и др.). Каталоги низких уровней вкладываются в каталоги более высоких и являются для них вложенными. Верхним уровнем вложенности иерархической структуры является корневой каталог диска. В иерархической структуре данных адрес объекта задается маршрутом (путем доступа), ведущим от вершины структуры к объекту. При записи пути доступа к файлу, проходящего через систему вложенных каталогов, все промежуточные каталоги разделяются между собой определенным символом.

Читайте также:  Xfreerdp параметры запуска astra linux

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

Навигация по файловой системе. Удобство навигации, то есть перехода от файла к файлу или от папки к папке, часто воспринимают как удобство работы с операционной системой. В операционных системах, имеющих терминальный интерфейс, навигация осуществляется путем ввода команд перехода с диска на диск или из каталога в каталог. Из–за неудобства такой навигации широкое применение нашли специальные программы, называемые файловыми оболочками.

Обслуживание файловой структуры

К функции обслуживания файловой структуры относятся следующие опера­ции, происходящие под управлением операционной системы: создание файлов и присвоение им имен; создание каталогов (папок) и присвоение им имен; переименование файлов и каталогов (папок); копирование и перемещение файлов между дисками компьютера и между ката­логами (папками) одного диска; удаление файлов и каталогов (папок); навигация по файловой структуре с целью доступа к заданному файлу, каталогу (папке); управление атрибутами файлов.

Создание и именование файлов Файл — это именованная последовательность байтов произвольной длины. Поскольку из этого определения вытекает, что файл может иметь нулевую длину, то фактически создание файла состоит в присвоении ему имени и регистрации его в файловой системе — это одна из функций операционной системы. Даже когда мы создаем файл, работая в какой-то прикладной программе, в общем случае для этой операции привлекаются средства операционной системы.

Создание каталогов (папок)Каталоги (папки) — важные элементы иерархической структуры, необходимые для обеспечения удобного доступа к файлам, если файлов на носителе слишком много. Файлы объединяются в каталоги по любому общему признаку, заданному их созда­телем (по типу, по принадлежности, по назначению, по времени создания и т. п.). Каталоги низких уровней вкладываются в каталоги более высоких уровней и явля­ются для них вложенными. Верхним уровнем вложенности иерархической структуры является корневой каталог диска.

Все современные операционные системы позволяют создавать каталоги. Правила присвоения имени каталогу ничем не отличаются от правил присвоения имени файлу, хотя негласно для каталогов не принято задавать расширения имен. Каталоги и папки. До появления операционной системы Windows 95 при описании иерархической файловой структуры использовался введенный выше термин ката­лог. С появлением этой системы был введен новый термин —папка. В том, что касается обслуживания файловой структуры носителя данных, эти термины равно­значны: каждому каталогу файлов на диске соответствует одноименная папка операционной системы. Основное отличие понятий папка и каталог проявляется не в организации хранения файлов, а в организации хранения объектов иной при­роды.

КОПИРОВАНИЕ И ПЕРЕМЕЩЕНИЕ ФАЙЛОВ.В неграфических операционных системах операции копирования и перемещения файлов выполняются вводом прямой команды в поле командной строки. При этом указывается имя команды, путь доступа к каталогу-источнику и путь доступа к каталогу-приемнику.

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

УДАЛЕНИЕ ФАЙЛОВ И КАТАЛОГОВ (ПАПОК). Существует как минимум три режима удаления данных: удаление, уничтожение и стирание, хотя операционные системы обеспечивают только два первых режима (режим надежного стирания данных можно обеспечить лишь специальными программными средствами).

Удаление файлов является временным. В операционных системах Win-dows 95 и Windows 98 оно организовано с помощью специальной папки, которая называется Корзина. При удалении файлов и папок они перемещаются в Корзину. Эта операция происходит на уровне файловой структуры операционной системы (изменяется только путь доступа к файлам). На уровне файловой системы жесткого диска ничего не происходит — файлы остаются в тех же секторах, где и были записаны.

Уничтожение файлов происходит при их удалении в операционной системе MS-DOS или при очистке Корзины в операционных системах Windows 95/98. В этом случае файл полностью удаляется из файловой структуры операционной системы, но на уровне файловой системы диска с ним происходят лишь незначительные изменения. В таблице размещения файлов он помечается как удаленный, хотя физически остается там же, где и был. Это сделано для минимизации времени операции. При этом открывается возможность записи новых файлов в кластеры, помеченные как «свободные».

Читайте также:  Почему у меня нет windows hello

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

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

Как и операционные системы, файловые оболочки бывают неграфиче-скими и графическими. Наиболее известная неграфическая файловая оболочка для MS-DOS — диспетчер файлов Norton Commander, а роль графической файловой оболочки для MS-DOS в свое время исполняли программы Windows 1.0 и Windows 2.0, которые постепенно развились до понятия операционной среды (в версиях Windows 3.x) и далее до самостоятельной операционной системы (Windows 95/98).

УПРАВЛЕНИЕ АТРИБУТАМИ ФАЙЛОВ.

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

Основных атрибутов четыре: « Только для чтения (Read only); в Скрытый (Hidden); в Системный (System); в Архивный (Archive).

Атрибут Только для чтения ограничивает возможности работы с файлом. Его установка означает, что файл не предназначен для внесения изменений.

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

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

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

Управление приложениями

Понятие многозадачности С точки зре­ния управления исполнением приложений различают однозадачные и многозадачные операционные системы.

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

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

Установка приложений Для правильной работы приложений на компьютере они должны пройти операцию, называемую установкой. Необходимость в установке связана с тем, что разработ­чики программного обеспечения не могут заранее предвидеть особенности аппарат­ной и программной конфигурации вычислительной системы, на которой предстоит работать их программам. Таким образом,дистрибутивный комплект представляет собой полуфабрикат, из которого в процессе установки формируется полноценное приложение. При этом осущест­вляется привязка приложения к существующей аппаратно-программной среде и его настройка на работу именно в этой среде.

Удаление приложенийВ таких операци­онных системах, где каждое приложение самообеспечено собственными ресурсами (например, в MS-DOS), его удаление не требует специального вмешательства опера­ционной системы. В операционных системах, реализующих принцип совместного использования ресурсов (например, в системах семейства Windows), процесс удаления приложений имеет особенности. Нельзя допустить, чтобы при удалении одного приложения были удалены ресурсы, на которые опираются другие приложения, даже если эти ресурсы были когда-то установлены вместе с удаляемым приложением. В связи с этим удаление приложений происходит под строгим контролем операционной сис­темы.

Оцените статью