Изучение интерфейса прикладного программирования Win32, разработка приложения, демонстрирующего возможности ОС по работе с файлами

Автор работы: Пользователь скрыл имя, 28 Марта 2012 в 18:55, курсовая работа

Описание

В данной пояснительной записке приведено описание алгоритма и исходного кода программы, демонстрирующей возможности ОС по работе с файлами. Разработаны схемы алгоритмов решения задачи. В среде Microsoft Visual Studio 2005 (C++) разработана и отлажена программа, реализующая представленные алгоритмы. Также представлены результаты решения контрольных примеров, выполненные с помощью разработанной программы.
В приложении приведён текст программы.

Содержание

Описание программы
1.1. Общие сведения о файлах
1.2. Общие сведения о программе
1.3. Функциональное назначение
1.4. Описание логической структуры
1.5. Структурная схема основной программы
1.6. Описание элементов программы
2. Программа в процессе работы
2.1. Создание и редактирование файлов
2.2. Копирование, переименование и удаление файлов
2.3. Поиск файлов
2.4. Просмотр и изменение атрибутов файлов
2.5. Создание ссылок на файлы
2.6. Получение информации о файле
3. Заключение
4. Список используемой литературы
5. Приложение

Работа состоит из  1 файл

ПЗ по ОС.doc

— 652.00 Кб (Скачать документ)


МИНИСТЕРСТВО  ОБРАЗОВАНИЯ

РОССИЙСКОЙ ФЕДЕРАЦИИ

 

ПЕНЗЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

 

 

Кафедра САПР

 

 

 

 

 

Пояснительная записка

к курсовому проекту по дисциплине

Операционные системы

 

На тему: «Изучение интерфейса прикладного программирования Win32. Разработка приложения, демонстрирующего возможности ОС по работе с файлами»

 

 

 

 

 

 

Выполнил: КУРЯЕВ Р.М.

Группа   08ВА1

 

                                                                  Принял: Гудков А.А.

 

 

 

 

 

 

 

 

Пенза  2010 г

- 20 -

 



Аннотация

 

В данной пояснительной записке приведено описание алгоритма и исходного кода программы, демонстрирующей возможности ОС по работе с файлами. Разработаны схемы алгоритмов решения задачи. В среде Microsoft Visual Studio 2005 (C++) разработана и отлажена программа, реализующая представленные алгоритмы. Также представлены результаты решения контрольных примеров, выполненные с помощью разработанной программы.

В приложении приведён текст программы.

Пояснительная записка содержит 20 страниц, 11 рисунков и 1 приложение.

- 20 -

 



Содержание:

1.              Описание программы             

1.1.              Общие сведения о файлах             

1.2.              Общие сведения о программе             

1.3.              Функциональное назначение             

1.4.              Описание логической структуры             

1.5.              Структурная схема основной программы             

1.6.              Описание элементов программы             

2.              Программа в процессе работы             

2.1.              Создание и редактирование файлов             

2.2.              Копирование, переименование и удаление файлов             

2.3.              Поиск файлов             

2.4.              Просмотр и изменение атрибутов файлов             

2.5.              Создание ссылок на файлы             

2.6.              Получение информации о файле             

3.              Заключение             

4.              Список используемой литературы             

5.              Приложение             


1.     Описание программы

 

1.1.                     Общие сведения о файлах

 

Файл (англ. file — папка, скоросшиватель) — концепция в вычислительной технике: сущность, позволяющая получить доступ к какому-либо ресурсу вычислительной системы и обладающая рядом признаков:

фиксированное имя (последовательность символов, число или что-то иное, однозначно характеризующее файл);

определённое логическое представление и соответствующие ему операции чтения/записи.

Может быть любой — от последовательности бит до базы данных с произвольной организацией или любым промежуточным вариантом.

Первому случаю соответствуют операции чтения/записи потока и/или массива (то есть последовательные или с доступом по индексу), второму — команды СУБД. Промежуточные варианты — чтение и разбор всевозможных форматов файлов.

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

В отличие от переменной, файл (в частности, его имя) имеет смысл вне конкретной программы. Работа с файлами — по крайней мере, в «простейшем» представлении — реализуется средствами операционных систем, а до их появления реализовывалась их предшественниками — мониторами и библиотеками подпрограмм.

Файловая система

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

Файл как объект API операционной системы

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

Имя файла

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

В FAT16 и FAT12 размер имени файла ограничен 8 символами (3 символа расширения).

В VFAT ограничение 255 байт.

В FAT32, HPFS имя файла ограниченно 255 символами

В NTFS имя ограничено 255 символами Unicode

В ext2/ext3 ограничение 255 байт.

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

Для MS-DOS в имени файла допустимы только заглавные буквы, цифры. Не допустим пробел, знак вопроса, звёздочка, символы больше/меньше, символ вертикальной черты.[1] При вызове системных функций именами файлов в нижнем или смешанном регистре, они приводятся к верхнему регистру.

