Организация дискового пространства



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

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

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

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

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

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

Жесткий диск может содержать до четырех основных разделов. Это ограничение связано с характером организации данных на жестких дисках IBM-совместимых компьютеров. Многие операционные системы позволяют создавать так называемый расширенный (extended) раздел, который по аналогии с основным разделом может разбиваться на несколько логических дисков.

При проведении форматирования высокого уровня дискеты или раздела диска происходит создание служебных областей в соответствии с типом файловой системы; ниже рассмотрены наиболее распространенные из них.

FAT . Файловая система FAT (FileAllocationTable таблица размещения файлов) была разработана Биллом Гейтсом и Марком Мак Дональдом в 1977 г. и первоначально использовалась в операционной системе 86-DOS. В дальнейшем она была приобретена фирмой Microsoft и стала основой для ОС MS-DOS 1.0 выпушенной в августе 1981 г. FAT была предназначена для работы с гибкими дисками и вначале не предусматривала поддержку жестких дисков. В соответствии со спецификацией FAT16 на диске размещался сначала загрузочный сектор затем сама таблица размещения файлов затем ее точная копия затем корневой каталог; далее располагалась область данных.

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

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

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

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

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

Оригинальная версия FAT разработанная для DOS 1.00 использовала 12-битную таблицу размещения файлов и поддерживала разделы объемом до 4 Мб. Для поддержки жестких дисков размером более 32 Мб разрядность FAT была увеличена до 16 бит. Так как каждому кластеру должен быть присвоен уникальный 16-разрядный номер файловая система FAT16 поддерживает максимум 216 или 65536 кластеров на одном томе а максимальная величина раздела составляет 2 Гбайт.

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

Каждому файлу и подкаталогу в FAT выделяется 32-байтный элемент каталога содержащий имя файла (каталога) его атрибуты (архивный скрытый системный и «только для чтения») дату и время создания файла (или внесения в него последних изменений) номер начального кластера в котором он размещен и размер в байтах.

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

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

Еще один недостаток FAT заключается в том что ее производительность сильно зависит от количества файлов хранящихся в одном каталоге.

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

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

Поскольку FAT изначально проектировалась для однопользовательской операционной системы DOS в ней не предусмотрено хранения информации о владельце файла / каталога или полномочиях доступа к ним.

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

VFAT . Файловая система VFAT (VirtualFAT) впервые реализованная в WindowsNT 3.5 и Windows 95 (DOS 7.0) – это видоизмененная система FAT дополненная поддержкой длинных имен файлов (LongFileName LFN) в кодировке UNICODE (каждый символ имени кодируется 2 байтами). Схема распределения дискового пространства осталась той же что и в FAT но ограничения устанавливаемые соглашениями по именам файлов изменились:

– допускаются имена длиной до 255 символов;

– в имени может быть несколько пробелов и точек (при этом однако текст после последней точки рассматривается как расширение);

– регистр символов в именах не различается но сохраняется.

Основной проблемой при разработке VFAT было обеспечение корректной работы старых программ не поддерживающих длинные имена файлов. В итоге было принято решение для каждого файла и подкаталога в VFAT использовать два имени: длинное и короткое в формате 8.3 для совместимости со старыми программами. Длинные имена (LFN) хранятся в специальных записях каталога. Для любого файла или подкаталога непосредственно перед единственной записью каталога с его именем в формате 8.3 находится группа из одной или нескольких записей представляющих длинное имя. Каждая такая запись содержит часть длинного имени файла (не более 13 символов) из которых ОС составляет полное имя файла. Поскольку одно длинное имя может занимать до 21 записи, а корневой каталог FAT ограничен 512 записями желательно ограничить использование длинных имен в корневом каталоге.

FAT 32 – усовершенствованная версия системы VFAT поддерживающая жесткие диски объемом более 32 Гб. Впервые она была включена в состав ОС Windows 95 OSR 2 и поддерживается во всех последующих версиях Windows.

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

Из-за требования совместимости с ранее созданными программами структура FAT32 практически не изменилась. Главные отличия от предыдущих версий FAT состоят в следующем:

– блок начальной загрузки на разделах с FAT32 был увеличен до 2 секторов; он включает резервную копию загрузочного сектора что делает систему быть более устойчивой к возможным сбоям на диске;

– объем занимаемый таблицей размещения файлов увеличился поскольку теперь каждая запись в ней занимает 32 байта и общее число кластеров на разделе FAT32 больше чем на разделах FAT. Соответственно выросло и количество секторов отводимых под размещение служебной информации;

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

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

Файловая система HPFS (высокопроизводительная файловая система) впервые появилась в операционной системе OS/2. HPFS является файловой системой для многозадачного режима работы, поддерживает длинные имена файлов, и обеспечивает высокую производительность при работе с дисками большого объема. Она, как и FAT, имеет древовидную структуру каталогов, но в ней еще предусмотрены автоматическая сортировка каталогов и специальные расширенные атрибуты, упрощающие обеспечение безопасности на файловом уровне и создание множественных имен. Расширенные атрибуты позволяют хранить дополнительную информацию о файле. Например, каждому файлу может быть сопоставлено его индивидуальное графическое изображение (значок).

По сравнению с FAT HPFS обладает более высокой производительностью, надежностью, и эффективнее использует дисковое пространство. Еще одна особенность заключается в том, что пространство, освобожденное стертым файлом, обычно используется не сразу и файл можно восстановить.

Для достижения более этого в HPFS применяется:

- размещение каталогов в середине дискового пространства;

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

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

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

Все эти преимущества обусловлены структурой диска с файловой системой HPFS.

В начале диска расположено несколько управляющих блоков. Все остальное дисковое пространство разбито на множество областей из смежных секторов, или полос. В каждой области располагаются сами файлы и служебная информация о свободных и занятых секторах в этой области. Каждая полоса занимает на диске 8 Мб и имеет собственную битовую карту распределения секторов. Эти битовые карты показывают, какие секторы данной полосы заняты, а какие свободны. Каждому сектору полосы данных соответствует один бит в её битовой карте. Битовые карты двух полос располагаются на диске рядом, как и сами полосы (рис. 3). Такое расположение полос и битовых карт позволяет непрерывно разместить на диске файл размером до 16 Мб, без отдаления от самого файла информацию об его местонахождении. Если бы на весь логический диск была бы только одна адресная структура данных (как в FAT), то для работы с ней приходилось бы перемещать головки чтения/записи в среднем через половину диска. Именно для исключения таких потерь диск в HPFS разделен на полосы.

