Принципы построения алгоритмов

Содержание

Слайд 2

Редактор текста Исходный модуль Транслятор (компилятор) Объектный модуль Компоновщик Редактор связей

Редактор текста

Исходный модуль

Транслятор (компилятор)

Объектный модуль

Компоновщик
Редактор связей

Загрузочный модуль

Загрузчик

Абсолютный модуль

Выполнение

Исходные данные

Результат

Библ-ка программ польз-ля

Библ-ка

системных программ

задача

Слайд 3

Первый этап - исходный модуль Программа (исходный модуль) готовится с помощью

Первый этап - исходный модуль

Программа (исходный модуль) готовится с помощью

текстового редактора в виде текстового файла, который подается на вход транслятора.
Слайд 4

Второй этап - трансляция На стадии трансляции исходный модуль преобразуется в

Второй этап - трансляция

На стадии трансляции исходный модуль преобразуется в

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

Третий этап– абсолютный модуль Исполняемый модуль реализуется редактором связей, построителем задач,

Третий этап– абсолютный модуль

Исполняемый модуль реализуется редактором связей, построителем задач,

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

Место и роль ОС в обработке пользовательской программы Написание собственно расчетной программы в среде Паскаля.

Место и роль ОС в обработке пользовательской программы
Написание собственно расчетной программы

в среде Паскаля.
Слайд 7

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

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

ЭВМ с пользователем.
ОС подразделяются на системы общего (Windows, Unix) и специального назначения.

Операционные системы. Общий подход.

Слайд 8

Обеспечивать загрузку пользовательских программ в оперативную память и их выполнение. Обеспечивать

Обеспечивать загрузку пользовательских программ в оперативную память и их выполнение.
Обеспечивать управление

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

Функции ОС в вычислительном процессе

Слайд 9

Слайд 10

Системное программное обеспечение должно связать каждое указанное пользователем логическое имя с

Системное программное обеспечение должно связать каждое указанное пользователем логическое имя с

физической ячейкой памяти, т.е. отобразить символьное пространство на физическую память компьютера. Это происходит в два этапа:
Система программирования осуществляет трансляцию и компоновку программы, используя библиотечные программные модули, и присваивает данным виртуальные адреса.
Операционная система, через подсистемы управления памятью, связывает виртуальные адреса с физической памятью.
Виртуальное адресное пространство программы зависит от архитектуры процессора и системы программирования и практически не зависит от объёма физической памяти компьютера.
Слайд 11

Распределение ресурсов памяти Принципы распределения ресурсов памяти в многопрограммном режиме, определяемых

Распределение ресурсов памяти

Принципы распределения ресурсов памяти в многопрограммном режиме, определяемых архитектурой

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

Структура распределения физической памяти ОС MSDOS (простое непрерывное распределение памяти). Каждая

Структура распределения физической памяти ОС MSDOS (простое непрерывное распределение памяти).

Каждая ячейка

памяти имеет свой адрес (номер), по которому она размещается в памяти. Оперативную память в архитектуре IBM PC (ОС MS DOS) можно разделить на три части:
Младшие адреса (первые 1024 ячеек) – таблица векторов прерываний;
Вторая часть (основная, стандартная память) – программные модули MS DOS и программы пользователя.
Третья часть отведена для ПЗУ и функционирования некоторых устройств ввода/вывода.
Слайд 13

Функции ядра ОС Ядро ОС составляют управляющие программы. Управление данными -

Функции ядра ОС

Ядро ОС составляют управляющие программы.
Управление данными - обслуживание

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

Обрабатывающие программы Обрабатывающие программы – основа инструментального обеспечения ЭВМ. Трансляторы: Ассемблеры Компиляторы Интерпретаторы Редактор связей (компоновщик)

Обрабатывающие программы

Обрабатывающие программы – основа инструментального обеспечения ЭВМ.
Трансляторы:
Ассемблеры


Компиляторы
Интерпретаторы
Редактор связей (компоновщик)
Слайд 15

Трансляторы Трансляторы: ассемблеры, компиляторы, интерпретаторы. Ассемблеры – трансляторы с языков ассемблеров.

Трансляторы

Трансляторы: ассемблеры, компиляторы, интерпретаторы.
Ассемблеры – трансляторы с языков ассемблеров.


