Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Основные виды ресурсов




Одним из важнейших ресурсов является сам процессор, точнее процессорное время. Имеется множество методов разделения этого ресурса.
Вторым важным ресурсом является оперативная память. В оперативной памяти может располагаться одновременно несколько процессов (точнее фрагментов, участвующих в вычислении), а может вся оперативная память предоставляться процессам попеременно.
В конкретный момент времени процессор при выполнении вычислений обращается к очень небольшому числу ячеек оперативной памяти, поэтому память желательно разделить для возможно большего числа параллельно исполняемых процессов. С другой стороны, чем больше оперативной памяти предоставлено процессу, тем условия для его выполнения. Проблема разделения оперативной памяти между параллельно выполняемыми процессами является наиболее актуальной.
Внешняя память, например магнитный диск, является двумя видами ресурсов:
- собственно память;
- доступ к ней.
Каждый из этих ресурсов может предоставляться независимо друг от друга, но для работы с внешней памятью необходимы оба вида ресурсов:
- собственно память используется одновременно;
- доступ к внешней памяти попеременный.
Если обращение к внешнему устройству использует механизм прямого доступа, то такие устройства разделяются параллельно. Если устройство работает с последовательным доступом, то оно не относится к разделяемым ресурсам, например, принтер или накопитель на магнитной ленте.
Важным видом ресурсов являются программные модули. Системные программные модули рассматриваются как ресурсы, которые могут быть разделены между параллельно выполняемыми процессами.
Программные модули могут использоваться:
- однократно;
- многократно.
Однократно исполняемые модули, как правило, могут быть выполнены только один раз, поскольку в процессе своего исполнения они могут:
- повредить часть кода;
- повредить исходные данные, от которых зависит ход вычислений.
Однократно исполняемые программные модули вообще не распределяются как ресурс системы, они, как правило, используются только на этапе загрузки системы.
Повторно используемые программные модули делятся на следующие виды:
- непривилегированные;
- привилегированные;
- реентерабельные.
Привилегированные программные модули работают в привилегированном режиме, при отключенной системе прерываний, т.е. никакие внешние события не могут нарушить естественный порядок вычислений. Привилегированный программный модуль всегда выполняется до конца и представляет собой попеременно разделяемый ресурс.
Структура привилегированного программного модуля включает следующие секции:
- отключение прерываний;
- собственно тело программного модуля;
- включение прерываний.
Непривилегированные программные модули – это обычные программные модули, которые могут быть прерваны во время своей работы. В общем случае их нельзя считать разделяемыми, потому что если его прервать в рамках одного процесса и запустить еще раз в рамках другого процесса, то промежуточные результаты для первого процесса могут быть потеряны.
Реентерабельные программные модули допускают повторное многократное прерывание своего исполнения и повторный их запуск при обращении из других задач, т.е. реентерабельные программные модули должны сохранять промежуточные значения для прерываемых вычислений и их восстановление, когда вычислительный процесс возобновляется с прерванной точки. Это можно реализовать двумя способами:
- с помощью статических методов выделения памяти под сохраняемые значения;
- с помощью динамических методов выделения памяти под сохраняемые значения. Этот метод используется чаще.
Реентерабельный программный модуль делится на следующие секции:
- привилегированный модуль, заказывающий в системной области памяти блок ячеек для хранения текущих (промежуточных) данных;
- основное тело реентерабельного модуля, которое и может быть прервано. Работает в непривилегированном режиме;
- привилегированный модуль, освобождающий в системной области памяти блок памяти, использованный для хранения промежуточных результатов.
При помещении всех промежуточных данных в системную область, на вершину стека помещается указатель на начало области данных и ее объем. Во время исполнения центральной секции реентерабельного программного модуля возможно ее прерывание. Если прерывание не возникло, то в последней секции производится освобождение использованного блока системной области памяти. Если во время исполнения центральной части произошло прерывание и другой вычислительный процесс обращается к тому же реентерабельному модулю, то для этого нового процесса выделяется новый блок памяти в системной области и на вершину стека записывается новый указатель. Повторное вхождение возможно, пока не израсходуется область системной памяти, выделенной специально для реентерабельной обработки.
При статическом способе выделения памяти резервируется область памяти для фиксированного числа вычислительных процессов, в которых будут располагаться переменные реентерабельных программных модулей, для каждого процесса своя область памяти. К таким процессам относятся драйверы ввода/вывода.
Кроме реентерабельных программных модулей еще имеются повторно входимые модули. Повторно входимые программные модули допускают многократное параллельное исполнение, но их нельзя прерывать. Повторно входимые программные модули состоят из привилегированных секций и повторное обращение к ним возможно только при завершении работы какой-либо секции. После выполнения какой-либо секции управление передается супервизору, который определит, какой процесс будет использовать этот модуль и с какой точки. В повторно входимых программных модулях определены все допустимые (возможные) точки входа. Повторно входимые модули встречают гораздо чаще, чем реентерабельные.
К ресурсам относятся также информационные ресурсы, т.е. данные. Информационные ресурсы включают в себя:
- переменные, находящиеся в оперативной памяти;
- файлы.
Если процессы используют данные только для чтения, то такие информационные ресурсы можно разделять.
Если процессы могут изменять данные, то работы с такими данными должна быть организована специальным образом.


 

 

 