Дисковое пространство в HPFS выделяется не кластерами, а блоками. Размещение файлов в таких небольших блоках позволяет экономить дисковое пространство. Так потери составляют в среднем всего 256 байт на файл.

Кроме полос с записями файлов и битовых карт на томе (логическом диске) HPFS имеются еще загрузочный блок, дополнительный блок и резервный блок. Загрузочный блок содержит имя тома, его серийный номер, блок параметров BIOS и программу начальной загрузки. Блок параметров BIOS содержит информацию о жестком диске – количестве цилиндров и головок диска, числе секторов на дорожке. Эта информация используется программными модулями HPFS для поиска нужного сектора.

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

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

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

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

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

Файловая система HPFS при записи файла на диск стремится избежать фрагментации. Если файл непрерывен то, его размещение описывается двумя 32-разрядными числами. Первое число представляет собой указатель на первый блок файла, а второе – длину экстента, то есть число следующих друг за другом блоков, принадлежащих файлу. Из этого следует, что максимальный объем диска в HPFS составляет 2 Тб. Если файл фрагментирован, то размещение его экстентов описывается дополнительными парами 32-разрядных чисел. Фрагментация происходит, когда на диске нет непрерывного свободного участка, достаточного для размещения файла целиком. В этом случае файл делится на несколько частей и располагается в разных местах диска. Файловая система HPFS старается поместить части фрагментированного файла как можно ближе друг к другу, для того чтобы сократить время позиционирования головок чтения/записи при чтении файла с жесткого диска. Также файловая система старается резервировать минимум 4 Кб места в конце файлов подлежащих изменению.

Пользовательская программа может указать размер файла при его создании. В этом случае система сразу попытается выделить место под файл так, чтобы он занимал как можно меньше экстентов. Если программа не сообщила размера файла, используется значение по умолчанию. Фактически, HPFS размещает место, под файл, начиная выделение с наибольшего непрерывного участка свободного пространства. В результате фрагментированными оказываются только файлы, длина которых увеличивалась многократно или же те, которые создавались при почти заполненном диске. При нормальной работе файл редко занимает больше 3—4 экстентов.

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

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

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

Файловая система HPFS для исправления ошибок, возникающих при записи файлов на диск, использует механизм аварийного замещения. Информация, предназначенная для записи в сектор, оказавшийся дефектным, сохраняется в одном из запасных секторов, заранее зарезервированных на этот случай. Их список хранится в резервном блоке файловой системы. Затем происходит обновление карты аварийного замещения. Она представляет собой пары 32-разрядных чисел. Первое число такой пары указывает на дефектный сектор, а второе на сектор его замещающий. Очистка карты аварийного замещения выполняется программой CHKDISK при проверке тома HPFS. Для каждого замещенного блока (сектора) выделяется новый сектор в наиболее подходящем месте. Затем данные записываются в этот сектор, и обновляется информация о положении файла. После этого программа вносит поврежденный сектор в список дефектных блоков, и возвращает освобожденный сектор в список свободных запасных секторов резервного блока. После этого происходит удаление записей из карты аварийного замещения.

Существует еще одна реализация HPFS для работы на серверах – HPFS386.IFS. Ее отличие в том, что она позволяет посредством более полного использования расширенных атрибутов, организовать ограничение доступа к файлам, с помощью списков управления доступом. Также в этой системе нет ограничения на объем памяти, выделяемой для кэширования файловых записей. В HPFS этот объем не может превышать 2 Мб.

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

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

Каждый файл на разделе NTFS представлен записью в специальном файле MFT (MasterFileTable главная файловая таблица). NTFS резервирует около 1 Мб для размещения первых 16 записей служебной информации. 17-я и последующие записи MFT используются собственно файлами и каталогами. Первая запись содержит саму главную файловую таблицу. За ней следует зеркальная запись MFT. Если первая запись MFT разрушена NTFS считывает вторую запись чтобы отыскать зеркальный файл MFT. Местоположение сегментов данных MFT и зеркального файла MFT хранится в секторе начальной загрузки. Копия сектора начальной загрузки находится в логическом центре диска. Третья запись MFTсодержит файл регистрации применяемый для восстановления файлов.

NTFS была разработана как восстанавливаемая файловая система использующая модель обработки транзакций. Каждая операция ввода-вывода изменяющая файл на томе NTFS рассматривается системой как транзакция. При модификации любого файла пользователем в файле регистрации фиксируется вся информация необходимая для повторения или «отката» транзакции. Если транзакция завершена успешно производится модификация файла; в противном случае NTFS оставляет его неизменным. В журнале транзакций (logfile) регистрируются все операции влияющие на структуру тома включая создание файлов и любые команды изменяющие структуру каталогов.

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

В загрузочном файле (bootfile) хранится код начального загрузчика операционной системы.

NTFS также поддерживает файл плохих кластеров (badclusterfile) для регистрации поврежденных участков на томе и файл тома (volumefile) содержащий имя тома версию NTFS и бит который устанавливается при повреждении тома. Наконец имеется файл содержащий таблицу определения атрибутов (attributedefinitiontable) которая задает типы атрибутов поддерживаемые на томе и указывает можно ли их индексировать восстанавливать операцией восстановления системы и т.д.

NTFS распределяет пространство кластерами и использует для их нумерации 64 разряда что дает возможность иметь на каждом томе 2й4 кластеров каждый размером до 64 Кбайт. Как и в FAT размер кластера может меняться но он не обязательно возрастает пропорционально раз размеру диска.

NTFS позволяет сохранять файлы размером до 16 эксабайт (2м байт) и располагает встроенными средствами уплотнения файлов в реальном времени. Сжатие является одним из атрибутов файла или каталога и подобно любому атрибуту может быть снято или установлено в любой момент (сжатие возможно на разделах с размером кластера не более 4 Кб). При этом (в отличие от схем уплотнения используемых в FAT) применяется пофайловое уплотнение; таким образом порча небольшого участка диска не приводит к потере информации в других файлах. Для уменьшения фрагментации NTFS всегда пытается сохранять файлы в непрерывных блоках.

Каталог в NTFS представляет собой специфический файл хранящий ссылки на другие файлы и каталоги; тем самым обеспечивается иерархическое строение данных на диске. Файл каталога поделен на блоки каждый из которых содержит имя файла базовые атрибуты и ссылку на элемент MFT который предоставляет полную информацию об элементе каталога.

