logo search
Программирование в среде Delphy / Программирование в среде Delphi

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

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

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

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

а) эффективно использовать компьютерные ресурсы;

б) предоставлять удобный интерфейс взаимодействия пользователя с компьютером.

В качестве ресурсов компьютера обычно рассматривают:

а) время работы процессора;

б) адресное пространство основной памяти;

в) оборудование ввода – вывода;

г) файлы, хранящиеся во внешней памяти.

Операционная система – это неотъемлемая часть вычислительного комплекса. Основными функциямя ОС являются управление:

а) процессами (распределяет ресурс — процессорное время);

б) памятью (распределяет ресурс — адресное пространство основной памяти);

в) устройствами (распределяет ресурс — оборудование ввода – вывода);

г) данными (распределяет ресурс — данные или файлы).

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

Рис.2.2. Схема дисковода

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

В ДОС была принята файловая система FAT (File Allocation Table – таблица распределения файлов). На системном диске на нулевом цилиндре на нулевой дорожке в первом секторе размещается информация о формате диска и о месте положения на диске программы первоначальной загрузки. Далее располагаются две таблицы FAT, которые разбиваются на 12–, 16– или 32– битные ячейки, в них хранятся номера кластеров, образующих файлы. Кластер – это наименьший объем памяти, отводимый для файла на диске. Для дискеты размер кластера обычно равен размеру сектора, а для больших дисков размер кластера может составлять несколько секторов. Файл – это набор данных на внешнем носителе информации, например на диске. Создаются две таблицы FAT для большей надежности и обеспечения возможности восстановления случайно удаленных файлов. Обычно информация об удаленных файлов стирается только из первой таблицы.

Ось

Цилиндр

Дорожка

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

Диски

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

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

Третья особенность заключалась в том, что каждой программе можно было выделять не более 640 Кбайт оперативной памяти и вся эта память была доступна каждой программе. Это приводило к очень неустойчивой работе самой ОС. Любая прикладная программа могла нарушить работу ДОС и, как следствие, остановить работу компьютера.

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

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

Начиная с версий Windows NT/2000/XP, эта ОС стала поддерживать наряду с файловой системой FAT файловую систему NTFS, которая была разработана для компьютеров, работающих в сети, где очень важное значение имеет защита информации от несанкционированного доступа.

Как и любая другая система, NTFS делит все просранство на кластеры. NTFS поддерживает почти любые размеры кластеров – от 512 байт до 64 Кбайт, стандартом же считается кластер размером 4 Кбайт.

Диск NTFS условно делится на две части. Первые 12 % диска отводятся под так называемую MFT–зону – пространство, в котором располагается метафайл MFT. Запись каких–либо данных в эту область невозможна. В свободную чать MFT–зоны ничего не записывается – это делается для того, чтобы самый главный, служебный файл (MFT) не фрагментировался при своем росте. Остальные 88 % диска представляют собой обычное пространство для хранения файлов:

Рис.2.3. Распределение дискового пространства

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

Каждый элемент NTFS системы представляет собой файл – даже служебная информация. Самый главный файл на NTFS называется MFT, или Master File Table (общая таблица файлов). Именно он размещается в MFT – зоне и представляет собой централизованный каталог всех остальных файлов диска и, как ни парадоксально, себя самого. MFT поделен на записи фиксированного размера (обычно 1 Кбайт), и каждая запись соответствует какому–либо файлу (в общем смысле этого слова). Первые 16 файлов носят служебный характер и недоступны операционной системе – они называются метафайлами, причем самый первый метафайл – сам MFT. Эти первые 16 элементов MFT – единственная часть диска, имеющая фиксированное положение. Интересно, что вторая копия первых трех записей для надежности (они очень важны) хранится ровно посередине диска. Остальной MFT–файл может располагаться, как и любой другой файл, в произвольных местах диска – восстановить его положение можно с помощью его самого, «зацепившись» за самую основу – за первый элемент MFT.

Итак, у системы есть файлы – и ничего кроме файлов. Что включает в себя это понятие на NTFS? Прежде всего обязательный элемент – запись в MFT, ведь, как было сказано ранее, все файлы диска упоминаются в MFT. В этом месте хранится вся информация о файле, за исключением собственно данных: имя файла, размер, положение на диске отдельных фрагментов и т.д. Если для информации не хватает одной записи MFT, то используются несколько, причем не обязательно подряд.

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

Довольно интересно обстоит дело и с данными файла. Каждый файл на NTFS в общем–то имеет несколько абстрактное строение – у него нет как таковых данных, а есть потоки (streams). Один из потоков имеет привычный нам смысл – данные файла. Но большинство атрибутов файла – тоже потоки! Таким образом, получается, что базовая сущность файла только одна – номер в MFT, а всё остальное опционально.

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

NTFS поддерживает автоматическое сжатие и шифрование файлов и разграничивает права доступа к файлам.

Приведем простенький пример работы с потоком файлов. Наберите в командной строке оператор:

Echo Stream–NTFS > test1.pas:stream

В результате будут создан файл test1 с расширением pas нулевой длины. Однако, если теперь набрать команду

More < test1.pas:stream ,

то мы увидим на экране строчку – Stream–TNFS. Это значит, что имя потока отделяется от имени файла двоеточием.

В настоящее время идет постоянное расширение возможностей операционной системы. Это касается работы в сети Интернет, создания распределенных приложений для работы с базами данных, использования представления данных на языке XML, технологии .NET FrameWork и т.д.