Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
realese.doc
Скачиваний:
16
Добавлен:
03.09.2019
Размер:
313.34 Кб
Скачать
  1. Архитектурные особенности модели микропроцессорной системы.

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

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

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

  1. Понятие прерывания. Механизм прерываний.

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

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

  1. Обработка прерываний. Классификация прерываний.

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

Схема обработки прерываний:1. Идентификация прерывания. 2. Остановка всех других прерываний. 3. Смена контекста(сохранение состояния прерванного процесса из системных регистров, загрузка в системные регистры контекста обработчика прерываний).4. Обработка прерывания и определение программы, которую следует запустить. 5.Смена контекста (загрузка в системный регистр контекста программы).6. Установка прежнего режима прерываний.

Классификация прерываний.

Прерывания, возникающие в работе ЭВМ, делятся на 3 класса:1. Внутренние аппаратные(синхронные).2. Внешние аппаратные(асинхронные). 3. Программные.

  1. Планирование процессов.

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

Когда создается процесс

Когда процесс завершает работу

Когда процесс блокируется на операции ввода/вывода, семафоре, и т.д.

При прерывании ввода/вывода.

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

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

Системы реального времени - могут использовать неприоритетный и приоритетный алгоритм (например: система управления автомобилем).

Задачи алгоритмов планирования:

Для всех систем

Справедливость - каждому процессу справедливую долю процессорного времени

Контроль над выполнением принятой политики

Баланс - поддержка занятости всех частей системы (например: чтобы были заняты процессор и устройства ввода/вывода)

Системы пакетной обработки

Пропускная способность - количество задач в час

Оборотное время - минимизация времени на ожидание обслуживания и обработку задач.

Использование процесса - чтобы процессор всегда был занят.

Интерактивные системы

Время отклика - быстрая реакция на запросы

Соразмерность - выполнение ожиданий пользователя (например: пользователь не готов к долгой загрузке системы)

Системы реального времени

Окончание работы к сроку - предотвращение потери данных

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

  1. Состояния процессов.

Процесс (задача) - программа, находящаяся в режиме выполнения.

Существуют три состояния процессов:1) Выполнение(занимает процессор)- процесс запущен и выполняется. 2) Готовность- процесс временно приостановлен, чтобы позволить другому процессу выполняться). 3) Ожидание-процесс приостановлен или не может быть запущен, ожидает действий пользователя(например ввода каких-либо данных).

  1. Контекст и дескриптор процесса.

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

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

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

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

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

создать информационные структуры, описывающие данный процесс, то есть его дескриптор и контекст;

включить дескриптор нового процесса в очередь готовых процессов;

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

  1. Текстовые редакторы различных операционных систем. Издательские системы.

Linux.

Emacs — Свободно программируемый полноэкранный текстовый редактор и общее компьютерное окружение (использует встроенный elisp, простой диалект языка программирования Lisp)

joe — Полноэкранный текстовый редактор с командами в стиле Wordstar

jove — Полноэкранный текстовый редактор с командами в стиле Emacs

MicroEMACS — Полноэкранный текстовый редактор с командами в стиле Emacs

NEdit — Основанный на Motif текстовый редактор для X Window System, напоминающий текстовый редактор из Mac или Microsoft Windows систем

vi — «Визуальный» экранный редактор

VILE — vi-подобный текстовый редактор с множественными буферами, разделением экрана, подсветкой синтаксиса и некоторыми другими дополнениями, не содержащихся в обычных ex/vi («Vi like Emacs»)

XEmacs — Популярная версия emacs, полученная из GNU emacs

Windows.

Emacs — Один из самых мощных по возможностям многоцелевой, свободный редактор. История развития Emacs превышает 35 лет. Ядро реализовано на Си, остальная часть на диалекте Лисп — Elisp. Это позволяет модифицировать поведение редактора без его перекомпиляции. Имеет большое число режимов работы, при использовании редактора для программирования — не уступает возможностям IDE.

jEdit — Свободный редактор на Java.

Kate — Мощный расширяемый свободный текстовый редактор с подсветкой синтаксиса для массы языков программирования и разметки (модули подсветки можно автоматически обновлять по сети). Гибкий настраиваемый интерфейс. Входит в состав KDE.

Notepad — входит в состав Microsoft Windows.

Vim. Свободный. Один из самых мощных по возможностям редактор для программистов. Общая история развития семейства vi-редакторов превышает 35 лет. Модальный, основные режимы работы: режим ввода текста и командный режим. Обладает широкими возможностями настройки и автоматизации. Целевая аудитория — администраторы и программисты. Возможно расширение функционала за счёт поддержки скриптовых языков.

GNU nano — Свободный редактор для текстового режима.

