Контрольная работа по дисциплине «Операционные системы» на тему: «Создание загрузочной дискеты для Windows nt и сравнение ос windows 98 и Windows xp»

Вид материалаКонтрольная работа
Особенности файловой системы
Операционная система Windows XP
Распределение оперативной памяти
Подобный материал:
1   2   3

Особенности файловой системы


Основной файловой системой для Windows 98 является FAT32. Эта файловая система является расширением файловой системы FAT.

Файловая система FAT (File Allocation Table — таблица размещения файлов) получила свое название благодаря простой таблице, в которой указываются:
  • непосредственно адресуемые участки логического диска, отведенные для размещения в них файлов или их фрагментов;
  • свободные области дискового пространства;
  • дефектные области диска (эти области содержат дефектные участки и не гарантируют чтение и запись данных без ошибок).

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





















BR




RSec



FAT1




FAT2




RDir




Каталоги и файлы





















Системная область




Область данных










Системная область логического диска создается и инициализируется при форматировании, а в последующем обновляется при работе с файловой структурой. Область данных логического диска содержит обычные файлы и файлы-каталоги; эти объекты образуют иерархию, подчиненную корневому каталогу. Элемент каталога описывает файловый объект, который может быть либо обычным файлом, либо файлом-каталогом. Область данных, в отличие от системной области, доступна через пользовательский интерфейс операционной системы. Системная область состоит из следующих компонентов (расположенных в логическом адресном про­странстве друг за другом):
  • загрузочной записи (Boot Record, BR);
  • зарезервированных секторов (Reserved Sectors, ResSec);
  • таблицы размещения файлов (File Allocation Table, FAT);
  • корневого каталога (Root Directory, RDir).

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

Каждый файл занимает целое число кластеров. На дискетах кластер зани­мает один или два сектора, а на жестких дисках его размер зависит от объема раз­дела. В таблице FAT кластеры, принадлежащие одному файлу (или файлу-каталогу), связываются в цепочки. Для указания номера кластера в файло­вой системе FAT32 используется 32-разрядное слово, в котором учитываются фактически только 28 разрядов, следовательно, можно иметь до 228 = 268435456 кластеров (с номерами от 0 до 268435455). Номера кластеров соответствуют элементам таблицы размещения файлов.

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

Однако слишком большой размер кластера ведет к неэффективному использованию области данных, особенно в случае большого количества маленьких файлов. В среднем на каждый файл теряется около половины кластера. Следовательно, что при размере кластера в 32 сектора, то есть 16 Кбайт, средняя величина потерь на файл равняется 8 Кбайт, и при 20000 файлов потери могут со­ставлять около 155 Мбайт.

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

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


Структура загрузочной записи для FAT32:

Смещение поля, байт

Длина поля, байт

Обозначение

поля

Содержимое поля

00h (0)

3

JUMP 3EH

Безусловный переход в начало системного загрузчика

03h (3)

8




Системный идентификатор

0Bh (11)

2

SelectSize

Размер сектора, байт

0Dh (13)

1

ClastSize

Число секторов в кластере

0Eh (14)

2

ResSecs

Число зарезервированных секторов, для FAT32 равно 32

10h (16)

1

FATcnt

Число копий FAT

11h (17)

2

RootSize

0000h

13h (19)

2

TotSecs

0000h

15h (21)

1

Media

Дескриптор носителя

16h (22)

2

FATsize

0000h

18h (24)

2

TrkSecs

Число секторов на дорожке

1Ah (26)

2

HeadCnt

Число рабочих поверхностей

1Ch (28)

4

HidnSecs