Внутренняя структура каталога NTFS представляет собой бинарное дерево. Если в линейном каталоге (например во всех версиях FAT) для поиска файла с данным именем операционной системе приходится просматривать все его элементы то в бинарном дереве имена файлов располагаются таким образом чтобы поиск осуществлялся максимально быстро. Например для поиска одного файла среди 1000 в FAT придется осуществить в среднем 500 сравнений (наиболее вероятно что файл будет найден где-то в середине списка) а системе NTFS– всего около 10.

Начиная с ОС Windows 2000 Microsoft использует новую версию данной файловой системы – NTFS 5.O. В ней были введены дополнительные атрибуты файлов; наряду с правом доступа появилось понятие запрета доступа (что позволяет например при наследовании пользователем прав группы на какой-нибудь файл запретить ему возможность изменять его содержимое). Новая система также позволяет вводить ограничения (квоты) на размер дискового пространства предоставляемого пользователям и проецировать любой каталог (как на локальном так и на удаленном компьютере) в подкаталог на локальном диске.

CDFS (CDFileSystem) была разработана для хранении информации на компакт-дисках. Это довольно простая система и она имеет ряд существенных ограничений. Например длина имени файла не может превышать 128 символов нельзя использовать глубоко вложенные каталоги (более 8 уровней) и т.д. Поэтому сейчас все большее распространение при записи информации на CD и DVD-диски получает формат UDF (UniversalDiskFormat) который является надмножеством формата CDFS. Это вполне современный стандарт файловой системы поддерживаемый Ассоциацией технологий оптической долговременной памяти (OSTA). По некоторым характеристикам UDF вполне сопоставим с форматами файловых систем используемых на жестких дисках. Поддерживаемый размер имени файла увеличен до 256 символов добавлена возможность загрузки ОС. В состав Windows 2000 включена поддержка UDFvl.5 в то время как Windows 98 ограничивается UDFvl.02 причем драйвер UDF позволяет производить только операции чтения.

Правила именования устройств практически не изменились со времени появления первых ОС. В компьютере может быть два накопителя на гибких магнитных дисках обозначаемые А: и В: и несколько накопителей на жестком магнитном диске CD-ROM ZIP-Drive и др. Они обозначаются заглавными латинскими буквами с двоеточием начиная от С: и до Z: Двоеточие ставится чтобы ОС могла отличить имена устройств от имен файлов (в которых использовать двоеточие запрещено).

Помимо имен накопителей на магнитных дисках в ОС зарезервированы следующие имена устройств:

– СОМ1: COM2: COM3: COM4: – устройства присоединяемые к последовательным коммуникационным портам (например мышь модем и т.п.);

– LPT1: LPT2: – устройства присоединяемые к параллельным портам (обычно это принтеры или сканеры).

Некоторые устройства имеют альтернативные имена которые задаются без двоеточия в конце:

– aux– устройство присоединяемое к коммуникационному порту СОМ1:;

– hug – принтер подключенный к LPT1:;

– con– консоль (при вводе данных – клавиатура при выводе – экран);

– nul– «пустое» устройство; все операции ввода-вывода для него игнорируются но сообщение об ошибке не выдается.

Эти имена также нельзя использовать в качестве имен файлов. Даже если добавить к ним какое-либо расширение все равно MSDOS будет воспринимать такие имена как обращение к устройству. Однако расширения имени файлов.CON.AUX.PRN и.NUL вполне допустимы .

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

История Windows

История Windows берет свое начало в 1986 году, когда появилась первая версия системы. Она представляла собой набор программ, расширяющих возможности существующих операционных систем для большего удобства в работе. Через несколько лет вышла вторая версия, но особой популярности система Windows не завоевала. Однако в 1990 году вышла новая версия - Windows 3.0, которая стала использоваться на многих персональных компьютерах. Популярность новой версии Windows объяснялась несколькими причинами. Графический интерфейс позволяет работать с объектами вашего компьютера не с помощью команд, а с помощью наглядных и понятных действий над значками, обозначающими эти объекты. Возможность одновременной работы с несколькими программами значительно повысила удобство и эффективность работы. Кроме того, удобство и легкость написания программ для Windows привели к появлению все больше разнообразных программ, работающих под управлением Windows. Наконец, лучше была организована работа с разнообразным компьютерным оборудованием, что также определило популярность системы. Последующие версии Windows были направлены на повышение надежности, а также поддержку средств мультимедиа (версия 3.1) и работу в компьютерных сетях (версия 3.11).

Параллельно с разработкой Windows компания Microsoft в 1988 году начала работу над новой операционной системой, названной Windows NT. Перед новой системой были поставлены задачи существенного повышения надежности и эффективной поддержки сетевой работы. При этом интерфейс системы не должен был отличаться от интерфейса Windows 3.0. Интересно, что самой распространенной версией Windows NT также стала третья версия. В 1992 году появилась версия Windows NT 3.0, а в 1994 году - Windows NT 3.5.

Процесс развития операционных систем не стоит на месте, и в 1995 появилась система Windows 95, ставшая новым этапом в истории Windows. По сравнению с Windows 3.1 значительно изменился интерфейс, выросла скорость работы программ. Одной из новых возможностей Windows 95 была возможность автоматической настройки дополнительного оборудования компьютера для работы без конфликтов друг с другом. Другой важной особенностью системы стала возможность работы с Интернетом без использования дополнительных программ.

Интерфейс Windows 95 стал основным для всего семейства Windows, и в 1996 появляется переработанная версия Windows NT 4.0, имеющая такой же интерфейс, как и Windows 95. Продолжением развития Windows 95 стала операционная система, появившаяся в 1998 году. При сохранившемся интерфейсе внутренняя структура была значительно переработана. Много внимания было уделено работе с Интернетом, а также поддержке современных протоколов передачи информации - стандартов, обеспечивающих обмен информацией между различными устройствами. Кроме того, особенностью Windows 98 является возможность работы с несколькими мониторами.

Следующим этапом в развитии Windows стало появление Windows 2000 и Windows Me (Millennium Edition - редакция тысячелетия). Система Windows 2000 разработана на основе Windows NT и унаследовала от нее высокую надежность и защищенность информации от постороннего вмешательства. Операционная система Windows Me стала наследницей Windows 98, но приобрела многие новые возможности. Прежде всего, это улучшенная работа со средствами мультимедиа, возможность записывать не только аудио, но и видеоинформацию, мощные средства восстановления информации после сбоев и многое другое. Постепенно разница между разными системами Windows стирается, и новая операционная система Windows XP предназначена для замены как Windows 2000, так и Windows Me.

