Главная » Просмотр файлов » Гордеев А.В. Операционные системы (2-е изд., 2004)

Гордеев А.В. Операционные системы (2-е изд., 2004) (1186250), страница 32

Файл №1186250 Гордеев А.В. Операционные системы (2-е изд., 2004) (Гордеев А.В. Операционные системы (2-е изд., 2004)) 32 страницаГордеев А.В. Операционные системы (2-е изд., 2004) (1186250) страница 322020-08-27СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Нижеперечислены некоторые рекомендации по контролю передаваемых параметров.• Следует проверять счетчики циклов и повторений на минимальные и макси­мальные значения.• Необходимо проверить 8- и 16-разрядные параметры, передаваемые в 32-раз­рядных регистрах. Когда процедуре передается короткий параметр, его следуетрасширить знаковым разрядом или нулем для заполнения всего 32-разрядногорегистра.• Следует стремиться свести к минимуму время работы процессора с запрещен­ными прерываниями. Если процедуре требуется запрещать прерывания, необ­ходимо, чтобы вызывающая программа не могла влиять на время нахожденияпроцессора с запрещенными прерываниями (флаг IF = 0).• Процедура никогда не должна воспринимать как параметр код или указательна код.• В операциях процессора следует явно задавать состояние флага направленияDF для цепочечных команд.Q Заключительная команда RET или RET n в процедуре должна точно соответ­ствовать полю WC (Word Counter — счетчик слов) шлюза вызова; при этомп = 4 х WC, так как счетчик задает число двойных слов, а п соответствует байтам.аНе следует применять шлюзы вызовов для функций, которым передается пере­менное число параметров (см.

предыдущую рекомендацию). При необходимо­сти нужно воспользоваться счетчиком и указателем параметров.QФункции не могут возвращать значения в стеке (см. предыдущую рекоменда­цию), так как после возврата стеки процедуры и вызывающей программы нахо­дятся точно в таком состоянии, в каком они были до вызова.uВ Процедуре следует сохранять и восстанавливать все сегментные регистры. Безэтого, если какой-либо сегментный регистр привлекался для адресации дан­ных, недоступных вызывающей программе, процессор автоматически загрузитвнего пустой селектор.122Глава 4.

Особенности архитектуры микропроцессоров i80x86Рекомендуется контролировать все обращения к памяти. Нетрудно представить себеситуацию, когда РЬЗ-программа' передает PLO-процедуре указатель селектор -.сме­щение и запрашивает считать или записать несколько байтов по этому адресу. Ти­пичным примером может служить процедура дискового ввода-вывода, которая вос­принимает как параметр системный номер файла, счетчик байтов и адрес, по которомузаписываются данные с диска. Хотя PLO-процедура имеет привилегии для произ­водства такой операции, у РЬЗ-программы разрешения на это может не быть.Система прерываний 32-разрядныхмикропроцессоров i80x86В микропроцессорах семейства i80x86 система прерываний построена таким обра­зом, чтобы, с одной стороны, обеспечить возможность создавать эффективные и на­дежные мультипрограммные и мультизадачные операционные системы, которыедолжны функционировать в защищенном режиме, а с другой стороны, обеспечитьвозможность выполнять программы, разработанные для реального режима.

Рас­смотрим вкратце оба режима.Работа системы прерываний в реальном режимеВ реальном режиме работы в системе прерываний используется понятие векторапрерывания, поскольку для указания адреса программы обработки прерыванияздесь требуется не одно значение, а два (значение для сегментного регистра кодаи значение для указателя команд), то есть мы имеем дело не со скалярной величи­ной, а с «векторной», состоящей из двух скалярных.Итак, каждый вектор прерывания состоит из четырех байтов, или двух слов: пер­вые два содержат новое значение для регистра IP, а следующие два — новое значе­ние для регистра CS. Таблица векторов прерывания занимает 1024 байт.

