Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Операционные системы ответы.docx
Скачиваний:
3
Добавлен:
16.01.2025
Размер:
50 Кб
Скачать

Система приоритетного обслуживания Windows

Планирование потоков рассмотрим на примере ОС Windows В Windows реализована подсистема вытесняющего планирования на основе уровней приоритета. Всегда выполняется поток с наивысшим приоритетом к выполнению. В многопроцессорных системах под Windows NT и Windows 2000 выбор потока для выполнения может быть ограничен набором процессоров, на которых он может работать. Этот метод называется привязкой к процессору (processor affinity). По умолчанию поток выполняется на любом процессоре. С помощью функций Win32 можно изменить привязку к процессорам.

Физическая организация памяти

Под организацией памяти понимается, каким образом предоставляется и используется основная память, т.е. необходимо дать ответы на следующие вопросы: 1. Будем ли мы помещать в основную память только одну программу пользователя или несколько программ одновременно. 2. Если в основной памяти размещается программ сразу, будем ли мы предоставлять каждой из них одинаковое количество ячеек памяти или разобьем ее на части (разделы) различных размеров. 3. Будем ли разбивать основную память жестким образом, т.е. разделы определяются на достаточно длительное время, либо динамически, позволяя компьютеру быстро реагировать на изменения потребностей программы в ресурсах. 4. Будем ли мы требовать такого построения программы пользователя, чтобы они выполнялись только в конкретном разделе, либо предусмотрим возможность выполнения программы с занятием любых подходящих для них разделов. 5. Будем ли мы требовать, чтобы каждая программа помещалась в одном, непрерывном блоке ячеек памяти, либо допустим возможность разбиения программы на отдельные блоки, размещаемые в любых свободных участках (дырах) основной памяти. Физическая память представляет собой множество ячеек, которые пронумерованы, к каждой ячейке можно обратиться, указав ее порядковый номер (адрес). Количество ячеек физической памяти ограничено и фиксировано.

Виртуальная память

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

Иерархия памяти

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

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

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

Простое непрерывное распределение памяти: распределение памяти в случае одной или нескольких задач 123

Сегментное распределение памяти

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

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

При загрузке процесса часть сегментов помещается в оперативную память, а часть сегментов размещается в дисковой памяти. Сегменты одной программы могут занимать в оперативной памяти несмежные участки.

Недостатком данного метода распределения памяти является фрагментация на уровне сегментов и более медленное по сравнению со страничной организацией преобразование адреса.

Страничное распределение памяти 132

Сегментно-страничное распределение памяти 136

Плоская модель памяти 140

Взаимодействие процесса с ОС. Интерфейс прикладных программ

Интерфейс прикладных программ (API — Application Programming Interface) ¬ – часть ОС, через которую происходит взаимодействие ОС с приложениями, решающими задачи пользователя. Практически все операционные системы (Unix, Windows, Mac OS, и т. д.) имеют API, с помощью которого программисты могут создавать приложения для этой операционной системы. Главный API операционных систем — это множество системных вызовов. В индустрии программного обеспечения общие стандартные API для стандартной функциональности имеют важную роль, так как они гарантируют, что все программы, использующие общий API, будут работать одинаково хорошо или, по крайней мере, типичным привычным образом. В случае API графических интерфейсов это означает, что программы будут иметь похожий пользовательский интерфейс, что облегчает процесс освоения новых программных продуктов. С другой стороны, отличия в API различных операционных систем существенно затрудняют перенос приложений между платформами. Существуют различные методы обхода этой сложности — написание «промежуточных» API (API графических интерфейсов Qt, Gtk, и т. п.), написание библиотек, которые отображают системные вызовы одной ОС в системные вызовы другой ОС (такие среды исполнения, как Wine, cygwin, и т. п.), введение стандартов кодирования в языках программирования (например, стандартная библиотека языка C), написание интерпретируемых языков, реализуемых на разных платформах (sh, python, perl, php, tcl, Java, и т. д.). Также необходимо отметить, что в распоряжении программиста часто находится несколько различных API, позволяющих добиться одного и того же результата. При этом каждый API обычно реализован с использованием API программных компонент более низкого уровня абстракции. Например: для того чтобы увидеть в браузере строчку «Hello, world!», достаточно лишь создать HTML-документ с минимальным заголовком и простейшим телом, содержащим данную строку. Что произойдёт, когда браузер откроет этот документ? Программа-браузер передаст имя файла (или уже открытый дескриптор файла) библиотеке, обрабатывающей HTML-документы, та, в свою очередь, при помощи API операционной системы прочитает этот файл и разберётся в его устройстве, затем последовательно вызовет через API библиотеки стандартных графических примитивов операции типа «очистить окошко», «написать выбранным шрифтом «Hello, world!». Во время выполнения этих операций библиотека графических примитивов обратится к библиотеке оконного интерфейса с соответствующими запросами, уже эта библиотека обратится к API операционной системы, чтобы записать данные в буфер видеокарты.