Число скрытых секторов (располагаются

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

20h (32)

4




Число секторов на логическом диске

24h (36)

4




Число секторов в таблице FAT

28h (37)

2




Расширенные флаги

2Ah (38)

2




Версия файловой системы

2Ch (39)

4




Номер кластера для первого кластера корневого каталога

34h (43)

2




Номер сектора с резервной копией загрузочного сектора

36h (54)

12




Зарезервировано


Загрузочная запись для диска с FAT32 занимает три сектора. Резервная загрузочная запись располагается, как правило, в секторах 7-9.

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


Основные особенности


ОС Windows XP построена по микроядерной технологии. Это значит, что управляющие модули организованы с четким выделением центральной части и и взаимодействием этой части с остальными по принципу клиент-сервер. В состав ядра включены только самые важные основообразующие управляющие процедуры, а остальные управляющие модули операционной системы вызываются из ядра как службы. Причем только часть служб использует процессор в привилегированном режиме (kernel mode), а остальные в пользовательском режиме (user mode), как и обычные приложения пользователей. Для обеспечения безопасности они располагаются в отдельном виртуальном адресном пространстве, к которому ни один модуль и ни одна прикладная программа, помимо системного кода, не может иметь доступа.

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

Помимо собственно ядра в привилегированном режиме работают:
  • модуль HAL (уровень абстракции аппаратных средств);
  • низкоуровневые драйверы устройств;
  • исполняющая система Windows XP (называемая Win32 Executive);
  • модули графического интерфейса устройств и диспетчер окон.

Исполняющая система является одним из важнейших компонентов ОС Windows XP. Она состоит из следующих компонентов:
  • диспетчер процессов;
  • диспетчер виртуальной памяти;
  • диспетчер объектов;
  • монитор безопасности;
  • диспетчер ввода-вывода;
  • средства вызова локальных процедур.

Диспетчеризация в ОС Windows XP организована почти так же, как и в ОС Windows 98. 16-разрядные приложения Windows, работая на одной виртуальной машине, разделяют процессорное время кооперативно. 32-разрядные потоки разделяют процессорное время, вытесняя друг друга через некоторые моменты времени.

При разработке ОС Windows XP компания Microsoft уделила пристальное внимание обеспечению информационной безопасности. Средства защиты изначально глубоко интегрированы в ОС. Подсистема безопасности осуществляет контроль за тем, кто и какие действия совершает в процессе работы, к каким объектам пытается получить доступ. Все действия пользователя могут быть совершены только через соответствующие запросы к операционной системе, которые в Windows XP находятся под тотальным контролем. Запрашиваемые у ОС операции и обращения к конкретным объектам разрешаются только если у пользователя для этого имеются необходимые права и/или разрешения. Права определяют уровень полномочий конкретного пользователя при работе в системе. Разрешения применяют по отношению к конкретным объектам, таким как файлы, каталоги, принтеры и др. Следует заметить, что права имеют преимущества перед разрешениями.

Доступ к каким-либо объектам Windows XP можно получить только после прохождения аутентификации и авторизации. Для того, чтобы иметь право работать на компьютере, пользователю необходимо иметь учетную запись (account). Каждая учетная запись хранится в базе данных, представленной файлом sam, и имеет специальный системный идентификатор (SID). При регистрации (logon) пользователь получает маркер доступа. Именно этот маркер сопровождает любой запрос на доступ к каким-либо объектам со стороны пользователя.


Распределение оперативной памяти


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

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

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

4 Гбайт

Код ядра (работает в кольце защиты 0)







2 Гбайт

32-разрядные библиотеки DLL клиентской стороны





Прикладные программы обращаются к библиотекам DLL, которые перенаправляют обращения к системе




32-разрядные прикладные программы (у каждой программы собственное виртуальное пространство памяти) 16-разрядные виртуальные машины

Процесс системного сервера

Этот системный код находится в собственном адресном пространстве и недоступен вызывающим его процессам

64 Кбайт










Прикладным программам выделяется 2 Гбайт локального (собственного) линей­ного (неструктурированного) адресного пространства от границы 64 Кбайт до 2 Гбайт (первые 64 Кбайт полностью недоступны). Прикладные программы изо­лированы друг от друга, хотя могут общаться через буфер обмена (clipboard), ме­ханизмы DDE (Dynamic Data Exchange — динамический обмен данными) и OLE (Object Linking and Embedding — связывание и внедрение объектов).

В верхней части каждой области прикладной программы размером по 2 Гбайт раз­мещен код системных библиотек DLL кольца защиты 3, который перенаправляет вызовы в совершенно изолированное адресное пространство, где содержится уже собственно системный код. Этот системный код, выступающий как серверный процесс (server process), проверяет значения параметров, исполняет запрошенную функцию и пересылает результаты назад в адресное пространство прикладной программы. Хотя серверный процесс сам по себе остается процессом прикладного уровня, он полностью защищен от вызывающей его прикладной программы и изолирован от нее.

Между отметками 2 и 4 Гбайт расположены низкоуровневые системные компо­ненты Windows XP кольца защиты 0, в том числе ядро, планировщик потоков и дис­петчер виртуальной памяти. Системные страницы в этой области наделены при­вилегиями супервизора, которые задаются физическими схемами колец защиты процессора. Это делает низкоуровневый системный код невидимым и недоступ­ным по записи для программ прикладного уровня, но приводит к падению произ­водительности из-за переходов между кольцами.

Для 16-разрядных прикладных Windows-программ ОС Windows XP реализует сеансы Windows on Windows (WOW). В отличие от Windows 98, система Windows XP дает возможность выполнять 16-разрядные Win­dows-программы индивидуально в собственных пространствах памяти или совмест­но в разделяемом адресном пространстве. Почти во всех случаях 16- и 32-разрядные прикладные Windows-программы могут свободно взаимодействовать, используя механизм OLE, независимо от того, выполняются они в отдельной или общей па­мяти. Собственные прикладные программы и сеансы WOW выполняются в режи­ме вытесняющей многозадачности, основанной на управлении отдельными пото­ками. Несколько 16-разрядных прикладных Windows-программ в одном сеансе WOW выполняются в соответствии с кооперативной моделью многозадачности. Windows XP может также открыть в многозадачном режиме несколько сеансов DOS. Поскольку Windows XP имеет полностью 32-разрядную архитектуру, не су­ществует теоретических ограничений на ресурсы компонентов GDI и User.

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

Процессами выделения памяти, ее резервирования, освобождения и замещения страниц управляет диспетчер виртуальной памяти (Virtual Memory Manager, VMM) Windows XP. В своей работе этот компонент реализует сложную страте­гию учета требований к коду и данным процесса для минимизации обращений к диску, поскольку реализация виртуальной памяти часто приводит к большому количеству дисковых операций. Для взаимодействия между выполняющимися приложениями и между приложениями и кодом самой операционной системы используются соответствующие механизмы защиты памяти, поддерживаемые аппаратурой микропроцессора.

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

Диспетчер виртуальной памяти может быстро и относительно легко удовлетво­рить программные прерывания типа страничной ошибки (page fault). Что касается аппаратных прерываний типа страничной ошибки, то они приводят к необходи­мости подкачки нужных страниц (paging), что снижает производительность систе­мы. К сожалению, в Windows XP для замещения страниц выбрана дисциплина FIFO, а не более эффективная дис­циплина LRU или LFU, как это сделано в других операционных системах.

Когда процесс использует код или данные, находящиеся в физической памяти, система резервирует место для этой страницы в файле подкачки Pagefile.sys на диске. Это делается с расчетом на то, что данные потребуется выгрузить на диск. Файл Pagefile.sys представляет собой зарезервированный блок дискового пространства, который используется для выгрузки страниц, помеченных как «грязные», для ос­вобождения физической памяти. Этот файл может быть как непре­рывным, так и фрагментированным; он может быть расположен на системном дис­ке или на любом другом и даже на нескольких дисках. Размер этого страничного файла ограничивает объем данных, которые могут храниться во внешней памяти при использовании механизмов виртуальной памяти. В ОС Win­dows ХР начальный размер страничного файла подкачки берется равным полуторакратному объему физической оперативной памяти. То есть, например, для компьютера, имеющего 512 Мбайт оперативной памяти, по умолчанию раз­мер файла Pagefile.sys равен 768 Мбайт. Проблема нехватки виртуальной памяти часто может быть решена за счет увеличения размера файла подкачки. Файл под­качки может быть не один — система поддерживает до 16 файлов подкачки, поэто­му лучше создать их несколько и разместить на быстрых жестких дисках.