Особенности Windows XP

Операционная система Microsoft Windows XP, создана на основе технологии NT и является прямой наследницей системы Windows 2000. Вместе с тем, все лучшие нововведения, включенные в Windows Me, можно обнаружить и в Windows XP. При сохранении высоких показателей надежности, безопасности и быстродействия, система стала более простой в освоении, в ней появилось множество средств, предназначенных для индивидуальных домашних пользователей.

В версии Windows XP сильно изменился внешний вид системы. Кнопки, значки, панели теперь выглядят немного иначе. Даже главное меню Windows изменилось. Изменения интерфейса самые значительные после перехода с Windows 3.1 на Windows 95. Вместе с тем имеется возможность использовать и старый интерфейс, если вы к нему привыкли. Особо следует отметить работу программ в режиме совместимости с предыдущими версиями Windows. Вы можете работать с программой, которая написана для Windows 95, и не работает в Windows 2000. Все версии Windows XP имеют множество нововведений. Поддерживается значительно больше разнообразных устройств. Система позволяет легко и удобно обрабатывать видеофильмы, фотографии, рисунки, музыку и песни. Теперь с помощью Windows XP любой сможет построить домашнюю сеть на основе двух-трех компьютеров, обеспечив совместное использование файлов, папок, принтера, факса и доступа в Интернет.

В системе имеется и множество других нововведений, о которых вы узнаете по мере прочтения книги и знакомства с Windows XP. Однако перед началом работы с системой мы рекомендуем вам познакомиться с основными понятиями, используемыми в Windows XP. Если вы знакомы с предыдущими версиями Windows, большинство понятий для вас окажутся знакомыми.

Windows Vista

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

В линейке продуктов Windows NT новая система носит номер версии 6.0 (Windows 2000 — 5.0, Windows XP — 5.1, Windows Server 2003 — 5.2). Для обозначения «Windows Vista» иногда используют аббревиатуру «WinVI», которая объединяет название «Vista» и номер версии, записанный римскими цифрами. На раннем этапе разработки система была известна под кодовым именем Longhorn (по имени бара Longhorn Saloon вблизи лыжного курорта Вистлер в Британской Колумбии). Название «Vista» было объявлено 22 июля 2005 года. Спустя несколько месяцев Microsoft также переименовали Windows Longhorn Server в Windows Server 2008. Выпуск Windows Vista был запланирован на вторую половину года для корпоративных пользователей. Для широкой публики Vista стала доступна в январе 2007 года. Эти задержки в Microsoft объясняли недостатком времени на увеличение безопасности новой ОС. С 8 ноября 2006 года полноценная версия Windows Vista доступна для производителей оборудования. Публичный релиз для конечных пользователей состоялся 30 января 2007 года.

В переводе на русский «vista» означает «новые возможности», «открывающиеся перспективы». Название новой ОС выбиралось тщательно и последовательно. Первоначально в результате проведённых исследований название было определено и одобрено сотрудниками Microsoft. После этого «Vista» было протестировано в нескольких регионах мира методом фокус-групп.

Операционная система Mac OS

Вот уже несколько лет лидера на рынке операционных систем, компанию Microsoft, постепенно теснят другие производители. ОС Windows, конечно, еще монополист в этом отношении и регулярно выпускает новые продукты, однако компании-конкуренты тоже не дремлют и активно развивают свои системы — например, Apple со своей Mac OS.

Mac OS (Macintosh Operating System) представляет собой семейство проприетарных (частных) операционных систем с графическим интерфейсом, созданных специально для компьютеров Apple Macintosh. Стоит отметить, что многие эксперты ИТ- отрасли считают Mac OS первой из современных оперативных систем, которая применила графический интерфейс пользователя, в отличие от традиционной командной строки. То есть теперь можно было использовать все доступные системные объекты и функции в виде графических компонентов экрана (окон, значков, меню, кнопок, списков и т. п.). При этом в отличие от интерфейса командной строки, пользователь имел произвольный доступ (с помощью клавиатуры или указательного устройства ввода — манипулятора «мышь») ко всем видимым экранным объектам — элементам интерфейса. К слову, некоторые программисты в то время сравнивали работу в графическом интерфейсе с управлением собственным миром — настолько эта технология была удобна.

Появление операционной системы Mac OS относится к 1984 году, когда компания Apple Computer представила ЭВМ Macintosh. Новинка обладала уникальными для того времени возможностями — пользователи управляли своим компьютером не только вводимыми с клавиатуры командами и инструкциями, но и с помощью нового в те времена устройства, названного мышью. Мышь управляла указателем (курсором), который, в свою очередь, на экране монитора управлял видимыми графическими объектами — папками, ярлыками файлов и т. д. Кроме того, операционная система Mac OS впервые использовала всем знакомый сегодня оконный интерфейс, который предназначался для представления и организации информации.

Система Mac OS была основана на прототипе графического интерфейса пользователя, позаимствованным руководством Apple в исследовательском центре Xerox PARC. Разработчики Macintosh использовали некоторые идеи прототипа Xerox, доработав и расширив их, добавив собственные.

Стоит отметить, что впоследствии ряд других компаний использовал в своих продуктах идеи Apple, например, компания Microsoft, которая представила похожую на Mac OS графическую оболочку для своей операционной системы MS-DOS, названную Windows (в переводе с английского — окна).

В противовес продуктам конкурентов Apple хотел, чтобы компьютеры Macintosh стали альтернативой большинству ЭВМ. В компании даже придумали определение для своей продукции. В понимании Apple компьютер Macintosh представлял собой продукт «для всех остальных» («for the rest of us»), то есть для того меньшинства, которое не пользуется PC. Данное обстоятельство указывало на уникальность Macintosh. Но при этом операционная система, во многом благодаря которой компьютеры Mac отличались от остальных ЭВМ, вплоть до середины 90-х годов ХХ века не имела официального названия.

Ранние версии Mac OS были совместимы только с компьютерами Macintosh, основанными на процессорах Motorola 68k, позже оперативная система от Apple была совместима с архитектурой процессора PowerPC (PPC). Последние версии ОС — Mac OS X — стали совместимы с архитектурой Intel x86. Однако политика компании не позволяет устанавливать Mac OS на любые устройства, основанные архитектуре Intel x86. Оперативная система Mac может устанавливаться только на компьютеры и ноутбуки Apple.