Программирование задач управления вводом/выводом является наиболее сложным, требующим высокой квалификации, поэтому подпрограммы ввода/вывода:
- оформляли в виде системных библиотечных процедур;
- включили в операционную систему, чтобы не включать этот код в каждую программу, а только оформить обращение к нему.
Системы программирования вставляют в машинный код необходимые библиотечные подпрограммы ввода/вывода и обращения к тем системным программным модулям, которые управляют операциями обмена между оперативной памятью и внешними устройствами.
Управление вводом/выводом – одна из основных функций любой операционной системы.
Организация ввода/вывода в различных ОС имеет много общего, а реализация сильно отличается от системы к системе.

 


Основные понятия и концепции организации ввода/вывода в ОС

Сложность проектирование ввода/вывода возникает из-за огромного числа устройств различной природы и назначения. Разработчик ввода/вывода должен решить две задачи:
- обеспечить эффективное управление устройствами ввода/вывода;
- создать удобный и эффективный интерфейс устройств ввода/вывода, позволяющий прикладным программистам просто считывать или сохранять данные.
Система ввода/вывода должна быть универсальной.
Главный принцип ввода/вывода – любые операции по управлению вводом/выводом объявляются привилегированными и могут выполняться только самой ОС.
Для обеспечения этого принципа в большинстве процессоров вводятся два режима:
- режим пользователя, выполнение команд ввода/вывода запрещено;
- режим супервизора, выполнение команд ввода/вывода разрешено.
Использование команд ввода/вывода в пользовательском режиме вызывает исключение (прерывание) и управление передается ОС.
Для мультипрограммных ОС одним из основных видов ресурсов являются устройства ввода/вывода и обслуживающие их программы. ОС должны управлять разделяемыми и неразделяемыми устройствами и позволять параллельно выполняющимися задачам использовать различные устройства ввода/вывода.
Непосредственное обращение к внешним устройствам из пользовательских программ не разрешено по трем причинам:
- возможные конфликты при доступе к устройствам ввода/вывода;
- повышение эффективности использование этих ресурсов;
- ошибки в программах ввода/вывода могут привести к разрушению системы.
Компонента ОС, выполняющая ввод/вывод называется супервизором ввода/вывода. Основные задачи супервизора следующие:
- получение, проверка на корректность и выполнение запросов на ввод/вывод от прикладных задач и от модулей самой системы;
- планирование ввода/вывода: выполнение или постановка в очередь;
- инициирование ввода/вывода – передача управления драйверам;
- при получении сигналов прерывания передача управления соответствующей программе обработки прерывания;
- передача сообщений об ошибках, если они появляются;
- передача сигнала о завершении операции ввода/вывода.
Если устройство ввода/вывода является инициативным, управление со стороны супервизора ввода/вывода заключается в активизации соответствующего вычислительного процесса. Инициативное устройство – устройство, по сигналу прерывания от которого запускается соответствующая ему программа.
Имеются два основных режима ввода/вывода:
- режим обмена с опросом готовности;
- режим обмена с прерываниями.
Центральный процессор посылает устройству управления команду для ввода/вывода. Устройство ввода/вывода исполняет команду, преобразуя ее в сигнал, понятный устройству ввода/вывода. Устройства ввода/вывода намного медленнее центрального процессора, поэтому сигнал готовности приходится очень долго ждать, постоянно опрашивая устройство интерфейса. В режиме опроса готовности драйвер, управляющий процессом обмена данными с внешним устройством, выполняет в цикле команду «поверить готовность устройства». Центральный процессор в таком режиме используется нерационально.
Режим обмена с прерываниями является режимом асинхронного управления. Драйверы, работающие в режиме прерываний, представляют собой сложный комплекс программ и могут иметь несколько секций:
- секцию запуска, которая инициирует операцию ввода/вывода, включает устройство или инициирует очередь ввода/вывода;
- одну или несколько секций продолжения, которые являются обработчиками прерываний;
- секцию завершения, которая выключает устройство и завершает операцию.
Для организации использования многими параллельно выполняющимися задачами устройств ввода/вывода, которые не могут быть разделяемыми, введено понятие виртуального устройства (спулинга). Главная задача спулинга – создать видимость параллельного разделения устройства ввода/вывода с последовательным доступом, которое должно быть монопольным и быть закрепленным. Например, каждому вычислительному процессу можно предоставить не реальный, а виртуальный принтер, и поток выводимых символов сначала направить в файл на диске. По окончанию виртуальной печати в соответствии с дисциплиной обслуживания и приоритетами приложений содержимое спул файла выводится на принтер. Системный процесс, управляющий спул файлом, называется спулером.
Синхронный ввод/вывод характеризуется тем, что задача, выдавшая запрос на операцию ввода/вывода, переводится супервизором в состояние ожидания завершения указанной операции. Когда супервизор получает от секции завершения сообщение о завершении, он переводит задачу в состоянье готовности к выполнению, и она продолжает свою работу. Синхронный ввод/вывод является стандартным для большинства ОС.
Простейший вариант асинхронного вывода – буферизованный вывод данных на внешнее устройство, при котором данные из приложения передаются не непосредственно на устройство ввода/вывода, а в специальный системный буфер. В этом случае логически операция вывода считается законченной, и задача может не ожидать реального процесса вывода данных на устройство. Процессом реального вывода занимается супервизор ввода/вывода. Асинхронный вывод возможен при наличии двух условий:
- в запросе на вывод было указано на необходимость буферизации данных;
- устройство вывода допускает асинхронные операции.
Для организации асинхронного ввода необходимо:
- выделить область памяти для временного хранения считываемых с устройства данных;
- связать выделенный буфер с задачей, заказавшей операцию ввода;
- запрос на операцию ввода разбить на две части (два запроса).
В первом запросе указывается операция на ввод данных, как при асинхронном вводе, и имя буфера для вводимых данных. После этого задача продолжает выполнение или переводится в режим ожидания выполнения, но не переводится в ожидания завершения операции ввода/вывода, как при асинхронном вводе. После выполнения некоторого объема программного кода задача выдает второй запрос на завершение операции ввода и, если операция ввода данных завершена к этому времени, то выбирает данные из системного буфера, если операция ввода не завершена, то задача приостанавливается до завершения ввода, как при асинхронном вводе.
Накопители на магнитных дисках обладают крайне низкой скоростью по сравнению с быстродействием центральной части процессора. С учетом того, что операции чтения/записи на диск производятся несколькими большими буферами, средняя скорость работы процессора с оперативной памятью на 2 – 3 порядка выше, чем скорость передачи данных из внешней памяти на магнитных дисках в оперативную память. Чтобы сгладить такое несоответствие в производительности основных подсистем, используется буферирование и/или кэширование данных.
Простейший вариант – использование двойного буферирования: пока в один буфер заносятся данные с магнитного диска, из второго буфера ранее считанные данные могут быть прочитаны запросившей их программой. Аналогичный процесс происходит при записи. Буферирование используется во всех ОС.
Кэширование полезно в том случае, когда программа неоднократно читает с диска одни и те же данные. После того как они один раз будут помещены в кэш, обращение к диску больше не потребуется, и скорость работы программы значительно возрастет. Под КЭШем понимается некий пул буферов, управление которым производится с помощью системного процесса.

 

 

