Ответы на экзаменационные билеты СПО (теория+практика) - файл n1.doc

Ответы на экзаменационные билеты СПО (теория+практика)
Скачать все файлы (352.5 kb.)

Доступные файлы (2):
n1.doc551kb.14.01.2012 01:53скачать
n2.docx9kb.13.01.2012 18:42скачать

n1.doc

  1   2   3

  1. Понятие операционной системы и операционной среды.

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

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

Под операционной средой понимают программную среду, в которой выполняются прикладные программы и предназначена для взаимодействия с сервисами ОС.

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


  1. Классификация системного программного обеспечения.

СПО можно разделить на 5 групп:

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

Основные функции системы:

Системы управления файлами – компоненты ОС предназначенные для более удобного доступа к данным. Они предоставляют логический уровень абстракции над физическим способом хранения данных на носителях.

Интерфейсные оболочки и программные среды. Интерфейсные оболочки – средства для удобного взаимодействия пользователя с ОС. Программная среда – представляет собой интерфейс, который использует прикладные программы для доступа к вычислительным мощностям. API – интерфейс прикладного программирования.

Системы программирования – интегрированные системы разработки программ, компиляторы, трансляторы, отладчики, интерпретаторы и прочие программы для разработки новых программ + библиотеки.

Утилиты – специальные системные программы, с помощью которых производится управление ОС, выполняется оптимизация ее работы, а так же средства для тестирования работоспособных аппаратных компонентов ПК.


  1. Понятие вычислительного процесса и ресурса. Основные виды ресурсов.

Процесс – последовательное выполнение приложения совместно с его данными на вычислительном устройстве (в том числе последовательном).

Ресурс – повторно используемые относительно стабильные и зачастую недостающие объекты, которые запрашивают, используют и освобождают процессы в период их активности.

Ресурсы делятся на делимые и неделимые, делимые в свою очередь подразделяются на использующиеся одновременно и попеременно.


  1. Диаграмма состояний процесса. Процессы и потоки.

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

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

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

В зависимости от доступности или недоступности процесс может находиться в нескольких состояниях:

Для того чтоб ОС могла управлять процессом необходимо создание особой структуры называемой дескриптором процесса. В большинстве случаев дескриптор процесса должен содержать набор данных:


  1. Понятие прерывания. Виды прерываний. Схемы обработки прерываний.


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

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

Существует 6 классов прерываний.

1. Программы-прерывания по системной директиве. Инициатор - активный процесс, выполнивший обращение к супервизору, то есть запрос на предоставление ОС системной вычислительной услуги.

2. Прерывания ввода-вывода. Инициируются устройством ввода/вывода (УВВ) и сигнализируют ЦП о том, что произошло изменение состояния канала ввода-вывода (КВВ) или УВВ (например: завершение операции, ошибка, переход устройства в состояние готовности).

3. Внешние прерывания. Нажатие операторами клавиш на панели ЭВМ или прием сигнала прерывания от другого ЦП в мультипроцессорной системе, сигнала от модема.

4. Прерывание по рестарту. Нажатие оператором кнопки рестарта или Reset.

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

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

Обработка аппаратных прерываний.

Когда процессор распознает высокий уровень на входе прерывания и прерывания разрешены, он выполняет следующие действия:

Когда на входе немаскируемого прерывания устанавливается высокий уровень, происходит такая же обработка прерывания, как и обычного прерывания, кроме шага 1. Дело в том, что немаскируемое прерывание имеет фиксированный номер, поэтому распознается сразу.

Обработка особых случаев.

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

Обработчик особого случая игнорирует флажок запрещения прерываний, поскольку его "маскировка" не желательна.



  1. Особенности 32-х разрядных процессоров Intel. Основные группы регистров.

x86 — это CISC-архитектура. Доступ к памяти происходит по «словам». «Слова» размещаются по принципу little-endian, известному также как Intel-формат. Современные процессоры включают в себя декодеры команд x86 для преобразования их в упрощённый внутренний формат с последующим их выполнением.

Пользовательские регистры изменили свою разрядность, стали 32-х битными. Имена получили префикс e (eax, ebp, esp).

Все процессоры  семейства Intel x86 начиная с 80386, имеют 32-разрядные регистры. Это означало, что  программы на этих процессорах оперируют 32-разрядными данными, а также могут использовать регистры индексов для адресации 4Gb памяти. Для работы с новым форматом данных были добавлены новые команды и регистры.