Mac OS X

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

Mac OS X состоит из нескольких частей, вложенных одна в другую. На самом верху — новый пользовательский интерфейс Aqua. Под ним-слой поддержки прикладных программ: окружения Classic, Carbon, Cocoa, Java. Еще глубже — графика и мультимедиа: Quartz, OpenGL, QuickTime. И, наконец, в самой глубине — главный двигатель системы, ядро Darwin.

Забегая вперед, можно сказать, что в результате, в 2001 году после пяти лет выхода различных ядер (Rhapsody, Darwin) и получилась Mac OS X 10.0 (Cheetah) — на базе микроядра Mach, позаимствованного из NeXT OS и BSD, с системой эмуляции старых Mac OS Classic, рядом новых технологий, направленных на то, чтобы новая ОС от Apple соответствовала требованиям времени. В 2001 году вышли Mac OS X 10.1 (Puma), в 2002 году — Mac OS X 10.2 (Jaguar), в 2003 — Mac OS Х10.3 (Panther), в 2005- Mac OS X 10.4 (Tiger). Mac OS X 10. 4

Отличия Mac OS от основных конкурентов

Если сравнивать Mac OS с сновным конкурентом ОС Windows от Microsoft, то можно выделить несколько основных отличий:

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

Во-вторых, Mac OS отличается более интересным и практичным дизайном, что можно описать фразой «Ничего лишнего». На высоте и удобство использования системы — юзабилити (usability). По словам Билла Гриббонса (Bill Gribbons), доктора наук, специализирующегося на влиянии человеческого фактора в информационном дизайне университета Бентли (Bentley), подход Apple к разработке продукта — это то, что отличает их от Microsoft. Он также подчеркнул, что Microsoft не всегда фокусируется на технологии, в Windows не всегда лучший комфорт в работе для пользователей, и не всегда легко изучаемый продукт, который не всегда отвечает запросам пользователей.

Например, интерфейс системы Mac OS X тоже имеет существенные отличия от Windows. Если в Windows каждой программе обычно соответствует одно окно с открывающимися в нем вкладками и панелями инструментов, то в Мас OS используются «плавающие» окна и панели, не привязанные к общему окну, а располагающиеся на рабочем столе.

Кроме того, Mac OS проста в установке и удалении приложений. Так, например, инсталляция большинства программ под оперативную систему компании Apple осуществляется гораздо проще, чем под Windows. В среде Mac OS программа предстает перед пользователем в виде единственного объекта — так называемого «пакета» (bundle), причем для установки достаточно просто перетащить значок «пакета» в любую папку или запустить его прямо с диска. При таком способе установки программа не оставляет следов в системном реестре (поскольку в Mac OS его нет) и папках общего пользования. Лишь единичные программы (в основном, такие «монстры», как Adobe Creative Suite или Microsoft Office) используют привычные для пользователей Windows инсталляторы.

Недостатки Mac OS X

Есть у Mac OS X и определенные недостатки, которые, в том числе, связаны и с достоинствами данной операционной системы. Использование надежных технологий и оригинального дизайна сказывается и на стоимости, как компьютера, так и самой ОС — как правило, она на порядок выше стоимости ПК под управлением Windows. Кроме того, у Apple отсутствуют компьютеры средней производительности, так как компания сосредоточена на выпуске мощных машин для выполнения профессиональных задач, что сужает целевую аудиторию. Из-за этого Apple вынужден держать и высокую стоимость своих продуктов.

Еще одним недостатком Mac OS является меньшее число программ, которые можно установить на компьютер. Среди софта для Mac OS существует программное обеспечение для решения любых задач, однако его выбор все же не так велик, как для Microsoft Windows.

Минусом Mac OS также является негибкий пользовательский интерфейс. Оперативная система от Apple не дает пользователю возможности так гибко управлять размерами и расположением панелей интерфейса, как это можно сделать в Windows. При этом начертание системных шрифтов в Mac OS можно менять в ограниченных пределах и только с помощью специальных дополнительных программ.

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

В перспективе число пользователей Macintosh, а, следовательно, и Mac OS, будет постепенно расти. Эксперты ИТ-рынка связывают это с последовательным снижением стоимости на компьютеры и ноутбуки Apple. Соответственно, будет расти и количество вредоносного ПО для Macintosh, что в последствии может привести к первым официальным антивирусным программам для ПК Apple. Безусловно, в ближайшем будущем будет увеличиваться и количество эксклюзивных приложений для Mac OS, а также расти число приложений совместимых с Windows, и наоборот.

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

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

Первоначально LINUX создавался Линусом Торвальдсом как хобби. Его вдохновила операционная система Minix. Дальше LINUX стал разрабатываться группой энтузиастов UNIX. Сегодня LINUX - полноценная операционная система UNIX, способная работать с "X Windows", TCP/IP, Emacs и прочими пакетами.

Что делает LINUX столь отличным от других операционных систем? - Он был создан и продолжает совершенствоваться и развиваться группой добровольцев. Все желающие приглашаются подключиться к этой работе. Единственное, что требуется - это интерес к семейству UNIX и желание совершенствовать свои навыки в этой среде.
Университеты по всему миру применяют LINUX в учебных курсах по программированию и проектированию операционных систем.

Ключевые черты LINUX.

* Многопользовательская операционная система, защищенного 32-х разрядного режима, в ее составе нет 16-ти разрядного кода, кроме подпрограммы загрузки.

* Передовая 32[64 для Alpha] битная подсистема виртуальной памяти.

* Отсутствует ограничение 640к. LINUX может выделить до 3Гб на процесс, если у вас есть достаточно виртуальной памяти.

* Система безопасности файлов и процессов пользователя.

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

* Общие библиотеки ("Shared libraries") для повышения эффективности использования памяти и дискового пространства.

* Прозрачная программная эмуляция мат. сопроцессора для машин без такового.

* API стиля POSIX.1 с USL и BSD расширениями. Перенос почти любого корректно написанного Posix или Unix API приложения является тривиальной задачей.

* Встроенная поддержка сети TCP/IP включая оба протокола и стандартный набор инструментов BSD.

* Широкий спектр WWW инструментов.

* Клиент и сервер NFS - стандартной сетевой файловой системы Unix.

* SAMBA SMB сервер для LAN manager и клиентов Windows for Workgroups.

* MARS_NWE сервер клона Netware для использования в сетях IPX.

