GeoSELECT.ru



Компьютеры / Реферат: Теоретический анализ эффективности использования операционной системы ЛИНУКС (Компьютеры)

Космонавтика
Уфология
Авиация
Административное право
Арбитражный процесс
Архитектура
Астрология
Астрономия
Аудит
Банковское дело
Безопасность жизнедеятельности
Биология
Биржевое дело
Ботаника
Бухгалтерский учет
Валютные отношения
Ветеринария
Военная кафедра
География
Геодезия
Геология
Геополитика
Государство и право
Гражданское право и процесс
Делопроизводство
Деньги и кредит
Естествознание
Журналистика
Зоология
Инвестиции
Иностранные языки
Информатика
Искусство и культура
Исторические личности
История
Кибернетика
Коммуникации и связь
Компьютеры
Косметология
Криминалистика
Криминология
Криптология
Кулинария
Культурология
Литература
Литература : зарубежная
Литература : русская
Логика
Логистика
Маркетинг
Масс-медиа и реклама
Математика
Международное публичное право
Международное частное право
Международные отношения
Менеджмент
Металлургия
Мифология
Москвоведение
Музыка
Муниципальное право
Налоги
Начертательная геометрия
Оккультизм
Педагогика
Полиграфия
Политология
Право
Предпринимательство
Программирование
Психология
Радиоэлектроника
Религия
Риторика
Сельское хозяйство
Социология
Спорт
Статистика
Страхование
Строительство
Схемотехника
Таможенная система
Теория государства и права
Теория организации
Теплотехника
Технология
Товароведение
Транспорт
Трудовое право
Туризм
Уголовное право и процесс
Управление
Физика
Физкультура
Философия
Финансы
Фотография
Химия
Хозяйственное право
Цифровые устройства
Экологическое право
   

Реферат: Теоретический анализ эффективности использования операционной системы ЛИНУКС (Компьютеры)



Теоретический анализ эффективности использования операционной системы
ЛИНУКС.
Спасский И.Д.
Потапова-Синько Н.Е.
Украинская Государственная Академия Связи им.А.С.Попова

В настоящее время среди используемых операционных систем
ПЭВМ наибольшую популярность имеет продукция компании Microsoft. Такая
среда как MS WINDOWS используется повсеместно.

Это объясняется простотой процесса установки и использования,

наглядностью интерфейса, наличием большого количества разнообразных
приложений позволяющих использовать ПЭВМ в самом широком диапазоне задач.
Кроме того так как эта система – коммерческая, отсюда следуют результаты
серъезной маркетинговой работы специалистов по маркетингу крупной
карпорации.
Но во всех ли случаях использование этой продукции позволяет достаточно
эффективно использовать ресурсы ПЭВМ.
Компания Microsoft работает рука об руку с IBM. В свою очередь в IBM
заинтересованы в увеличении объема продаж своей прдукции, т.е. ПЭВМ и
комплектующих. Отсюда как следствие написание Microsoft систем и программ
намеренно перегружающих ресурсы компьютера и т.о. требования к постоянному
обновлению вычислительной техники.
Выход из этой гонки вооружений возможен при более широком использовании
операционной системы LINUX ( естественно в соответствующих случаях).
Принципиальное отличие этой системы в том, что изначальная цель создания
этой системы не преследует никаких коммерческих интересов. В отличии от
продукции Microsoft LINUX создавалась как система использующая с
максимально возможным эффектом ресурсы ПЭВМ. Для здесь используется сетевой
принцип построения вычислительных систем.
LINUX это версия UNIX для процессоров 80386, 80486 и Pentium. Linux в
полной мере реализует все возможности процессоров, предоставляя
программисту полностью 32-разрядную многозадачную и многопользовательскую
систему, функционирующую в защищенном режиме. Система соответствует
стандарту POSIX, что позволяет
говорить о переносе программного обеспечения, разработанного для Linux, на
другие версии UNIX и обратно как о более или менее рутинной задаче.
Сети, как вы, вероятно, понимаете, - это неотъемлемая часть современной
концепции вычислительных систем. И Linux поддерживает образование сетей на
уровнеядра системы. Сетевые адаптеры могут быть самые разные: Ethernet для
создания локальной сети, телефонный модем для интеграции в сеть Internet и,
в конце концов, обычный мультиплексор на восемь или шестнадцать терминалов.
И снова-таки повторим, весь этот сервис
входит в стандартный дистрибутив Linux со всеми исходными
текстами,библиотеками и сопроводительной документацией.
Прежде всего, разработчики LINUX не задумывали свою систему как конкурента
MS-DOS, а скорее как дополнение к традиционной ОС, для которой
разработаноогромное количество программного обеспечения. Поэтому DOS и
Linux могут сосуществовать на одном винчестере, "проживая" в различных
разделах (partition) жесткого диска. Вы можете по своему выбору, загружать
либо DOS либо LINUX. Однако бедняга MS-DOS не может укрыться от любопытных
глаз своего соседа, поскольку Linux имеет доступ ко всем файлам
в разделе DOS. Для чего это сделано? Для запуска программ MS-DOS под
управлением Linux. Причем сохраняется многозадачный режим работы.
До недавнего времени вопрос о выборе операционной системы для персональных
компьютеров вообще не ставился. Все пользователи находились в равных
условиях - в среде MS-DOS. Но с развитием аппаратных средств и хроническим
отставанием как DOS, так и Windows от уровня "железа", на сцену начали
выходить казалось бы "тупиковые ветви компьютерной эволюции"-Windows NT и
OS/2. Но кроме этих, коммерческих систем, совершенно неожидано начал
получать популярность и - LINUX, разрабатываемый широкими (без
преувеличения) кругами энтузиастов. Нет нужды говорить, что правильный
выбор операционной системы требует тщательного взвешивания всех "за" и
"против". Ведь ошибка в этом вопросе
приводит к неоправданным затратам на разработку прикладных программ,
эксплуатацию самой вычислительной системы и ее стыковки с вычислительными
сетями. Конечно же, на выбор операционной системы самое прямое влияние
оказывают те
аппаратные средства, с которыми вам предстоит работать. Ведь если ресурсов
вашего компьютера не хватит для загрузки системы, то разве вы сможете
использовать все ее возможности?
Минимальные требования к аппаратным средствам следующие. Во-первых, вам
необходим по меньшей мере процессор 80386 (то есть 32-разрядный).
Конечно,повышение мощности процессора желательно, но не обязательно.
Гораздо большее значение для повышения общей производительности системы
играет объем оперативной памяти. Кстати, для запуска LINUX или OS/2 вам
потребуется хотя бы 4 Мбайта оперативной памяти, а для Windows NT – по
меньшей мере 12 Мбайт. Что касается дисковой памяти, то минимальные
требования для LINUX составляют 15 Мбайт, 32 Мбайт для OS/2 и 70 Мбайт для
Windows NT. Но имейте в виду, что этих ресурсов хватит только для "пробы",
а для реальной работы требования значительно более высокие. Простая в
настройке WINDOWS и LINUX для первоначальной настройки которой требуется
поработать достаточно
квалифицированному специалисту, остальные пользователи LINUX получат в свое
распоряжение среду "со всеми удобствами". Все системы достаточно подробно
освещены в литературе, которая оказывает существенную помощь в освоении.
В отличие от OS/2 и Windows NT многопользовательская работа
поддерживается LINUX в полном объеме. Локальные пользователи, удаленные
терминалы, подключенные через модемы, а также пользователи, подключенные
посредствоми локальной вычислительной сети без каких-либо ограничений
могутодновременно работать с графическими и символьно-ориентированными
приложениями.
Для многих практических ситуаций эта возможность ставит Linux вне
конкуренции. LINUX имеет также ряд средств обеспечения безопасности
системы, предотвращающих попытки пользователей нарушить ее
функционирование.
С точки зрения корпоративного пользователя LINUX идеально вписывается в
концепцию "клиент/сервер", реализуемую на базе протоколов TCP/IP. При этом
LINUX позволяет превратить казалось бы устаревшее оборудование в мощный
файл-сервер, факс-сервер, работающий как шлюз для отправки факсов через
внутреннюю систему электронной почты или postscript-ориентированный принт-
сервер, который обслуживает обычные матричные или лазерные принтеры.
При этом, LINUX работает устойчивее, чем его коммерческие собратья.
Система компактна и быстра, а кроме того, может быть перекомпонована для
решения вполне определенных задач. Вы можете даже установить ее на
индустриальный компьютер (например, Mitac или Octagon). В LINUX встроены
средства поддержки электронной почты и доступа к ресурсам Internet. Cистема
отлично документирована и получает все большее распространение во всем
мире.
С точки зрения технически подготовленного пользователя LINUX
представляет отличный шанс настроить операционную систему с учетом
конкретной необходимости. Вам полностью доступен
исходный код операционной системы, что само по себе является мощным
средством для оптимизации производства. В результате уже
сегодня вы можете воспользоваться высокопроизводительными трассировщиками
для мультипликации, спектроанализаторами на базе Sound Blaster, различными
компиляторами.
Подводя итоги, отметим, что LINUX оказывается неожиданно мощной системой,
которая разработана неорганизованной группой программистов-любителей. Идеи
положенные в его основу проверены временем. Количество и качество свободно
распространяемых приложений просто завораживает. И если накнец
будетзавершен проект Wine, позволяющий запускать Windows-приложения в среде
X/Window, Linux получит дополнительный козырь в борьбе с коммерческими
операционными системами. Возможности этой системы открывают все новые и
новые пользователи. И с эволюционным развитием всех трех систем наблюдается
устойчивый рост количества пользователей LINUX.
Т.о. можно выделить очевидное преимущество использования системы LINUX в
производственных процессах требующих наиболее эффективного использования
технических средств. А также при необходимости использовать технику
недостаточного уровня оснащения. Это преимущество можно показать в
следующем сравнении:
Потребность в оперативной памяти
Требования к системе Linux OS/2
Windows NT
Только командная строка,
никаких графических сред 2 МБ нет
нет
(OS/2 и NT в этом
режиме не работают)
Только загрузка
системы 6 МБ 4 МБ 12 МБ
Типовой состав
операционной системы 8 МБ 8 МБ 16 МБ
Квалифицированный
пользователь, работающий
с большим количеством 12 МБ 16 МБ 24 МБ
приложений одновременно
Потребность в дисковой памяти 15 МБ 20 МБ 50 МБ





