Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Режимы управления вводом-выводом

Мультипрограммирование в системах пакетной обработки | Назначение | Классификация ОС. | Сетевые Операционные Системы | Проведем классификацию операционных систем | Мультизадачный режим, наоборот, предполагает, что забота о параллельном выполнении и взаимодействии приложений ложится как раз на прикладных программистов. | Синхронный и асинхронный ввод-вывод | Принудительное разграничение доступа | Полиморфные вирусы. | Выталкивание дольше всего не использовавшейся страницы. LRU (The Least Recently Used) Algorithm . |


Читайте также:
  1. II. Формы управления учреждением. Перечень и порядок принятия локальных нормативных актов.
  2. II.II.2. Западный стиль управления - особенности теории и практики
  3. VIII. Общественные организации обучающихся и органы самоуправления проживающих в студенческом общежитии
  4. Автоматическая система управления успокоителями качки
  5. Авторитарные режимы
  6. Адрес: г. Краснодар, ул. Ставропольская, 216/1 (в здании Краснодарского колледжа права, экономики и управления (третий этаж - остановка трамвая Восточное депо.
  7. Американская модель управления

• Имеется два основных режима ввода-вывода:
1) режим обмена с опросом готовности устройства ввода-вывода;
2) режим обмена с прерываниями
• Если управление вводом-выводом осуществляет центральный процессор, то это программный канал обмена данными между внешними устройством и оперативной памятью (в отличие от канала прямого доступа к памяти, при котором управление вводом-выводом осуществляет специальное дополнительное оборудование).

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

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

LRU метод вытеснения из кэша

 

К сожалению, в очередной раз заметил, что почти все мои коллеги не знают, что такое LRU, и как реализовать кэш определенного размера. Поэтому я решил написать небольшую статью, где расскажу как быстро реализовать метод LRU, и не вынуждать коллег вручную сбрасывать кэш там, где не требуется. Мы будем под кэшированием понимать сохранение результатов вычислений в ответ на некоторые запросы. То есть, повторный результат запроса не всегда вычисляется заново, но иногда берется из таблицы, называемой кэшем. Сложно переоценить роль кеширования в современных системах. При этом часто возникает проблема, связанная с недостатком памяти. Действительно, что делать, если запросов много, а памяти хватает лишь для сохранения ограниченного числа результатов? В этом случае, как правило, кеш стрится следующим образом. Фиксируется размер кэша, пусть будет N, и сохраняются результаты только для N самых «популярных» запросов. То есть сохраняются результаты вычислений, которые скорее всего запросят заново. Как определять эти «популярные» запросы? Наиболее известным способом является LRU, о котором я и расскажу в этой статье. LRU (least recently used) — это алгоритм, при котором вытесняются значения, которые дольше всего не запрашивались. Соответственно, необходимо хранить время последнего запроса к значению. И как только число закэшированных значений превосходит N, необходимо вытеснить из кеша значение, которое дольше всего не запрашивалось.

Least Recently Used (Наиболее давно использовавшийся)

Least Recently Used (LRU): в первую очередь, вытесняется неиспользованный дольше всех. Этот алгоритм требует отслеживания того, что и когда использовалось, что может оказаться довольно накладно, особенно если нужно проводить дополнительную проверку, чтобы в этом убедиться. Общая реализация этого метода требует сохранения «бита возраста» для строк кэша и за счет этого происходит отслеживание наименее использованных строк (то есть за счет сравнения таких битов). В подобной реализации, при каждом обращении к строке кэша меняется «возраст» всех остальных строк. LRU на самом деле является семейством алгоритмов кэширования, в которое входит 2Q, разработанный Теодором Джонсоном и Деннисом Шаша, а также LRU/K от Пэта О’Нила, Бетти О’Нил и Герхарда Вейкума.

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

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

 


Дата добавления: 2015-07-19; просмотров: 66 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Супервизор - supervisor| Взлом парольной защиты операционной системы UNIX

mybiblioteka.su - 2015-2024 год. (0.007 сек.)