Виды ресурсов. Программные модули реентерабельные

Понятие и функции операционных систем. Обеспечение координации параллельного функционирования отдельных устройств вычислительной системы. Элементы механизма обработки прерываний. Различия повторновходимых и повторнопрерываемых программных модулей.

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык русский
Дата добавления 02.07.2020
Размер файла 30,8 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Министерство науки и высшего образования Российской Федерации

Федеральное государственное бюджетное образовательное

учреждение высшего образования

«Воронежский государственный лесотехнический университет

имени Г.Ф. Морозова»

Кафедра вычислительной техники и информационных систем

Пояснительная записка

Реферат

на тему «Виды ресурсов. Программные модули реентерабельные»

Студент группы ИС3-171-ЗБ

Н.А. Понарьин

Руководитель, к.т.н.

Р.С. Лопатин

Воронеж 2020

Задание

Студенту Николай Александрович Понарьин группы ИС3-171-ЗБ (фамилия и полные инициалы)

Воронежского государственного лесотехнического университета имени Г.Ф. Морозова

Направление 09.03.02 Информационные системы и технологии

Срок представления работы к защите «___» ___________ 2020 г.

Руководитель, к.т.н ____________ Р.С. Лопатин

(ученая степень, ученое звание) (подпись) (инициалы и фамилия)

Задание принял студент ____________ _____________ Н.А.Понарьин

(подпись) (число, месяц, год) (инициалы и фамилия)

1. Понятие ОС. Основные функции ОС

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

Основными функциями ОС являются:

1. Прием от пользователя заданий или команд.

2. Прием и исполнение программных запросов на запуск, приостановку и остановку других программ.

3. Загрузка в оперативную память подлежащих исполнению программ.

4. Инициация программы (передача ей управления, в результате чего процессор исполняет программу).

5. Идентификация всех программ и данных.

6. Обеспечение работы системы управления файлами и СУБД. Что увеличивает эффективность работы всего ПО.

7. Обеспечения режима мультипрограммирования, т. е. выполнение 2 или более программ на 1 процессоре, воздающие видимость их одновременного исполнения.

8. Управление операциями ввода/вывода.

9. Удовлетворение жестким ограничениям в режиме реального времени.?

10. Распределение памяти, организация виртуальной памяти.

11. Планирование и диспетчеризация задач в соответствии с заданными стратегией и дисциплинами обслуживания.

12. Обмен сообщениями и данными между выполняющимися программами.

13. Защита программ от влияния друг на друга. обеспечение сохранности данных.

14. Предоставление услуг на случай сбоя системы.

15. Обеспечение работы систем программирования.

2. Прерывания. Обработка прерываний

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

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

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

1. Установление факта прерывания (прием и идентификация сигнала на прерывание).

2. Запоминание состояния прерванного процесса (состояние процесса определяется значением счетчика команд, содержимым регистра процессора, спецификацией режима: пользовательский или привилегированный)

3. Управление аппаратно передается программе обработки прерывания. В этом случае, в счетчик команд заносится начальный адрес подпрограммы обработки прерывания, а в соответствующие регистры из слова состояния.

4. Сохранение информации прерванной программе, которую не удалось спасти с помощью действий аппаратуры.

5. Обработка прерывания. Работа может быть выполнена той же подпрограммой, которой было передано управление на 3-ем шаге, но в ОС чаще всего эта обработка реализуется путем вызова соотв. подпрограммы.

6. восстановление информации относящейся к прерванному процессу.

7. Возврат в прерванную программу.

Первые 3 шага реализуются аппаратными средствами, а остальные - программно.

Главные функции механизма прерывания:

1. Распознавание или классификация прерывания.

2. Передача управления обработчику прерывания.

3. Корректное возвращение к прерванной программе

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

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

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

2) с абсолютным приоритетом. Всегда обслуживаются задачи с наивысшим приоритетом. Для реализации этой дисциплины при запросе на обработку прерываний маскируются все прерывания с низшим приоритетом. При этом возможно многоуровневое прерывание, т. е. прерывание программы обработки прерывания. Число уровней прерывания в этом режиме изменяется и зависит от приоритета запроса по принципу стека: LCFS - last come first served, т. е. запрос с более высоким приоритетом может прервать запрос с более низким приоритетом. При появлении запроса на прерывание система прерываний идентифицирует сигнал и если прерывания разрешены, то управление передается на соотв. программу обработки прерываний.

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