Реферат на тему: Теория Операционных Систем
Теория операционных систем

Введение. Основные понятия и определения.
Операционная система - это программа, которая выполняет функции
посредника между пользователем и компьютером.

ОС, выполняя роль посредника, служит двум целям:
1. эффективно использовать компьютерные ресурсы.
2. создавать условия для эффективной работы пользователя
В качестве ресурсов компьютера обычно рассматривают:
1. время работы процессора
2. адресное пространство основной памяти

1. оборудование ввода - вывода
2. файлы, хранящиеся во внешней памяти
На рисунке приведены основные компоненты ОС как системы разделения
ресурсов.
Таким образом, основные компоненты ОС:
1. управление процессами (распределяет ресурс — процессорное время);
2. управление памятью (распределяет ресурс — адресное пространство основной
памяти);
3. управление устройствами (распределяет ресурсы) — оборудование ввода -
вывода;
4. управление данными (распределяет ресурс — данные или файлы).
Функционирование компьютера после включения питания начинается с
запуска программы первоначальной загрузки — Boot Track. Программа Boot
Track инициализирует основные аппаратные блоки компьютера и регистры
процессора (CPU), накопитель памяти, контроллеры периферийного
оборудования. Затем загружается ядро ОС, то бишь Operating System Kernel.
Дальнейшее функционирование ОС осуществляется как реакция на события,
происходящие в компьютере. Наступление того или иного события
сигнализируется прерываниями - Interrupt. Источниками прерываний могут быть
как аппаратура (HardWare), так и программы (SoftWare).
Аппаратура “сообщает” о прерывании асинхронно (в любой момент
времени) путем пересылки в CPU через общую шину сигналов прерываний.
Программа “сообщает” о прерывании путем выполнения операции System Call.
Примеры событий, вызывающих прерывания:
1. попытка деления на 0
2. запрос на системное обслуживание
3. завершение операции ввода - вывода
4. неправильное обращение к памяти
Каждое прерывание обрабатывается соответственно обработчиком
прерываний (Interrupt handler), входящим в состав ОС.
Главные функции механизма прерываний — это:
1. распознавание или классификация прерываний
2. передача управления соответственно обработчику прерываний
3. корректное возвращение к прерванной программе
Переход от прерываемой программы к обработчику и обратно должен
выполняться как можно быстрей. Одним из быстрых методов является
использование таблицы, содержащей перечень всех допустимых для компьютера
прерываний и адреса соответствующих обработчиков. Такая таблица называется
вектором прерываний (Interrupt vector) и хранится в начале адресного
пространства основной памяти (UNIX/MS DOS).

Для корректного возвращения к прерванной программе перед передачей
управления обработчику прерываний, содержимое регистров процессора
запоминается либо в памяти с прямым доступом либо в системном стеке —
System Stack.
Обычно запрещаются прерывания обработчика прерываний. Однако, в
некоторых ОС прерывания снабжаются приоритетами, то есть работа обработчика
прерывания с более низким приоритетом может быть прервана, если произошло
прерывание с более высоким приоритетом.

1. Управление процессами.

