Тема 3.3 Адаптери, модеми і факс-модеми.



Відеоадаптер – спеціальна електронна плата, що обробляє відео дані (текст і графіку) і керує роботою дисплею. Містить відеопам’ять, регістри введення/виведенняі модуль BIOS. Посилає в дисплей сигнали управління яскравістю променів і сигнали розгортки зображення.

Найрозповсюдженіший – адаптер SVGA – супервідеографічний масив, що може відображати на екрані 1280-1024 пікселів при 256 кольорах і 1024-768 пікселів при 16 млн кольорів.

Нині поряд з традиційними використовуються різні пристрої комп’ютерної обробки відеосигналів:

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

-  Фрейд-грабери – дозволяють відображувати відеосигнал від відеомагнітофона, камери, лазерного програвача тощо, з тим, щоб захопити потрібний кадр в пам’ять і зберегти у вигляді файла.

TV-тюнеривідео плати, що перетворюють комп’ютер в телевізор. Дозволяє обрати телевізійну програму і переглядати її на моніторі, не перериваючи роботи.

Модем – пристрій для передачі комп’ютерних даних на великі відстані по телефонним лініям зв’язку.

Цифрові сигнали від комп’ютера не можна просто передавати по телефонній мережі. Модем забезпечує перетворення цифрових сигналів комп’ютера в змінний струм частоти звукового діапазону – цей процес називається модуляцією, а також зворотне перетвореннядемодуляцію (модем – модулятор/демодулятор).

Для здійснення зв’язку один модем викликає іншого по телефону, а той відповідає. Потім модеми посилають один одному сигнали, обумовлюючи режим зв’язку (дуплексний, напівдуплексний). Після цього модем, який передає, починає посилати модульовані дані з обумовленими швидкістю і форматом. Модем на іншому кінці перетворює отриману інформацію в цифровий вигляд і передає її своєму комп’ютеру. Закінчив, модем відключається. 

Управління модемом здійснюється за допомогою спеціального комутаційного програмного забезпечення.

Модеми бувають зовнішні, виконані у вигляді окремого пристрою, і внутрішні – електронна плата, що встановлюється всередині комп’ютера.

Факс –це пристрій факсимильної передачі зображення по телефонній мережі. Назва “факс” – від “факсимиле”, що означає точне виконання графічного оригіналу (підпису, документа) засобами друку. Модем, що може передавати і отримувати дані як факс, називається факс-модемом.

 

Тема 4.3 Загальні відомості про інструментальні системи

Від складання програмістом до виконання комп'ютером програма проходить досить тривалий шлях спеціальними службовими програмами, що складають систему автоматизації програмування. З часом слово “автоматизація” випало із наведеного словосполучення, в результаті чого воно перетворилося на систему програмування. Система програмування складається з кількох компонент, а саме: препроцесора (preprocessor), компілятора (compiler), компонувальника (linker), налагоджувача (debugger), об'єднаних спільним інтерфейсом у так зване універсальне середовище розробки програм.

Головна особливість підготовки програми до виконання полягає у використанні багатьох різнорідних складових частин. Деякі з них підготовлені заздалегідь, вони зберігаються в бібліотеках, системних або власних, інші складають частини програми, розміщені в різних файлах. Зауважимо, що в С++ лише поглибилася тенденція винесення значної частини мови на рівень бібліотеки, яка дула закладена ще авторами С. Зокрема на бібліотеку, а не мову покладена відповідальність за зв'язок програми з операційною системою.

Одночасне використання багатьох файлів з текстами різних частин програми — роздільна компіляція — одне з найбільших досягнень систем програмування. Завдяки йому ми ділимо програму на файли, які називаються одиницями трансляції ( translation unit ), групуючи у одному файлі тісно зв'язані одну з одною частини програми. В такий спосіб великі за розмірами програми діляться на частини, якими легше управляти.

Програмування — це діяльність, яка вимагає великої організованості. Тому при складанні програм дотримуються певних правил доброго тону, одне з яких полягає в розділенні визначень і обчислень між файлами двох типів: файлів заголовків (header) і файлів реалізації . Файли заголовків обробляються препроцесором, файли реалізації готуються препроцесором для подальшої обробки компілятором. Тому їх звичайно називають початковими файлами ( source file, исходный файл ). Сукупність пов'язаних одне з одним заголовних і початкових файлів складають вхідну програму для системи програмування. Вхідну програму розміщують у програмному проекті, в рамках якого система програмування будуватиме об'єктні коди та виконавчу програму .

