Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
bilety_update (1).docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
69.85 Кб
Скачать
  1. Синхронизация в режиме ядра. Семафоры, мьютексы. Типичные задачи: производители-потребители и читатели-писатели.

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

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

Реализация:

HANDLE CreateSemaphore( PSECURITY_ATTRIBUTE psa, LONG lInitialCount, LONG lMaximumCount, PCTRTR pszName)// lInitialCount – начальное значение счетчика.

HANDLE OpenSemaphore( DWORD fdwAccess, BOOL bInhentHandle, PCTSTR pszName); – открыть семафор.

Реализуется:

DWORD WaitForSingleObject(HANDLE obj, DWORD Miliseconds); // если счетчик = 0, то ставит его в очередь ожидания.

BOOL ReleaseSemaphore( HANDLE hSem, LONG lReleaseCount, PLONG p]PreviousCount);

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

Монитор - объектно-ориентированные средства, содержат собственные внутренние данные и функции.

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

  1. Организация памяти компьютера. Логическая память. Сегменты. Связывание адресов.

Память компьютера делиться на основную, оперативную и вторичную оперативную. Оперативная и вторичная оперативная память является энергозависимой, а основная – энергонезависимой. В энергонезависимой части памяти находится BIOS – базовая система ввода/вывода.

Существует виртуальная память, которая находится на внешних устройствах. При этом интерфейс

доступа к ней такой же как и к оперативной памяти.

Процессор Intel поддерживает доступ к виртуальной памяти на аппаратном уровне.

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

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

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

Логическое пространство значительно превышает размер физического пространства.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]