EditPlus — текстовый редактор для Windows, предназначенный для программирования и веб-разработки.

EmEditor — платный редактор для Windows-систем. Обеспечивает подсветку текста для разных форматов, модулей, однако интерфейс требует изучения.

SciTE Свободный кроссплатформенный редактор с подсветкой синтаксиса для многих языков программирования, фолдингом. Широкие возможности настройки и автоматизации.

NEdit — популярный текстовый редактор и редактор исходного кода для среды X Window System.

Notepad++ (GNU GPL), основан на том же движке, что и SciTE. Имеет сходные возможности и удобный интерфейс.

Notepad GNU — свободный текстовый редактор с открытым исходным кодом для Windows, разработанный для программистов и обычных пользователей. Он базируется на компоненте SynEdit и распространяется под лицензией GNU GPL.

Oiynsoft Text Editor — маленький и быстрый текстовый редактор от Oiynsoft

PSPad — Текстовый редактор с подсветкой синтаксиса, поддержкой скриптов и инструментами для работы с HTML-кодом.

RJ TextEd — свободный текстовый редактор с подсветкой синтаксиса, сворачиванием и множеством других полезных возможностей.

TEA — Свободный кроссплатформенный редактор с сотнями функций обработки текста и разметки в [X]HTML, LaTeX, Docbook, Lout, подсветкой синтаксиса и проверкой правописания.

Crimson Editor — текстовый редактор с подсветкой синтаксиса для Microsoft Windows, распространяемый под лицензией GNU GPL

AkelPad — маленький и быстрый редактор с множеством полезных плагинов.

TextEdit — текстовый редактор-процессор от Apple Inc.

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

Rnote — Текстовый редактор с большим количеством настроек

Mac OS.

TextEdit-Текстовый редактор-процессор созданный Apple.

  1. Обслуживание ввода-вывода.

Основные задачи, которые должно решать программное обеспечение ввода-вывода:

1)Независимость от устройств - например, программа, читающая данные из файла не должна задумываться с чего она читает (CD, HDD и др.). Все проблемы должна решать ОС.

2)Единообразное именование - имя файла или устройства не должны отличаться. (В системах UNIX выполняется дословно).

3)Обработка ошибок - ошибки могут быть отловлены на уровне контроллера, драйвера и т.д.

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

5)Буферизация

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

Три основных способа осуществления операций ввода-вывода:

1)Программный ввод-вывод

2)Управляемый прерываниями ввод-вывод

3)Ввод-вывод с использованием DMA

Алгоритм печати:

1)Строка для печати собирается в пространстве пользователя.

2)Обращаясь к системному вызову, процесс получает принтер.

3)Обращаясь к системному вызову, процесс просит распечатать строку на принтере.

4)Операционная система копирует строку в массив, расположенный в режиме ядра.

5)ОС копирует первый символ в регистр данных принтера, который отображен на памяти.

6)Символ печатается на бумаге.

7)Указатель устанавливается на следующий символ.

8)Процессор ждет, когда бит готовности принтера выставится в готовность.

9)Все повторяется.

При использовании буфера принтера, сначала вся строка копируется в буфер, после этого начинается печать.

  1. Физическая организация устройств ввода-вывода.

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

Внешнее устройство обычно состоит из механического и электронного компонента. Электронный компонент называется контроллером устройства или адаптером. Механический компонент представляет собственно устройство. Некоторые контроллеры могут управлять несколькими устройствами. Если интерфейс между контроллером и устройством стандартизован, то независимые производители могут выпускать совместимые как контроллеры, так и устройства.

Операционная система обычно имеет дело не с устройством, а с контроллером. Контроллер, как правило, выполняет простые функции, например, преобразует поток бит в блоки, состоящие из байт, и осуществляют контроль и исправление ошибок. Каждый контроллер имеет несколько регистров, которые используются для взаимодействия с центральным процессором. В некоторых компьютерах эти регистры являются частью физического адресного пространства. В таких компьютерах нет специальных операций ввода-вывода. В других компьютерах адреса регистров ввода-вывода, называемых часто портами, образуют собственное адресное пространство за счет введения специальных операций ввода-вывода (например, команд IN и OUT в процессорах i86).

ОС выполняет ввод-вывод, записывая команды в регистры контроллера. Например, контроллер гибкого диска IBM PC принимает 15 команд, таких как READ, WRITE, SEEK, FORMAT и т.д. Когда команда принята, процессор оставляет контроллер и занимается другой работой. При завершении команды контроллер организует прерывание для того, чтобы передать управление процессором операционной системе, которая должна проверить результаты операции. Процессор получает результаты и статус устройства, читая информацию из регистров контроллера.

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