Автор работы: Пользователь скрыл имя, 28 Февраля 2014 в 18:21, контрольная работа
На свойства операционной системы непосредственное влияние оказывают аппаратные средства, на которые она ориентирована. По типу аппаратуры различают операционные системы персональных компьютеров, мини-компьютеров, мейнфреймов, кластеров и сетей ЭВМ. Среди перечисленных типов компьютеров могут встречаться как однопроцессорные варианты, так и многопроцессорные. В любом случае специфика аппаратных средств, как правило, отражается на специфике операционных систем.
1. Классификация операционных систем по особенностям аппаратных платформ ……………………………………………………………………………3
2. Управление ресурсами в автономных однопроцессорных компьютерах 5
3. Процессы и потоки в Windows 2000/XP. Основные понятия 25
4. Файловая система типа NTFS 28
Список использованной литературы 31
Большое число уровней архитектуры файловой системы обеспечивает авторам драйверов устройств большую гибкость: драйвер может получить управление на любом этапе выполнения запроса – от вызова приложением функции, которая занимается работой с файлами, до того момента, когда работающий на самом низком уровне драйвер устройства начинает просматривать регистры контроллера. Многоуровневый механизм работы файловой системы реализован посредством цепочек вызова устройств. В ходе инициализации драйвер устройства может добавить себя к цепочке вызова некоторого устройства, определив при этом уровень последующего обращения. Подсистема ввода-вывода помещает адрес целевой функции в цепочку вызова устройства, используя заданный уровень для того, чтобы должным образом упорядочить цепочку. По мере выполнения запроса, подсистема ввода-вывода последовательно вызывает все функции, ранее помещенные в цепочку вызова. Внесенная в цепочку вызова процедура драйвера может передать запрос дальше – в измененном или в неизмененном виде – на следующий уровень, или, если это возможно, процедура может удовлетворить запрос, не передавая его дальше по цепочке [4].
В операционной системе Windows 2000/XP поддерживаются традиционные процессы, способные общаться и синхронизироваться друг с другом так же, как это делают процессы в UNIX. Каждый процесс содержит по крайней мере один поток, содержащий, в свою очередь, как минимум одно волокно (облегченный поток). Более того, для управления определенными ресурсами процессы могут объединяться в задания. Все вместе – задания, процессы, потоки и волокна – образует общий набор инструментов для управления ресурсами и реализации параллелизма как на однопроцессорных, так и на многопроцессорных машинах.
Задание в Windows 2000/XP представляет собой набор, состоящий из одного или нескольких процессов, управляемых как единое целое. В частности, с каждым заданием ассоциированы квоты и лимиты ресурсов, хранящиеся в соответствующем объекте задания. Квоты включают такие пункты, как максимальное количество процессов (не позволяющее процессам задания создавать бесконтрольное количество дочерних процессов), суммарное время центрального процессора, доступное для каждого процесса в отдельности и для всех процессов вместе, а также максимальное количество используемой памяти для процесса и для всего задания. Задания также могут ограничивать свои процессы в вопросах безопасности, например, запрещать им получать права администратора (суперпользователя) даже при наличии правильного пароля.
Как и в системе UNIX, процессы представляют собой контейнеры для ресурсов. У каждого процесса есть 4-гигабайтное адресное пространство, в котором пользователь занимает нижние 2 Гбайт (в версиях Windows 2000/XP Advanced Server и Datacenter Server этот размер может быть по желанию увеличен до 3 Гбайт), а операционная система занимает остальную его часть. Таким образом, операционная система присутствует в адресном пространстве каждого процесса, хотя она и защищена от изменений с помощью аппаратного блока управления памятью MMU. У процесса есть идентификатор процесса, один или несколько потоков, список дескрипторов (управляемых в режиме ядра) и маркер доступа, хранящий информацию защиты. Процессы создаются с помощью вызова Win32, который принимает на входе имя исполняемого файла, определяющего начальное содержимое адресного пространства, и создает первый поток.
Каждый процесс начинается с одного потока, но новые потоки могут создаваться динамически. Потоки формируют основу планирования центрального процессора, так как операционная система всегда для запуска выбирает поток, а не процесс. Соответственно, у каждого потока есть состояние (готовый, работающий, блокированный и т. д.), тогда как у процессов состояний нет. Потоки могут динамически создаваться вызовом Win32, которому в адресном пространстве процесса задается адрес начала исполнения. У каждого потока есть идентификатор потока, выбираемый из того же пространства, что и идентификаторы процессов, поэтому один и тот же идентификатор никогда не будет использован одновременно для процесса и для потока. Идентификаторы процессов и потоков кратны четырем, поэтому они могут использоваться в роли байтовых индексов в таблицах ядра, как и другие объекты.
Как правило, поток работает в пользовательском режиме, но когда он обращается к системному вызову, то переключается в режим ядра, после чего продолжает выполнять тот же поток, с теми же свойствами и ограничениями, которые были у него в режиме пользователя. У каждого потока есть два стека – один используется в режиме ядра, а другой в режиме пользователя. Помимо состояния, идентификатора и двух стеков, у каждого потока есть контекст (в котором сохраняются его регистры, когда он не работает), приватная область для локальных переменных, а также может быть свой собственный маркер доступа. Если у потока есть свой маркер доступа, то он перекрывает маркер доступа процесса, чтобы клиентские потоки могли передать свои права доступа серверным потокам, выполняющим работу для них. Когда поток завершает свою работу, он может прекратить свое существование. Когда прекращает существование последний активный поток, процесс завершается [4].
Важно понимать, что потоки представляют собой концепцию планирования, а не концепцию владения ресурсами. Любой поток может получить доступ ко всем объектам его процесса. Все, что ему для этого нужно сделать, – это заполучить дескриптор и обратиться к соответствующему вызову Win32. Для потока нет никаких ограничений доступа к объекту, связанных с тем, что этот объект создан или открыт другим потоком. Система даже не следит за тем, какой объект каким потоком создан. Как только дескриптор объекта помещен в таблицу дескрипторов процесса, любой поток процесса может его использовать.
Помимо нормальных потоков, работающих в процессах пользователя, в операционной системе Windows 2000/XP есть множество процессов-демонов, не связанных ни с каким пользовательским процессом (они ассоциированы со специальной системой или простаивающими процессами). Некоторые демоны выполняют административные задачи, как, например, запись «грязных» (модифицированных) страниц на диск, тогда как другие формируют пул, и ими могут пользоваться компоненты исполняющей системы или драйверы, которым нужно выполнить какие-либо асинхронные задачи в фоновом режиме. Переключение потоков в операционной системе Windows 2000/XP занимает довольно много времени, так как для этого необходимо переключение в режим ядра, а затем возврат в режим пользователя. Для предоставления сильно облегченного псевдопараллелизма в Windows 2000/XP используются волокна, подобные потокам, но планируемые в пространстве пользователя создавшей их программой (или ее системой поддержки исполнения). У каждого потока может быть несколько волокон, так же как у процесса может быть несколько потоков, с той разницей, что когда волокно логически блокируется, оно помещается в очередь блокированных волокон, после чего для работы выбирается другое волокно в контексте того же потока. Операционная система не знает о смене волокон, так как все тот же поток продолжает работу. Так как операционная система ничего не знает о волокнах, то с ними, в отличие от заданий, процессов и потоков, не связаны объекты исполняющей системы. Для управления волокнами нет и настоящих системных вызовов. Однако для этого есть вызовы Win32 API. Они относятся к тем вызовам Win32 API, которые не обращаются к системным вызовам.
Отметим, что операционная система Windows 2000/XP может работать на симметричных многопроцессорных системах. Это означает, что код операционной системы должен быть полностью реентерабельным, то есть каждая процедура должна быть написана таким образом, чтобы два или более центральных процессора могли поменять свои переменные без особых проблем. Во многих случаях это означает, что программные секции должны быть защищены при помощи спин-блокировки или мьютексов, удерживающих дополнительные центральные процессоры в режиме ожидания, пока первый центральный процессор не выполнит свою работу (при помощи последовательного доступа к критическим областям).
Верхний предел в 32 центральных процессора является жестким пределом, так как во многих местах операционной системы для учета использования центральных процессоров используются битовые массивы размером в 32-разрядное машинное слово. Например, один однословный битовый массив используется для того, чтобы следить, какой из центральных процессоров свободен в данный момент, а другой массив используется в каждом процессе для перечисления центральных процессоров, на которых этому процессу разрешено работать. 64-разрядная версия Windows 2000/XP должна будет без особых усилий поддерживать до 64 центральных процессоров. Для превышения этого ограничения потребуется существенная переделка программы (с использованием по нескольку слов для битовых массивов) [4].
Файловая система NTFS - одна из самых сложных и удачных из существующих на данный момент файловых систем.
NTFS заменила использовавшуюся в MS-DOS и Microsoft Windows файловую систему FAT. NTFS поддерживает систему метаданных и использует специализированные структуры данных для хранения информации о файлах для улучшения производительности, надёжности и эффективности использования дискового пространства. NTFS хранит информацию о файлах в главной файловой таблице -- Master File Table (MFT). NTFS имеет встроенные возможности разграничивать доступ к данным для различных пользователей и групп пользователей (списки контроля доступа -- Access Control Lists (ACL)), а также назначать квоты (ограничения на максимальный объём дискового пространства, занимаемый теми или иными пользователями). NTFS использует систему журналирования для повышения надёжности файловой системы.
NTFS разработана на основе
Раздел NTFS, теоретически, может быть почти какого угодно размера. Практически, максимальный размер раздела NTFS в данный момент ограничен лишь размерами жестких дисков. NT4, правда, попытка установки на раздел будет несколько проблематична, если хоть какая-нибудь его часть отступает более чем на 8 Гб от физического начала диска, но эта проблема касается, только загрузочного раздела.
Структура NTFS довольно проста. Каждый распределенный на томе сектор принадлежит некоторому файлу, даже метаданные - информация, описывающая саму файловую систему. NTFS основана на атрибутах и обрабатывает все файлы как объекты с набором атрибутов, определенных как системой, так и пользователем. Каждый файл на томе с NTFS представлен записью в главной файловой таблице (MFT -- Master File Table), аналоге FAT. Записи в MFT сортируются по алфавиту, что позволяет использовать двоичный поиск, существенно ускоряющий работу файловой системы. Для еще большей оптимизации диспетчером кэша используется алгоритм отложенной записи, когда данные не пишутся сразу на диск, а хранятся в памяти до тех пор, пока нагрузка на процессор не уменьшиться, а затем сбрасываются на диск фоновым процессом. Однако подобная практика чревата нехорошими последствиями в случае отказа питания. Журналирование не спасет пользовательских данных, хотя и обеспечит целостность структуры файловой системы [2].
Целью файловой системы NTFS является следующее:
- обеспечение надежности, имеющей большое значение для высокопроизводительных систем и файловых серверов;
- предоставление платформы дополнительной функциональности;
- поддержка требований POSIX;
- устранение ограничений, характерных для файловых систем FAT и HPFS.
Файловая система NFTS обладает следующими функциями:
1. Разреженные файлы. Это файлы, очень большие логически, но занимающие на диске только необходимый объем. Эта технология используется самой NT и СУБД (Системами Управления Базами Данных);
2. Журнал изменений. Служит для регистрации всех изменений файлов на томе. Используется службой каталогов Active Directory и службой индексирования. Находится в папке System Volume Informa-tion в корне диска.
3. Поддержка коротких имен. Это необходимо для совместимости с MS-DOS-программами. Каждый раз при создании файла NTFS делает дополнительную запись в MFT, содержащую короткий эквивалент имени.
4. Компрессия файлов и каталогов. NTFS обеспечивает динамическое, прозрачное для приложений сжатие файлов и каталогов на манер MS-DOS-утилит DriveSpace и Stack. Атрибут Сжатый можно установить как для всего тома, так и для отдельных файлов и каталогов. Сжатие возможно на разделах с кластером, не превышающим 4 Кб. Степень сжатия варьируется в зависимости от типа данных и максимальна для текстовых документов и файлов, созданных с помощью MS Office.
5. Многопоточные файлы. Один и тот же файл может содержать несколько именованных потоков, содержащих разную информацию, причем размер файла высчитывается согласно содержимому главного, безымянного потока. Ради шутки можно создать файл, занимающий все место на диске, но обладающий нулевой длиной с точки зрения ПО.
6. Жесткие связи. Для одного и того же файла можно создать несколько имен внутри тома. При этом мы не увеличиваем количество файлов, а лишь делаем своеобразный ярлык. Файл остается на диске до тех пор, пока не удалят последнюю жесткую связь на него. Эта и 2 последующие технологии давно используются в UNIX-системах.
7. Точки переопределения. Любой файл или каталог может быть точкой переопределения. Это способ представления имен системой ввода/вывода.
8. Переходы NTFS. Позволяют спроецировать каталог-адресат в другой подкаталог. Доступны только на NTFS 5.0 и 5.1.
9. Динамическое отслеживание ярлыков. Отслеживает перемещение файлов, на которые указывают ярлыки, соответственно изменяя ссылку на эти файлы в ярлыках. Работает только на локальных дисках с NTFS 5.0 и 5.1.
10. Управление избирательным доступом. С помощью таблиц управления доступом (Access Control List -- ACL) можно гибко разграничивать доступ к файлам и папкам. Можно работать как с отдельными пользователями, так и с группами, одновременно используя наследование прав доступа.
11. Аудит доступа. Данная функция обеспечивает запись в журнал аудита все действия пользователя или группы аудита, предпринятые к указанному файловому объекту.
Недостатки файловой системы NTFS:
• Из-за дополнительного расхода дискового пространства файловую систему NTFS не рекомендуется использовать с томами размером менее 400 МБ. Такой расход объясняется необходимостью хранения системных файлов NTFS.
• В настоящее время NTFS не имеет встроенного шифрования файлов. Следовательно, можно загрузить MS-DOS (или другую операционную систему) и воспользоваться низкоуровневой программой редактирования диска для просмотра хранящихся в томе NTFS данных.
• С помощью файловой системы NTFS нельзя форматировать дискеты. Windows NT форматирует дискеты с помощью FAT, так как объем служебной информации, необходимой для функционирования NTFS, не помещается на дискете.
• Имена файлов могут состоять не более чем из 255 символов, включая любое расширение. В именах сохраняется регистр введенных символов, но сами имена не зависят от регистра. NTFS не различает имена в зависимости от регистра. В именах могут быть использованы любые символы за исключением ? " / \ < > * | :
• В настоящее время из командной строки можно задать имя файла длиной не более 253 символов.
Различают несколько версий NTFS: v1.2 используется в Windows NT 3.51 и Windows NT 4.0, v3.0 поставляется с Windows 2000, v3.1 -- с Windows XP, Windows Server 2003,Windows Server 2003R2, Windows Vista, Windows 7 и Windows Server 2008, Windows Server 2008R2.