BIOS (basic input/output system) - базовая система ввода-вывода - это встроенное в компьютер программное обеспечение, которое ему доступно без обращения к диску. На PC BIOS содержит код, необходимый для управления клавиатурой, видеокартой, дисками, портами и другими устройствами.

Обычно BIOS размещается в микросхеме ПЗУ (ROM), размещенной на материнской плате компьютера (поэтому этот чип часто называют ROM BIOS). Эта технология позволяет BIOS всегда быть доступным, несмотря на повреждения, например, дисковой системы. Это также позволяет компьютеру самостоятельно загружаться. Поскольку доступ к RAM (оперативной памяти) осуществляется значительно быстрее, чем к ROM, многие производители компьютеров создают системы таким образом, чтобы при включении компьютера выполнялось копирование BIOS из ROM в оперативную память. Задейтвованная при этом область памяти называется Shadow Memory (теневая память).

В настоящее время, почти все материнские платы комплектуются Flash BIOS, BIOSом, который в любой момент может бытть перезаписан в микросхеме ROM при помощи специальной программы.

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

BIOS, который поддерживает технологию Plug-and-Play, называется PnP BIOS. При использовании этой технологии BIOS должен быть обязательно прошит во Flash ROM.

 

 

Процесс загрузки компьютера казалось бы изучен нами до мелочей: кнопка - BIOS - операционная система - логин... А ты задумывался когда-нибудь о том что же на самом деле происходит в это время внутри твоего компьютера? Можешь по шагам рассказать как работает компьютер? Уверен, что нет. Поэтому сегодня проведем короткий ликбез - расскажем о том, как же на самом деле загружается компьютер.
Эта статья рассматривает работу Windows XP, в остальных системах процесс, естественно, несколько отличается.

 


Включается тумблер питания.
Блок питания проводит самодиагностику. Когда все электрические параметры в норме БП посылает сигнал Power Good процессору. Время между включением питания и уходом сигнала обычно 0.1-0.5 секунд.

Таймер микропроцессора получает сигнал Power Good.
С получением этого сигнала таймер перестает посылать сигнал Reset процессору, позволяя тому включиться.

CPU начинает выполнять код ROM BIOS.
Процессор загружает ROM BIOS начиная с адреса FFFF:0000. По этому адресу прописан только переход на адрес настоящего кода BIOS ROM.

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

BIOS ищет адаптеры, которые могут потребовать загрузки своего BIOS-а
.
Самым типичным случаем в этом случае является видео карта. Загрузочная процедура сканирует память с адреса C000:0000 по C780:0000 для поиска видео ROM. Таким образом загружаются системы всех адаптеров.

ROM BIOS проверяет выключение это или перезагрузка
.
Процедура два байта по адресу 0000:0472. Любое значение отличное от 1234h является свидетельством "холодного" старта.

Если это включение ROM BIOS запускает полный POST (Power On Self Test). Если это перезагрузка, то из POST процедуры исключается проверка памяти.
Процедуру POST можно разделить на три компоненты:

Видео тест инициализирует видео адаптер, тестирует карту и видео память, показывает конфигурацию или возникшие ошибки.
Идентификация BIOS-а показывает версию прошивки, производителя и дату.
Тест памяти проверяет чипы памяти и подсчитывает размер установленной памяти.
Ошибки, которые могут возникнуть в ходе POST проверки можно разделить на смертельные и не очень:). Во втором случае они показываются на экране, но позволяют продолжить процесс загрузки. Ясно, что в первом случае процесс загрузки останавливается, что обычно сопровождается серией бип-кодов.

