- •4.4 Трансляторы
- •4.5 Библиотеки программ
- •4.6 Языки высокого уровня — языки поцедур
- •5. Системы счисления и действия в них
- •5.1 Происхождение систем счисления и представление целых и дробных чисел в ()2, ()8 и ()16
- •5.2 Информативность системы счисления — замечательное свойство троичной системы счисления.
- •5.3 Формирование машинного целого и вещественного, стандарт ieee
4. Основные определения и понятия.
4.1 Определение алгоритма и программы, языка программирования.
Алгоритм
-целенаправленное (конструктивное) описание множества правил, определяющее процесс обработки данных.
-операционное правило обработки данных (программисты).
Программа
-запись алгоритма на формализованном языке.
Язык программирования
-формальная знаковая система, при помощи которой записываются компьютерные программы.
4.2 Программное обеспечение (ПО)
Делится на внутреннее (системное) ПО и прикладное ПО.
Внутреннее ПО обеспечивает работу ЭВМ.
Прикладное ПО — программы, написанные для пользователей или самими пользователями, для задания компьютеру конкретной работы. (например, редакторы).
4.3 Операционная система (ОС)
а) состав и назначение ОС
ОС впервые появились на ЭВМ второго поколения (подставлялась управляющия карточка (перфокарта), на которую машина считывала основные параметры программы).
Первый язык высокого уровня (операционный язык) — EXEC (потом появился EXEC2). (раскодировал управляющую карточку и приступал к выполнению программы).
Операционная система (ОС)
-организованная совокупность программ (интерфейс) регулярного применения, правил и алгоритмов, позволяющих использовать ЭВМ без вмешательства человека.
ОС распределяет ресурсы ЭВМ для software (ПО) и hardware (аппаратные средства (железо)).
Все, что есть в машине — ресурсы (память, программы и прочее).
ЭВМ 5 поколения обладает наличием интеллектуального интерфейса (позволяет общение на естественном языке).
б) ОС по Флинну
ОС по Флинну
-простейшая классификация, сопоставляющая потоки команд — потоки данных.
ОК — одиночный поток команд
ОД — одиночный поток данных
МК — множественный поток команд (для двухъядерных процессоров и сложнее)
МД — множественный поток данных
ОС типа ОКОД сейчас используются только в телефонах, игровых компьютерах и т.п.
Банкоматы устроены более сложно. Простейшае — калькуляторы холодильники, телефизоры и т.д.
По возрастанию сложности:
ОКОД
ОКМД (квантование времени и данные обрабатываются по очереди)
МКОД (для быстрой обработки)
МКМД (каждый поток команд обрабатывает свое множество потоков данных)
5 типов ЭВМ
-
Персональные ЭВМ — самый нижний уровень
-
Микро ЭВМ (совсем другой тип процессора). SUN MICRO SYSTEM (различия с первым несущественны, выглядят и работают похоже)
-
Мини ЭВМ VAX
-
Большие ЭВМ
-
Супер ЭВМ (Grey1, Grey4, RS6000)
Для ПВМ и Микро ЭВМ обычно используется МКОД, для Мини ЭВМ — МКМД.
Все операционные системы, с которыми мы сталкивались — типа UNIX (LINUX) – открытые ОС.
Оверлейная структура программ
-программы, которые хранят в оперативной памяти ядро.
Ядро
-постоянная часть программ, хранящаяся в оперативной памяти.
Ядро ОС — резидент.
Главные компоненты резидента — менеджеры.
Менеджеры работают с отдельными компонентами ЭВМ (память, ввод/вывод...)
-
Pick OC — ОС, работающие с базами данных.
-
EPOS – ОС для работы PDA.
PDA (personal digital assistant) (мобильные, беспроводные мышки...)
-
UNIX-оподобные (LINUX...) - открытые ОС.
batch-файлы (пакетные файлы) есть во всех системах Windows (*.bat)
содержат все команды консолей (все основные команды ОС), условные и циклические операторы.
batch-файлы используются для написания программ настройки системы: autoxec.bat
(помогают для настройки ОС и упрощают/ускоряют работу)
4.4 Трансляторы
Трансляторы
-программы, которые переводят программы пользователя на язык ЭВМ.
Выполняют несколько основных функций:
-
Синтаксический (смотрит на несоответствие символов) и семантический (разбивает на лексемы и смотрит, можно ли так писать) контроль
Лексемы
-группа обозначений текста, которая распознается транслятором.
Во время анализа (перевода) все комментарии удаляются, все обозначения — заменяются машинной кодировкой.
Если программа прошла синтаксический контроль, начинает работать:
-
Распределение памяти и описание переменных.
-
Строительство объектного модуля.
*.pac, *.for, *.c, *.cpp
*.obj — объектный модуль.
Содержит готовые блоки программ в машинном коде.
Exe файл появляется в результате работы:
-
Редактор связи (линкер).
tlink.exe/link.exe (linker.exe — обрабатывает другие вещи)
в объектном модуле хранятся обращения к функциям (sin, cos...)
линкер собирает все известные компоненты функций и создает исполняемый модуль.
*.obj → *.exe
(можно программироваь на нескольких языках, главное, чтобы описания в них совпадали).
Интегрированная Среда разработки программ (IDE)
Содержит:
-текстовые редакторы для написания программ
-компилятор и интерпретатор
-линкер
-отладчик (debugger)
-средства оптимизации программ
Интерпретатор
-транслятор, который каждой системе сосоставляет макрос.
Макрос
-сножество комад, объединенных в одну и с одним именем.
Интерпретатор (помогает в отладке) используется для пошаговой отладки. Он делает программу отличную от той, которую создает транслятор.
Все трансляторы делятся на:
Оптимизирующие и Для быстрой работы
Оптимизирующие могут создать короткую, но долгую программу или же длинную, но быструю.
Трансляторы для быстрой работы переводят программу сразу в машинный код.
Форматы Данных.
Формат
-способ представления информации или ее кодирования.
%d - целый
%f - с плавающей точкой
%19.8f – 19 символов.8 символов
Каждый формат — свое обозначение.
Данные форматируются при вводе/выводе.
Каждый формат — логическая структура данных.
Знание команд форматирования помогают приводить данные к нужному виду.
4.5 Библиотеки программ
Библиотеки:
-
Объектных модулей
-
Загрузочных модулей
-
Исполнительных модулей
-
Системные библиотеки
-
Библиотеки ПО
-
Временные библиотеки
Все библиотеки имеют 2 раздела:
-
Оглавление
-
Данные
В каждой части хранится информация об объекте.
Имена разделов совпадают с именами программы.
В разделе оглавление указывается:
-
начало текста в разделе данные
-
его длина
-
сколько блоков занимает
-
автор, лицензионные права и прочее.
В разделе данных хранятся блоки, одинаковые по длине (обычно — 512 байт)
Вирус обычно сидит в неполных блоках.
4.6 Языки высокого уровня — языки поцедур
Операционная система имеет свои языки программирования.
Эти языки — языки процедур.
EXEC, EXEC2, REXX (объекты — и программисты, и ОС, не только файлы)