Понятие и основные виды операционных систем

2



МИНИСТЕРСТВО СЕЛЬСКОГО ХОЗЯЙСТВА

РОССИЙСКОЙ ФЕДЕРАЦИИ



Воронежский государственный аграрный университет им. К.Д. Глинки



Кафедра информационного обеспечения и моделирования агроэкономических систем













Курсовой проект по теме:



«Понятие и основные виды операционных систем»



























г. Воронеж – 2007 г.


Оглавление



	Введение

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

	1.1 Классификация операционных систем

	1.2 Свойства операционной системы

	1.3 Состав операционной системы и назначение компонент

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

	2. Обзор современных операционных систем

	2.1 Операционная система Windows 95, 98

	2.2 Операционная система Windows NT, 2000

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

	Выводы и предложения 

	Список использованной литературы






Введение



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

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






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



1.1 Классификация операционных систем



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

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

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

По режиму обработки задач различают ОС, обеспечивающие однопрограммный и мультипрограммный (мультизадачный) режимы. К однопрограммным ОС относится, например, всем известная, хотя нынче уже практически и не используемая MS DOS. Под мультипрограммированием понимается способ организации вычислений, когда на однопроцессорной вычислительной системе создается видимость одновременного выполнения нескольких программ. Любая задержка в решении программы (например, для осуществления операций ввода-вывода данных) используется для выполнения других (таких же либо менее важных) программ. Иногда при этом говорят о мультизадачном режиме, причем, вообще говоря, термины «мультипрограммный режим» и «мультизадачный режим» – это не синонимы, хотя и близкие понятия. Основное принципиальное отличие этих терминов заключается в том, что мультипрограммный режим обеспечивает параллельное выполнение нескольких приложений, и при этом программисты, создающие эти программы, не должны заботиться о механизмах организации их параллельной работы (эти функции берет на себя сама ОС; именно она распределяет между выполняющимися приложениями ресурсы вычислительной системы, осуществляет необходимую синхронизацию вычислений и взаимодействие). Мультизадачный режим, наоборот, предполагает, что забота о параллельном выполнении и взаимодействии приложений ложится как раз на прикладных программистов. Хотя в современной технической и тем более научно-популярной литературе об этом различии часто забывают и тем самым вносят некоторую путаницу. Можно, однако, заметить, что современные ОС для персональных компьютеров реализуют и мультипрограммный, и мультизадачный режимы.

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

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

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

По основному архитектурному принципу операционные системы разделяются на микроядерные и макроядерные (монолитные). В некоторой степени это разделение тоже условно, однако можно в качестве яркого примера микроядерной ОС привести ОСРВ QNX, тогда как в качестве монолитной можно назвать Windows 95/98 или ОС Linux. Если ядро ОС Windows мы не можем изменить, нам недоступны его исходные коды и у нас нет программы для сборки (компиляции) этого ядра, то в случае с Linux мы можем сами собрать то ядро, которое нам необходимо, включив в него те программные модули и драйверы, которые мы считаем целесообразным включить именно в ядро (ведь к ним можно обращаться и из ядра).



1.2 Свойства операционной системы



Свойства операционной системы, прежде всего, вытекают из требований предъявляемых к ним, таких как:

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

	Защита программ и данных. Операционная система должна защищать выполняемые программы и данные от взаимного влияния их друг на друга.

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

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

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

Гибкость. ОС должна позволять увеличивать или уменьшать используемые аппаратные ресурсы для того, чтобы улучшать эффективность и скорость работы программ.

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

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




1.3 Состав операционной системы и назначение компонент



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

Большинство ОС состоит из следующих основных модулей: базовая система ввода-вывода (BIOS – Basic Input Output System); загрузчик операционной системы (Boot Record); ядро ОС; драйверы устройств; командный процессор; внешние команды (файлы).

Базовая система ввода-вывода (BIOS) – это набор микропрограмм, реализующих основные низкоуровневые (элементарные) операции ввода-вывода. Они хранятся в ПЗУ компьютера и записываются туда при изготовлении материнской платы. Данная система, по сути, «встроена» в компьютер и является одновременно его аппаратной частью и частью операционной системы.

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

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

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

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

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

– файловая система (отвечает за размещение информации на устройствах хранения);

– система управления памятью (размещает программы в памяти);

– система управления программами (осуществляет запуск и выполнение программ);

– система связи с драйверами устройств (отвечает за взаимодействие с внешними устройствами);

– система обработки ошибок;

– служба времени (предоставляет всем программам информацию о системном времени).

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

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

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

Командный процессор – это программа, функции которой заключаются в следующем:

– прием и синтаксический разбор команд, полученных с клавиатуры или из командного файла;

– исполнение внутренних команд операционной системы;

