11331

Операционные системы. Понятие операционной системы

Лекция

Информатика, кибернетика и программирование

Операционные системы 1. Понятие операционной системы Назначением ЭВМ является выполнение программ. Каждая программа представляет собой набор команд которые определяют порядок действий ЭВМ. Совокупность программ образует программное обеспечение ПО ПК. По функциона...

Русский

2013-04-07

152 KB

2 чел.

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

1. Понятие операционной системы

Назначением ЭВМ является выполнение программ. Каждая программа представляет собой набор команд, которые определяют порядок действий ЭВМ. Совокупность программ образует программное обеспечение (ПО) ПК. По функциональному признаку различают следующие виды ПО:

  •  системное;
  •  прикладное;
  •   инструментальное.

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

  •  текстовые процессоры;
  •  табличные процессоры;
  •  графические редакторы;
  •  СУБД;
  •  программы для математических расчетов
  •  и т. д.

Инструментальное ПО предназначено для создания новых программ в любой предметной области.

Системное ПО – это программы, которые осуществляют организацию вычислительного процесса и управление ресурсами ЭВМ. Оно включает в себя операционные системы (ОС) и сервисные программы.

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

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

  1.  Эволюция ОС

Первый период (1945 -1955)

Известно, что компьютер был изобретен английским математиком Чарльзом Бэбиджем в конце восемнадцатого века. Его "аналитическая машина" так и не смогла по-настоящему заработать, потому что технологии того времени не удовлетворяли требованиям по изготовлению деталей, которые были необходимы для вычислительной техники. Известно также, что этот компьютер не имел операционной системы.

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

Второй период (1955 - 1965)

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

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

Третий период (1965 - 1980)

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

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

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

Наряду с многозадачной реализацией систем пакетной обработки появился новый тип ОС - системы разделения времени. В таких системах у  каждого отдельного пользователя создается иллюзия единоличного использования вычислительной машины.

Четвертый период (1980 - настоящее время)

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

В середине 80-х стали бурно развиваться сети персональных компьютеров, работающие под управлением сетевых или распределенных ОС.

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

  1.  Классификация ОС

Одной из основных функций любой ОС является управление ресурсами ПК (процессорами, памятью, устройствами).

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

Поддержка многозадачности. По числу одновременно выполняемых задач операционные системы могут быть разделены на два класса:

  •  однозадачные (например, MS-DOS) и
  •  многозадачные (UNIX, Windows 95).

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

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

Поддержка многопользовательского режима. По числу одновременно работающих пользователей ОС делятся на:

  •  однопользовательские (MS-DOS);
  •  многопользовательские (UNIX, Windows NT).

Главным отличием многопользовательских систем от однопользовательских является наличие средств защиты информации каждого пользователя от несанкционированного доступа других пользователей.

Поддержка многопоточности. Важным свойством операционных систем является возможность выполнения параллельных вычислений в рамках одной задачи. Многопоточная ОС разделяет процессорное время не между задачами, а между их отдельными ветвями (потоками).

Многопроцессорная обработка. Другим важным свойством ОС является отсутствие или наличие в ней средств поддержки многопроцессорной обработки - мультипроцессирование. Мультипроцессирование приводит к усложнению всех алгоритмов управления ресурсами.

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

Особенности областей использования

Многозадачные ОС подразделяются на три типа в соответствии с использованными при их разработке критериями эффективности:

  •  системы пакетной обработки (например, OC EC),
  •  системы разделения времени (UNIX, VMS),
  •  системы реального времени (QNX, RT/11).

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

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

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

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

4. Основные функции ОС

Основными функциями любой ОС являются:

  1.  Управление выполнением программ  (процессами);
  2.  Организация хранения информации во внешней памяти (управление данными);
  3.  Управление работой каждого блока ВМ и их взаимодействием (управление ВУ);
  4.  Взаимодействие пользователя с компьютером (организация интерфейса пользователя с компьютером).

1. Управление ресурсами

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