Основные группы регистров: данных(AH,AL,BH,BL,CH,CL,DH,DL,AX,BX,CX,DX,EAX,EBX,ECX,EDX); указателей и  индексов(SP,BP,SI,DI,ESP,EBP,ESI,EDI); сегментов(CS,DS,SS,ES,FS,GS); состояния и управления(FLAGS,IP,EFLAGS,EIP); сопроцессора(ST0-ST7);MMX-расширения для целых чисел(MMX0-MMX7) и для чисел с плавающей запятой(XMM0-XMM7);


  1. Реальный и защищенный режимы 32-х разрядных процессоров Intel.

Реальный режим (real mode)

Классический режим адресации, использованный в первых моделях семейства. Использует сегментированную модель памяти, организованную следующим образом: адресное пространство в 1 MB разбивается на 16-байтовые блоки, называемые параграфами. Всего параграфов в 1 MB — 65536, что позволяет пронумеровать их 16-разрядными числами. Сегменты памяти имеют размер 65536 байт, и всегда начинаются на границе параграфа. Адрес ячейки памяти состоит из двух частей: номера параграфа, с которого начинается сегмент и смещения внутри сегмента. Адрес ячейки, выдаваемый на шину, представляет собой сегментную компоненту умноженную на 16 плюс смещение. Сегментная компонента помещается в специальный регистр, называемый сегментным, а смещение в регистр IP(регистр инструкций).

Несмотря на то, что сегментные регистры имеют специальные назначения, архитектура допускает при обращении к данным заменить один сегмент на любой другой. Сегменты кода, стека и получателя строк всегда используют регистры CS, SS и ES и не могут быть изменены. Общий объем памяти, адресуемый в реальном режиме составляет 1048576 байт (0000:0000-F000:FFFF(00000-FFFFF)-логический адрес (физический адрес) в шестнадцатеричной системе счисления). Сегментный подход позволяет разделить всю память на 16 сегментов, начинающихся с адресов, кратных 64 Кбайт. Эти 16 сегментов называют страницами памяти. Реально доступная пользователю память составляет 640 Кбайт(первые 10 страниц).

Также в реальном режиме отсутствует защита памяти и разграничение прав доступа, поэтому он уже практически вышел из употребления. Является режимом по умолчанию для всех моделей процессоров семейства x86.

Защищённый режим (protected mode)

Более совершенный режим, впервые появившийся в процессоре 80286 и в дальнейшем многократно улучшавшийся. Имеет большое количество подрежимов, по которым можно проследить эволюцию семейства ЦП. В этом режиме поддерживается защита памяти, контексты задач и средства для организации виртуальной памяти. Аналогично реальному режиму, тут также используется сегментированная модель памяти, однако уже организованная по другому принципу: деление на параграфы отсутствует, а расположение сегментов описывается специальными структурами (таблицами дескрипторов), расположенными в оперативной памяти. Помимо базового адреса сегмента дескрипторы содержат размер сегмента (точнее, максимально доступное смещение) и различные атрибуты сегментов, использующиеся для защиты памяти и определения прав доступа к сегменту для различных программных модулей. Существует два типа дескрипторных таблиц: глобальная и локальная.

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

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


  1. Адресация в защищенном режиме 32-х разрядных процессорах Intel.

В защищённом режиме, также как и в реальном, существуют понятия логического и физического адреса. Логический адрес в защищённом режиме (иногда используется термин "виртуальный адрес") состоит из двух 16-разрядных компонент - селектора и смещения. Селектор записывается в те же сегментные регистры, что и сегментный адрес в реальном режиме. Однако преобразование логического адреса в физический выполняется не простым сложением со сдвигом, а при помощи специальных таблиц преобразования адресов.

В первом приближении можно считать, что для процессора i80286 селектор является индексом в таблице, содержащей базовые 24-разрядные физические адреса сегментов. В процессе преобразования логического адреса в физический процессор прибавляет к базовому 24-разрядному адресу 16-разрядное смещение, т.е. вторую компоненту логического адреса.

Такая схема формирования физического адреса позволяет непосредственно адресовать 16 мегабайт памяти с помощью 16-разрядных компонент логического адреса.

Селектор - это индекс, с помощью которого процессор извлекает из специальной таблицы 24-разрядный базовый адрес сегмента. В реальном режиме мы имеем дело с сегментным адресом и смещением, а в защищённом - с селектором и смещением.



RPL (Requested Privilege Level) - запрошенный программой уровень привилегий.

