Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Структура адресного пространства




Принято считать, что каждый процесс, запущенный в Windows, получает в свое распоряжение виртуальное адресное пространство размером 4 Гб. Это число определяется разрядностью адресов в командах: 232 байт = 4 Гб.

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

Но даже и в этом смысле процессу доступно лишь около 2 Гб младших адресов виртуальной памяти. В частности, для Windows NT старшие 2 Гб с адресами от 8000000016 до FFFFFFFF16 доступны только системе. Такое решение позволило уменьшить время, затрачиваемое при вызове системных функций, поскольку отпадает необходимость изменять при этом отображение страниц, нужно только разрешить их использование. Однако, чтобы сам вызов API-функций был возможен, системные библиотеки, которые содержат эти функции, размещаются в младшей, пользовательской половине виртуального пространства.

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

Кроме старших 2 Гб, процессу недоступны еще некоторые небольшие области в начале и в конце виртуального пространства. В Windows NT недоступны адреса с 0000000016 по 0000FFFF16 и с 7FFF000016 по 7FFFFFFF16, т.е. два кусочка по 64 Кб. Это сделано с целью выявления такой типичной ошибки программирования, как использование неинициализированных указателей, которые обычно попадают в запретные диапазоны адресов.

Для 64-разрядных процессоров размер виртуального адресного пространства возрастает до трудно представимых 264 байт (17 миллиардов гигабайт, если угодно), однако Windows XP выделяет в распоряжение каждого процесса «всего лишь» 7152 гигабайта с адресами от 0 до 6FBFFFFFFFF16, а остальное адресное пространство может использоваться только системой.

 

 

 

25. Архитектура (модель) ОС MS Windows NT (2000/XP). Компоненты ядра и компоненты пользовательского режима. Файловое дерево ОС MS Windows на загрузочном томе.

Архитектура Windows NT включает в себя само ядро, уровень аппаратных абстракций (HAL), драйверы и ряд служб (Executives), которые работают в режиме ядра (Kernel-mode drivers) или в пользовательском режиме (User-mode drivers).

Режим пользователя

Режим пользователя состоит из подсистем, которые передают запросы ввода\вывода соответствующему драйверу режима ядра посредством менеджера Ввода-вывода. Уровень пользователя состоит из двух подсистем - подсистема окружения(Environment) и интегральная подсистема (Integral) Подсистема окружения разработана для запуска приложений, написанных для разных типов операционных систем. Ни одна из подсистем окружения не имеет прямого доступа к аппаратной части компьютера. Доступ к ресурсам памяти происходит посредством Менеджера Виртуальной Памяти, который работает в режиме ядра. Также, приложения запускаются с меньшим приоритетом, чем процессы режима ядра.

Подсистема окружения состоит из следующих подсистем - подсистема Win32, подсистема OS/2 и подсистема POSIX. Подсистема окружения Win32 запускает 32-разрядные Windows приложения. Она содержит консоль и поддержку текстового окна, обработку ошибок для всех других подсистем окружения. Поддерживает VDM (Virtual DOS Machine), которая позволяет запускать 16-разрядные DOS и Windows(Win16) приложения.

Подсистема окружения OS/2 поддерживает неграфические 16-разрядные приложения операционной системы OS/2 и эмулирует систему OS/2 2.1.x.

Подсистема окружения POSIX поддерживает приложения написанные в соответствии со стандартом POSIX.1

Интегрированная подсистема (Integral subsystem) следит за некоторыми функциями операционной системы от имени подсистемы окружения. Состоит из подсистемы безопасности, службы рабочей станции и службы сервера. Служба безопасности обращается с маркерами доступа, позволяет или запрещает доступ к учетной записи пользователя, обрабатывает запросы авторизации и инициирует процесс входа пользователя в систему. Служба Рабочая станция обеспечивает доступ компьютера к сети - является API для сетевого редиректора (ПО эмулирующее доступ к удаленной файловой системе как к локальной). Служба Сервер позволяет компьютеру предоставлять сетевые сервисы.

Режим ядра

Режим ядра Windows NT имеет полный доступ к аппаратной части компьютера и системным ресурсам. Работает в защищенной области памяти. Контролирует потоки, управляет памятью и взаимодействием с аппаратной частью. Предотвращает доступ к критическим областям памяти со стороны приложений и служб пользовательского режима.

Архитектура x86 поддерживает 4 уровня привилегий - от 0 до 3, но используются только 0 и 3 уровень. Режим пользователя использует уровень 3, а режим ядра - 0.

Исполнительная подсистема.

