Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Основные принципы построения ОССодержание книги Поиск на нашем сайте
Принцип модульности . Принцип особого режима работы Большинство приемов, применяемых для синхронизации процессов, тесно связаны с аппаратными средствами. Это блокировка памяти, операция “проверка и установка” и семафоры. Блокировка памяти 15. Решение задачи “обедающие философы” Procedure Типичный_философ; Begin While (true) do begin мыслить; есть End end; Procedure Типичный_философ_А; Begin While (true) do begin мыслить_некоторое время; взять_обе_вилки; есть_некоторое время; положить_обе_вилки End end; Procedure Типичный_философ_В; Begin While (true) do begin мыслить_некоторое время; Repeat взять_левую_вилку; if правой_вилки_нет then положить_левую_вилку else взять_правую_вилку until в_руках_обе_вилки; есть_некоторое время; положить_левую_вилку; положить_правую_вилку End end;
Билет № 10 1) Понятие виртуальной памяти Использование виртуальной памяти (virtual storage) дает возможность указывать в программах адреса, которым необязательно соответствуют реальные адреса основной памяти. Виртуальные адреса динамически, при помощи аппаратных средств, преобразуются в адреса команд и данных, физически расположенных в основной памяти. В системах виртуальной памяти применяются такие методы, как страничная организация ( paging ) - предусмативающая обмен между основной и внешней памятью блоками данных фиксированного размера, и сегментация (segmentation ) - предусматривающая разделение программ и данных на логические компоненты (сегменты). 2) Стратегия управления памятью Управление памятью можно представлять, как отображение информации в память посредством трех функций13. · Именующей функции f1, однозначно отображающей данное пользователем имя в идентификатор информации, к которой это имя относится. · Функции памяти f2, отображающей однозначно определенные идентификаторы в истинные адреса памяти, в которых они находятся. · Функции содержимого f3,отображающей каждый адрес памяти в значение, которое по этому адресу находится.
Результат каждого из этих трех отображений зависит от времени. Это значит, что он может меняться в продолжение всего времени обработки задания системой, Например, результат отображения f1 не устанавливается до тех пор, пока задание не будет связано с системными модулями и файлами, которые в нем упоминаются. Результат отображения f2 может быть зафиксирован после загрузки задания. Однако при некоторых стратегиях распределения памяти отображение f2 меняется в течение всего времени, пока задание находится в оперативной памяти. Ясно, что результат отображения f3 меняется каждый раз, когда выполняется команда записи в память. Действие, состоящее в закреплении результатов одного из упомянутых отображений, называется привязкой. Время, когда происходит привязка отображения, называется моментом привязки. отображения. Привязка может происходить во время программирования задания или во время обработки задания операционной системой, например, во время компиляции. Иногда привязка отображения происходит так часто, что естественнее считать, что привязки вообще не происходит, например, для функции содержимого. Если функцию содержимого определяет пользователь, то функцию памяти и именующую функцию определяет ОС, а избранные изготовителем ОС моменты привязки являются важными ее характеристиками. Так ранняя привязка реализуется значительно проще, но, с другой стороны, для достижения большей гибкости системы, желательно, чтобы привязка происходила достаточно поздно, так как это дает возможность ОС перемещать задание в памяти, добиваясь ее максимальной загруженности
3) Решение задачи передачи данных одного процесса другому при помощи монитора (случай информационной базы)
monitor Читатели_Писатели; Var READERS: integer; {переменная указывает количество активных читателей, когда READERS = 0, ожидающий процесс-писатель получает возможность начать работу} SmbWRITE: boolean; {somebody write - когда кто-то пишет эта переменная имеет истинное значение} PermREAD, PermWRITE: condition; {permission read/write - пока не появится истинное значение условия читать разрешается,PermREAD - процесс-читатель не может продолжить свое выполнение; пока не появится истинное значение условия писать разрешается, Permwrite - процесс-писатель не может продолжить свое выполнение} Procedure Начало_Чтения; Begin
|
||||
Последнее изменение этой страницы: 2016-08-16; просмотров: 467; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.20.230 (0.008 с.) |