операционный вычислительный система прерывание

3. В чем заключается различие между повторновходимым (реентерным) и повторнопрерываемыми программными модулями. Как они реализуются

Классификация ресурсов

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

1. процессор (процессорное время);

2. память:

2.1. оперативная память;

2.2. внешняя память;

2.3. доступ к внешней памяти;

3. программные модули:

3.1. однократно используемые;

3.2. многократно (или повторно) используемые:

3.2.1. привилегированные;

3.2.2. непривилегированные;

3.2.3. реентерабельные;

3.2.4. повторно входимые;

4. информационные ресурсы.

Рассмотрим каждый из них более детально.

1. Одним из важнейших ресурсов является процессор[1] (а точнее -- процессорное время).

Процессорное время делится попеременно (параллельно). Существует множество методов разделения этого ресурса, которые мы позднее рассмотрим.

2. Вторым по значимости видом ресурсов вычислительной системы можно считать память.

Оперативная память.

Оперативная память может делиться одновременно и попеременно.

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

Под попеременным разделением памяти понимается, что в разные моменты оперативная память может предоставляться для разных вычислительных процессов.

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

- С этой точки зрения желательно память выделять для возможно большего числа параллельно исполняемых задач.

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

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

2.2 Внешняя память.

Внешняя память - ресурс, который часто необходим для выполнения вычислений.

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

Внешняя память может разделяться одновременно или попеременно.

Доступ к ней всегда разделяется попеременно.

Пояснения: Если говорить о внешних устройствах, то они, как правило, могут разделяться параллельно, если используются механизмы прямого доступа.

В устройстве хранения с прямым доступом (Direct Access Storage Device, DASD) есть возможность обращения к блокам по их адресам в произвольном порядке и, что важно, допускается произвольное чередование операций записи и чтения блоков. Традиционными устройствами с прямым доступом являются дисковые накопители, и часто в понятие «диск», или «дисковое устройство» (disk device), вкладывают значение «накопитель прямого доступа».

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

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

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

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

А операционная система, получив задания на печать от выполняющихся задач, сама упорядочивает эти задания и передает очередное задание на принтер только после полного завершения предыдущего задания.

3. программные модули.

Очень важным видом ресурсов являются программные модули.

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

Программные модули могут быть:

· однократно используемыми;

· многократно (или повторно) используемыми.

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

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

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

- привилегированными;

- непривилегированными;

- реентерабельными.

Все они допускают корректное повторное выполнение программного кода при обращении к нему из другой программы.

Остановимся на рассмотрении разновидностей программных модулей более детально.

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

Структура привилегированных программных модулей изображена на рис. 2

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

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

3.2.2. Непривилегированные программные модули -- это обычные программные модули, которые могут быть прерваны во время своей работы.

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

3.2.3.Реентерабельные[3] программные модули (в противовес непривилегированным программным модулям) допускают повторное многократное прерывание своего исполнения и повторный их запуск по обращению из других задач (вычислительных процессов).

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

Ш с помощью динамических методов выделения памяти под сохраняемые значения;

Ш с помощью статических методов выделения памяти под сохраняемые значения.

Динамический способ.

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

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

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

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

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

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

Статический способ

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

Повторно входимые программные модули.

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

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

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

Информационные ресурсы.

В качестве ресурсов могут выступать данные - информационные ресурсы.

Информационные ресурсы могут существовать как в виде переменных, находящихся в оперативной памяти, так и в виде файлов.

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

Размещено на Allbest.ru

...