Вторым основным ресурсом является ОП. В ней во время выполнения размещается код программы и обрабатываемые ею данные. Т. к. потребности в ОП могут быть очень велики, а ее реальный объем ограничен, то во всех современных ОС реализована виртуальная память. Возможности 32-разрядной адресации современных процессоров обеспечивают доступ к 4 Гб памяти. Реально же объем физической памяти гораздо меньше. Разработчики программ не знают память какой емкости окажется доступна программе во время ее выполнения, поэтому пишут программы в расчете на виртуальное (кажущееся воображаемым) адресное пространство. Это пространство ограничивается возможностями адресации и потребностями самой ОС, которая также требует для своего выполнения ресурсов (в Windows NT в распоряжении прикладной программы остается 2Гб виртуальной памяти). В действительности в распоряжении программы оказывается гораздо меньший объем памяти (128-256 Мб), которая должна быть распределена между несколькими параллельно выполняющимися программами. Эта проблема решается созданием виртуальной памяти.

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

2. Управление данными

Управление данными осуществляется с помощью файловой системы.  Файл поименованная область данных, хранящихся на внешних носителях. Присваивая файлу имя, пользователь должен соблюдать определенные правила: длина имени может быть ограничена, некоторые символы не могут использоваться в имени файла. Эти ограничения определяются ОС. В файл обычно записывается информация, объединенная общим назначением, способом использования. Тип файла определяет его организацию. Информация о типе файла содержится в расширении файла: REPORT.TX – имя файла MS DOS, где TXT – расширение. Расширение определяется программой, создавшей этот файл.

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

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

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

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

R – только для чтения, его нельзя переименовывать, удалять, модифицировать, переносить на другое место.

H – скрытый, он не отображается при просмотре папки, в которую он вложен (при определенных настройка системы).

S – системный, входит в состав ОС.

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

Сама ОС также хранится на диске. При установке системы она размещается на системном (загрузочном) диске в корневом каталоге и в специально создаваемых при инсталляции системных каталогах.

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

3. Управление ВУ

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

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

Базовая система ввода-вывода (BIOSBasic Input/Output System) находится в ПЗУ. Каждого IBM-совместимого ПК. Модуль BIOS реализует наиболее простые и универсальные функции по управлению стандартными ВУ. В нем содержатся аппаратно зависимые драйверы стандартных устройств (дисплея, клавиатуры и т. д.), тестовые программы для контроля работоспособности оборудования, программа начальной загрузки. Любая ОС опирается на BIOS, поэтому BIOS можно считать как частью аппаратуры, так и частью ОС. Модуль BIOS индивидуален для каждого типа ПК и поставляется изготовителями. Выделение BIOS в отдельный модуль позволяет обеспечить независимость программного обеспечения от специфики конкретной модели ПК.

В MS DOS новые драйверы можно подключить с помощью файла CONFIG.SYS, в Windows реализована технология Plug and Play, которая заключается в поддержке самонастраивающейся аппаратуры.

  1.  Интерфейс пользователя

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

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

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

В соответствии с выделенными функциями  можно выделить и три основные части ОС:

  1.  Файловая система. Она служит для организации хранения информации в ЭВМ. Драйверы внешних устройств. Драйвер – это программа специального типа, ориентированная на управление ВУ. Драйверы ВУ образуют BIOS (base input/output system), которая заносится в ПЗУ.
  2.  Командный процессор. Это программа, которая обрабатывает команды вводимые пользователем.

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

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

В широком смысле понятие "файловая система" включает:

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

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

5.1. Имена файлов

Файл – основная единица хранения данных в компьютере. Часто  файлы  разделяют на  две категории  - текстовые  и двоичные. Текстовые файлы предназначены для чтения человеком.  Они состоят из строк символов.  В текстовых  файлах хранятся тексты программ, командных файлов MS DOS и т.д.  Файлы, не являющиеся текстовыми, называются двоичными.

