Автор работы: Пользователь скрыл имя, 01 Мая 2013 в 23:11, курсовая работа
Среди всех системных программ c которыми приходится иметь дело пользователям компьютеров, особое место занимают операционные системы.
Операционная система (ОС) управляет компьютером, запускает программы, обеспечивает защиту данных, выполняет различные сервисные функции по запросам пользователя и программ. Каждая программа пользуется услугами ОС, а потому может работать только под управлением той ОС, которая обеспечивает для нее эти услуги.
Таким образом, выбор ОС очень важен, так как она определяет, c какими программами вы сможете работать на своем компьютере. От выбора ОС зависят также производительность вашей работы, степень защиты ваших данных, необходимые аппаратные средства и т.д. Операционная система скрывает от пользователя все сложные и ненужные подробности работы компьютера и предоставляет ему удобный и понятный и интерфейс для работы.
Введение
Глава 1 Файловая система
1.1 Понятие файловой системы
1.2 Имена файлов
1.3 Типы файлов
1.4 Файловые операции, контроль доступа к файлам
Глава 2 Структура и организация файловой системы
2.1 Иерархическая структура файловой системы
2.2 Логическая организация файловой системы
2.3 Физическая организация файловой системы и адрес файла
Глава 3 Сравнение файловых систем Windows и Linux
3.1 Типы файловых систем
3.2 Дерево, а не деревья
3.3 Типы файлов
3.4 Жесткая ссылка
3.5 Регистр букв
Заключение
Список литературы
Рис. 2.31. Структура
каталогов: а - структура записи каталога
MS-DOS (32 байта);
б - структура записи каталога ОС UNIX
Иерархия каталогов
может быть деревом или сетью.
Каталоги образуют дерево, если
файлу разрешено входить
Рис. 2.32. Логическая
организация файловой системы
а - одноуровневая; б - иерархическая (дерево);
в - иерархическая (сеть)
2.2 Логическая организация файловой системы
Программист
имеет дело с логической
Рис. 2.33. Способы логической организации файлов
2.3 Физическая организация файловой системы и адрес файла
Физическая организация файла описывает правила расположения файла на устройстве внешней памяти, в частности на диске. Файл состоит из физических записей - блоков. Блок - наименьшая единица данных, которой внешнее устройство обменивается с оперативной памятью. Непрерывное размещение - простейший вариант физической организации (рисунок 2.34,а), при котором файлу предоставляется последовательность блоков диска, образующих единый сплошной участок дисковой памяти. Для задания адреса файла в этом случае достаточно указать только номер начального блока. Другое достоинство этого метода - простота. Но имеются и два существенных недостатка. Во-первых, во время создания файла заранее не известна его длина, а значит не известно, сколько памяти надо зарезервировать для этого файла, во-вторых, при таком порядке размещения неизбежно возникает фрагментация, и пространство на диске используется не эффективно, так как отдельные участки маленького размера (минимально 1 блок) могут остаться не используемыми.
Следующий способ физической организации - размещение в виде связанного списка блоков дисковой памяти (рисунок 2.34,б ). При таком способе в начале каждого блока содержится указатель на следующий блок. В этом случае адрес файла также может быть задан одним числом - номером первого блока. В отличие от предыдущего способа, каждый блок может быть присоединен в цепочку какого-либо файла, следовательно фрагментация отсутствует. Файл может изменяться во время своего существования, наращивая число блоков. Недостатком является сложность реализации доступа к произвольно заданному месту файла: для того, чтобы прочитать пятый по порядку блок файла, необходимо последовательно прочитать четыре первых блока, прослеживая цепочку номеров блоков. Кроме того, при этом способе количество данных файла, содержащихся в одном блоке, не равно степени двойки (одно слово израсходовано на номер следующего блока), а многие программы читают данные блоками, размер которых равен степени двойки.
Рис. 2.34. Физическая
организация файла
а - непрерывное размещение; б - связанный
список блоков;
в - связанный список индексов; г - перечень
номеров блоков
Популярным способом, используемым, например, в файловой системе FAT операционной системы MS-DOS, является использование связанного списка индексов. С каждым блоком связывается некоторый элемент - индекс. Индексы располагаются в отдельной области диска (в MS-DOS это таблица FAT). Если некоторый блок распределен некоторому файлу, то индекс этого блока содержит номер следующего блока данного файла. При такой физической организации сохраняются все достоинства предыдущего способа, но снимаются оба отмеченных недостатка: во-первых, для доступа к произвольному месту файла достаточно прочитать только блок индексов, отсчитать нужное количество блоков файла по цепочке и определить номер нужного блока, и, во-вторых, данные файла занимают блок целиком, а значит имеют объем, равный степени двойки.
В заключение рассмотрим задание физического расположения файла путем простого перечисления номеров блоков, занимаемых этим файлом. ОС UNIX использует вариант данного способа, позволяющий обеспечить фиксированную длину адреса, независимо от размера файла. Для хранения адреса файла выделено 13 полей. Если размер файла меньше или равен 10 блокам, то номера этих блоков непосредственно перечислены в первых десяти полях адреса. Если размер файла больше 10 блоков, то следующее 11-е поле содержит адрес блока, в котором могут быть расположены еще 128 номеров следующих блоков файла. Если файл больше, чем 10+128 блоков, то используется 12-е поле, в котором находится номер блока, содержащего 128 номеров блоков, которые содержат по 128 номеров блоков данного файла. И, наконец, если файл больше 10+128+128(128, то используется последнее 13-е поле для тройной косвенной адресации, что позволяет задать адрес файла, имеющего размер максимум 10+ 128 + 128(128 + 128(128(128.
Глава 3 Сравнение файловых систем Windows и Linux
Понятие файловой системы имеет двоякое значение. С одной стороны, под файловой системой подразумевают иерархическую структуру файлов и каталогов, ее и видит пользователь. С другой стороны, файловая система - это способ хранения информации и организации к ней доступа на каком-либо носителе информации. И если первая сторона важна для пользователя и приложений, то вторая - для способа использования дискового пространства.
Так же некоторые авторы различают понятия файловой структуры и файловой системы, понимая под первым как раз структуру файлов и каталогов, а под вторым - способ организации информации на носителе.
Файловые системы Linux и Windows имеют с обоих "сторон" некоторые отличия. Рассмотрим их.
3.1 Типы файловых систем
Linux и Windows используют разные файловые системы для хранения и организации доступа к информации на дисках.
Как вы наверно знаете, на сегодняшний день для Windows наиболее распространенными системами являются FAT 32 и NTFS. NTFS - более "продвинутая" система, одной из особенностей которой является обеспечение более высокой скорости работы на дисках относительно больших размеров. Однако NTFS несовместима с Windows 98 и более ранними версиями Windows.
В Linux используются другие файловые системы. В основном, это Ext2 и Ext3 (вторая и третья расширенные файловые системы). Ext3 - это таже Ext2, однако имеющая ряд модернизаций, одной из которых является поддержка журналирования.
Журналируемая файловая система сначала записывает изменения, которые она будет проводить в отдельную часть файловой системы (журнал) и только потом вносит необходимые изменения в остальную часть файловой системы. После удачного выполнения планируемых изменений, записи удаляются из журнала. Все это обеспечивает лучшее сохранение целостности системы и уменьшает вероятность потери данных, особенно в случае непредвиденного выключения компьютера.
Следует отметить, что Linux поддерживает и множество других файловых систем. Таким образом, в Linux можно организовать доступ к Windows-разделам, а вот в Windows, без посторонних средств помощи, "увидеть" разделы Linux невозможно.
3.2 Дерево, а не деревья
Теперь вернемся к файловой структуре. В обоих системах она является иерархической (обычно сравнивают с деревом). Однако есть и существенные отличия.
В операционной системе Windows, открывая каталог "Мой компьютер", пользователь привык наблюдать примерно следующую картину. Обычно один или более жестких дисков (чаще всего логических) именуются начиная с латинской буквы C. Каждый из дисков является корневым каталогом. Так например, если в системе имеется три диска, то будет три корневых каталога (скорее всего, C, D и E), каждый из которых содержит вложенные папки и файлы. Другими словами, в системе будут существовать три дерева. Поскольку иногда придется пользоваться компакт-дисками и USB-устройствами, то периодически будет "вырастать" еще парочка деревьев.
В дистрибутивах Linux все несколько иначе. Файловая система едина и имеет лишь один корневой каталог, который обозначается косой чертой - слэш (/). (Здесь следует обратить внимание на отличие от Windows. В последней при формировании полного адреса используется обратная косая черта (\). В Linux при формировании полного имени всегда используется слэш.)
Итак, если в Linux всего лишь один корневой каталог, то где же искать логические и физические диски. Ведь по логике вещей (как размышляет windows-пользователь) они "самые главные" и содержат каталоги и файлы, а раз их нет, то возможно система их "не увидела"!? Linux вынуждает поменять такое представление на организацию файловой структуры. Можно сказать, что в файловой структуре Linux не диск содержит каталоги, а каталоги могут содержать диски. Другими словами, внутри каталога могут "лежать" целые диски или их разделы.
В Linux существуют процедуры монтирования и размонтирования устройств, которые позволяют к единому иерархическому дереву подсоединять и отсоединять разные устройства (будь то разделы жесткого диска или любые съемные устройства). Точками монтирования (т.е. местами, куда подключаются устройства) служат каталоги. Данные, содержащиеся на подключаемом устройстве, становятся доступными внутри этого каталога.
3.3 Типы файлов
Услышав о типах файлов, пользователь Windows может заподозрить, что речь пойдет о так называемых расширениях (части имени файла, которая указывает на тип данных, содержащихся в файле). Например, в Windows распространенными являются такие типы как "текстовый документ" (расширение TXT), "документ MS Word" (DOC), "точечный рисунок" (BMP) и многие другие. Смысл наличия расширений в том, что они позволяют по имени определить тип данных файла.
В дистрибутивах Linux расширения также используются, однако не являются обязательными. В Linux, говоря о типах файлов, имеют ввиду совсем иное. Здесь все содержимое файловой системы рассматривается как файлы и введение понятия "тип" есть необходимость определить, что есть файл с данными, а что каталог, физическое устройство или др.
Первый тип - это обычные файлы с данными, которые интерпретируются той или иной прикладной программой. Т.е это обычные пользовательские файлы, знакомые юзерам Windows.
Часто в операционной системе Windows каталоги (директории) называют папками и, желая объяснить принцип иерархического устройства системы, говорят, что файлы лежат в папках, как если бы в реальной папке лежали бы реальные документы. На самом деле каталоги - это тоже файлы, содержащие списки ссылок на файлы с данными или другие каталоги, которые пользователь видит как содержимое данного каталога (хотя на уровне физического устройства расположение этих файлов никак не связано "общими узами"). Итак, второй тип файла - это каталоги.
В операционной системе Windows существует понятие "ярлык", который представляет собой указатель на файл. Каждый файл в Windows может иметь только один значок (и одно имя) и неограниченное количество ярлыков. Это очень удобно, если доступ к какому-либо файлу необходимо организовать из разных каталогов. Нечто подобное есть и в Linux и называется символическая (или мягкая) ссылка. Это также отдельный тип файла, который содержит информацию, где на самом деле находится запрашиваемый объект.
Кроме рассмотренных выше, существуют и другие типы файлов: это файлы устройств, сокеты и каналы.
3.4 Жесткая ссылка
Новым для пользователя Windows будет понятие жесткой ссылки. Для сравнения, можно сказать так: в Windows существует лишь одно имя у каждого файла, в Linux же их может быть больше. Причины данного "явления" кроются с следующем.
Абсолютно любой файл в файловой системе Linux имеет так называемый индексный дескриптор, который и хранит всю необходимую информацию о файле. Для каждого файла номер индексного дескриптора уникальный, а вот имя файла является всего лишь ссылкой на данный дескриптор. Поэтому имен у файла может быть множество.
Файл не будет удален из системы пока будет существовать хоть одна жесткая ссылка на него.
Следует понимать, что понятия жесткой и мягкой ссылки, несмотря на их созвучность, различны по сути. Жесткая ссылка указывает непосредственно на индексный дескриптор, а мягкая указывает на жесткую ссылку. Если удалить все жесткие ссылки файла, то ни одна мягкая ссылка <не сработает>. Жесткая ссылка - это один из принципов организации файловой системы, а мягкая ссылка - определенный тип файла.
3.5 Регистр букв
В отличие от Windows в Linux различаются прописные и строчные буквы в именах файлов и каталогов (и не только в них).
Так, если в одном и том же каталоге в Windows попытаться создать два файла: readme.txt и Readme.txt, то ничего не выйдет. Для данной операционной системы оба этих имени идентичны и, поскольку файлов с одинаковыми полными именами (одинаковыми адресами и именами) быть не может, то система откажется создать в одном каталоге файлы readme.txt и Readme.txt. В Linux же такое возможно, т.к. для данной системы это разные имена.
Заключение
Файловая система
с точки зрения пользователя
— это «пространство», в котором
размещаются файлы. А как
Информация о работе Сравнение файловых систем Windows и Linux