Система програмування (programming system) - 1) те ж що й інструментальна система; 2) система автоматичного програмування, що складається з мови програмування, компілятора або інтерпретатора програм, які написані на цій мові, відповідної документації, а також допоміжних засобів для підготовки програм до виконання;

Інструментальна система (development environment) — комплекс програмних або програмних і технічних засобів, який використовується фахівцями з програмування як інструмент для розробки програмного забезпечення (програм, програмних комплексів та систем тощо).

Мова програмування — формальна мова представлення програм для системи програмування.

Мови програмування низького рівня орієнтовані на конкретний тип процесора і враховують його особливості.

Переваги: з допомогою мов низького рівня створюються ефективні і компактні програми, оскільки розробник отримує доступ до всіх можливостей процесора.

Недоліки: програміст, що працює з мовами низького рівня, має бути високої кваліфікації, добре розуміти будову комп’ютера; результуюча програма не може бути перенесена на комп’ютер з іншим типом процесора.

Мови низького рівня, як правило, використовують для написання невеликих системних додатків, драйверів пристроїв, модулів стиків з нестандартним обладнанням, коли найважливішими вимогами є компактність, швидкодія і можливість прямого доступу до апаратних ресурсів.

Асемблер. Мови програмування високого рівня можна сказати є більш зрозумілими людині, ніж комп’ютеру. Особливості конкретних комп’ютерних архітектур в них не враховуються, тому створені програми легко переносяться з комп’ютера на комп’ютер, де встановлено транслятор цієї мови. Розробляти програми на таких мовах значно простіше і помилок допускається менше.

 


- Фортран

- Кобол

- Алгол

- Pascal

- Java

- C

- C++

- C#

- Objective C

- SmallTalk

- J++

- Delphi


П’ять поколінь мов програмування:

1 покоління: початок 1950-х років – мови перших комп’ютерів. Перша мова асемблера, створена за принципом “одна інструкція – один рядок”.

2 покоління: кінець 1950-х – початок 1960-х р.р. Розроблено символьний асемблер, в якому з’явилося поняття змінної. Це перша повноцінна мова програмування.

3 покоління: 1960-ті р.р. – мови програмування високого рівня. Їхні характеристики:

- відносна простота;

- незалежність від конкретного комп’ютера;

- можливість використання потужних синтаксичних конструкцій.

Простота мов дає змогу писати невеликі програми і людям, які не є професійними програмістами.

4 покоління: початок 1970-х р.р. до сьогоднішнього часу. Створюються мови, призначені для реалізації крупних проектів. Проблемно-орієнтовані мови, що оперують конкретними поняттями вузької галузі. Як правило, в такі мови вбудовують потужні оператори, що дозволяють одним рядком описувати функції, для опису яких мовами молодших поколінь потрібно було б сотні-тисячі рядків початкового коду.

5 покоління: з середини 1990-х р.р. – до теперішнього часу. Це системи автоматизованого проектування програмного забезпечення (САПР ПЗ). Створення прикладних програм, редакторів, САПРів для людей, які не знайомі з програмуванням: Word, Excel, PcAD, OrCAD, PSPICE, MathCad, ACAD і т. д.

Компілятор (англ. Compiler від англ. to compile збирати в ціле) - комп'ютерна програма (або набір к. програм), що перетворює (компілює) програмний код, написаний певною мовою програмування (мова джерела, англ. source language), на семантично еквівалентний код в іншій мові програмування (мова цілі, англ. target language). Що, як правило, є необхідним для виконання програми на машині, наприклад: на комп'ютері.

Коротко компілятор можна визначити, як програма або технічний засіб, що виконує компіляцію.

Історично компілятором називалась програма що зв'язувала підпрограми, чим й зумовлено походження слова. Сьогодні це завдання виконує консолідатор або лінкер (англ. Linker).

Для того щоб бути виконаною програма не завжди повинна бути перекладена К., існує також інший принцип: Інтерпретатор (англ. Interpreter).