Для Microsoft Windows в имени файла разрешены заглавные и строчные буквы, цифры, некоторые знаки препинания, пробел. Запрещены символы > < | ? * / \ : ".

Для GNU/Linux (с учётом возможности маскировки) разрешены все символы, кроме / и нулевого байта.

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

Расширение имени файла

Расширение имени файла (часто расширение файла или расширение) как самостоятельный атрибут файла существует в файловых системах FAT16, FAT32, NTFS, используемых операционными системами MS-DOS, DR-DOS, PC DOS, MS Windows и используется для определения типа файла. Оно позволяет системе определить, каким приложением следует открывать данный файл. По умолчанию в операционной системе Windows расширение скрыто от пользоватея.

В остальных файловых системах расширение — условность, часть имени, отделённая самой правой точкой в имени.

Атрибуты

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

Время

Для файла могут быть определены следующие временные метки:

        Время создания

        Время модификации

        Время последнего доступа

Операции с файлом

Условно можно выделить два типа операций с файлом — связанные с его открытием, и выполняющиеся без его открытия. Операции первого типа обычно служат для чтения/записи информации или подготовки к записи/чтению. Операции второго типа выполняются с файлом как с «объектом» файловой системы, в котором файл является мельчайшей единицей структурирования.

Операции, связанные с открытием файла

В зависимости от операционной системы те или иные операции могут отсутствовать.

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

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

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

            файловый буфер. Операционная система (и/или библиотека языка программирования) осуществляет кэширование файловых операций в специальном буфере (участке памяти). При закрытии файла буфер сбрасывается.

            режим доступа. В зависимости от потребностей программы, файл может быть открыт на чтение и/или запись. Кроме того, некоторые операционные системы (и/или библиотеки) предусматривают режим работы с текстовыми файлами. Режим обычно указывается при открытии файла.

            режим общего доступа. В случае многозадачной операционной системы возможна ситуация, когда несколько программ одновременно хотят открыть файл на запись и/или чтение. Для регуляции этого существуют режимы общего доступа, указывающие на возможность осуществления совместного доступа к файлу (например, файл в который производится запись может быть открыт для чтения другими программами — это стандартный режим работы log-файлов).

Операции

             Открытие файла (обычно в качестве параметров передается имя файла, режим доступа и режим совместного доступа, а в качестве значения выступает файловый хэндлер или дескриптор), кроме того обычно имеется возможность в случае открытия на запись указать на то, должен ли размер файла изменяться на нулевой.

             Закрытие файла. В качестве аргумента выступает значение, полученное при открытии файла. При закрытии все файловые буферы сбрасываются.

             Запись — в файл помещаются данные.

             Чтение — данные из файла помещаются в область памяти.

             Перемещение указателя — указатель перемещается на указанное число байт вперёд/назад или перемещается по указанному смещению относительно начала/конца. Не все файлы позволяют выполнение этой операции (например, файл на ленточном накопителе может не «уметь» перематываться назад).

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

             Получение текущего значения файлового указателя.

Операции, не связанные с открытием файла

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

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

        Список операций с файлами

        Открытие для изменения файла

        Удаление файла

        Переименование файла

        Копирование файла

        Перенос файла на другую файловую систему/носитель информации

        Создание симлинка или хардлинка

        Получение или изменение атрибутов файла

Типы файлов

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

          «Обыкновенный файл» — файл, позволяющий операции чтения, записи, перемещения внутри файла

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

          Жёсткая ссылка (англ. hardlink, часто используется калька хардлинк) — в общем случае, одна и та же область информации может иметь несколько имён, указывающих на одни и те же данные. В таком случае имена называют жёсткими ссылками (хардлинками). В общем случае после создания хардлинка сказать где «настоящий» файл а где хардлинк невозможно, так как имена равноправны. Сама область данных существует до тех пор пока существует хотя бы одно из имён. Хардлинки возможны только на одном физическом носителе.

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

1.2.                     Общие сведения о программе

 

Программа, демонстрирующая возможности ОС по работе с файлами написана в среде Microsoft Visual Studio 2005.

Программа имеет имя «FileMen».

Программа запускается на выполнение при помощи Visual Studio 2005 C++, в случае же присутствия исполняемого файла можно произвести запуск из операционной системы Windows.

 

 

1.3.                     Функциональное назначение

Программа предназначена для демонстрации возможностей ОС по работе с файлами.

Программа выполняет следующие функции:

1. Создание и редактирование файлов.

2. Копирование, переименование и удаление файлов.

3. Поиск файлов.

4. Просмотр и изменение атрибутов файлов.

5. Создание ссылок на файлы.

6. Получение информации о файле (размер, дата модификации и др.).

 

 

1.4.                     Описание логической структуры

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

Информация о работе Изучение интерфейса прикладного программирования Win32, разработка приложения, демонстрирующего возможности ОС по работе с файлами