Контрольная работа по дисциплине «Операционные системы» на тему: «Создание загрузочной дискеты для Windows nt и сравнение ос windows 98 и Windows xp»
Вид материала | Контрольная работа |
Особенности файловой системы Операционная система Windows XP Распределение оперативной памяти |
- Операционные системы Windows и их архитектура, 278.87kb.
- Курсовая работа по дисциплине Операционные системы Тема "Эмуляция командного процессора, 297.16kb.
- А. С. Цветков «Операционные системы», 22.3kb.
- Обзор архитектуры Windows X, Windows 95, os/2 Warp, Windows, 132.71kb.
- Программы серии «эколог» по оценке загрязнения воздушного бассейна, 1181.63kb.
- Лекция: Азы системы Windows, 228.87kb.
- На сегодня в большинстве организаций в качестве операционных систем для рабочих станций, 298.56kb.
- Пошаговое руководство по использованию служб развертывания операционной системы Windows, 625.55kb.
- Общая характеристика операционных систем современных пвэм, 224.37kb.
- Учебное пособие на тему: «windows xp, файловые системы и оптимизация работы», 29.32kb.
Особенности файловой системы
Основной файловой системой для 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-разрядные Windows-программы индивидуально в собственных пространствах памяти или совместно в разделяемом адресном пространстве. Почти во всех случаях 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 представляет собой зарезервированный блок дискового пространства, который используется для выгрузки страниц, помеченных как «грязные», для освобождения физической памяти. Этот файл может быть как непрерывным, так и фрагментированным; он может быть расположен на системном диске или на любом другом и даже на нескольких дисках. Размер этого страничного файла ограничивает объем данных, которые могут храниться во внешней памяти при использовании механизмов виртуальной памяти. В ОС Windows ХР начальный размер страничного файла подкачки берется равным полуторакратному объему физической оперативной памяти. То есть, например, для компьютера, имеющего 512 Мбайт оперативной памяти, по умолчанию размер файла Pagefile.sys равен 768 Мбайт. Проблема нехватки виртуальной памяти часто может быть решена за счет увеличения размера файла подкачки. Файл подкачки может быть не один — система поддерживает до 16 файлов подкачки, поэтому лучше создать их несколько и разместить на быстрых жестких дисках.