Автор работы: Пользователь скрыл имя, 20 Декабря 2012 в 19:01, лекция
Программное и аппаратное обеспечение в компьютере работают в неразрывной связи и в непрерывном взаимодействии. Между программами, как и между физическими узлами и блоками существует взаимосвязь – многие программы работают, опираясь на другие программы более низкого уровня. Уровни программного обеспечения (ПО) представляют собой пирамидальную конструкцию. Каждый следующий уровень опирается на программное обеспечение предшествующих уровней.
Рис. 2. Граф состояний процесса
Процесс из состояния бездействия может перейти в состояние готовности в следующих случаях:
Процессу, находящемуся
в состоянии готовности, выделены
все необходимые ресурсы,
Из состояния выполнения процесс может выйти по одной из следующих причин:
При наступлении соответствующего события (завершилась операция ввода/вывода, освободился затребованный ресурс, в оперативную память загружена необходимая страница виртуальной памяти) процесс деблокируется и переводится в состояние готовности.
Таким образом, движущей силой, меняющей состояние процессов, являются события. Один из основных видов событий – это прерывания.
Понятие процесса было введено для реализации идей мультипрограммирования, а для реализации мультизадачности в ее исходном толковании ввели так называемые «легковесные» процессы – потоки или треды (tread – поток, нить). Когда говорят о процессах, тем самым отмечают их обособленность: у каждого процесса имеется свое виртуальное адресное пространство, каждому процессу назначаются свои ресурсы. В процессах же может быть внутренний параллелизм. Если процесс разбить на подпроцессы (потоки), то у пользователя появляется возможность параллельно выполнять несколько операций в рамках одного процесса. Потоки не имеют собственных ресурсов, они развиваются в том же адресном пространстве, что и данный процесс. Единственно, что им нужно иметь, – это процессорный ресурс.
Итак, сущность «поток» была введена для того, чтобы именно с помощью этих единиц распределять процессорное время между возможными работами.
Прерывания
Прерывания – это механизм, позволяющий координировать параллельное функционирование отдельных устройств вычислительной системы и реагировать на особые состояния, возникающие при работе процессора. Прерывание обеспечивает принудительную передачу управления от выполняемой программы к соответствующей программе обработки прерывания (ISR – Interrupt Service Routine) при возникновении определенного события. Основная цель введения прерываний – реализация асинхронного режима работы и распараллеливания работы отдельных устройств вычислительной системы.
Механизм прерываний
реализуется аппаратно-
Рис.3. иллюстрирует, что происходит при возникновении запроса на прерывание.
Рис.3. Обработка прерывания
Прерывания, возникающие при работе вычислительной системы, можно разделить на два основных класса: внешние и внутренние.
Внешние прерывания вызываются асинхронными событиями, которые происходят вне прерываемого процесса, например:
Внутренние прерывания вызываются событиями, которые связаны с работой процессора и являются синхронными с его операциями, например:
Существуют, наконец, собственно программные прерывания, происходящие по соответствующей команде прерывания: INT(«номер прерывания»).
Сигналы, вызывающие прерывания, формируются вне процессора или в самом процессоре; они могут возникать одновременно. Выбор одного из них для обработки осуществляется на основе приоритетов (рис.4).
Рис.4. Распределение прерываний по уровням приоритета
Процессор может обладать средствами защиты от прерываний: отключение системы прерываний, маскирование (запрет) отдельных прерываний. Программное управление специальными регистрами маски (маскируемые прерывания) позволяет реализовать различные дисциплины обслуживания.
Для полного понимания принципов создания и механизмов реализации современных ОС необходимо знать архитектуру 32-разрядных микропроцессоров i80×86, применяемых в персональных компьютерах.
Классификация операционных систем
Для ОС давно сформировалось небольшое количество классификаций:
Различают ОС общего и специального назначения. Последние подразделяются: для переносных микрокомпьютеров и различных встроенных систем, организации и веления баз данных, решения задач реального времени.
По режиму обработки
задач различают ОС, обеспечивающие
однопрограммный и
При организации работы с вычислительной системой в диалоговом режиме можно говорить об однопользовательских (однотерминальных) и мультитерминальных ОС. Например, мультитерминальной ОС для ПК является Linux. Очевидно, что для организации мультитерминального доступа необходимо обеспечить мультипрограммный режим работы. Однопрограммной и однопользовательской является OS MS-DOS.
Основной особенностью операци
Для организации совместного использования информационного пространства и общих ресурсов используются сетевые ОС. В качестве примера можно назвать UNIX, Windows NT.
По основному архитектурному принципу ОС разделяются на микроядерные и монолитные. Микроядерной является OS QNX, а монолитной – Windows 95/98. Ядро OS Windows мы не можем изменить, исходные коды нам не доступны и нет программы для сборки ядра. В OS Linux мы можем сами собрать ядро, включив в него необходимые нам программные модули и драйверы.
Архитектура аппаратных
и программных средств
В самом общем виде аппаратные средства персонального компьютера можно представить в виде нескольких блоков (рис.1).
Рис.1. Аппаратные средства персонального компьютера
Шина данных используется для переноса информации между основными узлами компьютера. Перенос данных происходит по параллельным линиям, их количество называют шириной шины.
Шиной адреса управляет микропроцессор.
Память может быть односторонней (чтение) – ПЗУ (ROM) хранит программы и данные, образующие в совокупности базовую систему ввода/вывода BIOS и двухсторонней (чтение и запись) – оперативная память (RAM).
Порты – специальные аппаратные регистры, используемые для управления аппаратными средствами ПК. Каждый порт имеет свой уникальный номер.
На шине управления микропроцессор выставляет команды управления узлами системы и получает ответные сигналы состояния узлов и подтверждение выполнения команды.
Ширина шины данных и ширина шины адреса являются важнейшими характеристиками микропроцессора. Микропроцессоры Intel 8086/88 имеют 20-разрядную шину адреса и 16/8-разрядную шину данных. Ширина шины адреса устанавливает для ПК IBM PS XT, основанного на микропроцессоре i8088, ограничение на объем адресуемой памяти в 1 Мбайт (220 байт).
Микропроцессоры Intel 8086/88 работают в реальном режиме (real mode):
Регистры микропроцессоров Intel 8086/88
Все регистры условно можно разбить на три группы:
Рис.2. Регистры общего назначения микропроцессора Intel 8086/88
РОН микропроцессора Intel 8088 – 8-разрядные, позволяют обращаться к целому слову (два байта) в регистре AX, BX, CX, DX или к отдельным байтам (AH, BH, CH, DH – к старшему байту, AL, BL, CL, DL – к младшему байту). РОН микропроцессора Intel 8086 – только 16-разрядные (рис.2).
РОН используются для промежуточного хранения операндов.
Регистры-указатели допускают доступ только к целому слову в регистре.
Регистр IP в паре с регистром CS задает физический адрес в памяти следующей машинной команды: (CS:IP).
Регистр флагов или слово состояния процессора (PSW) содержит 16 бит, из которых используется только 9 (рис.3).
Рис.3. Регистр флагов микропроцессоров Intel 8086/88
Флаги условий устанавливаются аппаратурой арифметико-логического устройства микропроцессора по результатам выполнения машинной команды:
Флаги управления влияют на функционирование аппаратуры процессора:
Формирование физического адреса
Так как внутренние регистры – 16-разрядные (216 = 64 Кбайт), а шина адреса имеет ширину 20 бит (220 = 1Мбайт), то для формирования 20-разрядного физического адреса памяти используются: сегмент адреса и смещение адреса. Физический адрес записывается парой этих значений, разделенных двоеточием, и образуется следующим образом (рис.4):
Например, адрес 40:1Ch соответствует физическому адресу 0041Ch.
|
00 |
00 |
00 |
00 |
Регистр CS
Информация о работе Программное обеспечение вычислительной системы