Компиляторы производят построчную обработку исходного текста программы. На первом этапе идет проверка синтаксиса, на втором этапе создается объектный модуль (транслируется на язык машинных кодов).
Интерпретатор обрабатывает по одному операторы программы, выполняя для него все стадии.
Слайд 16

Программное обеспечение. Понятие интерфейса. Программное обеспечение (системное и инструментальное) – программы,

Программное обеспечение. Понятие интерфейса.

Программное обеспечение (системное и инструментальное) – программы, обеспечивающие

и сопровождающие выполнение программ пользователя.
Методы и средства взаимодействия человека с аппаратными и программными средствами называется пользовательским интерфейсом.
Слайд 17

Основные функции ОС, как посредника, можно сформулировать так: Пользовательский интерфейс; Аппаратно-программный

Основные функции ОС, как посредника, можно сформулировать так:
Пользовательский интерфейс;
Аппаратно-программный интерфейс

(взаимодействие между программным и аппаратным обеспечением);
Программный интерфейс (взаимодействие между различными видам программного обеспечения).
Виды интерфейса пользователя:
неграфические и графические
Слайд 18

Структура ОС MS-DOS Основные проблемы, связанные с вычислительным процессом: способ компактного

Структура ОС MS-DOS

Основные проблемы, связанные с вычислительным процессом:
способ компактного хранения и

удобного доступа к информации,
рациональное использование вычислительных ресурсов.
Слайд 19

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

BIOS (базовая система ввода/вывода);
ядро системы;
командный процессор (оболочка).
------------------------------------
Драйверы устройств


Резидентная программа
Слайд 20

Драйверы устройств – специальные программы, которые дополняют систему ввода/вывода MS-DOS и

Драйверы устройств – специальные программы, которые дополняют систему ввода/вывода MS-DOS и

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

Резидентная программа – программа, остающаяся в памяти после завершения работы. Система

Резидентная программа – программа, остающаяся в памяти после завершения работы.
Система

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

Модуль BIOS Резидентно содержатся аппаратно-зависимые драйверы следующих устройств консольный дисплей с

Модуль BIOS

Резидентно содержатся аппаратно-зависимые драйверы следующих устройств
консольный дисплей с клавиатурой

(CON);
устройство построчной печати (PRN);
последовательный канал связи (AUX);
часы/календарь (CLOCK);
дисковое устройство начальной загрузки (загрузчик операционной системы).
Слайд 23

Ядро системы взаимодействует с драйверами этих устройств с помощью пакетов запросов

Ядро системы взаимодействует с драйверами этих устройств с помощью пакетов запросов

ввода/вывода.
Драйверы переводят эти запросы в команды для различных аппаратных контроллеров. Самые простые компоненты драйверов аппаратуры размещаются в ПЗУ.
Слайд 24

Модуль BIOS производит самотестирование при включении компьютера. Он включает в себя

Модуль BIOS производит самотестирование при включении компьютера.
Он включает в себя

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

Процесс запуска компьютера Сразу после включения компьютера на адресной шине процессора

Процесс запуска компьютера

Сразу после включения компьютера на адресной шине процессора выставляется

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

Модуль BIOS считывается в оперативную память во время инициализации системы как

Модуль BIOS считывается в оперативную память во время инициализации системы как

часть файла IO.SYS, который обслуживает периферийные устройства (терминал, принтер, диски и т.д.). Он находится в памяти компьютера постоянно.
Загрузчик операционной системы.
З.О.С. – очень короткая программа, находящаяся в первом секторе дискеты или винчестера. Ее задача – считать в память модули IO.SYS (расширение BIOS) и MSDOS.SYS (этот модуль в основном реализует работу с файловой системой).
Слайд 27

Ядро DOS Ядро DOS - специальная программа, которая включает в себя

Ядро DOS

Ядро DOS - специальная программа, которая включает в себя набор

аппаратно-независимых программ (системных функций):
управление файлами и записями;
управление памятью;
символьно-ориентированное устройство ввода/вывода;
порождение (запуск) других задач;
доступ к часам реального времени.
Слайд 28

Ядро управляет следующими процессами: Обработчиками прерываний. Передача им управления не контролируется

Ядро управляет следующими процессами:
Обработчиками прерываний. Передача им управления не контролируется

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

