Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Окно – прямоугольная часть экрана, ограниченная рамкой. ⇐ ПредыдущаяСтр 8 из 8
Операционная система корпорации Microsoft потому и называется Windows (окна), что работают с окнами. После открытия какой-нибудь папки или документа или программы или сообщение операционной системы в пределах рабочего стола размещается её окно. Одновременно может быть открыто несколько окон. Например, в одном окне можно набирать текст, в другом – рисовать, в третьем – выполнять вычисления. Окна можно закрывать, перемещать, изменять их размеры, свертывать в кнопки на панели задач или развертывать на весь экран. Основные виды окон: диалоговое окно, окно папки, окно справочной системы, окно программы, окно документа. Диалоговое окно - окно, появляющееся на экране при вводе команды, выполнение которой требует от пользователя ввести дополнительные данные, необходимые для дальнейшей работы программы. Диалоговые окна могут содержать следующие элементы управления:
13. Общие принципы.
Прерывания подразделяются на аппаратные (маскируемые и немаскируемые), вызываемые электрическими сигналами на входах процессора, и программные, выполняемые по команде INT xx. Программные прерывания, строго говоря, прерываниями не являются — это лишь своеобразный способ вызова процедур, но процессором они обрабатываются как разновидность прерываний. Прерывания и исключения нарушают нормальный ход выполнения программы для обработки внешних событий или сообщения о возникновении особых условий или ошибок. Аппаратные прерывания подразделяются на маскируемые и немаскируемые. Процессор может воспринимать прерывания после выполнения каждой команды, длинные строковые команды имеют для восприятия прерываний специальные окна. Аппаратные прерывания вызываются электрическими сигналами на входах INTR и NMI. Маскируемые прерывания вызываются переходом в высокий уровень сигнала на входе INTR (Interrupt Request) при установленном флаге разрешения (IF=1). В этом случае процессор сохраняет в стеке регистр флагов, сбрасывает флаг IF и вырабатывает два следующих друг за другом (back to back) цикла подтверждения прерывания, в которых генерируются управляющие сигналы INTA# (Interrupt Acknowledge). Высокий уровень сигнала INTR должен сохраняться по крайней мере до подтверждения прерывания. Первый цикл подтверждения холостой, по второму импульсу внешний контроллер прерываний передает по шине номер вектора, обслуживающего данный тип аппаратного прерывания. Прерывание с полученным номером вектора выполняется процессором так же, как и программное. Обработка текущего прерывания может быть в свою очередь прервана немаскируемым прерыванием, а если обработчик установит флаг IF, то и другим маскируемым аппаратным прерыванием.
Немаскируемые прерывания выполняются независимо от состояния флага IF по сигналу NMI (Non Mascable Interrupt). Высокий уровень на этом входе вызовет прерывание с типом (вектором) 2, которое выполняется так же, как и маскируемое. Его обработка не может прерываться под действием сигнала на входе NMI до выполнения команды IRET. В защищенном режиме, помимо перечисленных видов прерываний существуют так называемые исключения (exceptions). Исключение происходит в результате нештатной ситуации выполнения программы, которую возможно необходимо обработать определенным образом. Исключения подразделяются на отказы, ловушки и аварийные завершения. Отказ (fault) — это исключение, которое обнаруживается и обслуживается до выполнения инструкции, вызывающей ошибку. После обслуживания этого исключения управление возвращается снова на ту же инструкцию (включая все префиксы), которая вызвала отказ. Отказы, использующиеся в системе виртуальной памяти, позволяют, например, подкачать с диска в оперативную память, затребованную страницу или сегмент. Ловушка (trap) — это исключение, которое обнаруживается и обслуживается после выполнения инструкции, его вызывающей. После обслуживания этого исключения управление возвращается на инструкцию, следующую за вызвавшей ловушку. К классу ловушек относятся и программные прерывания. Аварийное завершение (abort) - это исключение, которое не позволяет точно установить инструкцию, его вызвавшую. Оно используется для сообщения о серьезной ошибке, такой как аппаратная ошибка или повреждение системных таблиц.
Обработка прерываний и исключений в защищенном режиме базируется на таблице дескрипторов прерываний (шлюзов прерываний) IDT – адрес начала и размер которой хранятся в регистре IDTR. Его формат аналогичен формату регистра GDTR (рис. 4.1). Таблица прерываний может содержать до 256 дескрипторов. При попытке обслуживания прерывания с номером, выходящим за размер таблицы, генерируется исключение #DF. Под исключения отданы первые 32 номера (0 ¸31). Не все из этих векторов используются процессором в настоящее время; не назначенные векторы из этого диапазона резервируются для возможного использования в будущем. Использовать не назначенные векторы не следует. Векторы маскируемых прерываний определяются аппаратно. Контроллеры внешних прерываний (например, Intel 8259, программируемый контроллер прерываний) передают вектор на шину процессора во время цикла квитирования прерывания. Использоваться могут любые векторы в диапазоне значений от 32 до 255. В реальном режиме диапазон номеров для обработки аппаратных прерываний находился: IRQ0¸IRQ7 номера прерываний 08h¸0Fh и IRQ8¸IRQ15 – 70h¸77h. В связи с тем, что, как отмечалось выше, первые 32 номера заняты под исключения, возникает необходимость перепрограммировать контроллер прерываний на другие номера. Изначальным программирование контроллера для реального режима занимается BIOS. Итого в защищенном режиме остается 208 номеров под программные прерывания. Назначения векторов исключений и прерываний показаны в Таблице 4.1.
1 В реальном режиме — вектор прерывания не попадает в таблицу. 2 В реальном режиме не возникают, но возможны в V86. 3 В реальном режиме — нарушение границы сегмента стека. 4 В реальном режиме — нарушение границы сегмента данных или кода.
Таблица 4.1 Назначения векторов исключений и прерываний При обработке прерывания нужно выполнить следующую последовательность действий: 1) восприятие запроса на прерывание; 2) запоминание состояния прерванного процесса (значение счетчика команд, содержимое регистров общего назначения, режим работы ЦП и т.д.); 3) передача управления программе обработки прерываний, для чего в счетчик команд заносится адрес, уникальный для каждого типа прерывания; 4) обработка прерывания; 5) восстановление нормальной работы.
14. 2.1.1 Понятие процесса Процесс (задача) - программа, находящаяся в режиме выполнения. С каждым процессом связывается его адресное пространство, из которого он может читать и в которое он может писать данные. Адресное пространство содержит:
С каждым процессом связывается набор регистров, например:
Во многих операционных системах вся информация о каждом процессе, дополнительная к содержимому его собственного адресного пространства, хранится в таблице процессов операционной системы. Некоторые поля таблицы:
Создание процесса
поток — это последовательность или цикл управления в процессе. Понятие потока Каждому процессу соответствует адресное пространство и одиночный поток исполняемых команд. В многопользовательских системах, при каждом обращении к одному и тому же сервису, приходится создавать новый процесс для обслуживания клиента. Это менее выгодно, чем создать квазипараллельный поток внутри этого процесса с одним адресным пространством.
Сравнение многопоточной системы с однопоточной Модель потока С каждым потоком связывается: · Счетчик выполнения команд · Регистры для текущих переменных · Стек · Состояние Потоки делят между собой элементы своего процесса: · Адресное пространство · Глобальные переменные · Открытые файлы · Таймеры · Семафоры · Статистическую информацию. В остальном модель идентична модели процессов. В POSIX и Windows есть поддержка потоков на уровне ядра. В Linux есть новый системный вызов clone для создания потоков, отсутствующий во всех остальных версиях системы UNIX. В POSIX есть новый системный вызов pthread_create для создания потоков. В Windows есть новый системный вызов Createthread для создания потоков.
|
||||||||||||
Последнее изменение этой страницы: 2017-02-05; просмотров: 354; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.98.13 (0.032 с.) |