ПРОЦЕСС — ЭТО ПРОГРАММНЫЙ МОДУЛЬ, ВЫПОЛНяЕМЫЙ В CPU. ОПЕРАЦИОННАя
СИСТЕМА КОНТРОЛИРУЕТ СЛЕДУЮЩУЮ ДЕяТЕЛЬНОСТЬ, СВяЗАННУЮ С ПРОЦЕССАМИ:
1. создание и удаление процессов
2. планирование процессов
3. синхронизация процессов
4. коммуникация процессов
5. разрешение тупиковых ситуаций

1.1 Понятие Процесс. Состояния процесса

НЕ СЛЕДУЕТ СМЕШИВАТЬ ПОНяТИя ПРОЦЕСС И ПРОГРАММА. ПРОГРАММА — ЭТО
ПЛАН ДЕЙСТВИЙ, А ПРОЦЕСС — ЭТО САМО ДЕЙСТВИЕ. ПОНяТИЕ ПРОЦЕСС ВКЛЮчАЕТ:
1. программный код
2. данные
3. содержимое стека
4. содержимое адресного и других регистров CPU.
Таким образом, для одной программы могут быть созданы несколько
процессов, в том случае, если с помощью одной программы в компьютере
выполняется несколько несовпадающих последовательностей команд. За время
существования процесс многократно изменяет свое состояние.

Различают следующие состояния процесса:
1. новый (new, процесс только что создан)
2. выполняемый (running, команды программы выполняются в CPU)
3. ожидающий (waiting, процесс ожидает завершения некоторого события, чаще
всего операции ввода - вывода)
4. готовый (ready, процесс ожидает освобождения CPU)
5. завершенный (terminated, процесс завершил свою работу)
Переход из одного состояния в другое не может выполняться
произвольным образом. На рисунке приведена типовая диаграмма переходов для
состояний процессора.
Каждый процесс представлен в операционной системе набором данных,
называемых process control block . В process control block процесс
описывается набором значений, параметров, характеризующих его текущее
состояние и используемых операционной системой для управления прохождением
процесса через компьютер.
На рисунке схематически показано, каким образом операционная система
использует process control block для переключения процессора с одного
процесса на другой.
|выполняемый |ожидаемый, |готовый |выполняемый | |
| | | | | |
| | | | | |
| | | | | |
|готовый |выполняемый |гото |вый | |
| | | | | |
| | | | | |
| | | | | |
|ожидаемый, |готовый |выполняемый |ожидаемый | |
| | | |time | |



1.2. Планирование процессов. Понятие очереди.

СИСТЕМА УПРАВЛЕНИя ПРОЦЕССАМИ ОБЕСПЕчИВАЕТ ПРОХОЖДЕНИЕ ПРОЦЕССА чЕРЕЗ
КОМПЬЮТЕР. В ЗАВИСИМОСТИ ОТ СОСТОяНИя ПРОЦЕССА ЕМУ ДОЛЖЕН БЫТЬ ПРЕДОСТАВИТЬ
ТОТ ИЛИ ИНОЙ РЕСУРС. НАПРИМЕР, НОВЫЙ ПРОЦЕСС НЕОБХОДИМО РАЗМЕСТИТЬ В
ОСНОВНОЙ ПАМяТИ, СЛЕДОВАТЕЛЬНО, ЕМУ НЕОБХОДИМО ВЫДЕЛИТЬ чАСТЬ АДРЕСНОГО
ПРОСТРАНСТВА. ПРОЦЕССУ В СОСТОяНИИ ГОТОВЫЙ ДОЛЖНО БЫТЬ ПРЕДОСТАВЛЕНО
ПРОЦЕССОРНОЕ ВРЕМя. ВЫПОЛНяЕМЫЙ ПРОЦЕСС МОЖЕТ ПОТРЕБОВАТЬ ОБОРУДОВАНИЕ
ВВОДА - ВЫВОДА И ДОСТУП К ФАЙЛУ.
| | |Заголово| | | | | | | |
| | |к | | | | | | | |
|Процессы | |первый | |PCB7 | |PCB8 | | | |
|в | | | | | | | | | |
|состоянии| | | | | | | | | |
|“готовый”| |последни| | | | | | | |
| | |й | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
|Очередь к| |первый | | | | | | | |
|магнитной| | | | | | | | | |
|ленте | |последни| | | | | | | |
| | |й | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
|Очередь | |первый | |PCB3 | |PCB14 | |PCB6 | |
|к | | | | | | | | | |
|диску №1 | |последни| | | | | | | |
| | |й | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
|Очередь к| |первый | |PCB5 | | | | | |
|терминалу| | | | | | | | | |
|№ 1 | |последни| | | | | | | |
| | |й | | | | | | | |
| | | | | | | | | | |


Распределение процессов между имеющимися ресурсами носит название
планирование процессов. Одним из методом планирования процессов,
ориентированных на эффективную загрузку ресурсов, является метод очередей
ресурсов. Новые процессы находятся во входной очереди, часто называемой
очередью работ - заданий (job queue).
Входная очередь располагается во внешней памяти, во входной очереди
процессы ожидают освобождения ресурса — адресного пространства основной
памяти.
Готовые к выполнению процессы располагаются в основной памяти и
связаны очередью готовых процессов или ready queue. Процессы в этой очереди
ожидают освобождения ресурса процессорное время.
Процесс в состоянии ожидания завершения операции ввода - вывода
находится в одной из очередей к оборудованию ввода - вывода, которая носит
название devices queue.
При прохождении через компьютер процесс мигрирует между различными
очередями под управлением программы, которая называется планировщик.
(scheduler) Операционная система, обеспечивающая режим
мультипрограммирования, обычно включает два планировщика — долгосрочный
(long term scheduler) и краткосрочный (short term scheduler/CPU scheduler).
Основное отличие между долгосрочным и краткосрочным планировщиками
заключается в частоте запуска, например: краткосрочный планировщик может
запускаться каждые 100 мс, долгосрочный — один раз за несколько минут.
Долгосрочный планировщик решает, какой из процессов, находящихся во
входной очереди, должен быть переведен в очередь готовых процессов в случае
освобождения ресурсов памяти.
Долгосрочный планировщик выбирает процесс из входной очереди с целью
создания неоднородной мультипрограммной смеси. Это означает, что в очереди
готовых процессов должны находиться в разной пропорции как процессы,
ориентированные на ввод - вывод, так и процессы, ориентированные на
преимущественную работу с CPU.
Краткосрочный планировщик решает, какой из процессов, находящихся в
очереди готовых процессов, должен быть передан на выполнение в CPU. В
некоторых операционных системах долгосрочный планировщик может
отсутствовать. Например, в системах разделения времени (time sharing
system), каждый новый процесс сразу же помещается в основную память.

1.3. Взаимодействие процессов. Пользовательский уровень.