Прерывания Механизм прерывания реализуется аппаратно-программными средствами. Структуры систем прерывания могут быть

Прерывания

Механизм прерывания реализуется аппаратно-программными средствами. Структуры систем прерывания могут быть различными

в зависимости от аппаратной архитектуры, но основное свойство у них одно – изменение порядка выполнения команд командным процессором.
Слайд 30

Центральный процессор имеет один или несколько входов, при поступлении на которые

Центральный процессор имеет один или несколько входов, при поступлении на которые

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

Прерывания Прием сигнала на прерывание и его идентификация. Запоминание состояния прерванного

Прерывания

Прием сигнала на прерывание и его идентификация.
Запоминание состояния прерванного процесса.
Управление аппаратно

передается на подпрограмму обработки прерывания.
Сохранение информации о прерванной программе, если это не удалось сделать с помощью аппаратуры на шаге 2.
Выполнение программы обработки прерывания.
Восстановление информации, относящейся к прерванному процессу.
Возврат на прерванную программу.
Слайд 32

Прерывания могут быть внешними и внутренними. Внешние прерывания; Прерывание от таймера.

Прерывания могут быть внешними и внутренними.
Внешние прерывания;
Прерывание от таймера.
Прерывание от

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

Командный процессор Стандартная оболочка делится на три части: резидентная часть; секция

Командный процессор

Стандартная оболочка делится на три части:
резидентная часть;
секция инициализации;
транзитный модуль.


Резидентная часть –программы обработки управляющих клавиш CTRL-C, CTRL-Break, критических ошибок и завершения других транзитных программ.
Секция инициализации – обрабатывает командный файл AUTOEXE.BAT
Транзитный модуль – выдает запрос пользователю, считывает команды с клавиатуры или из командного файла и обеспечивает их выполнение.
Слайд 34

Транзитный модуль внутренние команды; внешние команды; командные файлы.

Транзитный модуль

внутренние команды;
внешние команды;
командные файлы.

Слайд 35

Внутренние команды – выполняются с помощью команд, находящихся в файле COMMAND.COM.

Внутренние команды – выполняются с помощью команд, находящихся в файле COMMAND.COM.


Это REN(AME), DEL(ETE), DIR(EKTORY), COPY.
Внешние команды –транзитные команды, представляют собой имена команд, находящихся на диске.
Командные файлы – текстовые файлы, содержащие списки внутренних и внешних команд, а также свои специальные внутренние команды.
Слайд 36

Стандартная оболочка находится в командном файле COMMAND.COM, который представляет собой специальный

Стандартная оболочка находится в командном файле COMMAND.COM, который представляет собой специальный

класс программ, выполняемых под управлением MS-DOS.
Этот файл можно заменить оболочкой, созданной самим программистом, добавляя ее с помощью директивы SHELL в конфигурационном файле CONFIG.SYS.
Командные файлы обрабатываются специальным интерпретатором встроенном в транзитную часть COMMAND.COM.
Слайд 37

Файл AUTOEXEC.BAT - осуществляется необходимая настройка ОС и устанавливается удобное для

Файл AUTOEXEC.BAT -
осуществляется необходимая настройка ОС и устанавливается удобное для работы

окружение.
Операционная система отводит специальную область оперативной памяти, называемую «ОКРУЖЕНИЕМ», для хранения значения переменных, которые используются ОС и другими программами.
Обычно в качестве переменных указываются пути доступа к каталогам вспомогательных программ.
Слайд 38

Пример:@ECHO OFF Rem Установка пути поиска программ Path C:\EXE\DOS; C:\EXE; C:\EXE\NU;

Пример:@ECHO OFF
Rem Установка пути поиска программ
Path C:\EXE\DOS; C:\EXE; C:\EXE\NU; C:\BP;

….
Rem Установка вида приглашения MS DOS
Prompt $p$g Приглашение в виде текущего каталога C:\GAMES>
Rem Установка переменных окружения
Set LIB=C:\FORTRAN; C:\MSC\LIB
Set INCLUDE=C:\MSC\INCLUDE
Set TMP=E:\
Rem Запуск драйвера клавиатуры
C:\EXE\FILOAD\RK
Rem
SET COMSPEC=D:\DOS\COMMAND.COM