– загрузка и исполнение внешних команд (реализованных в виде самостоятельных программ) операционной системы и прикладных программ пользователя (файлы с расширением СОМ, ЕХЕ или ВАТ).

Некоторые стандартные команды (TYPE, DIR и другие) командный процессор выполняет сам. Такие команды называются внутренними (как правило, это основные команды работы с файлами и каталогами). Для выполнения внешних команд пользователя командный процессор ищет на дисках программу с соответствующим именем и расширением СОМ, ЕХЕ (например, FORMAT.COM), и если находит ее, то загружает в память и передает ей управление. По окончании работы программы командный процессор удаляет ее из памяти. Таким образом, внешние команды ОС – это программы, поставляемые вместе с операционной системой в виде отдельных файлов.

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



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



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

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

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

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

В первом физическом секторе жесткого диска располагается главная загрузочная запись (master boot record, MBR) и таблица разделов диска. MBR при загрузке с жесткого диска считывает и загружает в память первый физический сектор на активном разделе диска, называемый загрузочным сектором (boot sector). Каждая запись в таблице разделов (partition table) содержит начальную позицию и размер каждого раздела на жестком диске, а также информацию о том, первый сектор какого раздела содержит загрузочную запись.

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

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

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

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

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

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

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

Процедура записи файла имеет другой алгоритм. Получив содержимое файла, ОС делит его на порции, равные размеру кластера области данных, и определяет их количество. Обратившись в 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 (Virtual FAT), впервые реализованная в Windows NT 3.5 и Windows 95 (DOS 7.0), – это видоизмененная система FAT, дополненная поддержкой длинных имен файлов (Long File Name, LFN) в кодировке UNICODE (каждый символ имени кодируется 2 байтами). Схема распределения дискового пространства осталась той же, что и в FAT, но ограничения, устанавливаемые соглашениями по именам файлов, изменились:

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

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

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

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

Короткое имя генерируется файловой системой автоматически в формате 8.3. Для создания коротких имен (псевдонимов) файлов используется следующий алгоритм:

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

– строка, расположенная перед точкой, обрезается до 6 символов, и в ее конец добавляется «~1», строка, следующая за точкой, обрезается до 3 символов;

– оставшиеся буквы преобразовываются в прописные; если сгенерированное имя совпадает с уже существующим, увеличивается число в приставке «~1».

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

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

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

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

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

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

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

HPFS. Эта система (High Performance File System, высокопроизводительная файловая система) была представлена фирмой IBM в 1989 г. вместе с операционной системой OS/2 версии 1.20. По производительности она существенно превосходит FAT и позволяет использовать жесткие диски объемом до 2 Терабайт. Кроме того, она поддерживает разделы диска размером до 512 Гб и позволяет использовать имена файлов длиной до 255 символов (на каждый символ при этом отводится 2 байта). В HPFS по сравнению с FAT заметно уменьшено время доступа к файлам в больших каталогах.

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

Для нумерации единиц распределения дискового пространства HPFS использует 32 разряда, что дает 232, или (учитывая знак числа) более 2 млрд блоков. Помимо стандартных, HPFS поддерживает расширенные атрибуты файла (Extended Attributes, EA), которые могут содержать до 64 Кб различных дополнительных сведений о нем.

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

Для обнаружения свободных секторов используется блок битовых карт (bitmap block list). Он похож на таблицу размещения файлов FAT. Каждому сектору группы соответствует один бит в ее битовой карте, показывающий, занят ли он. Резервный блок (directory emergency free block list) обеспечивает высокую отказоустойчивость HPFS и позволяет восстанавливать поврежденные данные на диске. Расположение группы каталогов в центре диска значительно сокращает время позиционирования головок чтения / записи.

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

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

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

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

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

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

NTFS также поддерживает файл плохих кластеров (bad cluster file) для регистрации поврежденных участков на томе и файл тома (volume file), содержащий имя тома, версию NTFS и бит, который устанавливается при повреждении тома. Наконец, имеется файл, содержащий таблицу определения атрибутов (attribute definition table), которая задает типы атрибутов, поддерживаемые на томе, и указывает, можно ли их индексировать, восстанавливать операцией восстановления системы и т.д.

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 (CD File System) была разработана для хранении информации на компакт-дисках. Это довольно простая система, и она имеет ряд существенных ограничений. Например, длина имени файла не может превышать 128 символов, нельзя использовать глубоко вложенные каталоги (более 8 уровней) и т.д. Поэтому сейчас все большее распространение при записи информации на CD и DVD-диски получает формат UDF (Universal Disk Format), который является надмножеством формата CDFS. Это вполне современный стандарт файловой системы, поддерживаемый Ассоциацией технологий оптической долговременной памяти (OSTA). По некоторым характеристикам UDF вполне сопоставим с форматами файловых систем, используемых на жестких дисках. Поддерживаемый размер имени файла увеличен до 256 символов, добавлена возможность загрузки ОС. В состав Windows 2000 включена поддержка UDF vl.5, в то время как Windows 98 ограничивается UDF vl.02, причем драйвер UDF позволяет производить только операции чтения.

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

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

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

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

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

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

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

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

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

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