СОВМЕСТНО ВЫПОЛНяЕМЫЕ ПРОЦЕССЫ МОГУТ БЫТЬ ЛИБО НЕЗАВИСИМЫМИ
(INDEPENDED PROCESSES), ЛИБО ВЗАИМОДЕЙСТВУЮЩИМИ (COOPERATING PROCESSES).
ВЗАИМОДЕЙСТВИЕ ПРОЦЕССОВ чАСТО ПОНИМАЕТСя В СМЫСЛЕ ВЗАИМНОГО ОБМЕНА ДАННЫМИ
чЕРЕЗ ОБЩИЙ БУФЕР ДАННЫХ.
Взаимодействие процессов удобно рассматривать в схеме производитель -
потребитель (produces - consumer). Например, программа вывода на печать
производит последовательность символов, которые потребляются драйвером
принтера или компилятор производит ассемблерный текст, который затем
потребляется ассемблером.
Для того, чтобы процесс - производитель и процесс - потребитель могли
заполнять совместно необходимый буфер, заполняемый процессом -
производителем и потребляемым процессом - потребителем.
Буфер имеет фиксированные размеры, и следовательно процессы могут
находиться в состоянии ожидания, когда:
. буфер заполнен; ожидает процесс - производитель
. буфер пуст; ожидает процесс - потребитель
Буфер может предоставляться и поддерживаться самой ОС, например с
помощью средств коммуникации процессов (IPC — Inter Process Communication),
либо организовать прикладным программистом. При этом оба процесса
используют общий участок памяти, например процесс - производитель и процесс
- потребитель могут использовать следующие переменные:
Var n;
type item=...;
Var buffer:array[0..n-1] of item;
in, out:0..n-1;, где n - количество адресуемых элементов буфера, Item - имя
типа элементов буфера, in, out - указатели, характеризующие заполнение
буфера.
Буфер представлен в виде циклически связанного массива адресуемых
элементов с двумя указателями - in, out. Указатель in содержит номер
первого свободного элемента буфера, а out - первого занятого элемента
буфера.
| | | | | | | | | | | | | | | |
| | |0 |1 |2 |3 |4 |5 | | | | |n-| | |
| | | | | | | | | | | | |1 | | |
| | | | | | | | | | | | | | | |


1. Пуст. in=out. Очевидно, что буфер пуст в том случае, если выполняется
это условие.
2. Буфер будет полностью заполнен, если выполняется условие
(in+1) mod n = out

Процесс - производитель должен выполнять процедуру записи в буфер
типа
Repeat
...
продуцируется очередной элемент в Next p
...
while (in+1) mod n = out do no_op;
buffer (in):=next p;
in:=(in+1) mod n;
until false
где Next p - локальная переменная процесса - производителя, в которой
хранится очередной продуцируемый элемент
no_op - пустой оператор
Процесс - потребитель должен выполнять процедуру чтения из буфера типа
Repeat
while in out do no_op;
next p := buffer (out);
out:=(out+1) mod n;
...
потребляется очередной элемент из Next с
...
until false

2. Планирование процессора.

КРАТКОСРОчНЫЙ ПЛАНИРОВЩИК ВЫБИРАЕТ ПРОЦЕССЫ ИЗ ОчЕРЕДИ ГОТОВЫХ
ПРОЦЕССОВ И ПЕРЕДАЕТ ИХ НА ВЫПОЛНЕНИЕ В CPU. СУЩЕСТВУЮТ РАЗЛИчНЫ АЛГОРИТМЫ
ИЛИ СТРАТЕГИИ РЕШЕНИя ЭТОЙ ЗАДАчИ, ОТЛИчАЮЩИЕСя ОТНОШЕНИЕМ К КРИТЕРИяМ
ПЛАНИРОВАНИя.

2.1. Критерии планирования процессора.

ИСПОЛЬЗУЮТСя СЛЕДУЮЩИЕ КРИТЕРИИ, ПОЗВОЛяЮЩИЕ СРАВНИВАТЬ АЛГОРИТМЫ
КРАТКОСРОчНЫХ ПЛАНИРОВЩИКОВ:
1. утилизация CPU (использование) CPU utilization. утилизация CPU
теоретически может находиться пределах от 0 до 100%. В реальных системах
утилизация CPU колеблется в пределах 40% для легко загруженного CPU, 90%
для тяжело загруженного CPU.
2. пропускная способность CPU throughput. Пропускная способность CPU может
измеряться количеством процессов, которые выполняются в единицу времени.
3. время оборота (turnaround time) для некоторых процессов важным критерием
является полное время выполнения, то есть интервал от момента появления
процесса во входной очереди до момента его завершения. Это время названо
временем оборота и включает время ожидания во входной очереди, время
ожидания в очереди готовых процессов, время ожидания в очередях к
оборудованию, время выполнения в процессоре и время ввода - вывода.
4. время ожидания (waiting time). под временем ожидания понимается
суммарное время нахождения процесса в очереди готовых процессов.
5. время отклика (response time) для сугубо интерактивных программ важным
показателем является время отклика или время, прошедшее от момента
попадания процесса во входную очередь до момента первого обращения к
терминалу.
Очевидно, что простейшая стратегия краткосрочного планировщика должна
быть направлена на максимизацию средних значений загруженности и пропускной
способности, времени ожидания и времени отклика.
В ряде случаев используются сложные критерии, например так называемый
минимаксный критерий, то есть вместо простого критерия минимум среднего
времени отклика используется следующий — минимум максимального времени
отклика.

2.2. Стратегии планирования процессора.


2.2.1.ПЕРВЫЙ ПРИШЕЛ — ПЕРВЫЙ ОБСЛУЖИВАЕТСя FIFO. FIRST COME — FIRST SERVED
(FCFS).

FCFS яВЛяЕТСя НАИБОЛЕЕ ПРОСТОЙ СТРАТЕГИЕЙ ПЛАНИРОВАНИя ПРОЦЕССОВ И
ЗАКЛЮчАЕТСя В ТОМ, чТО ПРОЦЕССОР ПЕРЕДАЕТСя ТОМУ ПРОЦЕССУ, КОТОРЫЙ РАНЬШЕ
ВСЕХ ДРУГИХ ЕГО ЗАПРОСИЛ.
Когда процесс попадает в очередь готовых процессов, process control
block присоединяется к хвосту очереди.
Среднее время ожидания для стратегии FCFS часто весьма велико и
зависит от порядка поступления процессов в очередь готовых процессов.
Пример № 1
Пусть три процесса попадают в очередь одновременно в момент 0 и имеют
следующие значения времени последующего обслуживания в CPU.
вариант 1:
П1(24 мс)
П2(3 мс)
П3(3 мс)
вариант 2:
П2(3 мс)
П3(3 мс)
П1(24 мс)
На рисунке приведены диаграммы Ганга очереди готовых процессов
вариант 1:
|П1 |П2 |П3 |WT=17 мс |
|WT1=0 мс |WT2=24 мс |WT3=27 мс | |


вариант 2:
|П2 |П3 |П1 |WT=3 мс |
|WT2=0 мс |WT3=3 мс |WT1=6 мс | |


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