Работает с вводом\выводом, менеджером объектов, управлением над процессами и безопасностью. Неофициально делится на несколько подсистем - менеджер кэша, менеджер конфигурации, менеджер ввода\вывода, вызов локальных процедур, менеджер памяти, монитор безопасности.

Менеждер объектов

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

Файловое дерево Windows на загрузочном томе

ntldr, boot.ini, ntdetect.com, ntbootdd.sys и bootsect.dos

Если рассматривать работу начала начал операционных систем класса NT - загрузчика ntldr подробнее, то ее также можно разбить на несколько этапов: ntldr переключает процессор в режим 32-разрядной модели памяти с прямой адресацией запускает минифайловую систему для доступа к томам FAT, FAT32 и NTFS считывает файл boot.ini, также расположенный в корневом каталоге системного диска отображает меню выбора операционной системы (если выбирается ОС, отличная от Windows NT, то считывается файл bootsect.dos с копией загрузочного сектора предыдущей ОС и управление передается ему) запускает файл ntdetect.com, собирающий информацию о физических устройствах, подключенных к компьютеру в момент загрузки загружает и запускает ядро ОС - файл ntoskrnl.exe и передает ему информацию, собранную ntdetect.com.

 

 

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

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

Загрузчик операционной системы:

· обеспечивает необходимые средства для диалога с пользователем компьютера (например, загрузчик позволяет выбрать операционную систему для загрузки);

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

· загружает ядро операционной системы в ОЗУ;

· формирует параметры, передаваемые ядру операционной;

· передаёт управление ядру операционной системы.

На компьютерах архитектуры IBM PC запуск загрузчика осуществляется программным обеспечением BIOS, записанной в ПЗУ компьютера, после успешного окончания процедуры POST.

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

Применение настраиваемой MBR, отвечающей за запуск усовершенствованного менеджера загрузки, который ваша двухвариантная система использует вместо NTLDR в момент загрузки системы. (Большинство утилит независимых производителей позволяют вам восстановить оригинальную MBR).

Автоматическое определение установленных операционных систем на различных дисках и разделах и создание меню с опциями для загрузке каждой из этих ОС.

Загрузка версий MS-DOS и Win9x из основных разделов, расположенных на втором диске.

Выбор между Win98 и Win95 (или Windows 3.1) на одной и той же системе или в том же разделе.

Поддержка систем с двухвариантной загрузкой NT и Win95 OSR2 или NT и Win98 с основным разделом первого диска, отформатированным под FAT32 или NTFS.

Быстрое и легкое добавление новой ОС в меню загрузки или начальной загрузки, в том числе нескольких версий NT, Win98, Win95, Linux, DOS и BeOS.

Сокрытие выбранных разделов (например дополнительных основных разделов) от отдельных версий устанавливаемых ОС.

Последняя возможность позволяет вам 'скрывать' основные разделы, располагающиеся на одном и том же диске, от основного раздела, содержащего ОС, которую вы загружаете. Присутствие нескольких основных разделов на одном диске особенно проблематично для MS-DOS и Win9x и может привести к потере данных и возникновению сбоев при загрузке. Кроме того, скрытые разделы позволяют управлять тем, как система присваивает названия дискам и дает возможность поддерживать согласованные имена дисков в различных ОС.

 

27. Подсистема ввода-вывода ОС. Буферизация обмена данными между внешней и основной памятью. Дисковый (системный) кэш.

На подсистему ввода-вывода возлагаются следующие функции:

• организация параллельной работы устройств ввода-вывода и процессора;

• согласование скоростей обмена и кэширование данных;

• разделение устройств и данных между процессами (выполняющимися программами);

• обеспечение удобного логического интерфейса между устройствами и остальной частью системы;

• поддержка широкого спектра драйверов с возможностью простого включения в систему нового драйвера;

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

• поддержка нескольких различных файловых систем;

• поддержка синхронных и асинхронных операций ввода-вывода.

Эволюция ввода-вывода может быть представлена следующими этапами:

• Процессор непосредственно управляет периферийным устройством.

• Устройство управляется контроллером. Процессор использует программируемый ввод-вывод без прерываний (переход к абстракции интерфейса ввода-вывода).

• Использование контроллера прерываний. Ввод-вывод, управляемый прерываниями.

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

• Использование отдельного специализированного процессора ввода-вывода, управляемого центральным процессором.

• Использование отдельного компьютера для управления устройствами ввода-вывода при минимальном вмешательстве центрального процессора.

Для персональных компьютеров операции ввода-вывода могут выполняться тремя способами.

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

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

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

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

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

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




Поделиться с друзьями:


Дата добавления: 2015-01-03; Просмотров: 1580; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.029 сек.