Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SPO.docx
Скачиваний:
104
Добавлен:
02.06.2015
Размер:
1.94 Mб
Скачать
  1. Основные функции ОС, требования, предъявляемые к ОС.

Функции ОС:

  1. Управление ресурсами вычислитель.системы (процессорное время, оперативная память, периферийные устройства и ресурсы математического обеспечения);

  2. Упрощение общения пользователя с ЭВМ. Создание удобного интерфейса пользователя (с такими элементами системного программирования как трансляторы, отладчики, загрузчики и т.д.).

Википедия: Основные функции:

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

  • Загрузка программ в оперативную память и их выполнение.

  • Стандартизованный доступ к периферийным устройствам (устройства ввода-вывода).

  • Управление оперативной памятью (распределение между процессами, организация виртуальной памяти).

  • Управление доступом к данным на энергонезависимых носителях (таких как жёсткий диск, оптические диски и др.), организованным в той или иной файловой системе.

  • Обеспечение пользовательского интерфейса.

  • Сохранение информации об ошибках системы.

Требования к ОС:

  1. Надеж-ть – система должна быть так же надежна, как и аппар-ра, на кот-й она работает; должна производить определ-е и диагностир-е ошибок, защищать пользователя от его же ошибок.

-Уменьш-е числа критических сбоев.

-Сокращ-е объема ущерба, кот-ый м.б. причинен любой ошибкой.

-Возможность восстанов-ия после распростран. сбоев.

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

  2. Предсксаз-ть – система должна отвечать на запросы пользов-ля предсказуемым образом, рез-т выполнения команд пользов-ля д.б. одним и тем же, вне завис-сти от последов-сти выполн-я этих команд.

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

  4. Эффект-ть – система должна max-но повышать использов-е системн.ресурсов пользователем. Сама система не должна использ-ть больш.кол-во ресурсов.

  5. Гибкость – системные операции должны настраиваться, ресурсы м.б.увеличены или уменьшены для того, чтобы эффективность и доступность.

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

  7. Многозадачность – параллельное или всевдопараллельное выполнение задач

а также Эффективное распределение ресурсов вычислительной системы между процессами.

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

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

    1. Адресация памяти в реальном режиме. Сегментация памяти, сегментные регистры.

Процессор делит адресное простр-во на произвольное кол-во сегментов, каждый из кот-ых содержит не более 64 Кбайт. Адрес первого байта сегмента всегда кратен 16 и назыв-ся адресом сегмента или параграфом сегмента. Для работы с памятью используются две шины: - шина адреса; - шина данных. При работе в реальном режиме процессора компьютер оснащен 20-разрядной шиной адреса и 16-разрядной шиной данных, это означает, что имеется возможность адресоваться к 1 Мбайту памяти.

Возникает проблема представл-я 20-разр. физич. адреса памяти при помощи содержимого 16-разрядных регистров. Для этого использ-ся двухкомпонентный логич.адрес. Логический адрес состоит из 16-разрядных компонент: сегмента памяти и смещения внутри сегмента. Например, <CS:IP>

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

В процессоре имеется неск-ко быстрых элем-ов памяти на интегральных схемах, кот-ые назыв-ся регистрами. Регистры можно рассм-ть, как ЯП, к кот-ым ПР может обращаться быстрее, чем к обычной памяти. Регистры разбив-ся на 4 категории: 1) Регистры флагов 2) Рег-ры общего назнач-я (РОН) 3) Указатель инструкций 4) Сегментные регистры.

Все РОНы могут участвовать в ариф-ко-логических операциях. РОНы делятся условно на 2 части: Low – младшая и High – старшая (например, старшая часть – это AH, а младшая – AL). Так же использ-ся рег-ры EAX, EBX, ECX и EDX (E - Extended(расширенный))

AX – аккумулятор, BX - базовый регистр, CX – счетчик,

DX - данные. Явл-ся расширением регистра AX при умножении двойных слов, а также при операциях деления хранит остаток.

  1. SI - индекс. Использ-ся в кач-ве индексного рег-ра, 2) DI - индекс. Использ-ся в кач-ве индексного регистра, 3) BP – дополнительный регистр базы. Используется в кач-ве базового регистра, 4) SP - указатель стека.