2.2.2. Стратегия наиболее короткая работа — вперед к победе коммунизма !
SJF

SJF — SHORTEST JOB FIRST. ОДНИМ ИЗ МЕТОДОВ БОРЬБЫ С “ЭФФЕКТОМ КОНВОя”
яВЛяЕТСя СТРАТЕГИя, ПОЗВОЛяЮЩАя ПРОЦЕССУ ИЗ ОчЕРЕДИ ВЫПОЛНяТЬСя ПЕРВЫМ.
Пример № 2
Пусть четыре процесса одновременно попадают в очередь готовых
процессов и имеют следующие значения времени последующего обслуживания
П1(6 мс)
П2(8 мс)
П3(7 мс)
П4(3 мс)
На рисунке приведена диаграмма Ганга, построенная в соответствии со
стратегией SJF.
|П4 |П1 |П3 |П2 |WT=7 мс |
|WT4=0 мс |WT1=3 мс |WT3=9 мс |WT2=16 мс | |


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

2.2.3. Приоритетное планирование.

ОПИСАННЫЕ РАНЕЕ СТРАТЕГИИ МОГУТ РАССМАТРИВАТЬСя КАК чАСТНЫЕ СЛУчАИ
СТРАТЕГИИ ПРИОРИТЕТНОГО ПЛАНИРОВАНИя. ЭТА СТРАТЕГИя ПРЕДПОЛАГАЕТ, чТО
КАЖДОМУ ПРОЦЕССУ ПРИПИСЫВАЕТСя ПРИОРИТЕТ, ОПРЕДЕЛяЮЩИЙ ОчЕРЕДНОСТЬ
ПРЕДОСТАВЛЕНИя ЕМУ CPU. НАПРИМЕР, СТРАТЕГИя FCFS ПРЕДПОЛАГАЕТ, чТО ВСЕ
ПРОЦЕССЫ ПРЕДПОЛАГАЕТ, чТО ВСЕ ПРОЦЕССЫ ИМЕЮТ ОДИНАКОВЫЕ ПРИОРИТЕТЫ, А
СТРАТЕГИя SJF ПРЕДПОЛАГАЕТ, чТО ПРИОРИТЕТ ЕСТЬ ВЕЛИчИНА, ОБРАТНАя ВРЕМЕНИ
ПОСЛЕДУЮЩЕГО ОБСЛУЖИВАНИя.
Приоритет — это целое положительное число, находящееся в некотором
диапазоне, например от 0 до 7, от 0 до 4095. Будем считать, что чем меньше
значение числа, тем выше приоритет процесса.
|Пример №3. |приоритет |
|П1(10 мс) |3 |
|П2(1 мс) |1 |
|П3(2 мс) |3 |
|П4(1 мс) |4 |
|П5(5 мс) |2 |


На рисунке приведена диаграмма Ганга, располагающая процессы в
очереди в соответствии со стратегией приоритетного планирования
|П2 |П5 |П1 |П3 |П4 | |
|WT2=0 мс |WT5=1 мс |WT1=6 мс |WT3=16 мс |WT4=18 мс | |


Приоритеты определяются исходя из совокупности внутренних и внешних
по отношению к операционной системе факторов.
Внутренние факторы:
1. требования к памяти
2. количество открытых файлов
3. отношение среднего времени ввода - вывода к среднему времени CPU и так
далее
Внешние факторы:
1. важность процесса
2. тип и величина файлов, используемых для оплаты
3. отделение, выполняющее работы и так далее
Внутренние факторы могут использоваться для автоматического
назначения приоритетов самой операционной системой, а внешние для
принудительного, с помощью оператора.
Главный недостаток приоритетного планирования заключается в
возможности блокирования на неопределенно долгое время низкоприоритетных
процессов.
Известен случай, когда в 1973 году в Массачусетском технологическом
институте MIT при остановке компьютера IBM 7094 в очереди готовых процессов
были обнаружены процессы, представленные в 1967 и все еще не выполненные.
Для устранения отмеченного недостатка используются следующие методы:
процессы, время ожидания которых превышает фиксированную величину, например
15 минут, автоматически получают единичное приращение приоритета.

2.2.4. “Карусельная” стратегия планирования.

RR-ROUND ROBIN
Round Robin стратегия применяется в системах разделения времени.
Определяется небольшой отрезок времени, названный квантом времени
(10..100 мс). Очередь готовых процессов рассматривается как кольцевая.
Процессы циклически перемещаются по очереди, получая CPU на время, равное
одному кванту. Новый процесс добавляется в хвост очереди. Если процесс не
завершился в пределах выделенного ему кванта времени, его работа
принудительно прерывается, и он перемещается в хвост очереди.
Пример 4
П1(24 мс)
П2(3 мс)
П3(3 мс)
q=4 мс.
Диаграмма Ганга соответственно Round Robin стратегии для этого случая имеет
вид:
|П1 |П2 |П3 |П1 |П1 |П1 |П1 |П1 |
|WT1=0 мс |7 |10 |14 |18 |22 |26 |30 |


Свойства Round Robin стратегии сильно зависят от величины временного
кванта q. Чем больше временной квант, тем дольше Round Robin стратегия
приближается к FCFS стратегии. (для рассмотренного примера, если q>24 мс,
то -> FCFS.) При очень малых значениях временного кванта Round Robin
стратегия называют разделением процессора — processor sharing. Теоретически
это означает, что каждый из N процессов работает со своим собственным
процессором, производительность процессора равна 1/N от производительности
физического процессора.

2.2.5. ПЛАНИРОВАНИЕ с использованием многоуровневой очереди.(Multilevel
queue scheduling)

ЭТА СТРАТЕГИя РАЗРАБОТАНА ДЛя СИТУАЦИИ, КОГДА ПРОЦЕССЫ МОГУТ БЫТЬ
ЛЕГКО КЛАССИФИЦИРОВАНЫ НА НЕСКОЛЬКО ГРУПП, НАПРИМЕР, чАСТО ПРОЦЕССЫ
РАЗДЕЛяЮТ НА ДВЕ ГРУППЫ: ИНТЕРАКТИВНЫЕ (ПРОЦЕССЫ ПЕРЕДНЕГО ПЛАНА) И
ПАКЕТНЫЕ (ФОНОВЫЕ).
Интерактивные и пакетные процессы имеют различные требования к
краткосрочному планировщику, например по отношению ко времени отклика.
Стратегия многоуровневой очереди разделяет очередь готовых процессов
на несколько очередей, в каждой из которых находятся процессы с одинаковыми
свойствами, и каждый из которых может планироваться индивидуальной
стратегией, например Round Robin стратегия для интерактивных процессов и
FCFS для пакетных процессов.
Взаимодействие очередей осуществляется по следующим правилам: ни один
процесс с более низким приоритетом не может быть запущен, пока не
выполнятся процессы во всех очередях с более высоким приоритетом.