TI (Table Indicator) - если этот бит равен нулю, для преобразования адреса используется так называемая глобальная таблица дескрипторов GDT, в противном случае - локальная таблица дескрипторов LDT.

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

Таблица GDT - единственная в системе. Обычно в ней находятся описания сегментов операционной системы. Таблиц LDT может быть много. Эти таблицы содержат описания сегментов программ, работающих под управлением операционной системы, т.е. отдельных задач. В каждый данный момент времени процессор может использовать только одну таблицу LDT.

Процессор имеет два регистра, предназначенных для адресации используемых в настоящий момент таблиц GDT и LDT. Регистр GTDR описывает расположение и размер таблицы GDT, а регистр LDTR содержит ссылку на использующуюся в настоящее время таблицу LDT.


  1. Структура дескриптора сегмента и типы сегментов памяти в защищенном режиме 32-х разрядных процессоров Intel. Селекторы. 

  2. Глобальная и локальные дескрипторные таблицы 32-х разрядных процессоров Intel. Структура дескриптора сегмента памяти и селектора дескриптора.

  3. Сегментный способ адресации в защищенном режиме 32-х разрядных процессоров Intel. 

  4. Страничный способ адресации в защищенном режиме 32-х разрядных процессоров Intel. 

  5. Режим виртуальной машины (V86) для исполнения программ реального режима. Прерывания и исключения в режиме V86. Монитор виртуальной машины. 

  6. Защита адресного пространства задач. Локальное и глобальное адресное пространство.

  7. Уровни привилегий и кольца защиты 32-х разрядных процессоров Intel.


9) Структура дескриптора сегмента и типы сегментов памяти в защищенном режиме 32-х разрядных процессоров Intel. Селекторы.

Дескриптор сегмента представляет собой 8-ми байтовую структуру.



Предел – смещение последнего байта относительно начала сегмента (Limit = Size - 1). Состоит из двух частей(0-15,48-51).

Логический базовый адрес (ЛБА) – адрес начала сегмента. Состоит из трех частей(16-31,32-39,56-63).

Байт прав доступа (атрибутов) (40-55).



A – accessed – “1” если к  ОС обращается к сегменту в данный момент.

Тип – тип сегмента (кода, данных, …).

S – system – “1” если системный сегмент.

DPL – default privilege level – уровень доступа по-умолчанию. ‘’0” – старший, ‘’0” – младший.

P – presence – присутствие. “1” если сегмент присутствует в памяти в данный момент.

G – granular – гранулярность. Определяет в каких ед. измеряется передел. . ‘’0” – байты, ‘’1” – 4Kb-блоки.

D – разрядность. Определяет разрядность сегментной адресации по-умолчанию. (16bit/32bit)

Селектор.



DI – индекс дескриптора в таблице.

TI -  индекс таблицы (1 - LDT, 0 - GDT).

RPL – requested privilege level – запрошенный уровень привилегий.

10) Глобальная и локальные дескрипторные таблицы 32-х разрядных процессоров Intel. Структура дескриптора сегмента памяти и селектора дескриптора.

Таблицы LDT (Local Descriptor Table), IDT (Interrupt Descriptor Table) и GDT (Global Descriptor Table) имеют одинаковую структуру – это массивы дескрипторов. Сами таблицы не являются сегментами – это области физической памяти. Единственным отличием GDT от LDT является то, что таблица GDT может быть всего лишь одна, а таблиц LDT может быть много. Кроме этого, нулевой дескриптор в таблице GDT не может быть использован и должен содержать нули (так называемый «нулевой дескриптор»).
Регистры GDTR и LDTR схожи по строению: они имеют одинаковый размер (6 байт) и содержат в себе одинаковую структуру данных о расположении и размере таблицы в памяти. Регистр LDTR отличается от этих двух регистров по размеру и содержит в себе селектор дескриптора сегмента данных таблицы LDT и сам дескриптор, который находится в таблицеGDT.

Рассмотрим структуру данных, хранящихся в регистрах GDTR и IDTR:


Линейный адрес таблицы указывает, в какой области оперативной памяти находится таблица. Размер таблицы считается в байтах, причём значение битов 0-15 должно быть на единицу меньше реального размера таблицы.

Структура регистра LDTR выглядит следующим образом:


Из всех 10 байт нам доступны лишь младшие два байта (биты 0-15), в которые следует загрузить селектор дескриптора таблицы LDT, находящийся в таблице GDT.
  1   2   3
Учебный текст
© perviydoc.ru
При копировании укажите ссылку.
обратиться к администрации