Сегментные регистры Регистр CS использ-ся для определ-я кодового сегмента, содержащего выполняемую прогр-у, и содержит начал.адрес этого сегмента. Регистр DS использ-ся для доступа к сегменту данных и содержит его начал.адрес. Регистр SS задает начал.адрес сегмента стека. Регистр ES использ-ся, для адресации данных, находящихся в разных физических сегментах.

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

. Битовые флаги: O - флаг переполнения; D - флаг направления; I - флаг прерывания; T – флаг трассировки; S - флаг знака; Z - флаг нуля; A - флаг дополнительного переноса; P - флаг четности; C - флаг переноса. Неиспользуемые биты регистра флагов установлены в 0.

Некот-ые флаги устанавл-ся в резул-те выполн-я арифметич.операций или операций сравнения,Напр-р, флаг нуля (бит Z в регистре флагов) устанавл-ся после инструкции вычитания, если рез-т нулевой. Другие флаги (флаг трассировки, флаг прерыв-я, флаг направл-я) устанавл-ся спец.командами. Рег-р флагов не считывается и не модифицируется непосредственно.

3) Стек, вектора прерываний

Система прерыв-ий в реал.режиме работы ПР

4. Клавиатура. Клавиатурный буфер.

Клава включает в себя сложную топологию проводников, и даже собственный микропроцессор - контроллер.

Буфер устроен как циклическая очередь (FIFO - "первым записан - первым считан"). Он занимает непрерывную область адресов памяти с адреса 0040:001Е. Указатели на голову и хвост расположены по адресам 0040:001А и 0040:001С соответственно. Имеет длину 32 байта.

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

Чтение, запись в буфер

Когда оба указателя равны, буфер пуст. 001Eh и 003Eh адреса начала и конца буфера. Указателями на начало и конец клавиатурного буфера обычно управляют обработчики прерываний INT 09h и INT 16h. Программа извлекает из буфера коды нажатых клавиш, используя различные функции прерывания INT 16h.

5) Клавиатура. Байты статуса. Основные шаги обработки прерывания от клавиатуры

Нажатие/отпускание любой клавиши вызывает сигнал аппаратного (внешнего) прерывания.

  • Это заставляет ПР прервать выполняемую программу и перейти на программу обработки прерывания от клавиатуры.

  • Процессор вместе с сигналом прерывания получает еще и номер вектора прерывания – 09h.

Программа INT 09h, получив управление в рез-те прерывания от клавиатуры, считывает из порта 60h скэн-код и анализирует его значение.

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

При нажатии любой клавиши программа INT 09h считывает из порта 60h её скэн-код нажатия и по таблице трансляции в коды ASCIформирует двухбайтовый код, старший байт кот-го содержит скэн-код, младший - ASCI

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

Кроме кодов ASCII существуют расширенные коды, присвоенные клавишам или комбинациям клавиш, которые не имеют представляющего их символа ASCII, такие как функциональные клавиши или комбинации с клавишей Alt. Расширенные коды имеют длину 2 байта: 1) всегда ASCII = 0. 2) номер расширенного кода. Например: Код функциональной клавиши F1=003Bh Проверка нажата ли F1 cmp ax,003Bh

ОС предост-ет неск-ко способов ввода данных с клав: – обращение к клаве как к файлу, с помощью прерывания DOS INT 21h с функцией 3Fh; – использов-е группы ф-ций DOS INT 21h из диапазона 1h...Ch, обеспечивающих посимвольный ввод с клав-ы в разных режимах; – посимвольный ввод путем обращения непосредственно к драйверу BIOS с помощью прерывания INT 16h.

  1. Прочитать скэн-код и послать клавиатуре подтверждающий сигнал;

  2. Установить соответствующий бит байта-статуса клавиш переключателей, если необходимо;

  3. Преобразовать скэн-код в ASCII-код или;

  4. Преобразовать скэн-код в номер расширенного кода, если нажата функциональная клавиша;

  5. Поместить код клавиши в буфер клавиатуры.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]