Работа процесса из очереди с более низким приоритетом может быть
приостановлена, если в одной из очередей с более высоким приоритетом
появился процесс.


2.2.6. Программирование с использованием многоуровневой очереди с обратными
связями (multilevel feedback queue sheduling)

ОБЫчНАя МНОГОУРОВНЕВАя ОчЕРЕДЬ НЕ ДОПУСКАЕТ ПЕРЕМЕЩЕНИя ПРОЦЕССОВ
МЕЖДУ ОчЕРЕДяМИ. МНОГОУРОВНЕВАя ОчЕРЕДЬ С ОБРАТНЫМИ СВяЗяМИ ПРЕДПОЛАГАЕТ,
чТО ПРОЦЕССЫ ПРИ ОПРЕДЕЛЕННЫХ УСЛОВИяХ МОГУТ ПЕРЕМЕЩАТЬСя МЕЖДУ ОчЕРЕДяМИ.

Процессы первоначально попадают в очередь 0, где каждому из них
предоставляется квант времени, равный 8 мс. Те процессы, которые не успели
выполниться в течение этого времени, перемещаются в очередь 1. Процессы из
очереди 1 начинают обрабатываться только тогда, когда очередь 0 становиться
пустой. Те процессы, которые не выполнились в очереди 1 (q=16 мс)
перемещаются в очередь 2. Процессы из очереди 2 будут обрабатываться только
в том случае, если становятся пустыми очереди 0 и 1.
Рассмотренная стратегия является наиболее универсальной и сочетает в
себе свойства всех рассмотренных раньше стратегий.
1. FCFS
2. SJF
3. приоритетная
4. Round Robin
5. многоуровневая очередь

3. Управление невиртуальной памятью.


3.1. СВОППИНГ. (SWAPPING)

СВОППИНГОМ НАЗЫВАЕТСя МЕТОД УПРАВЛЕНИя ПАМяТЬЮ, ОСНОВАННЫЙ НА ТОМ,
чТО ВСЕ ПРОЦЕССЫ, УчАСТВУЮЩИЕ В МУЛЬТИПРОГРАММНОЙ ОБРАБОТКЕ, ХРАНяТСя ВО
ВНЕШНЕЙ ПАМяТИ.
Процесс, которому выделен CPU, временно перемещается в основную
память (swap in/roll in).
В случае прерывания работы процесса он перемещается обратно во
внешнюю память (swap out/roll out).
Замечание: при своппинге из основной памяти во внешнюю (и обратно)
перемещается вся программа, а не её отдельная часть.
Своппинг иногда используют при приоритетном планировании CPU. В этом
случае с целью освобождения памяти для высокоприоритетных процессов,
низкоприоритетные процессы перемещаются во внешнюю память.
Основное применение своппинг находит в системах разделения времени,
где он используется одновременно с Round Robin стратегией планирования CPU.
В начале каждого временного кванта блок управления памятью выгружает
из основной памяти процесс, работа которого была только что прервана, и
загружает очередной выполненный процесс.
Метод своппинга влияет на величину временного кванта Round Robin
стратегии.
Пример.
1. пусть очередной загружаемый в память процесс имеет размер 100Кб.
2. диск позволяет читать данные со скоростью 1 Мб в секунду
3. следовательно, 100 Кб могут быть загружены за 100 мс.
4. будем считать, что для первоначального подвода головки чтения - записи
потребуется 8 мс
5. таким образом, операция своппинг займет 108 мс, а общее время своппинга
- 216 мс.
Для эффективной загруженности процессора время своппинга должно быть
существенно меньше времени счета. Следовательно, для рассмотренного примера
квант времени должен быть существенно больше, чем 216 мс. Ясно, что это
число значительно увеличится, если перемещаемый процесс имеет размер,
например, 1 Мб.
Недостаток “чистого” своппинга в больших потерях времени на загрузку
или выгрузку процессов. Поэтому в современных операционных системах
используется модифицированные варианты своппинга.
Так, например, во многих версиях операционной системы UNIX своппинг
включается только в том случае, когда количество процессов в памяти
становится слишком большим.

3.2. Смежное размещение процессов.

МЕТОДЫ РАЗМЕЩЕНИя ПРОЦЕССОВ В ОСНОВНОЙ ПАМяТИ ПО ОТНОШЕНИЮ К
РАСПОЛОЖЕНИЮ УчАСТКОВ ПАМяТИ, ВЫДЕЛЕННЫХ ДЛя ОДНОЙ И ТОЙ ЖЕ ПРОГРАММЫ ДЕЛяТ
НА ДВА КЛАССА. ПЕРВЫЙ — МЕТОД СМЕЖНОГО РАЗМЕЩЕНИя, А ВТОРОЙ — МЕТОД
НЕСМЕЖНОГО РАЗМЕЩЕНИя.
Смежное размещение является простейшим и предполагает, что в памяти,
начиная с некоторого начального адреса выделяется один непрерывный участок
адресного пространства.
при несмежном размещении программа разбивается на множество частей,
которые располагаются в различных, необязательно смежных участках адресного
пространства.

3.2.1. Однопрограммный режим.


РИСУНОК ИЛЛЮСТРИРУЕТ СМЕЖНОЕ РАЗМЕЩЕНИЕ (CONTIGUOUS ALLOCATION) ОДНОЙ
ПРОГРАММЫ В ОСНОВНОЙ ПАМяТИ.
При смежном размещении размер загружаемой программы ограничивается
размером накопителя. Для того, чтобы при смежном размещении загружать
программы, размеры которых превышают размеры накопителя, используют метод
оверлейных сегментов (overlay segments).

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

Во время работы прикладной программы все адреса, генерируемые CPU,
сравниваются с содержимым регистра границы. Если генерируется адрес меньше
числа а, работа программы прерывается.

3.2.2 Мультипрограммный режим с ФИКСИРОВАННЫМИ границами.

МУЛЬТИПРОГРАММИРОВАНИЕ С ФИКСИРОВАННЫМИ РАЗДЕЛАМИ (MULTIPROGRAMMING
WITH A FIXED NUMBER OF TASKS) ПРЕДПОЛАГАЕТ РАЗДЕЛЕНИЕ АДРЕСНОГО
ПРОСТРАНСТВА НА РяД РАЗДЕЛОВ ФИКСИРОВАННОГО РАЗДЕЛА. В КАЖДОМ РАЗДЕЛЕ
РАЗМЕЩАЕТСя ОДИН ПРОЦЕСС.

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

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


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