Подобные документы

  • Проблема безопасности операционных систем. Функции подсистемы безопасности. Идентификация пользователей, программные угрозы (атаки). Типы сетевых атак. Жизненный цикл разработки безопасных программных продуктов. Оценка атак на программное обеспечение.

    презентация [1,4 M], добавлен 24.01.2014

  • Структурные подразделения и отделы организации, ее технические программные средства. Разработка приложений обработки данных на ассемблере, языке программирования высокого уровня. Тестирование и оптимизация программных модулей. Разработка документации.

    отчет по практике [175,0 K], добавлен 30.09.2022

  • Назначение и функции операционных систем компьютера. Аппаратные и программные ресурсы ЭВМ. Пакетные ОС. Системы с разделением времени: Multics, Unix. Многозадачные ОС для ПК с графическим интерфейсом: Windows, Linux, Macintosh. ОС для мобильных устройств.

    курсовая работа [53,4 K], добавлен 05.12.2014

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

    практическая работа [3,0 M], добавлен 17.05.2022

  • Характеристики системной шины ISA. Проектирование устройств ввода/вывода для нее. Принципы построения и программирование модулей шины. Особенности использования прерываний. Применение прямого доступа. Процедуры инициализации системы ПДП.

    методичка [812,0 K], добавлен 14.07.2012

  • Назначение, классификация, состав и назначение компонентов операционных систем. Разработка сложных информационных систем, комплексов программ и отдельных приложений. Характеристика операционных систем Windows, Linux, Android, Solaris, Symbian OS и Mac OS.

    курсовая работа [2,1 M], добавлен 19.11.2014

  • Принципы и алгоритмы обработки прерываний. Набор действий по реализации этапов обработки прерываний микропроцессора. Разработка структуры и алгоритма резидентной программы. Реализация программы на языке Ассемблер, методы её отладки и тестирования.

    курсовая работа [348,7 K], добавлен 22.12.2014

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

    презентация [1,4 M], добавлен 10.11.2013

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

    контрольная работа [14,0 K], добавлен 29.10.2010

  • Проектирование механизма обработки прерываний. Контроллер прерываний Intel 82C59A. Ввод-вывод по прерыванию. Программируемый контроллер интерфейса Intel 82C55A. Роль процессора в обработке прерывания ввода-вывода. Обзор алгоритма обработки прерывания.

    контрольная работа [8,0 M], добавлен 19.05.2010

  • Важность операционной системы для мобильных устройств. Популярность операционных систем. Доля LINUX на рынке операционных систем. История OS Symbian, BlackBerry OS, Palm OS. Отличия смартфона от обычного мобильного телефона. Учет ограничений по памяти.

    презентация [477,3 K], добавлен 01.12.2015

  • Принципы организации и особенности обработки прерываний на основе контроллера 8259A. Общая характеристика аппаратных средств системы прерываний PIC (Programmable Interrupt Controller). История разработки и порядок работы с технологией Plag and Play.

    курсовая работа [305,1 K], добавлен 29.07.2010

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

    курсовая работа [2,1 M], добавлен 08.01.2016

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

    презентация [1,3 M], добавлен 24.01.2014

  • Понятие и функции операционных систем, их классификация и структура, принципы работы. Виды операционных систем и их краткая характеристика: DOS, Window-95. Достоинства и недостатки Microsoft Windows XP. Создание локальных сетей. Глобальная сеть Internet.

    контрольная работа [35,5 K], добавлен 26.06.2014

  • Структурная организация операционной системы на основе различных программных модулей. Функции, выполняемые модулями ядра. Модули операционной системы, оформленные в виде утилит. Ядро в привилегированном режиме. Многослойная структура ядра системы.

    презентация [705,2 K], добавлен 16.01.2012

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

    презентация [15,9 K], добавлен 06.01.2014

  • Основные понятия об операционных системах. Виды современных операционных систем. История развития операционных систем семейства Windows. Характеристики операционных систем семейства Windows. Новые функциональные возможности операционной системы Windows 7.

    курсовая работа [60,1 K], добавлен 18.02.2012

  • Информационное обеспечение предприятия. Защита от несанкционированного доступа к информации. Характеристика классификаторов и систем кодирования. Схема пакета дерева вызова процедур и программ. Взаимосвязь программных модулей и информационных файлов.

    дипломная работа [258,8 K], добавлен 20.05.2013

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

    контрольная работа [42,4 K], добавлен 07.11.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.