Текстовый  файл,  содержащий  только  символы  с  кодами  до 127 (т.е. не содержащий русских  букв и  псевдографических символов), называется ASCII-файлом.

Каждый файл имеет уникальное имя, которое указывает какую информацию он содержит. ОС управляет всеми файлами при помощи файловой системы. Одной из самых распространенных файловых систем является файловая система FAT (File Allocation Table).

Среди типов файлов можно выделить:

  •  стандартные;
  •  используемые конкретными программами;
  •  общепринятые;
  •   произвольные.

Как обрабатывать стандартные файла ОС знает наверняка. Например,  файлы :

  •  COM, EXE – программные или исполняемые, если набрать имя такого файла в командной строке и нажать <ENTER>, то будет выполнена программа, представляемая данным файлом.
  •  BAT – командные, это текстовые файлы используемые для выполнения нескольких команд. запустить их на выполнение можно также как и выполняемые.
  •  BIN – двоичный файл, используется совместно с программным файлом.
  •  SYS –загружаемые драйверы устройств.

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

  •  TXT – текстовые файлы, содержат неформатированный текст, как правило, в кодировке ASCII.
  •  HLP – файл помощи.
  •  BAK – предыдущая (резервная) версия файла..
  •  TMP – временный файл.
  •  OBJ – объектный модуль, создаваемый компилятором.

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

  •  BMP,GIF, JPG,WMF,TIF,PCX – файлы компьютерной графики.
  •  DOC - документ WORD.
  •  HTM – гипертекстовый документ.
  •  файлы исходных текстов программ на языках программирования PAS, CPP,BAS.
  •  DBF – файлы баз данных.

Пользователи могут давать файлам свои собственные расширения, которые могут отображать содержание или назначение файла. При этом нового типа файлов не создается, т .к. файл генерируется одной из программ широкого назначения. Например, файлы READ.ME или README.1ST – обычные текстовые файлы.

5.2. Каталоги

Имена файлов регистрируются на магнитных дисках в  каталогах (или директориях). Каталог - это специальное место на  диске, в котором хранятся имена файлов, сведения о размере файлов, времени их последнего обновления, атрибуты (свойства) файлов  и т.д. Если и каталоге хранится имя файла, то говорят,  что  этот файл находится в данном каталоге. На каждом магнитном диске может быть несколько каталогов. В каждом каталоге может быть много файлов, но каждый файл всегда регистрируется только в  одном каталоге.

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

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

На каждом магнитном диске имеется один главный или  корневой каталог. В нем регистрируются файлы и подкаталоги  (каталоги 1-го уровня). В каталогах 1-го уровня регистрируются файлы и каталоги 2-го уровня и т.д. Получается  иерархическая  древообразная структура каталогов на магнитном диске.

  •  Корневой каталог – один из базовых элементов файловой системы. Корневой каталог не имеет имени. Для его представления в командной строке используется знак \. В корневом каталоге хранятся сведения о файлах и каталогах диска.

Удалить корневой каталог нельзя.

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

В компьютере обычно имеется несколько накопителей на магнитных дисках (дисководов). Накопители  на  магнитных дисках именуются A:, B:, C: и т.д. Текущий дисковод - это тот дисковод, с которым  Вы  работаете в настоящее время.

Путь - это последовательность из имен каталогов, разделенных символом “\”. Путь задает маршрут от текущего каталога или от корневого каталога диска к тому  каталогу, в котором находится нужный файл.

Если путь начинается с символа “\”, то маршрут вычисляется от корневого каталога диска, иначе - от  текущего  каталога.  Например

A:\text1.txt

C:\Work\Book\chapter1.doc

C:\TP7\User\MyProg\prog.pas

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

  •  * - любая последовательность символов, используется для представления целого слова или группы символов;
  •  ? – любой единственный символ.

Например:

*.txt – все текстовые файлы;

A*.txt – все текстовые файлы, имена которых начинаются с буквы А;

А?.txt - все текстовые файлы, имена которых начинаются с буквы А и состоят из 2 символов;