* Netatalk Appletalk сервер для использования в сетях Appletalk (Эппл).

* Клиент и сервер SMTP (E-mail) включая поддержку MIME.

* Программное обеспечение для UUCP - протокола старого стиля для эффективного хранения и маршрутизации сетевой информации.

* SLIP и PPP для работы с сетями Интернет через аналоговые и цифровые модемы.
* Широкий ряд сетевых высокопроизводительных драйверов.

* Драйверы для звуковых плат и приводов СD-ROM.

* Эмулятор DOS.

* Практически бесплатная система. Лицензия позволяет не только копировать и распространять soft, но и предоставляются исходные тексты.

* Действительно надежная система, шансы на то, что одна задача повалит всю систему, практически равны нулю.

* 2-6 миллионов пользователей по всему миру.

Главные отличия LINUX от UNIX

1. Цена. Коммерческие UNIX системы стоят 1000 - 3000 USD. LINUX распространяется бесплатно или для коммерческих дистрибутивов по сравнительно низкой цене.

2. Лицензионная политика. LINUX распространяется вместе с исходными текстами и под лицензией, которая не разрешает использовать LINUX, не распространяя исходных текстов. Эта политика постоянно поддерживает цену коммерческих дистрибутивов LINUX на низком уровне. Эта политика делает также невозможным использования тактики имени Microsoft - использование недокументированных возможностей системы.

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

Сравнительные характеристики 32-разрядных операционных систем

LINUX, так же как и OS/2, разрабатывался и оптимизировался для работы с процессором I80386 и совместимых с ним. А Windows NT, как ожидалось, должна была стать новым стандартом операционной системы и была портирована на MIPS и DEC Alpha. Все три ОС поддерживают многозадачный режим работы, при котором одновременно выполняется несколько пользовательских приложений. По сравнению с MS-DOS это существенный шаг вперед. NT поддерживает также многопроцессорный режим работы, который, впрочем, ориентирован на работу только с процессором Pentium. NT и Linux поддерживают также динамическое кэширование дисковой памяти, в то время как в OS/2 реализован традиционный подход, состоящий в выделении фиксированного объема памяти. В результате производительность Linux и NT оказывается существенно выше, поскольку необходимые для обработки данные в большинстве случаев оказываются уже в кэш-памяти. В отличие от OS/2 и Windows NT многопользовательская работа поддерживается Linux в полном объеме. Локальные пользователи, удаленные терминалы, подключенные через модемы, а также пользователи, подключенные посредствами локальной вычислительной сети без каких-либо ограничений могут одновременно работать с графическими и символьно-ориентированными приложениями. Для многих практических ситуаций эта возможность ставит Linux вне конкуренции. Linux имеет также ряд средств обеспечения безопасности системы, предотвращающих попытки пользователей "сломать машинку". Впрочем, хотя Windows NT не является многопользовательской системой, она проверяет полномочия подключишегося к ней пользователя. Поэтому вы можете без опаски предоставлять сетевой доступ к Linux или NT машине, в то время, как пользователь OS/2 имеет все необходимые средства для умышленного или неумышленного разрушения операционной системы.

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

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

Рождение ОС Unix относится к концу 60-х годов, и эта история уже обросла "легендами", которые подчас по-разному повествуют о деталях этого события. ОС Unix родилась в исследовательском центре Bell Telephone Laboratories (Bell Labs), входящем в состав корпорации AT&T. Изначально этот инициативный проект для ЭВМ PDP-7 (впоследствии - для PDP-11) представлял собой то ли с файловую систему, то ли компьютерную игру, то ли систему подготовки текстов, то ли и то, и другое, и третье. Важно, однако, то, что с самого начала проект, превратившийся в итоге в ОС, задумывался как программная среда коллективного пользования. Автором первой версии Unix является Кен Томпсон, однако в обсуждении проекта, а впоследствии - и в его реализации принимал участие большой коллектив сотрудников (Д. Ритчи, Б. Керниган, Р. Пайк и другие). На наш взгляд, несколько счастливых обстоятельств рождения Unix определили удачу этой системы на много лет вперед.

Для большинства сотрудников того коллектива, в котором родилась ОС Unix, эта ОС была "третьей системой". Существует мнение (см., например [1]), что системный программист достигает высокой квалификации только при выполнении третьего своего проекта: первый проект получается еще "ученическим", во второй разработчик пытается включить все, что не получилось в первом, и в итоге он получается слишком громоздким, и только в третьем достигается необходимый баланс желаний и возможностей. Известно, что до рождения Unix коллектив Bell Labs участвовал (совместно с рядом других фирм) в разработке ОС MULTICS. Конечный продукт MULTICS (Bell Labs не принимала участия в последних стадиях разработки) носит все признаки "второй системы" и не получил широкого распространения. Следует, однако, заметить, что в этом проекте были рождены многие принципиально важные идеи и решения, и некоторые концепции, которые многие считают рожденными в Unix, на самом деле имеет своим источником проект MULTICS.

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

В 1972-73 гг. Кен Томпсон и Деннис Ритчи написали новую версию Unix. Специально для этой цели Д. Ритчи создал язык программирования C, представлять который теперь уже нет необходимости. Более 90% программного кода Unix написано на этом языке, и язык стал неотъемлемой частью ОС. То, что основная часть ОС написана на языке высокого уровня, обеспечивает возможность ее перекомпиляции в коды любой аппаратной платформы и является обстоятельством, определившим широкое распространение Unix.

В период создания Unix антимонопольное законодательство США не давало корпорации AT&T возможности выходить на рынок программных продуктов. Поэтому ОС Unix была некоммерческой и свободно распространялась, прежде всего - в университетах. Там ее развитие продолжалось, и наиболее активно оно велось в Калифорнийском университете в г. Беркли. При этом университете была создана группа Berkeley Software Distribution, которая занималась развитием отдельной ветви ОС - BSD Unix. На протяжении всей последующей истории основная ветвь Unix и BSD Unix развивались параллельно, неоднократно взаимно обогащая друг друга.

