- •«Операционные системы»
- •220400.62 «Управление в технических системах»
- •Содержание
- •1Лекция 1. Основные понятия операционных систем. История развития. Основные понятия
- •История развития вычислительной техники
- •Лекция 2. Представление информации на компьютере. Системы исчисления
- •Представление информации в компьютере
- •Системы счисления. Двоичная система счисления
- •Шестнадцатеричная система счисления
- •Представление символов (текстовой информации)
- •Лекция 3. Управление ресурсами эвм
- •Логическая структура пк
- •Системный блок
- •Микропроцессор
- •Сопроцессор
- •Оперативная память (оп)
- •Постоянное запоминающее устройство (пзу)
- •Накопители на гибких магнитных дисках (нгмд)
- •Накопители на жестком диске (винчестеры)
- •Мониторы
- •Клавиатура
- •Принтеры
- •Другие устройства
- •Лекция 4. Програмно-аппаратный комплекс. Системные и инструментальные программные средства
- •Системные программы
- •Инструментальные системы
- •Прикладные системы
- •Лекция 5. История эволюции вычислительных систем ос как расширенная машина
- •Ос как система управления ресурсами
- •1.1.1.1Краткая история эволюции вычислительных систем
- •3Первый период (1945–1955 гг.).
- •4Ламповые машины. Операционных систем нет
- •4.1.1.1.1Второй период (1955 г.–начало 60-х). Компьютеры на основе транзисторов. Пакетные операционные системы
- •4.1.1.1.2Третий период (начало 60-х – 1980 г.). Компьютеры на основе интегральных микросхем. Первые многозадачные ос
- •4.1.1.1.3Четвертый период (с 1980 г. По настоящее время). Персональные компьютеры. Классические, сетевые и распределенные системы
- •Лекция 6. Виды операционных систем
- •Классификация ос
- •Лекция 7. Иерархическая структура жесткого диска
- •Лекция 8. Серверные системы и ситемы реального времени
- •Лекция 9. Семейство ос Unix
- •Семейство операционных систем unix
- •Лекция 10. Операционная система linux
- •Лекция 11. Операционные системы семеиства Windows
- •Лекция 12.Обеспечение безопастности информационных систем Введение
- •Угрозы безопасности
- •Формализация подхода к обеспечению информационной безопасности
- •Криптография как одна из базовых технологий безопасности ос
- •Лекция 13. Графический процессор основные понятия. Интерфейс Общая информация
- •Лекция 14. Табличный процессор основные понятия. Интерфейс. Общая информация
- •Литература
Лекция 7. Иерархическая структура жесткого диска
Система управления файлами является основной в абсолютном большинстве современных операционных систем. Например, операционные системы unix никак не могут функционировать без файловой системы, ибо понятие файла для них является одним из самых фундаментальных. Все современные операционные системы используют файлы и соответствующее программное обеспечение для работы с ними. Дело в том что, во-первых, через файловую систему связываются по данным многие системные обрабатывающие программы. Во-вторых, с помощью этой системы решаются проблемы централизованного распределения дискового пространства и управления данными. Наконец, пользователи получают более простые способы доступа к своим данным, которые они размещают на устройствах внешней памяти.
Существует большое количество файловых систем, созданных для разных устройств внешней памяти и разных операционных систем. В них используются, соответственно, разные принципы размещения данных на носителе. Это системы fat, fat32 и ntfs. Знание основных принципов их построения необходимо не только специалисту в области вычислительной техники, но и обычному пользователю. Особенно актуальными становятся знания возможностей файловой системы ntfs, которая сегодня получает все большее распространение.
Функции файловой системы и иерархия данных
Напомним, что под файлом обычно понимают именованный набор данных, организованных в виде совокупности записей одинаковой структуры. Для управления этими данными создаются соответствующие файловые системы. Файловая система предоставляет возможность иметь дело с логическим уровнем структуры данных и операций, выполняемых над данными в процессе их обработки. Именно файловая система определяет способ организации данных на диске или на каком-нибудь ином носителе. Специальное системное программное обеспечение, реализующее работу с файлами по принятым спецификациям файловой системы, часто называют системой управления файлами. Именно системы управления файлами отвечают за создание, уничтожение, организацию, чтение, запись, модификацию и перемещение файловой информации, а также за управление доступом к файлам и за управление ресурсами, которые используются файлами. Назначение системы управления файлами — предоставление более удобного доступа к данным, организованным как файлы, то есть вместо низкоуровневого доступа к данным с указанием конкретных физических адресов нужной нам записи используется логический доступ с указанием имени файла и записи в нем.
Благодаря системам управления файлами пользователям предоставляются следующие возможности:
Создание, удаление, переименование (и другие операции) именованных наборов данных (файлов) из своих программ или посредством специальных управляющих программ, реализующих функции интерфейса пользователя с его данными и активно использующих систему управления файлами;
Работа с недисковыми периферийными устройствами как с файлами;
Обмен данными между файлами, между устройствами, между файлом и устройством (и наоборот);
Работа с файлами путем обращений к программным модулям системы управления файлами (часть api ориентирована именно на работу с файлами);
Защита файлов от несанкционированного доступа.
Как правило, все современные операционные системы имеют соответствующие системы управления файлами. А некоторые операционные системы имеют возможность работать с несколькими файловыми системами (либо с одной из нескольких, либо сразу с несколькими одновременно). В этом случае говорят о монтируемых файловых системах (монтируемую систему управления файлами можно установить как дополнительную), и в этом смысле они самостоятельны.
Очевидно, что система управления файлами, будучи компонентом операционной системы, не является независимой от нее, поскольку активно использует соответствующие вызовы api. С другой стороны, системы управления файлами сами дополняют api новыми вызовами.
Есть версия системы управления файлами с принципами fat и для windows 95/98, есть реализация для windows nt и т. Д. Другими словами, для работы с файлами, организованными в соответствии с некоторой файловой системой, для каждой операционной системы должна быть разработана соответствующая система управления файлами. И эта система управления файлами будет работать только в той операционной системе, для которой создана, но при этом обеспечит доступ к файлам, созданным с помощью системы управления файлами другой операционной системы, но работающей по тем же основным принципам файловой системы.
Таким образом, файловая система — это множество именованных наборов данных, организованное по принятым спецификациям, которые определяют способы получения адресной информации, необходимой для доступа к этим файлам.
Таким образом, термин файловая система определяет, прежде всего, принципы доступа к данным, организованным в файлы. Тот же термин используют и по отношению к конкретным файлам, расположенным на том или ином носителе данных. А термин система управления файлами следует употреблять но отношению к конкретной реализации файловой системы, то есть это — комплекс программных модулей, обеспечивающих работу с файлами в конкретной операционной системе.
Информация, с которой работает человек, обычно структурирована. Это, прежде всего, позволяет более эффективно организовать хранение данных, облегчает их поиск, предоставляет дополнительные возможности в именовании. Аналогично, и при работе с файлами желательно ввести механизмы структурирования. Проще всего организовать иерархические отношения. Для этого достаточно ввести понятие каталога (directory). Каталог содержит информацию о данных, организованных в виде файлов. Другими словами, в каталоге должны содержаться дескрипторы файлов. Если файлы организованы на блочном устройстве, то именно с помощью каталога система управления файлами будет находить адреса тех блоков, в которых размещены искомые данные. Причем очевидно, что каталогом может быть не только специальная системная информационная структура, которую часто называют корневым каталогом, но и сам файл. Такой файл-каталог должен иметь специальное системное значение; система управления файлами должна его выделять на фоне обычных файлов. Файл-каталог часто называют подкаталогом (subdirectory). Если файл-каталог содержит информацию о других файлах, то поскольку среди них также могут быть файлы-каталоги, мы получаем возможность строить почти ничем не ограниченную иерархию.
Более того, введение таких файловых объектов, как файлы-каталоги, позволяет не только структурировать файловую систему, но и решить проблему ограниченного количества элементов в корневом каталоге. Ограничений на количество элементов в файле-каталоге нет, поэтому можно создавать каталоги чрезвычайно большого размера.
Файловая система fat
Файловая система fat (file allocation table — таблица размещения файлов) получила свое название благодаря простой таблице, в которой указываются:
Непосредственно адресуемые участки логического диска, отведенные для размещения в них файлов или их фрагментов;
Свободные области дискового пространства;
Дефектные области диска (эти области содержат дефектные участки и не гарантируют чтение и запись данных без ошибок).
В файловой системе fat дисковое пространство любого логического диска делится на две области (рис. 7.1): системную область и область данных.
Системная область логического диска создается и инициализируется при форматировании, а в последующем обновляется при работе с файловой структурой. Область данных логического диска содержит обычные файлы и файлы-каталоги; эти объект образуют иерархию, подчиненную корневому каталогу. Элемент каталога описывает файловый объект, который может
Рис. 7.1. Структура логического диска в fat
быть либо обычным файлом, либо файлом-каталогом. Область данных, в отличие от системной области, доступна через пользовательский интерфейс операционной системы. Системная область состоит из следующих компонентов (расположенных в логическом адресном пространстве друг за другом):
загрузочной записи (boot record, br);
зарезервированных секторов (reserved sectors, ressec);
таблицы размещения файлов (file allocation table, fat);
корневого каталога (root directory, rdir).
Таблица размещения файлов
Таблица размещения файлов является очень важной информационной структурой. Можно сказать, что она представляет собой адресную карту области данных, в которой описывается и состояние каждого участка области данных, и принадлежность его к тому или иному файловому объекту.
Всю область данных разбивают на так называемые кластеры. Кластер представляет собой один или несколько смежных секторов в логическом дисковом адресном пространстве (точнее — только в области данных). Кластер — это минимальная адресуемая единица дисковой памяти, выделяемая файлу (или некорневому каталогу). Кластеры введены для того, чтобы уменьшить количество адресуемых единиц в области данных логического диска.
Файловые системы vfat и fat32
Одной из важнейших характеристик исходной файловой системы fat было использование имен файлов формата 8.3. К стандартной системе fat (имеется в виду прежде всего реализация fat16) добавились еще две разновидности, используемые в широко распространенных ос от microsoft (конкретно — в windows 95 и windows nt): vfat (виртуальная система fat) и система fat32, используемая в одной из редакций ос windows 95 и windows 98. Ныне файловая система fat32 поддерживается и такими последними системами, как windows millennium edition, windows 2000 и windows xp. Имеются реализации fat32 и для windows nt, и для linux.
Основными недостатками файловых систем fat и vfat, которые привели к разработке новой реализации файловой системы, основанной на той же идее (таблице размещения файлов), являются большие потери на кластеризацию при больших размерах логического диска и ограничения на сам размер логического диска. Поэтому в microsoft windows 95 oem service release 2 на смену системе vfat пришла файловая система fat32, которая является полностью самостоятельной 32-разрядной файловой системой и содержит многочисленные усовершенствования и дополнения по сравнению с предыдущими реализациями fat. Самое принципиальное отличие заключается в том, что fat32 намного эффективнее расходует дисковое пространство.
Файловая система hpfs
Файловая система hpfs (high performance file system — высокопроизводительная файловая система) впервые появилась в операционных системах os/2 1.2 и lan manager. Она была разработана совместными усилиями лучших специалистов компаний ibm и microsoft на основе опыта ibm по созданию файловых систем mvs, vm/cms и виртуального метода доступа. Архитектура hpfs начала создаваться как файловая система для многозадачного режима и была призвана обеспечить высокую производительность при работе с файлами на дисках большого размера.
Принципы размещения файлов на диске, положенные в основу hpfs, увеличивают как производительность файловой системы, так и ее надежность и отказоустойчивость. Для достижения этих целей предложено несколько идей:
Размещение каталогов в середине дискового пространства;
Использование методов бинарных сбалансированных деревьев для ускорения поиска информации о файле;
Рассредоточение информации о местоположении файловых записей по всему диску, при том что записи каждого конкретного файла размещаются (по возможности) в смежных секторах и поблизости от данных об их местоположении.
Файловая система ntfs
В название файловой системы ntfs (new technology file system — файловая система новой технологии) входят слова «новая технология». Действительно, файловая система ntfs по сравнению с широко известной fat16 (и даже fat32) содержит ряд значительных усовершенствований и изменений. С точки зрения пользователей файлы по-прежнему хранятся в каталогах, ныне при работе в среде windows часто называемых папками (folders). Однако в ней появилось много новых особенностей и возможностей.
Основные возможности файловой системы ntfs
При проектировании ntfs особое внимание было уделено надежности, механизмам ограничения доступа к файлам и каталогам, расширенной функциональности, поддержке дисков большого объема и пр. Начала разрабатываться эта система в рамках проекта os/2 v.3, поэтому она переняла многие интересные особенности файловой системы hpfs.
Надежность
Высокопроизводительные компьютеры и системы совместного использования должны обладать повышенной надежностью, которая является ключевым элементом структуры и функционирования ntfs. Система ntfs обладает определенными средствами самовосстановления. Она поддерживает различные механизмы проверки целостности системы, включая ведение журналов транзакций, позволяющих воспроизвести файловые операции записи по специальному системному журналу. При протоколировании файловых операций система управления файлами фиксирует в специальном служебном файле (журнале) происходящие изменения. В начале операции, связанной с изменением файловой структуры, делается соответствующая пометка. Если во время файловых операций происходит какой-нибудь сбой, то из-за упомянутой отметки операция остается помеченной как незавершенная. При выполнении процедуры проверки целостности файловой системы после перезагрузки машины эти незавершенные операции отменяются, и файлы возвращаются в исходное состояние. Если же операция изменения данных в файлах завершается нормальным образом, то в файле журнала эта операция отмечается как завершенная.
Поскольку ntfs разрабатывалась как файловая система для серверов, для которых очень важно обеспечить бесперебойную работу без перезагрузок, в ней, как и в hpfs, для повышения надежности был введен механизм аварийной замены дефектных секторов резервными. Другими словами, если обнаруживается сбой при чтении данных, то система постарается прочесть эти данные, переписать их в специально зарезервированное для этой цели пространство диска, а дефектные сектора пометить как плохие и более к ним не обращаться.
Ограничения доступа к файлам и каталогам
Файловая система ntfs поддерживает объектную модель безопасности операционной системы windows nt и рассматривает все тома, каталоги и файлы как самостоятельные объекты. Система ntfs обеспечивает безопасность на уровне файлов и каталогов. Это означает, что разрешения доступа к томам, каталогам и файлам могут зависеть от учетной записи пользователя и тех групп, к которым он принадлежит. Каждый раз, когда пользователь обращается к объекту файловой системы,
Его разрешения на доступ проверяются по уже упоминавшемуся списку управления доступом (acl) для данного объекта. Если пользователь обладает необходимым уровнем разрешений, его запрос удовлетворяется; в противном случае запрос отклоняется. Эта модель безопасности (см. Подраздел «модель безопасности windows nt/2000/xp» в главе 11) применяется как при локальной регистрации пользователей на компьютерах с windows nt, так и при удаленных сетевых запросах.
Расширенная функциональность
Система ntfs проектировалась с учетом возможного расширения. В ней были воплощены многие дополнительные возможности — повышенная отказоустойчивость, эмуляция других файловых систем, мощная модель безопасности, параллельная обработка потоков данных и создание файловых атрибутов, определяемых пользователем. Эта система также позволяет сжимать как отдельные файлы, так и целые каталоги. В последней, пятой, версии ntfs введена возможность шифрования хранимых файлов. Здесь следует, однако, заметить, что у шифрующей файловой системы пока больше недостатков, чем достоинств, поэтому на практике ее применять не рекомендуется.
Наконец, в системах windows 2000/xp в случае использования файловой системы ntfs можно включить квотирование, при котором пользователи могут хранить свои файлы только в пределах отведенной им квоты на дисковое пространство.
Поддержка дисков большого объема
Система ntfs создавалась с расчетом на работу с большими дисками. Она уже достаточно хорошо проявляет себя при работе с томами объемом 300-400 мбайт и выше. Чем больше объем диска и чем больше на нем файлов, тем больший выигрыш мы получаем, используя ntfs вместо fat16 или fat32.
Разрешения ntfs
Разрешения ntfs (ntfs permissions) - это набор специальных расширенных атрибутов файла или каталога (папки), заданных для ограничения доступа пользователей к этим объектам. Они имеются только на томах, где установлена файловая система ntfs. Разрешения обеспечивают гибкую защиту, так как их можно применять и к каталогам, и к отдельным файлам; они распространяются как на локальных пользователей (работающих на компьютерах, где находятся защищенные папки и файлы), так и на пользователей, подключающихся к ресурсам по сети. Не следует путать разрешения с правами. Это совершенно разные понятия; подробнее об этом написано в подразделе «модель безопасности windows nt/2000/ хр». К сожалению, в технической литературе да и в обиходе часто путают эти термины. Истоком этого прежде всего являются ошибки перевода оригинальных англоязычных материалов.Разрешения ntfs служат, прежде всего, для защиты ресурсов от локальных пользователей, работающих за компьютером, на котором располагается ресурс. Однако их можно использовать и для удаленных пользователей, подключающихся к общей папке по сети. Очевидно, что в этом случае на пользователей действуют два механизма ограничения в доступе к ресурсам: сначала сетевой, а уже затем локальный, файловый. Поэтому итоговые разрешения на доступ будут определяться как минимальные из сетевых и файловых разрешений. Здесь необходимо сказать, что итоговые сетевые разрешения на доступ к ресурсам, которыми будет обладать пользователь при работе в сети, вычисляются как максимум разрешений в списке разрешений доступа, поскольку пользователь может быть членом нескольких групп, которые упомянуты в списке. Аналогично и для разрешений ntfs: пользователь получает максимальные разрешения, перечисленные в списке управления доступом, и только разрешение no access (нет доступа) может перечеркнуть все остальные разрешения. Разрешения ntfs обеспечивают высокую избирательность защиты: для каждого файла в папке можно установить свои разрешения. Например, одному пользователю можно позволить считывать и изменять содержимое файла, другому только считывать, третьему вообще запретить доступ. Заметим, однако, что настоятельно рекомендуется устанавливать разрешения в списках acl, используя не учетные записи отдельных пользователей, а учетные записи групп пользователей. Каждый файловый объект имеет так называемую маску доступа (access mask). Маска доступа включает стандартные (standard), специфичные (specific) и родовые (generic) права доступа. Стандартные права доступа определяют операци и, которые явля ются общими для всех защищенных объектов.
Специфичные права доступа указывают основные права, характерные для файловых объектов. Так, например, специфичные права read_data, write_data и append_data позволяют прочитать данные, записать информацию и, соответственно, добавить данные к файлу. Права read_attributes, write_attributes и read_ea, write_ea позволяют, соответственно, прочитать или записать атрибуты или расширенные атрибуты файла или каталога. Наконец, такое специфичное право доступа, как execute, позволяет запустить файл на выполнение. Родовые права доступа используются системой; они определяют комбинации стандартных и специфичных прав. Например, родовое право доступа generic_read, примененное к файлу, включает в себя следующие специфичные и стандартные права: read_control, file_read_data, file_read_attributes, file_read_ea, synchronize. Итак, разрешения ntfs по-разному представлены в операционных системах windows nt 4.0 и семействе систем windows 2000/хр. Отличия эти, прежде всего, касаются интерфейса, то есть программа проводник (explorer) по-разному отображает те разрешения, которые на самом деле присвоены файловому объекту в виде разрешений доступа и обрабатываются на программном уровне. Разрешения в windows 2000/хр ближе к тем специфичным, стандартным и родовым правам доступа, о которых мы говорили выше, однако для управления доступом к файлам они не так удобны, как разрешения windows nt 4.0.
Разрешения ntfs в windows nt 4.0
В ntfs для windows nt 4.0 разрешения на доступ к файлам и каталогам бывают индивидуальными, стандартными и специальными. Индивидуальные разрешения. Под индивидуальными разрешениями понимают набор прав, позволяющий предоставлять пользователю доступ того или иного типа. В windows nt 4.0 этих разрешений всего шесть: read (чтение), write (запись), execute (выполнение), delete (удаление), change permissions (смена разрешений) и lake ownership (смена владельца). Стандартные разрешения. Для того чтобы не использовать каждый раз сочетания индивидуальных разрешений, введены так называемые стандартные разрешения ntfs, которыми все и пользуются в большинстве случаев. Они представляют собой наиболее применяемые (с точки зрения разработчиков microsoft) комбинации индивидуальных разрешений. Одновременное назначение нескольких индивидуальных разрешений для файла или каталога значительно упрощает администрирование.
Разрешения ntfs в windows 2000/xp
Вместо описанных выше индивидуальных, стандартных и специальных разрешений windows nt 4.0 теперь в пользовательском интерфейсе имеется перечень из 13 разрешений, которые можно (по аналогии с предыдущей системой) назвать индивидуальными, хотя microsoft более этот термин не употребляет и называет их специальными разрешениями. Опишем кратко эти индивидуальные (специальные) разрешения.