????.txt все текстовые файлы, имена которых состоят из 4 символов.

6.  Физическая организация файловой системы

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

6.2. Физическая организация диска

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

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

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

ОС при работе с диском использует, как правило, собственную единицу дискового пространства, которая называется кластером.  При создании файла место на диске ему выделяется кластерами. Например, если файл имеет размер 2560 байт, а размер кластера в файловой системе определен в 1024 байта, то файлу будет выделено 3 кластера.

Дорожки и сектора создаются в результате выполнения процедуры низкоуровневого или физического форматирования диска. Низкоуровневый формат не зависти от типа ОС.

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

Для форматирования используется программа FORMAT.

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

Загрузочный сектор (Boot Record) создается во время форматирования диска. Он размещается на каждом диске в логическом секторе с номером 0. Он содержит данные о формате диска, а также короткую программу, которая используется в процессе начальной загрузки ОС. Если диск подготовлен не как системный, то загрузочный сектор будет содержать программу о том, что диск не является системным.

6.3.  Логические диски

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

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

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

Жесткий диск

Основной раздел

Загрузочный логический диск

Дополнительный раздел

Логический диск 1

Логический диск 2

Логический диск 3 . . .

Рис. 9.7. Логическая структура жесткого диска

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

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

Файловая система FAT(File Allocation Table) поддерживается всеми ОС для ПК. Она проста надежна и занимает мало места на диске. Система FAT была разработана в течение нескольких дней Биллом Гейтсом в феврале 1976 при создании среды программирования Basic.

Основное назначение файловой системы отслеживать распределение пространства диска между файлами. Все пространство диска разбивается на участки фиксированной длины – кластеры. Кластер представляет собой один или несколько смежных секторов в логическом дисковом адресном пространстве. Файл может занимать не менее одного кластера. Размер кластера зависит от размера виртуального диска. Для каждого файла в FAT создается цепочка элементов каждый из которых указывает на определенный кластер. В каталоге содержащем имя файла имеется указатель на начало цепочки. ПРИМЕР:

. . .

15

16

17

18

19

20

. . .

кластеры

файла

дефектный

свободный

кл. файла

Элемент каталога

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

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

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

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

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

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

Элемент таблицы FAT имеет длину 16 битов, следовательно, можно иметь до 216 кластеров (с номерами от 0 до 65535). Если дисковый раздел 32МБ, то размер кластера=512б. С увеличением раздела будет увеличиваться и размер кластера

Размер раздела

Размер кластера

Размер раздела

Размер кластера

32Мб

512б

256Мб

64Мб

512Мб

128Мб

1Гб

16К

>1Гб

32К

Если файл будет иметь размер 33К, размер кластера 32К, то файл будет занимать 2 кластера, причем 31К будет свободен. Следовательно, еще одним недостатком FAT являются большие потери дискового пространства. Для диска 1-1,2Гб потри могут составить около 200Мб. Чтобы исправить этот недостаток большие диски можно разбивать на несколько виртуальных дисков меньшего размера.

Файловая система FAT считается неэффективной для дисков >500Мб. она также более уязвима для вирусов, т. к. лучшие вирусы были написаны для нее. Но с другой стороны она дольше используется и ее проблемы лучше изучены.

Логический раздел, отформатированный под файловую систему FAT состоит из следующих областей(рис.):

  1.  Загрузочный сектор – содержит программу начальной загрузки ОС. Вид этой программы зависит от типа ОС, которая будет загружаться из этого раздела.
  2.  Основная копия FAT содержит информацию о размещении файлов и каталогов на диске.
  3.  Резервная копия FAT.
  4.  Корневой каталог занимает фиксированную обласить размером в 32 сектора (16Кбайт), что прозволяет хранить 512 записей о файлах и каталогах, т. к. каждая запись каталога состоит из 32 байт
  5.  Область данных предназначена для размещения всех файлов и каталогов, кроме корневого.



