- •Ответы на вопросы
- •1. История создания и развития вычислительной техники. Классификация и основные характеристики эвм.
- •2. Понятие информации и ее основные свойства. Основные подходы к измерению количества информации. Формы представления информации в эвм.
- •. Формы представления информации в эвм
- •3. Основные понятия теории кодирования. Принципы оптимального кодирования информации. Методики построения оптимальных кодов.
- •4. Основные принципы помехоустойчивого кодирования. Понятие кодового расстояния. Коды с обнаружением и исправлением ошибок.
- •5. Основные понятия булевой алгебры. Элементарные логические функции и их свойства. Нормальные формы булевых функций.
- •6. Понятие алгоритма, его основные свойства, способы представления и этапы разработки. Типы алгоритмических процессов.
- •8. Трансляторы языков программирования и их функции. Основные фазы трансляции программы.
- •7. Основные этапы и перспективы развития программного обеспечения эвм. Структура программного обеспечения эвм.
- •9. Эволюция операционных систем, их назначение и функции. Архитектура и функциональные компоненты сетевых операционных систем.
- •10. Общая характеристика алгоритмов планирования и диспетчеризации процессов и задач. Дисциплины диспетчеризации.
- •11. Механизм прерываний и его использование для организации мультипрограммной обработки данных.
- •12. Общие принципы управления памятью в операционных системах. Статические и динамические разделы. Проблема фрагментации памяти.
- •13. Особенности организации внешней памяти. Понятие файловой системы и ее функции. Типы файловых систем.
- •14. Общая характеристика языков программирования: эволюция и перспективы развития. Структура алгоритмического языка на примере одного из языков программирования высокого уровня.
- •15. Концепция типов данных и ее реализация на примере одного из языков программирования высокого уровня. Базовые и производные типы.
- •16. Основные идеи и принципы структурного программирования. Базовые управляющие конструкции и их реализация на примере одного из языков программирования высокого уровня.
- •17. Основные принципы модульного программирования. Средства для разработки модульных программ на примере одного из языков программирования высокого уровня.
- •18. Основные концепции объектно – ориентированного программирования. Понятие инкапсуляции, наследования и полиморфизма. Классы и объекты.
- •19. Характеристика основных структур хранения данных: вектор, список, сеть. Линейные структуры данных: способы формирования, основные операции и примеры использования.
- •20. Граф как абстрактная структура данных: способы представления и примеры использования.
- •21. Основные принципы распределенной обработки данных. Эталонная модель взаимодействия открытых систем. Локальные и глобальные вычислительные сети.
- •22. Информационные системы в бухгалтерском учете. Классификация, особенности построения и функционирования на примере одной из систем.
- •23. Понятие предметной области. Объекты и их свойства. Целостность данных. Ограничения целостности.
- •24. Понятие модели данных. Классификация моделей данных и их особенности.
- •25. Особенности реляционной модели данных.
- •26. Общая характеристика структурированного языка запросов sql. Стандарты языка sql.
- •27. Понятие транзакции в sql. Технология оперативной обработки транзакций.
- •28. Триггеры и хранимые процедуры.
- •29. Особенности модели «клиент - сервер» в технологии баз данных.
- •30. Распределенная обработка данных. Модели серверов баз данных и сервера приложений.
- •31. Сущность общественного производства. Производительные силы и экономические отношения.
- •32. Основные факторы производства. Ресурсы. Эффективность общественного производства.
- •33. Основные проблемы экономики. Цели и результаты экономики. Формы общественного продукта.
- •34. Формы собственности. Методы изменения форм собственности (приватизация и разгосударствление).
- •35. Товар и его свойства. Блага и их классификация.
- •36. Деньги, их сущность и функции. Законы денежного обращения.
- •37. Цена товара, ее функции. Виды цен в рыночной экономике.
- •38. Рынок и его основные формы. Теневая экономика.
- •39. Конкуренция в рыночной экономике. Методы конкурентной борьбы.
- •40. Монополия и ее виды. Антимонопольное регулирование.
- •41. Спрос и предложение, факторы их определяющие.
- •42. Фирма как экономический субъект. Организационно – правовые формы хозяйствования.
- •43. Доходы. Прибыль.
- •44. Предпринимательская деятельность и ее цели. Предпринимательство в России.
- •45. Сущность и формы капитала. Рынок капитала.
- •46. Основные производственные фонды, их структура. Физический и моральный износ основного капитала.
- •47. Оборотные средства предприятия, их состав и структура, источники формирования.
- •48. Рынок рабочей силы. Труд и заработная плата, ее формы.
- •49. Социальная политика государства и ее реализация в условиях рыночной экономики.
- •50. Инвестиции и их структура. Влияние инвестиций на экономический рост.
- •51. Макроэкономическая нестабильность и безработица. Формы безработицы.
- •52. Макроэкономическая нестабильность и инфляция. Виды инфляции.
- •53. Финансы и финансовая система.
- •54. Налоговая система и ее воздействие на экономику.
- •55. Государственный бюджет и государственный долг.
- •56. Денежно – кредитная политика государства.
- •57. Банковская система государства.
- •58. Сущность, принципы и формы кредита.
- •59. Национальное богатство.
- •60. Национальный доход.
11. Механизм прерываний и его использование для организации мультипрограммной обработки данных.
Прерывание (англ. interrupt) — сигнал, сообщающий процессору о наступлении какого-либо события. При этом выполнение текущей последовательности команд приостанавливается, и управление передаётся обработчику прерывания, который реагирует на событие и обслуживает его, после чего возвращает управление в прерванный код.[1]
Мультипрограммирование на основе прерываний
Назначение и типы прерываний
Прерывания являются основной движущей силой любой операционной системы. Отключите систему прерываний — и «жизнь» в операционной системе немедленно остановится. Периодические прерывания от таймера вызывают смену процессов в мультипрограммной ОС, а прерывания от устройств ввода-вывода управляют потоками данных, которыми вычислительная система обменивается с внешним миром.
Как верно было замечено: «Прерывания названы так весьма удачно, поскольку они прерывают нормальную работу системы»1. Другими словами, система прерываний переводит процессор на выполнение потока команд, отличного от того, который выполнялся до сих пор, с последующим возвратом к исходному коду. Из сказанного можно сделать вывод о том, что механизм прерываний очень похож на механизм выполнения процедур. Это на самом деле так, хотя между этими механизмами имеется важное отличие. Переключение по прерыванию отличается от переключения, которое происходит по команде безусловного или условного перехода, предусмотренной программистом в потоке команд приложения. Переход по команде происходит в заранее определенных программистом точках программы в зависимости от исходных данных, обрабатываемых программой. Прерывание же происходит в произвольной точке потока команд программы, которую программист не может прогнозировать. Прерывание возникает либо в зависимости от внешних по отношению к процессу выполнения программы событий, либо при появлении непредвиденных аварийных ситуаций в процессе выполнения данной программы. Сходство же прерываний с процедурами состоит в том, что в обоих случаях выполняется некоторая подпрограмма, обрабатывающая специальную ситуацию, а затем продолжается выполнение основной ветви программы.
1 Скотт Максвелл. Ядро Linux в комментариях. — К. ДиаСофт, 2000.
В зависимости от источника прерывания делятся на три больших класса:
внешние;
внутренние;
программные.
Внешние прерывания могут возникать в результате действий пользователя или оператора за терминалом, или же в результате поступления сигналов от аппаратных устройств — сигналов завершения операций ввода-вывода, вырабатываемых контроллерами внешних устройств компьютера, такими как принтер или накопитель на жестких дисках, или же сигналов от датчиков управляемых компьютером технических объектов. Внешние прерывания называют также аппаратными, отражая тот факт, что прерывание возникает вследствие подачи некоторой аппаратурой (например, контроллером принтера) электрического сигнала, который передается (возможно, проходя через другие блоки компьютера, например контроллер прерываний) на специальный вход прерывания процессора. Данный класс прерываний является асинхронным по отношению к потоку инструкций прерываемой программы. Аппаратура процессора работает так, что асинхронные прерывания возникают между выполнением двух соседних инструкций, при этом система после обработки прерывания продолжает выполнение процесса, уже начиная со следующей инструкции.
Внутренние прерывания, называемые также исключениями (exeption), происходят синхронно выполнению программы при появлении аварийной ситуации в ходе исполнения некоторой инструкции программы. Примерами исключений являются деление на нуль, ошибки защиты памяти, обращения по несуществующему адресу, попытка выполнить привилегированную инструкцию в пользовательском режиме и т. п. Исключения возникают непосредственно в ходе выполнения тактов команды («внутри» выполнения).
Программные прерывания отличаются от предыдущих двух классов тем, что они по своей сути не являются «истинными» прерываниями. Программное прерывание возникает при выполнении особой команды процессора, выполнение которой имитирует прерывание, то есть переход на новую последовательность инструкций. Причины использования программных прерываний вместо обычных инструкций вызова процедур будут изложены ниже, после рассмотрения механизма прерываний.
Прерываниям приписывается приоритет, с помощью которого они ранжируются по степени важности и срочности. О прерываниях, имеющих одинаковое значение приоритета, говорят, что они относятся к одному уровню приоритета прерываний.
