рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

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

Основные виды ресурсов - раздел Информатика, Программное обеспечение можно разделить на две группы: системное программное обеспечение СПО и прикладное программное обеспечение ППО Рассмотрим Кратко Основные Виды Ресурсов Вычислительной Системы И Спосо­бы Их...

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

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

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

Если говорить о внешних устройствах, то они, как правило, могут разделяться параллельно, если используются механизмы прямого доступа. Если же устройст­во работает с последовательным доступом, то оно не может считаться разделяемым ресурсом. Простыми и наглядными примерами внешних устройств, кото­рые не могут быть разделяемыми, являются принтер и накопитель на магнитной ленте. Действительно, если допустить, что принтер можно разделять между дву­мя процессами, которые смогут его использовать попеременно, то результаты пе­чати, скорее всего, не смогут быть использованы — фрагменты выведенного тек­ста могут перемешаться таким образом, что в них невозможно будет разобраться. Аналогично обстоит дело и с накопителем на магнитной ленте. Если один про­цесс начнет что-то читать или писать, а второй при этом запросит перемотку лен­ты на ее начало, то оба вычислительных процесса не смогут выполнить свои вы­числения.

Очень важным видом ресурсов являются программные модули. Прежде всего, мы будем рассматривать системные программные модули, поскольку именно они обычно и рассматриваются как программные ресурсы, и, в принципе, могут быть распределены между выполняющимися процессами.

Как известно, программные модули могут быть однократно и многократно (или повторно) используемыми. Однократно используемыми называют такие про­граммные модули, которые могут быть правильно выполнены только один раз. Это означает, что в процессе своего выполнения они могут испортить себя: либо повреждается часть кода, либо — исходные данные, от которых зависит ход вы­числений. Очевидно, что однократно используемые программные модули явля­ются неделимым ресурсом. Более того, их обычно вообще не распределяют как ресурс системы. Системные однократно используемые программные модули, как правило, используются только на этапе загрузки ОС. При этом следует иметь в виду тот очевидный факт, что собственно двоичные файлы, которые обычно хранятся на системном диске, и в которых и записаны эти модули, не портятся, а потому могут быть повторно использованы при следующем запуске ОС.

Повторно используемые программные модули, в свою очередь, могут быть не­привилегированными, привилегированными и реентерабельными.

Привилегированные программные модули работают в так называемом привилеги­рованном режиме, то есть при отключенной системе прерываний (часто говорят, что прерывания закрыты), так, что никакие внешние события не могут нарушить естественный порядок вычислений. В результате программный модуль выполня­ется до своего конца, после чего он может быть вновь вызван на исполнение из другой задачи (другого вычислительного процесса). С позиций стороннего на­блюдателя по отношению к вычислительным процессам, которые попеременно (причем, возможно, неоднократно) в течение срока своей «жизни» вызывают не­который привилегированный программный модуль, такой модуль будет высту­пать как попеременно разделяемый ресурс. Структура привилегированных про­граммных модулей изображена на рис. 1.7. Здесь в первой секции программного модуля выключается система прерываний. В последней секции, напротив, вклю­чается система прерываний.

Непривилегированные программные модули — это обычные программные модули, которые могут быть прерваны во время своей работы. Следовательно, в общем случае их нельзя считать разделяемыми, потому что если после прерывания вы­полнения такого модуля, исполняемого в рамках одного вычислительного про­цесса, запустить его еще раз по требованию другого вычислительного процесса, то промежуточные результаты для прерванных вычислений могут быть потеря­ны. В противоположность этому, реентерабельные программные модули (reenterable) допускают повторное многократное прерывание своего исполнения и по­вторный их запуск по обращению из других задач (вычислительных процессов). Для этого реентерабельные программные модули должны быть созданы таким образом, чтобы было обеспечено сохранение промежуточных вычислений для прерываемых вычислений и возврат к ним, когда вычислительный процесс во­зобновляется с прерванной ранее точки. Это может быть реализовано двумя спо­собами: с помощью статических и динамических методов выделения памяти под сохраняемые значения. Основной, наиболее часто используемый динамический — способ выделения памяти для сохранения всех промежуточных результатов вы­числения, относящихся к реентерабельному программному модулю, может быть проиллюстрирован с помощью рис. 1.8.

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