BIOS читает конфигурационную информацию из CMOS.
Небольшая область памяти (64 байт) питается от батарейки на материнской платы. Самое главное для загрузки в ней - порядок, в котором должны опрашиваться приводы, какой из них должен быть первым - дисковод, CD-ROM или винчестер.

Если первым является жесткий диск, BIOS проверяет самый первый сектор диска на наличие Master Boot Record (MBR). Для дисковода проверяется Boot Record в первом секторе.
Master Boot Record - первый сектор на цилиндре 0, 0 головке, 512 байт размером. Если она находится, то загружается в память по адресу 0000:7C00, потом проверяется на правильную сигнатуру - два последних байта должны быть 55AAh. Отсутствие MBR или этих проверочных байт останавливает процесс загрузки и выдает предупреждение. Сама MBR состоит из двух частей - системного загрузчика (partition loader или Boot loader), программы, которая получает управление при загрузке с этого жесткого диска; таблицы разделов (партиций), которая содержит информацию о логических дисках, имеющихся на жестком диске.

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

Дальше Boot Loader проверяет таблицу партиций в поисках активной. Загрузчик дальше ищет загрузочную запись (Boot Record) на самом первом секторе раздела
.
В данном случае Boot Record это еще 512 байт - таблица с описанием раздела (количество байт в секторе, количество секторов в кластере и т.п.) и переход на первый файл операционной системы (IO.SYS в DOS).

Операционная система
.

Управление передается операционной системы. Как же она работает, как проходит процесс загрузки?

Boot Record проверяется на правильность и если код признается правильным то код загрузочного сектора исполняется как программа.
Загрузка Windows XP контролируется файлом NTLDR, находящемся в корневой директории системного раздела. NTLDR работает в четыре приема:

Начальная фаза загрузки
Выбор системы
Определение железа
Выбор конфигурации


В начальной фазе NTLDR переключает процессор в защищенный режим. Затем загружает соответствующий драйвер файловой системы для работы с файлами любой файловой системы, поддерживаемой XP.
Если кто забыл, то наша любимая ОСь может работать с FAT-16, FAT-32 и NTFS.

Если в корневой директории есть BOOT.INI, то его содержание загружается в память. Если в нем есть записи более чем об одной операционной системе, NTLDR останавливает работу - показывает меню с выбором и ожидает ввода от пользователя определенный период времени.
Если такого файла нет, то NTLDR продолжает загрузку с первой партиции первого диска, обычно это C:\.

Если в процессе выбора пользователь выбрал Windows NT, 2000 или XP, то проверяется нажатие F8 и показ соответствующего меню с опциями загрузки.
После каждой удачной загрузки XP создает копию текущей комбинации драйверов и системных настроек известную как Last Known Good Configuration. Этот коллекцию можно использовать для загрузки в случае если некое новое устройство внесло разлад в работу операционной системы.

Если выбранная операционная система XP, то NTLDR находит и загружает DOS-овскую программу NTDETECT.COM для определения железа, установленного в компьютере
.
NTDETECT.COM строит список компонентов, который потом используется в ключе HARDWARE ветки HKEY_LOCAL_MACHINE реестра.

Если компьютер имеет более одного профиля оборудования программа останавливается с меню выбора конфигурации.

После выбора конфигурации NTLDR начинает загрузку ядра XP (NTOSKRNK.EXE)
.
В процессе загрузки ядра (но перед инициализацией) NTLDR остается главным в управлении компьютером. Экран очищается и внизу показывается анимация из белых прямоугольников. Кроме ядра загружается и Hardware Abstraction Layer (HAL.DLL), дабы ядро могло абстрагироваться от железа. Оба файла находятся в директории System32.

NTLDR загружает драйвера устройств, помеченные как загрузочные. Загрузив их NTLDR передает управление компьютером дальше
.
Каждый драйвер имеет ключ в HKEY_LOCAL_MACHINE\SYSTEM\Services. Если значение Start равно SERVICE_BOOT_START, то устройство считается загрузочным. Для кажого такого устройства на экране печатается точка.