Таким об­разом, в ней может быть задано 256 векторов прерываний. В процессоре i8086 этатаблица располагается на адресах 00000H-003FFH. Расположение этой таблицыв процессорах i80286 и в более поздних определяется значением регистра IDTR(Interrupt Descriptor Table Register — регистр таблицы дескрипторов прерываний).При включении или сбросе процессора i80x86 этот регистр обнуляется. Однакопри необходимости можно в регистре IDTR указать смещение и таким образомперейти на новую таблицу векторов прерываний.Таблица векторов прерываний заполняется (инициализируется) при запуске сис­темы, но, в принципе, может быть изменена или перемещена.Каждый вектор прерывания имеет свой номер, называемый номером прерывания,который указывает его место в таблице. Этот номер, помноженный на четыре (сдвигна два разряда влево и заполнение освободившихся битов нулями) и сложенныйс содержимым регистра IDTR, дает абсолютный адрес первого байта вектора пре­рываний в оперативной памяти.Программа, имеющая уровень привилегий 3.

Иначе говоря, работающая в кольце защиты с номеромс и с т е м а прерываний 32-разрядных микропроцессоров J80x861 23Подобно вызову процедуры прерывание заставляет микропроцессор сохранить встеке информацию для последующего возврата, а затем перейти к группе команд,адрес которых определяется вектором прерывания. Таким образом, прерываниевызывает косвенный переход к своей подпрограмме обработки за счет полученияее адреса из вектора прерывания.В IBM PC, как и в других вычислительных системах, прерывания бывают двухвидов: внутренние и внешние.Внутренние прерывания, как мы уже знаем, возникают в результате работы про­цессора в ситуациях, которые нуждаются в специальном обслуживании, или привыполнении специальных команд (INT, INTO).

Это следующие прерывания:О прерывание при делении на ноль (номер прерывания 0);• прерывание по флагу TF (Trap Flag — флаг трассировки) 1 обычно исполь­зуется специальными программами отладки типа DEBUG (номер прерыва­ния 1);Q прерывания, возникающие при выполнении команд INT (Interrupt — прерыва­ние) и INTO (Interrupt if Overflow — прерывание по переполнению), называют­ся программными.В качестве операнда команды INT указывается номер прерывания, которое нужновыполнить, например INT 10H.

Программные прерывания как средство переходана соответствующую процедуру были введены для того, чтобы выполнение этойпроцедуры осуществлялось в привилегированном режиме, а не в обычном пользо­вательском.Внешние прерывания возникают по сигналу какого-нибудь внешнего устройства.Существует два специальных внешних сигнала среди входных сигналов процессо­ра, при помощи которых можно прервать выполнение текущей программы и темсамым переключить работу центрального процессора. Это сигналы NMI (No MaskInterrupt — немаскируемое прерывание) и INTR (Interrupt Request — запрос напрерывание).

Соответственно, внешние прерывания подразделяются на немаски­руемые и маскируемые.Маскируемые прерывания генерируются контроллером прерываний по заявке оп­ределенных периферийных устройств2. Контроллер прерываний (его обозначение18259А) поддерживает восемь уровней (линий) приоритета; к каждому уровню«привязано» одно периферийное устройство3. Маскируемые прерывания частоназывают аппаратными прерываниями.23Флаг трассировки — специальный бит в регистре PSW (Program Status Word — слово состоянияпрограммы), который в случае равенства единице вызывает приостанов после каждой команды игенерирует прерывание для организации режима отладки с пошаговым выполнением программы.Чаще всего регистр PSW в микропроцессорах Intel 80x86 называют регистром ([шагов.Сигнал запроса на прерывание чаще всего является сигналом готовности внешнего устройства (со­ответствующего контроллера внешнего устройства) па выполнение следующей команды, связаннойсУправлением операциями ввода-вывода.качестве внешнего периферийного устройства, занимающего одну линию запроса на прерывание,Может быть использовано специальное управляющее устройство, которое позволяет разделять этусамую линию запроса между несколькими внешними устройствами.124Глава 4.

Особенности архитектуры микропроцессоров J80x86Как известно, прерывания могут быть инициированы внешним устройством ПЭВМили специальной командой прерывания из программы. В любом случае если пре­рывания разрешены, то выполняется следующая процедура.1. В стек помещается регистр флагов PSW.2. Флаг включения-выключения прерываний IF и флаг трассировки TF, находя­щиеся в регистре PSW, обнуляются для блокировки других маскируемых пре­рываний и исключения пошагового режима исполнения команд.3.

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

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

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