Загрузочный сектор 512 байт

0

1

2

3

...

FAT1

FAT2 (копия)

Root directory

.

.

.

0

1

2

Одной из важнейших характеристик FAT было использование имен файлов формата 8.3. К стандартной FAT(реализация FAT16 ) добавились еще 2 разновидности, используемые в  Windows95 и Windows NT: VFAT  (виртуальная FAT) и FAT32. Сейчас FAT32 поддерживается и Windows Millennium Edition  и всеми ОС семейства Windows 2000.

В файловую систему VFAT добавилась поддержка длинных имен файлов, для чего используются блоки каталогов. В исходной версии Windows95 основной файловой системой была VFAT. Windows95, начиная с версии OSR2 (12 августа 1996г.), поддерживает 32 разрядную FAT (FAT32), которая было разработана для поддержки больших разделов диска. Принципиальное отличие FAT32 заключается в том, что она намного эффективнее расходует дисковое пространство, т. к. использует кластеры меньшего размера.

В результате экономится 10-15% дискового пространства. FAT32 также может перемещать корневой каталог и использовать резервную копию FAT вместо стандартной. Корневой каталог представлен в виде обычной цепочки кластеров. Следовательно, корневой каталог может находиться в произвольном месте диска, что снимает ограничение на его размер. Т. к. в FAT32 по сравнению с каталогами FAT используются новые элементы, то для проверки структуры FAT32 требуются специальные служебные утилиты, также требуется специальное антивирусное ПО.  Для обеспечения максимальной совместимости с существующими прикладными программами и драйверами устройств, FAT32 была реализована с минимумом возможных изменений по сравнению с FAT16. Все утилиты Microsoft, предназначенные для работы с дисками (Format, FDISK,Defrag и ScanDisk) были переработаны для поддержки FAT32.

Сравнение характеристик FAT16 и FAT32

FAT16

FAT32

Поддерживается MS DOS, Windows9x/Me/NT/2000/XP,Unix,OS/2

Поддерживается  Windows95OSR2/98/Me/NT/2000/XP

Эффективна, если размер диска не превышает 256Мб

Не поддерживает диски, размер которых менее 512Мб

Поддерживает сжатые диски

Не поддерживает сжатые диски

Ограничена по размеру до 65525 кластеров, каждый кластер имеет фиксированный размер (не более32К), следовательно объем диска не может быть более 2Гб

Максимальный размер диска 2Тб

Таким образом, FAT32 обеспечивает следующие преимущества по сравнению с FAT16:

  1.  Поддержка дисков размером до 2 Тб;
  2.  Более эффективное расходование дискового пространства, т. к. использует более мелкие кластеры;
  3.  Нет ограничения на количество элементов в корневом каталоге;
  4.  Более быстрая загрузка программ.


 

А также другие работы, которые могут Вас заинтересовать

18169. ОБМЕЖЕННЯ ТА ОБТЯЖЕННЯ ПРАВ НА ЗЕМЛЮ 66.5 KB
  Лекція 11. ОБМЕЖЕННЯ ТА ОБТЯЖЕННЯ ПРАВ НА ЗЕМЛЮ План: Поняття обмежень та обтяжень прав на землю Загальна характеристика обмежень прав на землю Загальна характеристика обтяжень прав на землю Питання для самоконтролю: Питання на самостійну підгото
18170. ЗЕМЕЛЬНИЙ СЕРВІТУТ ЯК ОКРЕМИЙ РІЗНОВИД ОБТЯЖЕНЬ ПРАВ НА ЗЕМЛЮ 60.5 KB
  Лекція 12. ЗЕМЕЛЬНИЙ СЕРВІТУТ ЯК ОКРЕМИЙ РІЗНОВИД ОБТЯЖЕНЬ ПРАВ НА ЗЕМЛЮ План: Поняття земельного сервітуту Види земельних сервітутів Встановлення земельних сервітутів: підстави та порядок Підстави та порядок припинення земельних сервітутів П...