По мере распространения ОС Unix стал все более возрастать интерес к ней коммерческих фирм, которые стали выпускать собственные коммерческие версии этой ОС. Со временем стала коммерческой и "основная" ветвь Unix от AT&T, для ее продвижения была создана дочерняя фирма Unix System Laboratory. Ветвь BSD Unix в свою очередь разветвилась на коммерческую BSD и Free BSD [18]. Различные коммерческие и свободно распространяемые Unix-подобные системы строились на базе ядра AT&T Unix, однако в них включались и свойства, заимствуемые из BSD Unix, а также и оригинальные свойства. Несмотря на общий источник, различия между членами семейства Unix накапливались и в итоге привели к тому, что перенос приложений из одной Unix-подобной ОС в другую стал чрезвычайно затруднен. По инициативе пользователей Unix возникло движение за стандартизацию API Unix. Это движение было поддержано Международной организацией стандартов ISO и привело к возникновению стандарта POSIX (Portable Operation System Interface eXecution), который развивается и в настоящее время и является самым авторитетным стандартом для ОС. Однако, оформление спецификаций POSIX как официального стандарта - процесс довольно медленный, и он не может удовлетворять потребностей производителей программного обеспечения, что привело к возникновению альтернативных промышленных стандартов.

С переходом AT&T Unix к компании Nowell название этой ОС изменилось на Unixware, а права на торговую марку Unix перешли к консорциуму X/Open. Этот консорциум (в настоящее время - Open Group) разработал свои (более широкие, чем POSIX) спецификации системы, известные как Single Unix Specification. Недавно вышла вторая редакция этого стандарта, значительно лучше согласованная с POSIX.

Наконец, ряд фирм - производителей собственных версий Unix образовал консорциума Open Software Foundation (OSF), который выпустил собственную версию Unix - OSF/1, сделанную на базе микроядра Mach. OSF также выпустил спецификации системы OSF/1, на основе которой фирмы-члены OSF стали выпускать собственные Unix-системы. Среди таких систем: SunOS фирмы Sun Microsystems, AIX фирмы IBM, HP/UX фирмы Hewlett-Packard, DIGITAL UNIX фирмы Compaq и другие.

Поначалу Unix-системы этих фирм в большей степени базировались на BSD Unix, но сейчас большая часть современных промышленных Unix-систем строятся на базе использовании (по лицензии) ядра AT&T Unix System V Release 4 (S5R4), хотя наследуют и некоторые свойства BSD Unix. Мы не берем на себя ответственность сравнивать коммерческие Unix-системы, так как периодически появляющиеся в печати сравнения такого рода зачастую представляют совершенно противоположные результаты.

Компания Nowell продала Unix компании Santa Crouse Operations, которая выпускала собственный Unix-продукт - SCO Open Server. SCO Open Server [16] базировался на более ранней версии ядра (System V Release 3), но был великолепно отлажен и отличался высокой стабильностью. Фирма Santa Crouse Operations интегрировала свой продукт с AT&T Unix и выпустила Open Unix 8 [30], однако затем продала Unix фирме Caldera, которая и является владельцем "классической" ОС Unix сегодня (в конце 2001 г).

Фирма Sun Microsystems начала свое представительство в мире Unix системой SunOS, созданной на основе ядра BSD. Однако впоследствии заменила ее системой Solaris на основе S5R4 [34]. В настоящее время распространяется версия 8 этой ОС (существует также v.9-бета). Solaris работает на платформе SPARC (RISC-процессоры, изготовляемые по спецификациям Sun) и Intel-Pentium.

Фирма Hewlett-Packard предлагает ОС HP-UX. v.11 на платформе PA-RISC [22]. HP-UX базируется на S5R4, но содержит много свойств, "выдающих" ее происхождение от BSD Unix. Конечно же, HP-UX будет доступна и на платформе Intel-Itanium.

Фирма IBM выступает с ОС AIX, последняя на сегодняшний день версия - 5L (о ней еще пойдет речь впереди) [12]. IBM не объявляла "родословную" AIX, это в основном оригинальная разработка, но первые версии носили признаки происхождения от FreeBSD Unix. Сейчас, однако, AIX больше похожа на S5R4. Первоначально ОС AIX была доступна и на платформе Intel-Pentium, но впоследствии (в соответствии с общей политикой IBM) перестала поддерживаться на этой платформе. В настоящее время AIX работает на серверах IBM RS/6000 и в других вычислительных платформах на базе процессоров PowerPC (в том числе и на суперкомпьютерах IBM).

ОС DIGITAL UNIX фирмы DEC была единственной промышленной реализаций системы OSF/1. ОС DIGITAL UNIX работала на RISC-серверах Alpha фирмы DEC. Когда в 1998 г. фирма DEC была поглощена фирмой Compaq, в фирму Compaq перешли и серверы Alpha, и DIGITAL UNIX. Фирма Compaq имеет намерение восстановить присутствие на рынке серверов Alpha и в связи с этим интенсивно развивает и ОС для них. Нынешнее название этой ОС - Tru64 Unix (текущая версия - 5.1A), она продолжает базироваться на ядре OSF/1 и несет в себе много признаков BSD Unix.

Несмотря на то, что большинство коммерческих Unix-систем базируется на одном ядре и удовлетворяет требованиям POSIX, каждая из них имеет собственный диалект API, и различия между диалектами накапливаются. Это приводит к тому, что перенос промышленных приложений с одной Unix-системы на другую затрудняется и требует, как минимум, перекомпиляции, а часто - и корректировки исходного кода. Попытка преодолеть "разброд" и сделать единую для всех ОС Unix была предпринята в 1998 г. альянсом фирм SCO, IBM и Sequent. Эти фирмы объединились в проекте Monterey с целью создания единой ОС на базе Unixware, владельцем которой в то время была SCO, IBM AIX и ОС DYNIX фирмы Sequent. (Фирма Sequent занимает лидирующие позиции в производстве ЭВМ архитектуры NUMA - несимметричной многопроцессорной - и DYNIX - это Unix для таких ЭВМ). ОС Monterey должна была работать на 32-разрядной платформе Intel-Pentium, 64-разрядной платформе PowerPC и на новой 64-разрядной платформе Intel-Itanium. О поддержке проекта заявили почти все лидеры производства аппаратных средств и промежуточного программного обеспечения. Даже фирмы, имеющие собственные клоны Unix (кроме Sun Microsystems), объявили, что на платформах Intel они будут поддерживать только Monterey. Работа над проектом продвигалась, по-видимому, успешно. ОС Monterey была в числе первых, доказавших свою работоспособность на Intel-Itanium (наряду с Windows NT и Linux) и единственной, которая при этом не прибегала к эмуляции 32-разрядной архитектуры Intel-Pentium. Однако в финальной стадии проекта произошло фатальное событие: SCO продала свое Unix-отделение. Еще раньше фирма Sequent вошла в состав IBM. "Наследником" всех свойств ОС Monterey стала ОС IBM AIX v.5L. Однако, не совсем всех. Платформа Intel-Pentium не является для IBM стратегическим направлением, и на этой платформе ОС AIX недоступна. А поскольку другие лидеры компьютерной индустрии не разделяют (или не вполне разделяют) такую позицию IBM, идея общей ОС Unix так и не реализовалась.

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

