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

Автор работы: Пользователь скрыл имя, 16 Декабря 2012 в 12:09, курс лекций

Краткое описание

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

Вложенные файлы: 1 файл

Лекции.doc

— 510.00 Кб (Скачать файл)

 

Рис. 2. Граф состояний процесса

 

Процесс из состояния  бездействия может перейти  в  состояние готовности в следующих  случаях:

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

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

 

Из состояния выполнения процесс может выйти по одной из следующих причин:

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

 

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

Таким образом, движущей силой, меняющей состояние процессов, являются события. Один из основных видов событий – это прерывания.

 

Понятие процесса было введено  для реализации идей мультипрограммирования, а для реализации мультизадачности в ее исходном толковании ввели так  называемые «легковесные» процессы – потоки или треды (tread – поток, нить). Когда говорят о процессах, тем самым отмечают их обособленность: у каждого процесса имеется свое виртуальное адресное пространство, каждому процессу назначаются свои ресурсы. В процессах же может быть внутренний параллелизм. Если процесс разбить на подпроцессы (потоки),  то у пользователя появляется возможность параллельно выполнять несколько операций в рамках одного процесса. Потоки не имеют собственных ресурсов, они развиваются в том же адресном пространстве, что и данный процесс. Единственно, что им нужно иметь, – это процессорный ресурс.

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

 

 

 

 

 

 

Прерывания

 

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

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

  1. Прием сигнала на прерывание и его идентификация.
  2. Запоминание состояния прерванного процесса.
  3. Управление аппаратно передается подпрограмме обработки прерывания.
  4. Обработка прерывания с помощью ISR.
  5. Восстановление информации, относящейся к прерванному процессу.
  6. Возврат в прерванную программу.

Рис.3. иллюстрирует, что  происходит при возникновении запроса  на прерывание.

Рис.3. Обработка прерывания

 

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

Внешние прерывания вызываются асинхронными событиями, которые происходят вне прерываемого процесса, например:

  • прерывания от таймера;
  • прерывания по вводу/выводу;
  • прерывания по нарушению питания.

 

Внутренние  прерывания вызываются событиями, которые связаны с работой процессора и являются синхронными с его операциями, например:

  • при нарушении адресации;
  • при делении на нуль;
  • при наличии в поле кода операции незадействованной двоичной комбинации.

 

Существуют, наконец, собственно программные прерывания, происходящие по соответствующей команде прерывания: INT(«номер прерывания»).

Сигналы, вызывающие прерывания, формируются вне процессора или в самом процессоре; они могут возникать одновременно. Выбор одного из них для обработки осуществляется на основе приоритетов (рис.4).

 

Рис.4. Распределение прерываний по уровням приоритета

 

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

 

Для полного понимания  принципов создания и механизмов реализации современных ОС необходимо знать архитектуру 32-разрядных микропроцессоров i80×86, применяемых в персональных компьютерах.

 

 

 

Классификация операционных систем

 

Для ОС давно сформировалось небольшое количество классификаций:

  • по назначению;
  • по режиму обработки задач;
  • по способу взаимодействия с системой;
  • по способам построения.

 

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

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

При организации работы с вычислительной системой в диалоговом режиме можно говорить об однопользовательских (однотерминальных) и мультитерминальных ОС. Например, мультитерминальной ОС для  ПК является Linux. Очевидно, что для организации мультитерминального доступа необходимо обеспечить мультипрограммный режим работы. Однопрограммной и однопользовательской  является  OS MS-DOS.

 Основной особенностью операционных систем реального времени (ОСРВ) является обеспечение обработки поступающих заданий в течении заданных интервалов времени, которые нельзя превышать. Одной из наиболее известных ОСРВ для ПК является OS QNX.

Для организации совместного  использования информационного  пространства и общих ресурсов используются сетевые ОС. В качестве примера можно назвать 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):

  • адрес памяти, формируемый микропроцессором, является физически адресом;
  • все машинные команды системы команд микропроцессора разрешены для исполнения любой программой;
  • объем адресуемой памяти ≤ 1Мбайт.

 

Регистры микропроцессоров Intel 8086/88

 

Все регистры условно можно разбить на три группы:

 

  1. регистры общего назначения (РОН) – AX, BX, CX, DX – 16-разрядные;
  2. регистры-указатели: DI, SI, BP, SP, IP – 16-разрядные;
  3. сегментные регистры: CS, DS, ES, SS – 16- разрядные.


 

 

 

 

 

 

 

 

 

 

 

Рис.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

Флаги условий устанавливаются аппаратурой арифметико-логического устройства микропроцессора по результатам выполнения машинной команды:

  • CF – флаг переноса;
  • PF – флаг паритета;
  • AF – флаг дополнительного переноса;
  • ZF –флаг нуля;
  • SF – флаг знака;
  • OF – флаг переполнения;

Флаги управления влияют на функционирование аппаратуры процессора:

  • TF – флаг трассировки;
  • DF – флаг направления;
  • IF – флаг управления маскируемыми прерываниями (1- процессор реагирует на прерывания, генерируемые внешними устройствами, 0 – не реагирует).

 

Формирование  физического адреса

 

Так как внутренние регистры – 16-разрядные (216 = 64 Кбайт), а шина адреса имеет ширину 20 бит (220 = 1Мбайт), то для формирования 20-разрядного физического адреса памяти используются: сегмент адреса  и смещение адреса. Физический адрес записывается парой этих значений, разделенных двоеточием, и образуется следующим образом (рис.4):

  • значение сегмента адреса, берущегося из регистра, CS сдвигается на 4 бита влево с заполнением разрядов справа нулями;
  • к образовавшемуся 20-битовому значению прибавляется значение смещения адреса из регистра IP. При возникновении переполнения берется только пять 16-ричных цифр результата.

Например, адрес 40:1Ch соответствует  физическому адресу 0041Ch.

 

                                         Значение регистра CS

                    


 

 
                             

00

00

00

00




 Регистр CS

Информация о работе Программное обеспечение вычислительной системы