Языки программирования. Трансляция в машинный код. Ассемблеры, компиляторы и интерпретаторы. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Языки программирования. Трансляция в машинный код. Ассемблеры, компиляторы и интерпретаторы.



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

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

Транслятор – программное (почти всегда) решение, предназначенное для перевода программы с языка программирования на другой язык (в т.ч. Машинный).

Трансляторы:

Ассемблеры -   трансляторы которые преобразуют код на языке низкого уровня в машинный код (тривиальное преобразование).

Компиляторы - трансляторы которые преобразуют код на языке высокого уровня в машинный код (не тривиальное преобразование).

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

Препроцессоры - трансляторы которые преобразуют код на языке высокого уровня в код на другом языке высокого уровня (обычно С).

Ассемблер:

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

2. Метки - можно помечать (именовать) адрес в памяти и обращаться к нему по этому имени. Это НЕ переменные!

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

4. Директивы - команды, которые не переводятся напрямую в машинный код, но выполняются ассемблером (создание меток, инициализация областей памяти и др). Всего около 20-30.

Компиляторы:

1. Абстрактные команды -  команды языка не соответствуют однозначно машинным инструкциям. Компилятор решает когда и какие инструкции лучше применить.

2. Переменные – логически разделяет для программиста команды и данные в памяти. Позволяет именовать данные (объявлять переменные). Самостоятельно распоряжается памятью.

3. Сложные абстрактные структуры – поддерживает классы, объекты, функции, процедуры.

4. Анализирует текст программы - осуществляет лексический (корректность написания ключевых слов), синтаксический (корректность используемых языковых конструкций), семантический (наличие смысла в корректных конструкциях).

Интерпретаторы:

Виртуальная машина -  средство имитации на программном уровне реальной вычислительной машины другой машины (её аппаратного и программного уровней).

Интерпретаторы – виртуальные машины, которые могут воспринимать не только аппаратно зависимый машинный язык, но и «виртуальные» аппаратно независимые языки.

1. Шитый код – виртуальная машина читает команду на языке программирования и вызывает соответствующую ей короткую, но полноценную предварительно скомпилированную программу.

2. Прокси код - транслирует программу в как-бы машинный код, ориентированный на выполнение абстрактным «универсальным процессором». Виртуальная машина имитирует этот процессор.

ВОПРОС

Прикладное программное обеспечение (классификация и примеры). Права на ПО.

Пользовательское (общее) прикладное ПО:

«Ширпотреб». ПО для предельно широкого круга пользователей.       

Текстовые редакторы

Офисные пакеты (отчасти, это профессональное)

Графические редакторы

Браузеры (в т.ч. текстовые) – html, pdf, fb2, djvu

Мультимедиа проигрыватели

Почтовые клиенты

Видеоигры

Специальное прикладное ПО:

ПО для профессиональной деятельности  

Офисные пакеты

Фоторедакторы

Издательское ПО

Системы управления базами данных

CAT (Computer Aided Translation)

CAD (Computer Aided Design)

CAM (Computer Aided Manufacturing)

Медиаредакторы

ГИС (геоинформационные системы)

Системы автоматизации делопроизводства

Права на ПО:

n ПО является объектом авторского права и соответствующих имущественных прав.

n Авторское право – фундаментально, бессрочно, неотчуждаемо (т.н. личные неимущественные права)

I. Право называться автором.

II. Право ассоциировать произведение со своим именем (псевдонимом).

 III. Право на защиту произведение от искажения или иного посягательства.

IV. Для использования (легального) ПО необходимо иметь специальное разрешение от правообладателя.

V. Правоиспользования (не эксклюзивное право владения) передаётся пользователю на основании лицензионного соглашения.

VI. Лицензионное соглашение – юридический договор который определяет права и обязанности сторон (прежде всего пользователя).

VII. Несанкционированное использование (без заключения договора) или его несоблюдение – могут иметь юридические последствия.

ВОПРОС



Поделиться:


Последнее изменение этой страницы: 2020-11-11; просмотров: 174; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.227.46.229 (0.007 с.)