Последние годы отмечены шумной экспансией ОС Linux [9, 26]. Ядро этой ОС было разработано в 1991 Линусом Торвальдсом (Финляндия) прежде всего "для личного пользования". Торвальдс сделал исходный код своей ОС открытым. При фиксированном ядре любой программист может написать собственные сервисы ОС Linux и опубликовать их через Internet. Трудно сказать, что послужило причиной такой популярности ОС Linux. Она не является ни уникальной, ни лучшей ни как свободно распространяемая, ни как открытая, ни как Unix для компьютеров небольшой вычислительной мощности. По-видимому, этот феномен объясняется некоторым совпадением объективных и субъективных факторов, анализ которых не входит в наши цели.

До 1997 г. ОС Linux была популярна почти исключительно в университетской среде. Однако в 1997 г. ряд фирм объявил о выпуске собственных версий Linux. Некоторые из этих версий (например, Red Hat) остались бесплатными, некоторые (например, Caldera) стали коммерческими. Принципиально важно то, что у Linux появились "хозяева", которые несли ответственность (в том числе и коммерческую) за сопровождение ОС. Это вызвало стремительное возрастание интереса к Linux пользователей, которые решают задачи промышленной обработки информации. Такой интерес объясняется, с одной стороны, желанием иметь "почти настоящую" ОС Unix со значительно меньшими расходами, с другой, нежеланием попадать в полную зависимость от Microsoft.

Unix состоит из ядра с включенными в него драйверами и из утилит (внешних по отношению к ядру программ). Если надо изменить конфигурацию (добавить устройство, изменить порт или прерывание), то ядро пересобирают (перелинковывают) из обьектных модулей или (напр., во FreeBSD) из исходников. /* Это не совсем верно. Некоторые параметры пожно поправить без пересборки. Существуют также loadable kernel modules. */

В противоположность Unixу Windows (если не уточняется, какая, то имеются в виду 3.11, 95 и NT) и OS/2 при загрузке фактически на ходу прилинковывают драйверы. При этом компактность собранного ядра и повторное использование общего кода на порядок ниже, чем у Unix. Кроме того, при неизменной конфигурации системы ядро Unix без переделки (потребуется изменить только стартовую часть BIOS) может быть записан в ПЗУ и выполняться не загружаясь в ОЗУ. Компактность кода особенно важна, т.к. ядро и драйверы никогда не покидают физическую оперативную память, не свопятся на диск.

Unix - самая многоплатформенная OS. WindowsNT пытается подражать ему, но пока это плохо удается - после отказа от MIPS и POWER-PC, WNT остались всего на двух платформы - традиционная i*86 и DEC Alpha. Переносимость программ с одной версии Unix на другую ограничена. Неаккуратно написанная программа, не учитывающая различий в реализациях Unix, делающая необоснованные предположения типа переменная integer должна занимать четыре байта может потребовать серьезной переделки. Но все равно это на много порядков легче, чем например пернести с OS/2 на NT.

Unix используется как в качестве как сервера, так и рабочей станции. В номинации серверов с ним конкурируют MS WindowsNT, Novell Netware, IBM OS/2 Warp Connect, DEC VMS и операционные системы мэйнфреймов. Каждая система имеет свою область применения, в которой она лучше других.

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

Netware - для сетей, где нужна высокая производительность файлового и принтерного сервиса и не столь важны остальные сервисы. Главный недостаток - на сервере Netware трудно запускать приложения.

OS/2 хороша там, где нужен "легкий" сервер приложений. Ресурсов требует меньше чем NT, в управлении гибче (хотя в настройке может и сложнее), а многозадачность очень хорошая. Авторизация и разграничение прав доступа не реализованы на уровне ОС, что с лихвой окупается реализацией на уровне приложений-серверов. (Впрочем, зачастую остальные OS делают то же самое). Многие станции FIDOnet и BBS сделаны на базе OS/2.

VMS - мощный, ничем не уступающий Unixам (а во многом и превосходящий его) сервер приложений, но только для платформ VAX и Alpha фирмы DEC.

Мэйнфреймы - для обслуживания очень большого количества пользователей (порядка нескольких тысяч). Но работа этих пользователей как правило организована в виде не клиент-серверного взаимодействия, а в виде хост-терминального. Терминал же в этой паре скорее не клиент, а сервер (Мир Internet, N3 за 1996-й год). К преимуществам мэйнфреймов надо отнести более высокую защищенность и устойчивость к сбоям, а к недостаткам - соответствующую этим качествам цену.

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

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

Практически все протоколы, на которых основан Internet, были разработаны под Unix, в частности стек протоколов TCP/IP придуман в университете Berkeley.

Защищенность Unix при правильном администрировании (а когда это не так?) ни в чем не уступает ни Novell, ни WindowsNT.

Важным свойством Unix, которое приближает его к мэйнфреймам, является его многотерминальность, много пользователей могут одновременно запускать программы на одной Unix-машине. Если не требуется использовать графику, можно обойтись дешевыми текстовыми терминалами (специализированными или на базе дешевых PC), подключенными по медленным линиям. В этом с ним конкурирует только VMS. Можно использовать и графические X-терминалы, когда на одном экране присутствуют окна процессов, выполняющихся на разных машинах.

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

Вывод

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

Операционная система является первичной программной оболочкой для всякой ЭВМ; без операционной системы ЭВМ становиться неодушевленным предметом.

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

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

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

Необходимо отметить то не всегда очевидное обстоятельство, что перечисленные слои технических и программных средств сложились в результате длительной (по масштабам информатики!) эволюции. Они приспособились друг к другу и взаимодействуют так же, как живые организмы в земной биосфере. Если не учитывать вероятность «технологических революций» (отказ от фон-неймановских машин, например), то основные направления развития информационных технологий следует ожидать в «диффузии» процессов обработки информации между различными слоями (аппаратурный, программный, информационный) и подслоями программного слоя (операционная система, СУБД и пр.).


Дата добавления: 2018-02-15; просмотров: 815;