
- •Информатика
- •Содержание
- •1. Понятие информации и ее основные свойства
- •1.1. Предмет и задачи информатики
- •1.2. Понятие информации
- •1.2. Свойства информации
- •1.3. Носители данных
- •1.4. Операции с данными
- •2. Кодирование данных двоичным кодом
- •2.1. Двоичное кодирование
- •2.2. Кодирование целых чисел
- •2.3. Кодирование вещественных чисел
- •2.4. Кодирование текстовых данных
- •2.5. Кодирование графических данных
- •3. Принцип работы вычислительной машины
- •3.1. Реализация обработки данных с помощью технического устройства
- •3.2. Организация памяти
- •3.3. Структура вычислительной машины и принцип ее работы
- •4. Алгоритмы и языки программирования
- •4.1. Понятие алгоритма
- •4.2. Понятие языка
- •4.3. Языки программирования
- •4.4. Процесс выполнения программы на эвм
- •5. Аппаратное и программное обеспечение
- •5.1. Базовая аппаратная конфигурация
- •5.2. Периферийные устройства
- •5.3. Программное обеспечение
- •5.4. Классификация служебных программных средств
- •5.5. Классификация прикладных программных средств
- •6. Операционная система персонального компьютера
- •6.1. Основные функции операционной системы
- •6.2. Организация файловой системы
- •6.3. Каталоги
- •6.4. Атрибуты файлов
- •6.5. Обслуживание файловой системы
- •7. Операционная система Windows
- •7.1. Основные особенности операционной системы Windows
- •7.2. Рабочий стол
- •7.3. Управление Windows
- •7.4. Окна
- •7.5. Диалоговое окно
- •7.6. Работа с меню
- •7.7. Контекстное меню
- •7.8. Операции с файлами и папками
- •8. Текстовый процессор Word
- •8.1. Типы документов
- •8.2. Создание документа
- •8.3. Ввод документа
- •8.4. Редактирование документа
- •8.5. Рецензирование документа
- •8.6. Форматирование документа
- •8.7. Стили и шаблоны
- •9. Табличный процессор Excel
- •9.1. Основные понятия
- •9.2. Вычисления в электронных таблицах
- •9.3. Копирование содержимого ячеек
- •9.4. Автоматизация ввода
- •9.5. Использование стандартных функций
- •9.6. Построение диаграмм и графиков
- •9.7. Построение графиков функций
- •9.8. Построение поверхности
- •9.9. Нахождение корней уравнения
4.4. Процесс выполнения программы на эвм
Для того чтобы программа могла быть выполненной, она должна быть помещена в оперативную память компьютера. Туда же должны быть помещены и исходные данные. Как правило, программа вводится в оперативную память с жесткого диска. Исходные данные вводятся с клавиатуры либо также с жесткого диска, куда они должны быть заранее помещены с помощью другой программы. Результаты своей работы программа помещает в определенную область оперативной памяти, откуда они могут быть выведены на какое-либо внешнее устройство, которым может быть жесткий диск, экран дисплея, печатающее устройство (рис. 16).
Рис. 16. Распределение памяти при выполнении программы
Процесс выполнения программы на ЭВМ разбивается на ряд этапов (рис. 17).
Программа пишется программистом на одном из языков программирования. Процессор ЭВМ может реально выполнять только команды машинного языка. Преобразование исходного текста программы в машинные коды выполняется специальной программой – транслятором.
Трансляторы бывают двух видов: компиляторы и интерпретаторы. Компилятор преобразует исходную программу на языке высокого уровня в некоторую стандартную форму на машинном языке, называемую объектным модулем.
Интерпретатор преобразует отдельные предложения исходного языка в машинный код и немедленно их исполняет. Интерпретатор не создает объектный модуль.
Рис. 17. Процесс выполнения программы на ЭВМ
В процессе трансляции проверяется синтаксическая правильность предложений исходной программы и генерируется список обнаруженных ошибок. Объектный модуль формируется лишь при отсутствии синтаксических ошибок.
Некоторые части программы программист не пишет, а ссылается на них из своей программы, например, на программы управления вводом-выводом и пр. Они хранятся на внешнем запоминающем устройстве в библиотеке объектных модулей. Объектный модуль, сформированный компилятором, не может быть выполнен без объединения с этими модулями.
Все объектные модули генерируются в некотором стандартном виде. Поэтому различные части программы можно писать и транслировать независимо, помещая получаемые объектные модули в библиотеку объектных модулей. Это позволит разделить работу по написанию большой программы между несколькими программистами, каждый из которых может писать и отлаживать свою часть программы независимо. Даже если программист пишет программу самостоятельно, имеет смысл разбивать ее на ряд независимых частей, что позволяет вносить изменения в каждую из них, не затрагивая остальных частей.
Компилятор не может указать конкретный адрес оперативной памяти, начиная с которого будет располагаться формируемый объектный модуль, поскольку:
размер получаемого объектного модуля не может быть заранее известен, поэтому существует опасность наложения в памяти различных модулей или появления неиспользуемых участков памяти;
к моменту исполнения программы неизвестно, какие еще программы будут находиться в оперативной памяти.
Для решения этой проблемы транслятор формирует так называемые перемещаемые объектные модули. Начальный адрес перемещаемого объектного модуля определяется непосредственно при загрузке программы.
Программа, которая связывает независимо оттранслированные объектные модули в единую программу, называется редактором связей. Редактор связей имеет на входе объектные модули и генерирует на выходе загрузочный модуль, помещаемый на внешнее запоминающее устройство. Загрузочный модуль помещается в оперативную память специальной программой, называемой загрузчиком. Загрузчик определяет адрес загрузки программы, помещает ее в оперативную память и передает управление на ее первую команду. Одна и та же программа при различных запусках может располагаться в различных местах оперативной памяти.