Главная » Просмотр файлов » Густав Олссон, Джангуидо Пиани - Цифровые системы автоматизации и управления

Густав Олссон, Джангуидо Пиани - Цифровые системы автоматизации и управления (1087169), страница 100

Файл №1087169 Густав Олссон, Джангуидо Пиани - Цифровые системы автоматизации и управления (Книга - Цифровые системы автоматизации и управления) 100 страницаГустав Олссон, Джангуидо Пиани - Цифровые системы автоматизации и управления (1087169) страница 1002018-01-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 100)

)реаль льности программисты работают непосредственно с операционной системой, ' Р' Гатывают резидентные программы и в рамках одного проекта смешивают язы'"я ог 1'Раммирования разного уровня, В этой главе не обсуждаются преимущества и "достатк 'аткн той или иной техники программирования, а па основе теории операцион'хсис 'е стел! приводятся практические Решения некоторых проблем. Раз " Рпз 'дел 10.1 посвящен основным понятиям, связанным с программами и процесса- Раздел 10.2 вводит некоторые концепции операционных систел! как для однопро) Рных, так и для распределенных конфи"уРацнй. В разделах 10.З и 10А рассмат)'тсо ля а ются проблемы защиты ресурсов и взаимн!Ого исклк>чсния и вводятся средства яя„, аз еле 1 вх Рсшсция (например, семафоры) В Раз"ел" 10 э обсуждается взаимодействие ~ду процессами, а в разделе 10.6 — практи кме метолы программирования для ,ктические.

мяч Реального времени. Завершает ~лаву О ~~~орых языков н операционных обзо неко 416 417 Глава 10. ПРогРаммиРование систем Реального вр Ремень 1 Общее понятие о процессах 10 1' систем длЯ пРогРаммиРованиЯ задач Реального вРемени в Разделе 10.7 М„т "«ервв первых пяти разделов носит формально-теоретический характер, последни е два ориентированы на практические задачи. 10.1. Общее понятие о процессах 10.1.1. Последовательное программирование и программирование задач реального времени Программа представляет собой описание объектов — констант и переменив,„ и операций, совершаемых над ними.

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

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

Понятие "последовательное" поп. разумевает, что операторы программы выполняются в известной последовательностп один за другим. Целью последовательной программы является преобразование вхщ. ных данных, заданных в определенной форме, в выходные данные, имеющие другув форму, в соответствии с некоторым алгоритмом — методом решения (рис. 10.1) выходные дапные Рис. 10.1. Обработка данных последовательной программои ля исходных Таким образом, последовательная программа работает как фильтр для о ными данны. данных. Ее результат и характеристики полностью определяются входнь . т как прав!ув ми и алгоритмом их обработки, при этом временные показатели играют, ' Р второстепенную роль.

На резулыат не влияют ни инструментальные (я (язык прогРам мирования), ни аппаратные (быстродействие ПП) средства: от первы х зависят уг~ лия и время, затраченные на разработку и характеристики исполняемого кода вторых — скорость выполнения программы, но в любом случае выход ныеданные .' дут одинаковыми отличается в Программирование в реальном времени (геа(-гвте ргопгатт(лп) отличает лжен посто послед л довательного программирования — разработчик программы дол т . олпе ми к( но иметь в виду среду, в которой работает программа, будь то контроллер в истемзх Р волновой печи или устройство управления манипулятором робота. В с ал ного времени внешние сигналы, как правило, требуют немедленной Реап" ального вре. евльп процессора. В сущности, одной из наиболее важных особенностей систем ре смени является время реакции на входные сигналы, которое должно удовлетгэ вр „ть заданным ограничениям.

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

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

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

инструкций программы — области кода, области ввппых, в которой хранятся переменные и константы, свободной динамически распРеделяемой рабочей области памяти — кучи (Ьеар) и стека (згасй) (рис. 10.2). Лва после ледних механизма зависят от конкретной реализации. Область стека примыкает хк че У ве и расширяется за ее счет. Программа, написанная на одном и том же языке высоког кого уровня, а затем откомпилированная и исполняемая на разных ЭВМ, поРэждает 'дает различные процессы, каждый из которых имеет собственные области кокан пд и данных, кучу и стек. Каж ь ждый процесс в любой момент времени находится в точно определенном состояппп,о но ° днозначно описываемом содержимым регистров процессора, расположением обввстей ко кода, данных и стека и счетчиком команд, указываклцим следующую исполняепую инст нструкцию в области кода.

Эта базовая информация об исполняющсмся пР~цессе н, се называется его контекстом (сопгехс). Существование контекста — это общее вопство п о пРоцессов, а то, какие регистры, структуры и указатели реально являются ча'тыр конте нтекста, зависит от используемого пРоцессора и операционной системы. Часты ным типом процессов являются потоки (гбгеагЬ). Они представляют собой 'эсть и Рограммы, которая может независимо исполняться на том же сам или другом и впт Роцессоре. Потоки порождаются процес~ам и выполняк>тся параллельно, т.

е. уют ток — это дочерний процесс (сй1(г(ргасевв) В отличие от процессов, потоки испольт общую область данных. т. е переменив'е породившего их процесса. Однако ьк ~вп 419 2 управление системными ресурсами ~0 418 старвиие адреса ~ — указатель версиииы стека ('стек расивиряеисся в «тараку младших) — указатель даииых младвиие адреса соЪед(п х:-1; х;= 2; х:-3; соепд; юг1се (х); Глава 10. Программирование систем реального вр иеви каждый поток имеет собственный контекст, включающий отдельные область кода и стек.

Потоки играют важную роль в операционных системах (ЛЧ1Х и Ъ'1пс(о~ )(.„ Рис. 10.2. Пример организации внутренней памяти процесса Последовательность преобразования программы в процесс состоит из сохранении исходного текста на компьютерном носителе (магнитная лента или диск), компиляции (сотрвЕаггои), связывания (ЕгпЕсЕпп), загрузки (Еоа«Е(пп) и исполнения (ехепс11ок) Эти шаги детально описываются в учебниках по программированию и операциоп ным системам и здесь рассматриваться не будут. 10.1.3. Параллельное программирование, мультипрограммирование и многозадачность Программирование в реальном времени требует одновременного исполнения пс скольких процессов илн задач на одной ЭВМ.

Характеристики

Тип файла
DJVU-файл
Размер
5,19 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6556
Авторов
на СтудИзбе
299
Средний доход
с одного платного файла
Обучение Подробнее