NTOSKRNL в процессе загрузки проходит через две фазы - так называемую фазу 0 и фазу 1. Первая фаза инициализирует лишь ту часть микроядра и исполнительные подсистемы, которая требуется для работы основных служб и продолжения загрузки. На этом этапе на экране показывается графический экран со статус баром
.
XP дизейблит прерывания в процессе фазы 0 и включает их только перед фазой 1. Вызывается HAL для подготовки контроллера прерываний. Инициализируются Memory Manager, Object Manager, Security Reference Monitor и Process Manager. Фаза 1 начинается когда HAL подготавливает систему для обработки прерываний устройств. Если на компьютере установлено более одного процессор они инициализируются. Все исполнительные подсистемы реинициализируются в следующем порядке:

Object Manager
Executive
Microkernel
Security Reference Monitor
Memory Manager
Cache Manager
LPCS
I/O Manager
Process Manager


Инициализация Менеджера ввода/Вывода начинает процесс загрузки всех системных драйверов. С того момента где остановился NTLDR загружаются драйвера по приоритету.
Сбой в загрузке драйвера может заставить XP перезагрузиться и попытаться восстановить Last Known Good Configuration.

Последняя задача фазы 1 инициализации ядра - запуск Session Manager Subsystem (SMSS). Подсистема ответственна за создание пользовательского окружения, обеспечивающего интерфейс NT
.
SMSS работает в пользовательском режиме, но в отличии от других приложений SMSS считается доверенной частью операционной системы и "родным" приложением (использует только исполнительные функции), что позволяет ей запустить графическую подсистему и login.

SMSS загружает win32k.sys - графическую подсистему.
Драйвер переключает компьютер в графический режим, SMSS стартует все сервисы, которые должны автоматически запускаться при старте. Если все устройства и сервисы стартовали удачно процесс загрузки считается удачным и создается Last Known Good Configuration.

Процесс загрузки не считается завершенным до тех пор, пока пользователь не залогинился в систему. Процесс инициализируется файлом WINLOGON.EXE, запускаемым как сервис и поддерживается Local Security Authority (LSASS.EXE), который и показывает диалог входа в систему.
Это диалоговое окно показывается примерно тогда, когда Services Subsystem стартует сетевую службу.

 

 

Управление задачами и памятью в операционных системах


 


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

 

Память является разделяемым ресурсом. Способы разделения памяти и времени центрального процессора сильно влияют на скорость выполнения отдельных вычислений и на общую эффективность вычислительной системы.
ОС выполняет следующие основные функции, связанные с управлением задачами:
- создание и удаление задач;
- планирование процессов и диспетчеризация задач;
- синхронизация задач, обеспечение их средствами коммуникации.
Система управления задачами обеспечивает похождение их через компьютер. В зависимости от состояния процесса ему должен быть предоставлен тот или иной ресурс.
Создание и удаление задач производится по соответствующим запросам от пользователей или самих задач.
Основным подходом к организации того или иного метода управления процессами является организация очередей процессов и ресурсов.
На распределение ресурсов влияют конкретные потребности тех задач, которые должны выполняться параллельно.
Задачи динамического планирования, т.е. наиболее эффективного распределения ресурсов, возникающие практически при каждом событии, называются диспетчеризацией. Планирование осуществляется реже, чем задача текущего распределения ресурсов между уже выполняющимися процессами и потоками. Различие между долгосрочным и краткосрочным планированием заключается в частоте запуска.
Долгосрочный планировщик решает, какой из процессов, находящихся во входной очереди, должен быть переведен в очередь готовых к выполнению процессов в случае освобождения ресурсов памяти. В очереди готовых к выполнению процессов должны находиться в равной пропорции процессы, ориентированные на ввод/вывод, и процессы, ориентированные на работу центрального процессора.
Краткосрочный планировщик решает, какая из задач, находящихся в очереди готовых к выполнению, должна быть передана на выполнение. В большинстве современных ОС долгосрочный планировщик отсутствует.




Поделиться с друзьями:


Дата добавления: 2014-10-15; Просмотров: 1755; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.041 сек.