18171. Структуры языка ANSI C, операции над структурами 1.07 MB
  Задача лабораторной работы состоит в практическом освоении объявления и работы с структурами, написание приложения по индивидуальному варианту.
18172. ПРАВО НА ЗЕМЕЛЬНУ ЧАСТКУ (ПАЙ) 83.5 KB
  Лекція 13 ПРАВО НА ЗЕМЕЛЬНУ ЧАСТКУ ПАЙ План: Правова природа права на земельну частку пай Право на земельну частку пай у землях що були передані у колективну власність сільськогосподарських підприємств Співвідношення права на земельну частку пай із...
18173. ВИНИКНЕННЯ ТА РЕАЛІЗАЦІЯ ПРАВА НА ЗЕМЕЛЬНУ ЧАСТКУ (ПАЙ), У ЗЕМЛЯХ ПЕРЕДАНИХ У КОЛЕКТИВНУ ВЛАСНІСТЬ 81.5 KB
  Лекція 14 ВИНИКНЕННЯ ТА РЕАЛІЗАЦІЯ ПРАВА НА ЗЕМЕЛЬНУ ЧАСТКУ ПАЙ У ЗЕМЛЯХ ПЕРЕДАНИХ У КОЛЕКТИВНУ ВЛАСНІСТЬ План: Виникнення права на земельну частку пай Виділення земельних часток паївв натурі із земель передану у колективну власність Оренда земельн...
18174. ПРАВОВЕ ЗАБЕЗПЕЧЕННЯ УПРАВЛІННЯ В ГАЛУЗІ ЗЕМЕЛЬНИХ ВІДНОСИН 83.5 KB
  Лекція 15. ПРАВОВЕ ЗАБЕЗПЕЧЕННЯ УПРАВЛІННЯ В ГАЛУЗІ ЗЕМЕЛЬНИХ ВІДНОСИН План: Поняття управління у галузі земельних відносин Організаційно – правове забезпечення управління в галузі земельних відносин Поняття функцій управління Встановлення меж ад
18175. ФУНКЦІОНАЛЬНО – ПРАВОВЕ ЗАБЕЗПЕЧЕННЯ УПРАВЛІННЯ В ГАЛУЗІ ЗЕМЕЛЬНИХ ВІДНОСИН 83 KB
  Лекція 16. ФУНКЦІОНАЛЬНО – ПРАВОВЕ ЗАБЕЗПЕЧЕННЯ УПРАВЛІННЯ В ГАЛУЗІ ЗЕМЕЛЬНИХ ВІДНОСИН План: Моніторинг земель Контроль за використанням відтворенням та охороною земель Землеустрій Вирішення земельних спорів Питання для самоконтролю Пит
18176. ЕКОНОМІКО-ПРАВОВИЙ МЕХАНІЗМ У ГАЛУЗІ ВИКОРИСТАННЯ, ОХОРОНИ ТА ВІДТВОРЕННЯ ЗЕМЕЛЬ 68 KB
  Лекція 17 ЕКОНОМІКОПРАВОВИЙ МЕХАНІЗМ У ГАЛУЗІ ВИКОРИСТАННЯ ОХОРОНИ ТА ВІДТВОРЕННЯ ЗЕМЕЛЬ План: Поняття та загальна характеристика економікоправового механізму у галузі використання охорони та відтворення земель Правове регулювання плати за землю. Загальн...
18177. ЮРИДИЧНА ВІДПОВІДАЛЬНІСТЬ ЗА ЗЕМЕЛЬНІ ПРАВОПОРУШЕННЯ 87 KB
  Лекція 21. ЮРИДИЧНА ВІДПОВІДАЛЬНІСТЬ ЗА ЗЕМЕЛЬНІ ПРАВОПОРУШЕННЯ План: Поняття та види юридичної відповідальності за земельні правопорушення Кримінальна відповідальність за злочини у галузі земельних відносин Майнова відповідальність за порушення зем