3.2.3. Мультипрограммирование с переменными разделами. (multiprogramming
with a variable number of tasks (MVT).

МЕТОД MULTIPROGRAMMING WITH A VARIABLE NUMBER OF TASKS ПРЕДПОЛАГАЕТ
РАЗДЕЛЕНИЕ ПАМяТИ НА РАЗДЕЛЫ И ИСПОЛЬЗОВАНИЕ ЗАГРУЗОчНЫХ МОДУЛЕЙ В
ПЕРЕМЕЩАЕМЫХ АДРЕСАХ, ОДНАКО, ГРАНИЦЫ РАЗДЕЛОВ НЕ ФИКСИРУЮТСя.
| | | | | |0|ОС |
|90 Кб | | | | |а|Раздел 1 |
|П5 |П4 |П3 |П2 |П1 | |Раздел 2 |
| | | | | | |Раздел 3 |
| | | | | | |Раздел 4 |
| | | | | | |80 Кб |


Как следует из рисунка, в начальной фазе отсутствует фрагментация,
связанная с тем, что размер очередного процесса меньше размера, занимаемого
этим процессом раздела. На этой фазе причиной фрагментации является
несоответствие размера очередного процесса и оставшегося участка памяти. По
мере завершения работы программы освобождаются отдельные разделы. В том
случае, когда освобождаются смежные разделы, границы между ними удаляются и
разделы объединяются.
| | | |0|ОС |
| | |90 Кб |а|Раздел 1 |
|П7 |П6 |П5 | |100 Кб |
| | | | | |
| | | | |Раздел 4 |
| | | | | |


За счет объединения или слияния смежных разделов образуются большие
фрагменты, в которых можно разместить большие программы из очереди.
Таким образом, на фазе повторного размещения действуют те же причины
фрагментации, что и для метода MFT.

3.2.4. Мультипрограммирование с переменными разделами и уплотнением памяти.


ЯСНО, чТО МЕТОД MULTIPROGRAMMING WITH A VARIABLE NUMBER OF TASKS
ПОРОЖДАЕТ В ПАМяТИ МНОЖЕСТВО МАЛЫХ ФРАГМЕНТОВ, КАЖДЫЙ ИЗ КОТОРЫХ МОЖЕТ БЫТЬ
НЕДОСТАТОчЕН ДЛя РАЗМЕЩЕНИя ОчЕРЕДНОГО ПРОЦЕССА, ОДНАКО СУММАРНЫЙ РАЗМЕР
ФРАГМЕНТОВ ПРЕВЫШАЕТ РАЗМЕР ЭТОГО ПРОЦЕССА.
Уплотнением памяти называется перемещение всех занятых разделов по
адресному пространству памяти. Таким образом, чтобы свободный фрагмент
занимал одну связную область.

На практике реализация уплотнения памяти сопряжена с усложнением
операционной системы и обладает следующими недостатками:
1. в тех случаях, когда мультипрограммная смесь неоднородна по отношению к
размерам программ, возникает необходимость в частом уплотнении, что
расходует ресурс процессорное время и компенсирует экономию ресурса
памяти.
2. во время уплотнения все прикладные программы переводятся в состояние
“ожидание”, что приводит к невозможности выполнения программ в реальном
масштабе времени.

3.2.5. Основные стратегии заполнения свободного раздела.

РАССМОТРЕННЫЕ МЕТОДЫ МУЛЬТИПРОГРАММИРОВАНИя ПРЕДПОЛАГАЮТ НАЛИчИЕ
ВХОДНОЙ ОчЕРЕДИ/ОчЕРЕДЕЙ К РАЗДЕЛАМ ОСНОВНОЙ ПАМяТИ.
В том случае, когда освобождается очередной раздел, операционная
система должна выбрать один из процессов для размещения его в памяти.
Алгоритм выбора может использовать одну из следующих трех стратегий:
1. стратегия наиболее подходящего (best fit strategy) выбирает процесс,
которому в освободившемся разделе наиболее тесно (выигрыш в памяти).
2. стратегия первого подходящего (first fit strategy) выбирает первый
процесс, который может разместить в освободившемся разделе.
3. стратегия наименее подходящего (last fit strategy) выбирает процесс,
которому в освободившемся разделе наиболее свободно (в этом случае
остающийся фрагмент часто достаточен для размещения еще одного процесса)

3.3. Страничная организация памяти.

СТРАНИчНАя ОРГАНИЗАЦИя ПАМяТИ (PAGING) ОТНОСИТСя К МЕТОДАМ НЕСМЕЖНОГО
РАЗМЕЩЕНИя ПРОЦЕССОВ В ОСНОВНОЙ ПАМяТИ.
Основное достоинство страничной организации памяти заключается в том,
что она позволяет свести к минимуму общую фрагментацию за счет полного
устранения внешней фрагментации и минимизации внутренней фрагментации.

3.3.1. Базовый метод.


АДРЕСНОЕ ПРОСТРАНСТВО ОСНОВНОЙ И ВНЕШНЕЙ ПАМяТИ РАЗБИВАЮТ НА БЛОКИ
ФИКСИРОВАННОГО РАЗМЕРА, НАЗЫВАЕМЫЕ СТРАНИчНЫЕ РАМКИ (FRAMES). ЛОГИчЕСКОЕ
АДРЕСНОЕ ПРОСТРАНСТВО ПРОГРАММЫ ТАКЖЕ РАЗБИВАЕТСя НА БЛОКИ ФИКСИРОВАННОГО
РАЗМЕРА, НАЗЫВАЕМЫХ СТРАНИЦАМИ (PAGES). РАЗМЕРЫ СТРАНИчНЫХ РАМОК И СТРАНИЦ
СОВПАДАЮТ. ПРОЦЕСС ЗАГРУЖАЕТСя В ПАМяТЬ ПОСТРАНИчНО, ПРИчЕМ КАЖДАя СТРАНИЦА
ПОМЕЩАЕТСя В ЛЮБУЮ СВОБОДНУЮ СТРАНИчНУЮ РАМКУ ОСНОВНОЙ ПАМяТИ.
Каждый адрес, генерируемый процессором, состоит из двух частей: П -
номер страницы (page number) и Д - смещение в пределах страницы (off set).
Номер страницы может использоваться как индекс для таблицы страниц (page
table).
Таблица страниц содержит начальные адреса f всех страничных рамок, в
которых размещена программа. Физический адрес определяется путем сложения
начального адреса страничной рамки f и смещения Д.
| | |Вторичная | |Таблица | |Основная |
| | |память | |страниц | |память |
| | | | |программы | | |
| | | | |А | | |
| | |стр. 0 | |1 | |стр. 0 |
| |программа |стр. 1 | |3 | | |
| |А |стр. 2 | |4 | |стр. 1 |
| | |стр. 3 | | |7 | |стр. 2 |
| | | | | | | |
| | | | | | | |
| | | | | | |стр. 3 | |


Рисунок показывает, что страничная организация памяти полностью
исключает внешнюю фрагментацию. Внутренняя фрагментация не превышает
величины page_size-Q_Elem, где page_size — размер страничной рамки, а
Q_Elem — минимальный адресуемый элемент основной памяти.
Для ускорения вычисления физического адреса операцию суммирования
заменяют операцией конкатенации.
|старшие разряды |младшие разряды | |
| |2n+|2n | |f |
| |1 | | | |
| | | |
| |2n-| |2n |Д |
| |1 | | | |


На рисунке заштрихованы незаполненные нулевые разряды. Для того,
чтобы операция конкатенации была возможна, необходимо, чтобы базовые адреса
страничных рамок располагались только в старших разрядах (2n+1), а
следующие — только младших разрядов (20, 21, 22).

Например, при n=9 базовые адреса страничных рамок — это следующий
ряд: 512, 1024, 1536. Следовательно, размер страничной рамки равен 512
байт.
В современных операционных системах типичный размер страницы
составляет 2 Кб или 4 Кб.
Каждая операционная система поддерживает свой собственный метод
работы с таблице страниц. Обычно за каждым процессом, находящимся в
основной памяти, закреплена отдельная таблица страниц. В этом случае
указатель на таблицу страниц хранится в PCB соответствующего процесса.

3.3.2. Аппаратная поддержка страничной организации памяти.

ПРЕОБРАЗОВАНИЕ ЛОГИчЕСКОГО АДРЕСА В ФИЗИчЕСКИЕ ОСУЩЕСТВЛяЕТСя ДЛя
КАЖДОГО АДРЕСА, ГЕНЕРИРУЕМОГО ПРОЦЕССОРОМ, ПОЭТОМУ чАСТО ДЛя УСКОРЕНИя
ЭТОГО ПРОЦЕССА ПРИМЕНяЮТСя АППАРАТНЫЕ МЕТОДЫ. НА РИСУНКЕ ПРИВЕДЕНА СХЕМА,
ИЛЛЮСТРИРУЮЩАя МЕТОД, ИСПОЛЬЗУЮЩИЙ АССОЦИАТИВНЫЕ РЕГИСТРЫ (ASSOCIATIVE
REGISTERS).
Каждый ассоциативный регистр кроме операций чтения - записи может
обрабатывать операцию сравнения кода, поступающего на его вход с частью
кода, хранимого в регистре. Матрица ассоциативных регистров хранит часть
таблицы страниц. Номер страницы П подается одновременно на входы всех
ассоциативных регистров, которые параллельно выполняют операцию сравнения.
На выходе матрицы ассоциативных регистров образуется начальный адрес
страничной рамки f того регистра, в котором произошло совпадение кода.
В том случае, если требуемый номер страницы находится в таблице
страниц, то есть ни в одном из ассоциативных регистров не произошло
совпадение, происходит обращение к таблице страниц, находится искомый номер
страничной рамки, а найденная строка таблицы страниц переписывается в один
из ассоциативных регистров.
Защита страничной памяти основана на контроле уровня доступа к каждой
странице, возможны следующие уровни доступа:
1. только чтение
2. и чтение и запись
3. только выполнение
В этом случае каждая страница снабжается трехбитным кодом уровня
доступа. При трансформации логического адреса в физический сравнивается
значение кода разрешенного уровня доступа с фактически требуемым. При их
несовпадении работа программы прерывается.

3.4. Сегментная организация памяти.

СТРАНИчНАя ОРГАНИЗАЦИя ПАМяТИ ПРЕДПОЛАГАЕТ, чТО РАЗДЕЛЕНИЕ ПРОГРАММЫ
НА СТРАНИЦЫ ОСУЩЕСТВЛяЕТ ОПЕРАЦИОННАя СИСТЕМА И ЭТО НЕВИДИМО ДЛя
ПРИКЛАДНОГО ПРОГРАММИСТА. БОЛЬШИНСТВО ТЕХНОЛОГИЙ ПРОГРАММИРОВАНИя ТАКЖЕ
ПРЕДПОЛАГАЕТ РАЗДЕЛЕНИЕ ПРОГРАММЫ НА МНОЖЕСТВО ЛОГИчЕСКИХ чАСТЕЙ —
ПОДПРОГРАММЫ, ПРОЦЕДУРЫ, МОДУЛИ И ТАК ДАЛЕЕ.
Сегментная организация памяти представляет собой метод несмежного
размещения, при котором программа разбивается на части (сегменты) на этапе
программирования. Отдельный сегмент хранит отдельную логическую часть
программы: программный модуль или структуру данных (массив), стек, таблица
и так далее.

3.4.1. Базовый метод сегментной организации памяти.

ОБЫчНО СЕГМЕНТЫ ФОРМИРУЮТСя КОМПИЛяТОРОМ, А НА ЭТАПЕ ЗАГРУЗКИ ИМ
ПРИСВАИВАЮТСя ИДЕНТИФИЦИРУЮЩИЕ НОМЕРА. ТАКИМ ОБРАЗОМ, ЛОГИчЕСКИЙ АДРЕС ПРИ
СЕГМЕНТНОЙ ОРГАНИЗАЦИИ ПАМяТИ СОСТОИТ ИЗ ДВУХ чАСТЕЙ: S И D, ГДЕ S — НОМЕР
СЕГМЕНТА, А D — СМЕЩЕНИЕ В ПРЕДЕЛАХ СЕГМЕНТА.
Трансформация логического адреса в физический осуществляется с
помощью таблицы сегментов (segment table).

Количество строк таблицы сегментов равно количеству сегментов
программы: S, limit, base. Limit — размер сегмента, base — начальный адрес
сегмента в памяти.
Номер сегмента S используется в качестве индекса для таблицы
сегментов. С помощью таблицы сегментов определяется его начальный адрес
base в основной памяти. Значение limit используется для защиты памяти.
Смещение d должно удовлетворять неравенству 0

Новинки рефератов ::

Реферат: Субъект управления (Логика)


Реферат: биография В. И. Ленина (до 1910 года) (Исторические личности)


Реферат: Акцентуация характера в подростковом возрасте (Психология)


Реферат: САПР (Кибернетика)


Реферат: Моделирование процессов переработки пластмасс (Технология)


Реферат: Второй Закон Термодинамики (Физика)


Реферат: Продвижение товара на рынке и методы его продвижения (Предпринимательство)


Реферат: Гипотезы образования государственности на Руси (История)


Реферат: Н.А. Бердяев о характере русского народа (Культурология)


Реферат: В. Хлебников (Исторические личности)


Реферат: Время в античной литературе (Культурология)


Реферат: Глюкоза (Химия)


Реферат: Армяне - нация третьего тысячелетия (Религия)


Реферат: Безналичный денежный оборот (Деньги и кредит)


Реферат: В.С. Высоцкий или Прерванный полет (Музыка)


Реферат: Генрих Шлиман (История)


Реферат: Места обучения детей с проблемами в развитии (Педагогика)


Реферат: Воспитание гражданственности и патриотизма (История)


Реферат: "Стихотворения в прозе" И.С.Тургенева (Литература : русская)


Реферат: Восприятие цвета человеком (Психология)



Copyright © GeoRUS, Геологические сайты альтруист