2. Обзор современных операционных систем



2.1 Операционная система Windows 95, 98



В настоящее время, на более чем 90% персональных компьютеров во всем мире установлена одна из версий операционной системы Windows. Несмотря на очевидный успех как на корпоративном рынке, так и на рынке ОС для домашних компьютеров, Windows постоянно подвергается критике со стороны конечных пользователей и системных администраторов. Ранние версии Windows обладали совместимостью на уровне программ с MS DOS, и даже работали поверх DOS (вначале загружалась MS DOS, а затем запускалась Windows в качестве ее графической оболочки). В условиях доминирования DOS на рубеже 90-х годов возможность выполнять популярные у пользователей приложения в ожидании появления их Windows-версий была единственным средством выживания новой операционной системы, даже в ущерб ее надежности. Кроме того, успеху Windows способствовала удачная маркетинговая политика. Microsoft предоставляла лицензии на нее производителям компьютеров в массовом порядке; требования, которым должна была удовлетворять их продукция для получения лицензии, были весьма скромными. Поэтому производители аппаратуры с самого начала пытались сделать свою продукцию Windows-совместимой, благодаря чему и появилось огромное количество совместимых с Windows устройств.

С появлением Windows 95 (первой 32-разрядной версии Windows) основные недостатки данной ОС были либо устранены, либо потеряли былую остроту. Хотя Windows по-прежнему базировалась на DOS, количество используемых ею DOS-приложений было уже не столь велико. С выходом в начале 1998 г. версии Windows 98 стала очевидно, что Microsoft одержала полную победу над конкурентами. Можно отметить следующие принципиальные преимущества Windows 95–98 (сокращенно все эти версии обозначаются Windows 9x):

– она представляет собой законченную многозадачную операционную систему с графическим интерфейсом (а не графическую оболочку для MS-DOS, как предшествующие версии Windows); после установки она берет на себя все функции управления ПК, и имеет множество разнообразных драйверов, программных утилит и приложений;

– использует кооперативную многозадачность;

– поддерживает 32-разрядные приложения, то есть задействует весь набор команд 32-разрядных микропроцессоров Intel (разумеется, если такие команды имеются в приложениях). Это существенно повышает скорость работы компьютера. В то же время в Windows 9x частично использованы и 16-разрядные команды (в целях совместимости с прежними версиями Windows);

– при достаточном объеме ОЗУ система обеспечивает повышение скорости выполнения приложений примерно на 25–30%; заметно быстрее стала работа с дисками, а скорость печати увеличена почти вдвое;

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

– реализован режим Plug and Play (подключай и работай) – система в штатном режиме автоматически распознает новые периферийные устройства и сама устанавливает все необходимые драйверы;

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

– расширены средства связи и реализованы удобные решения для небольших локальных сетей;

– наряду с FAT16 введена поддержка файловой системы FAT32, позволяющей присваивать файлам длинные имена (до 255 символов);

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



2.2 Операционная система Windows NT, 2000



Операционная система Windows NT появилась осенью 1996 года. Целью компании Microsoft было завоевание не только рынка операционных систем для конечных пользователей, но и части рынка серверных операционных систем, на котором доминировали Novell, Sun и производители коммерческих версий UNIX. Windows NT, как первая полностью 32-разрядная операционная система семейства Windows, стала первым шагом в этом направлении. Она существовала в двух редакциях – Server и Workstation.

Широкую популярность она завоевала при построении корпоративных систем, для которых требовалась высокая надежность и средства защиты данных. При использовании традиционного для небольших корпоративных сетей набора деловых приложений (офисные приложения, корпоративная информационная система и др.) в условиях, когда обновление аппаратной части и подключение новых устройств производится редко, Windows NT Workstation была наилучшим выбором.

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

Операционная система Windows 2000 стала очередным шагом в эволюции Windows NT. Эта ОС, существующая в виде четырех различных версий (Professional, Server, Advanced Server, Datacenter Server), сочетала в себе надежность Windows NT с гибкостью, присущей системам семейства Windows 9x, и позиционировалась как операционная система для корпоративных пользователей.