Что касается статического способа выделения памяти, то здесь речь может идти, например, о том, что заранее для фиксированного числа вычислительных про­цессов резервируются области памяти, в которых будут располагаться перемен­ные реентерабельных программных модулей: для каждого процесса — своя область памяти. Чаще всего в качестве таких процессов выступают процессы ввода/вы­вода и речь идет о реентерабельных драйверах (реентерабельный драйвер мо­жет управлять параллельно несколькими однотипными устройствами.

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

Наконец, имеются и информационные ресурсы, то есть в качестве ресурсов мо­гут выступать данные. Информационные ресурсы могут существовать как в виде переменных, находящихся в оперативной памяти, так и в виде файлов. Если про­цессы используют данные только для чтения, то такие информационные ресурсы можно разделять. Если же процессы могут изменять информационные ресурсы, то необходимо специальным образом организовывать работу с такими данными.

– Конец работы –

Эта тема принадлежит разделу:

Программное обеспечение можно разделить на две группы: системное программное обеспечение СПО и прикладное программное обеспечение ППО

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

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Основные виды ресурсов

Что будем делать с полученным материалом:

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

Все темы данного раздела:

Системное программное обеспечение
В англоязычной технической литературе термин System Software (системное про­граммное обеспечение) означает программы и комплексы программ, являющие­ся общими для всех, кто совместно использует техн

Понятие операционной среды
Операционная система выполняет функции управления вычислительными про­цессами в вычислительной системе, распределяет ресурсы вычислительной сис­темы между различными вычислительными процессами и об

Понятия вычислительного процесса и ресурса
Понятие «вычислительный процесс» (или просто — «процесс») является одним из основных при рассмотрении операционных систем. Последовательный процесс (иногда называемый «задачей») — это выполнение от

Диаграмма состояний процесса
Необходимо различать системные управляющие процессы, представляющие ра­боту супервизора операционной системы и занимающиеся распределением и управ­лением ресурсов, от всех других процессов: системн

Реализация понятия последовательного процесса в ОС
Контекст и дескриптор процесса На протяжении существования процесса его выполнение может быть многократно прервано и продолжено. Для того, чтобы возобновить выполнение процесса, необходимо

Процессы и треды
Понятие процесса было введено для реализации идей мультипрограммирования. Напомним, в свое время различали термины «мультизадачность» и «мультипро­граммирование». Таким образом, для реализации «мул

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

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

Стратегии планирования
Прежде всего следует отметить, что при рассмотрении стратегий планирования, как правило, идет речь о краткосрочном планировании, то есть о диспетчериза­ции. Долгосрочное планирование, как мы уже от

Дисциплины диспетчеризации
Когда говорят о диспетчеризации, то всегда в явном или неявном виде имеют в виду понятие задачи (потока). Если ОС не поддерживает механизм тредов, то можно заменять понятие задачи на понятие процес

Вытесняющие и не вытесняющие алгоритмы диспетчеризации
Диспетчеризация без перераспределения процессорного времени, то есть не вы­тесняющая многозадачность (non-preemptive multitasking) — это такой способ диспетчеризации процессов, при котором активный

Диспетчеризация задач с использованием динамических приоритетов
При выполнении программ, реализующих какие-либо задачи контроля и управ­ления (что характерно, прежде всего, для систем реального времени), может случиться такая ситуация, когда одна или несколько

Управление памятью.
Память является важнейшим ресурсом, требующим тщательного управления со стороны мультипрограммной операционной системы. Распределению подлежит вся оперативная память, не занятая операционной систем

Управление вводом/выводом
Необходимость обеспечить программам возможность осуществлять обмен дан­ными с внешними устройствами и при этом не включать в каждую двоичную программу соответствующий двоичный код, осуществляющий с

Режимы управления вводом/выводом
Как известно, имеются два основных режима ввода/вывода: режим обмена с опро­сом готовности устройства ввода/вывода и режим обмена с прерываниями. Рас­смотрим рис. 4.1.

Закрепление устройств, общие устройства ввода/вывода
Как известно, многие устройства не допускают совместного использования. Пре­жде всего, это устройства с последовательным доступом. Такие устройства могут стать закрепленными, то есть быть предостав

Основные системные таблицы ввода/вывода
Каждая ОС имеет свои таблицы ввода/вывода, их состав (количество и назначе­ние каждой таблицы) может сильно отличаться. В некоторых ОС вместо таблиц создаются списки, хотя использование статических

Синхронный и асинхронный ввод/вывод
Задача, выдавшая запрос на операцию ввода/вывода, переводится супервизором в состояние ожидания завершения заказанной операции. Когда супервизор по­лучает от секции завершения сообщение о том, что

Кэширование операций ввода/вывода при работе с накопителями на магнитных дисках
Как известно, накопители на магнитных дисках обладают крайне низкой скоро­стью по сравнению с быстродействием центральной части компьютера. Разница в быстродействии отличается на несколько порядков

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

Имена файлов
  Файлы идентифицируются именами. Пользователи дают файлам символьные имена, при этом учитываются ограничения ОС как на используемые символы, так и на длину имени. До недавнего времен

Типы файлов
  Файлы бывают разных типов: обычные файлы, специальные файлы, файлы-каталоги.   Обычные файлы в свою очередь подразделяются на текстовые и двоичные. Текстовые

Логическая организация файла
  Программист имеет дело с логической организацией файла, представляя файл в виде определенным образом организованных логических записей. Логическая запись - это наименьший элемент да

Физическая организация и адрес файла
  Физическая организация файла описывает правила расположения файла на устройстве внешней памяти, в частности на диске. Файл состоит из физических записей - блоков. Блок - наименьшая

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

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

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

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

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

Интерфейс прикладного программирования
Прежде всего необходимо однозначно разделить общий термин API (application program interface, интерфейс прикладного программирования) на следующие направления: API как интерфейс высо

Реализация функций API на уровне ОС
При реализации функций API на уровне ОC за их выполнение ответственность несет ОС. Объектный код, выполняющий функции, либо непосредственно входит в состав ОС (или даже ядра ОС), либо поставляется

Реализация функций API на уровне системы программирования
Если функции API реализуются на уровне системы программирования, они пре­доставляются пользователю в виде библиотеки функций соответствующего язы­ка программирования. Обычно речь идет о библиотеке

Реализация функций API с помощью внешних библиотек
При реализации функций API с помощью внешних библиотек они предоставля­ются пользователю в виде библиотеки процедур и функций, созданной сторон­ним разработчиком. Причем разработчиком такой библиот

Платформенно-независимый интерфейс POSIX
POSIX (Portable Operating System Interface for Computer Environments) — платформенно независимый системный интерфейс для компьютерного окружения. Это стандарт IEEE, описывающий системные интерфейсы

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

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

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

Использование блокировки памяти при синхронизации параллельных процессов
Все вычислительные машины и системы имеют такое средство для организации взаимного ис­ключения, как блокировка памяти. Это средство запрещает одновременное ис­полнение двух (и более) команд, которы

Алгоритм Деккера
Алгоритм Деккера основан на использовании трех переменных (листинг 6.4): перекл1, перекл2 и ОЧЕРЕДЬ. Пусть по-прежнему переменная перекл1=true тогда, ког­да процесс ПР1 хочет войти в свой критическ

Семафорные примитивы Дейкстры
Понятие семафорных механизмов было введено Дейкстрой. Семафор — пе­ременная специального типа, которая доступна параллельным процессам для проведения над ней только двух операций: «закрытия» и «отк

Мьютексы
Одним из вариантов семафорных механизмов для организации взаимного ис­ключения являются так называемые мъютексы (mutex). Термин mutex произо­шел от английского словосочетания mutual exclusion semap

Использование семафоров при проектировании взаимодействующих вычислительных процессов
Семафорные примитивы чрезвычайно широко используются при проектирова­нии разнообразных вычислительных процессов. При этом некоторые задачи яв­ляются настолько «типичными», что их детальное рассмотр

Мониторы Хоара
Анализ рассмотренных задач показывает, что, несмотря на очевидные достоинст­ва (простота, независимость от количества процессов, отсутствие «активного ожидания»), семафорные механизмы имеют и ряд н

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги