28626

Введение в программирование, Принцип программного управления

Лекция

Информатика, кибернетика и программирование

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

Русский

2015-01-17

57.5 KB

14 чел.

Лекция 1: Введение в программирование.

1. Принцип программного управления.

2. Программы, управляемые событиями.

3. Аппаратное и программное обеспечение компьютера.

1. Принцип программного управления.

Компьютер подобен плееру для проигрывания звукозаписей или видеозаписей. По сути, отличие лишь в том, что компьютер предназначен для “проигрывания “ программ. Всё, что способен делать компьютер - это выполнять программы. Программа, как и в обычном плеере - сменный элемент (часто размещаемый на специальном носителе - дискете или на жёстком диске). Сменив выполняемую программу, вы переходите от решения одной задачи к другой. Например, одна программа выполняет функцию калькулятора, а другая - редактора текста. Так обеспечивается универсальность компьютера, т.е. возможность выполнять различные задачи на одном и том же оборудовании.

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

      

                               

 

 

     

       

  

 

              

 Рис.1. Общая структурная схема персонального компьютера. 

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

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

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

 Программа размещается в оперативной памяти ЭВМ вместе с обрабатываемыми данными (например, с числами или строками символов). 

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

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

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

Элементарными операциями процессора являются упоминаемые уже операции над оперативной памятью: запись и чтение. Они часто называются операциями ввода и вывода. Ввод - запись информации в оперативную память (например, ввод с клавиатуры), а вывод - чтение информации из оперативной памяти (например, вывод на экран монитора или на принтер).

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

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

   Замечание

Хранение программы вместе с данными в оперативной памяти позволяет программе изменять не только данные, но и саму себя в процессе выполнения. Эта возможность используется до сих пор весьма ограничено: для модификации адресов при циклической обработке.

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

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

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

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

2. Программы, управляемые событиями.

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

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

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

Программы, управляемые событиями, обычно включают три характерных фазы:

Инициализация (начальная установка, настройка).

Режим ожидания событий (бесконечный цикл ожидания).

Завершение программы (освобождение памяти и других ресурсов).

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

3. Аппаратное и программное обеспечение компьютера.

Современный компьютер функционирует как сложный комплекс аппаратуры и программ. В этом комплексе принято выделять две составные части:

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

б) программное обеспечение (software) - набор программ, без которых нормальная работа современного компьютера невозможна.

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

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

Одной из первых систем графического интерфейса была Windows 3.0 и 3.1. Это - графическая оболочка для MS DOS, не являющаяся самостоятельной операционной системой. Однако она обеспечила не только общение посредством графической информации, но и многооконный интерфейс, а также элементы многозадачного режима работы, важные для эффективной работы пользователя. Так в системе Windows вы можете одновременно выводить информацию на принтер и редактировать какой-либо файл информации.

Дальнейшим шагом вперед по пути совершенствования графического интерфейса и многозадачности  стала новая операционная система Windows 95, получившая в настоящее время широкое распространение и положившая начало семейству 32-битных приложений (с новой внутримашинной системой кодирования Unicode). Развитие новых направлений информатизации на базе компьютеров, таких как технология "клиент-сервер", мультимедиа, и в особенности работа с сетью Internet и локальными сетями, вызвали появление ещё более совершенных операционных систем (Windows NT и др.).

Архитектура систем Windows реализована на принципах программ, управляемых потоком событий. Реакцией ядра Windows на возникновение события является посылка сообщения прикладной программе, содержащего описание события. Например, нажатие клавиши приводит к сообщению wm_KeyDown. События, подлежащие обработке прикладной программой, помещаются в очередь событий и обрабатываются по мере их поступления в эту очередь. Среда Windows предоставляет программисту большой набор встроенных функций доступа к периферийным устройствам, создания и управления окнами и различными ресурсами - функции Windows API, которые составляют основу программирования интерфейса с пользователем.

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


Процессор

перативная память

Монитор

Дисковая память

  (ГМД и ЖМД)

Клавиатура

Мышь


 

А также другие работы, которые могут Вас заинтересовать

2094. Понятие о магнитном токе 67.25 KB
  Распределение магнитных силовых линий, получающуюся при протекании постоянного электрического тока.
2095. Элементарный щелевой излучатель 56.25 KB
  Данная излучающая система представляет собой бесконечную металлическую плоскость. Для возбуждения в щели переменного магнитного тока могут быть использованы различные способы.
2096. Элементарный излучатель Гюйгенса 85.15 KB
  Может быть представлен в виде воображаемой плоской площадки в диэлектрической среде без потерь, в том числе в свободном пространстве, размеры площадки много меньше длины волны.
2097. Передающие антенны и их параметры. 561.44 KB
  Группа определяющая электродинамический режим антенны, геометрические размеры и форма поверхностей и проводов, по которым текут электрические токи, частота колебаний и распределение токов, электродинамические параметры материалов антенны и окружающей среды.
2098. Мощность излучения антенн 281.36 KB
  Входное сопротивление передающей антенны определяется отношением напряжения к току на ее входных клеммах и характеризует антенну как нагрузку для генератора.
2099. Коэффициент согласования передающей антенны 25.36 KB
  Генератор нагружен на согласованную с ним линию без потерь, то при включении на конце линии нагрузки с сопротивлением, равным волновому, вся мощность от генератора будет поглощена этим сопротивлением.
2100. Электрическая прочность и высотность антенн 16.38 KB
  Электрическая прочность антенны характеризуется наибольшей мощностью или наибольшим напряжением в антенне, при которых еще не происходит электрический пробой диэлектриков конструкции антенны или окружающего антенну воздуха.
2101. Действующая длина передающей антенны 150.62 KB
  Выражение для напряжённости электрического поля в дальней зоне антенны с любым распределением тока вдоль ее оси может быть записано в таком же виде, как и для диполя Герца, имеющего равномерное распределение тока.
2102. Коэффициент направленного действия и коэффициент усиления передающей антенны 24.31 KB
  КНД передающей антенны определяется сравнением данной антенны с некоторой эталонной антенной, направленные свойства которой хорошо известны. В качестве эталонных широко используются: совершенно ненаправленный (изотропный) излучатель, диполь Герца, полуволновой вибратор.