Обладающая меньшей поддержкой «развлекательных» и «бытовых» средств, нежели Windows Me, она оказалась наилучшим выбором для многих компаний и домашних пользователей благодаря своей надежности, высокой производительности (достигнутой за счет изменений в системе управления памятью), средствам защиты файлов от удаления, удобным средствам настройки сетевого доступа. В Windows 2000 была обеспечена полная поддержка ноутбуков, ставших к тому времени весьма популярным типом компьютеров для корпоративных пользователей (в частности, обеспечивается контроль питания и электроснабжения для устройств, поддерживающих интерфейс ACPI – Advanced Configuration and Power Interface).

Следует, однако, сказать, что аппаратные требования этой операционной системы были для того времени довольно высоки – Windows 2000 Professional требовала как минимум процессора Pentium 133 и 64 Мбайт оперативной памяти, жесткий диск объемом 2 Гбайт и 1 Гбайт дополнительного свободного пространства. Кроме того, аппаратное обеспечение компьютера должно быть полностью совместимо с данной системой.

Так же как и Windows NT, эта версия ОС использует приоритетную многозадачность, поддерживает файловые системы FAT16, FAT32 и NTFS.



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



После очевидного успеха Windows 2000 на корпоративном рынке и выпуска Windows Me для рынка домашних пользователей довольно быстрый выход новой операционной системы для тех же самых сегментов рынка оказался несколько неожиданным. Система Windows XP, существующая в двух редакциях (Home Edition для домашних пользователей и Professional для корпоративных) – это универсальный продукт, сочетающий достоинства обеих ее предшественниц: надежность Windows 2000 и гибкость Windows Me.

Общим для обеих редакций является поддержка мультимедиа, игр и иных развлекательных средств; вместе с тем Windows XP Professional обладает рядом дополнительных возможностей, необходимых корпоративным пользователям (в частности, связанных с безопасностью данных). Отметим, что эта операционная система поддерживает не все приложения, созданные для Windows 95/98, хотя в ее составе и есть средства эмуляции прежних версий Windows.

Помимо особенностей, которые были характерны еще для Windows Me, в Windows XP появились и некоторые новшества: возможность вернуться к предыдущей версии драйвера устройства без перезагрузки; инструмент Last Good Configuration, позволяющий вернуться к прежней конфигурации компьютера после неудачной установки нового устройства или программного обеспечения; возможность автоматического восстановления системы после ошибок пользователя при ее конфигурации; средства Remote Assistance, позволяющие удаленно управлять операционной системой (что существенно упрощает техническую поддержку удаленных пользователей для разработчиков приложений и системных интеграторов).

Эта версия ОС также использует приоритетную многозадачность, поддерживает файловые системы FAT16, FAT32 и NTFS.

Следует также отметить более быструю загрузку Windows XP no сравнению с предшествующими версиями, полную изоляцию приложений друг от друга, встроенные средства записи CD, поддержку воспроизведения DVD с помощью MediaPlayer, средства оцифровки звука, поддержку игр и соответствующего оборудования, ряд улучшений в пользовательском интерфейсе, поддержку одновременной работы нескольких пользователей.






Выводы и предложения



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

Однако не все задумываются над тем, что персональный компьютер – это не просто механическое сочетание отдельных, пусть даже и высокопроизводительных компонентов. Для того, чтобы стать универсальным прибором, в котором все узлы работают гармонично, дополняют и поддерживают друг друга, должны быть строго согласованы аппаратные интерфейсы его устройств и методы программного управления ими. А стандартизация интерфейсов и протоколов не может происходить так быстро, как развитие аппаратной базы. Стандарты хороши только тогда, когда они общепризнанны, и когда всем участникам рынка выгодно их соблюдать. Поэтому стандарты «живут» долго. Производители компьютерных устройств не станут менять производство ради поддержки стандарта, который отомрет через полтора года. Средняя жизнь стандартов и протоколов составляет 5–7 лет, а некоторые интерфейсы существуют и по 15–20 лет без существенных изменений (вспомним хотя бы дисковод гибких дисков и клавиатуру).

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

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

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

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






Список использованной литературы



		Гордеев А.В. Операционные системы: Учебник для вузов. 2-е изд. – СПб.: Питер, 2005. – 416 с.

		Евсеев Г.А., Симонович С.В. WINDOWS 98: Полный справочник в вопросах и ответах. – М.: АСТ-ПРСС КНИГА: Инфорком-Пресс, 2001. – 496 с.

		Информатика: учебник. Курносов А.П., Кулев С.А., Улезько А.В. и др.; Под ред. А.П. Курносова. – М.: КолосС, 2005. – 272 с.

		Информатика. Базовый курс / Симонович С.В. и др. – СПб: Питер, 2001. – 640 с.

		Информатика: учебник. – 3-е перераб. изд. / Под ред. Н.В. Макаровой. – М.: Финансы и статистика, 2002. – 768 с.