Компілятор – це програма, що читає програму записану початковою мовою і записує цільовою мовою. Цей процес називають компіляцією (трансляцією, перекладом). Він складається з двох частин

Аналіз (parsing) – розбиття початкової програми на складові частини та створення проміжного представлення

Синтез – побудова цільової програми з проміжного представлення

Початкова мова визначається її синтаксисом – описом того, з яких конструкцій складається мова, та семантикою – набором правил, що визначають суть цих конструкцій.

Концептуально компілятор працює фазово, в процесі кожної фази відбувається перетворення початкової програми з одного представлення до іншого. На практиці фази можуть об'єднуватись і деякі проміжні представлення можуть не будуватись в явному вигляді. Типове розбиття компілятора на фази:

1) Лексичний аналізатор

2) Синтаксичний аналізатор

3) Семантичний аналізатор

4) Генератор проміжного коду

5) Оптимізатор

6) Генератор цільового коду

Лексичний розбір виділяють для спрощення побудови компілятора. Це лінійне сканування вхідної програми, при якому символи групуються в токени - послідовності символів, що мають певне сукупне значення. Наступний рядок мовою Паскаль

len := 3.14 * r;

складається з наступних токенів:

Ідентифікатор len

Символ присвоєння :=

Числова стала 3.14

Знак множення *

Ідентифікатор r

Роздільник операторів ;

Синтаксичний розбір

Послідовність машинних символів, що утворюють токен, називають лексемою токена. Токени мають тип (наприклад, ідентифікатор, числова стала - це типи токенів). Деякі токени мають лексичне значення (наприклад, значення числової чи рядкової константи утвореної з лексеми токена). Задача лексичного аналізатора – виокремити лексеми токенів і повідомити синтаксичний аналізатор про тип токена та його лексичне значення.

Ієрархічний аналіз називається розбором (parsing) чи синтаксичним аналізом, у ході якого відбувається групування токенів програми. В синтаксичному аналізі символом називають токени(термінали) та групи токенів об'єднаних у логічне ціле в процесі аналізу (нетермінали).

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

Програма є послідовністю терміналів, яку можна вивести зі стартового символу послідовно застосовуючи правила виводу (продукції). Продукція – це заміна послідовності символів S1 на послідовність символів S2 (Позначається. S1 : S2 або S1 -> S2). Продукція називається контесктно-незалежною, якщо S1 – один символ. Звичайно розглядаються лише контесктно-незалежні продукції.

Задача синтаксичного аналізатора – встановити шлях, яким вхідна програма виводиться з стартового символа.

Наприклад, наступна граматика із трьох продукцій описує вирази (expression), що можуть складатись з ідентифікаторів (identifier), чисел (number), та знаку додавання +

expression : identifier

expression : number

expression : expression + expression

Перший рядок означає що будь-який ідентифікатор є виразом. Другий рядок означає що будь-яке число є виразом. Третій рядок означає що будь-яка послідовність з двох виразів розділених знаком додавання теж є виразом.

В цій граматиці символами є expression, number, identifier та +. Expression є стартовим символом і нетерміналом, решта символів є терміналами.

Класифікація компіляторів

- відомі компілятори

- GCC

- генератори аналізаторів

Побудовані алгоритми, що перетворюють опис вхідної мови у програму, що виконує аналіз і є велика кількість реалізацій цих алгоритмів. Є також утиліти, що автоматизують решту фаз компіляції та системи створення компіляторів у цілому

В Unix поширені генератор лексичних аналізаторів (F)Lex, та генератори синтаксичних аналізаторів Bison та Yacc.

Інтерпретатор (interpreter) - програма чи технічні засоби, необхідні для виконання інших програм; вид транслятора, який здійснює пооператорну (покомандну) обробку, перетворення у машинні коди та виконання програми або запиту (на відміну від компілятора, який транслює у машинні коди всю програму без її виконання).

Інтерпретатори можуть працювати як з вихідним кодом програми, написаним на мові програмування, так і з байт-кодом (інтерпретатори байт-коду).

 


Дата добавления: 2019-02-13; просмотров: 291; Мы поможем в написании вашей работы!

Поделиться с друзьями:






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