Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Інтерпретатор



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

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

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

Інтерпретатор компілюючого типу - це система з компілятора, який перекладає сирцевий код програми в проміжне представлення, наприклад, в байт-код або p-код, і власне інтерпретатора, який виконує отриманий проміжний код (так звана віртуальна машина). Перевагою таких систем є більша швидкодія виконання програм (за рахунок винесення аналізу сирцевого коду в окремий, разовий прохід, і мінімізації цього аналізу в інтерпретаторі). Недоліки - більші вимоги до ресурсів і вимога на коректність сирцевого коду. Застосовується в таких мовах, як Java, Tcl, Perl (використовується байт-код), REXX (зберігається результат парсинга сирцевого коду), а також у різних СУБД (використовується p-код).

Інтерпретатор компілюючого типу складається з компілятора мови і простого інтерпретатора з мінімізованим аналізом сирцевого коду. Сирцевий код для такого інтерпретатора не обов'язково повинен мати текстовий формат, це може бути машинний код якоїсь існуючої апаратної платформи. Наприклад, віртуальні машини типу QEMU, Bochs, VMware включають в себе інтерпретатори машинного коду процесорів сімейства x86.

Ефективність

Основним недоліком інтерпретованих програм є те, що процес інтерпретації зазвичай набагато повільніший, ніж запуск скомпільованої програми. Різниця в швидкості може різнитися від незначної до достатньо відчутної: часто на порядок, а іноді й більше. Проте час інтерпретації програми може бути швидшим, ніж загальний час, необхідний для компіляції і запуску. Це особливо важливо, під час прототипування і тестування коду: цикл редагування-інтерпретація-налагодження часто може бути набагато коротший, ніж редагування-компіляція-запуск-налагодження.

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

Існують різні компроміси між швидкістю розробки програмного забезпечення при використанні інтерпретатора і швидкістю виконання програми при використанні компілятора. Деякі системи (наприклад, Lisp) дозволяють інтерпретованому і скомпільованому коду викликати один одного і обмінюватися змінними. Це означає, що поточний код, який був протестований і налагоджений інтерпретатором, може бути скомпільований, і таким чином отримати більшу швидкість виконання, в той час як інший код розробляється. Багато інтерпретаторів не виконують сирцевого коду безпосередньо, а приводять його до більш компактної внутрішньої форми. Багато інтерпретаторів мови BASIC замінюють зарезервовані слова одним байтомзшитого коду, який може бути використаний для пошуку команди в таблиці переходів.

99 Особливості операційної системи BackTrack.

KaliLinux(ранішеBackTrack)-GNU /Linux-LiveCD, що виник якрезультат злиттяWHAXіAuditorSecurityCollection. ПроектстворилиМатиАхароні(MatiAharoni) і МаксМозер(MaxMoser). Призначений насамперед дляпроведення тестівна безпеку.

Історія
BackTrack був створений на базі декількох linux-дистрибутивів. Спочатку призначався для використання на ОС slackware, а потім плавно перейшов на Ubuntu.После основою став Debian

WHAX
WHAX (назва походить від White Hat і SLAX) був створений для проведення тестів на проникнення. Спочатку базувався на Knoppix і називався Whoppix. Однак після виходу версії 3, заснованої на Slax був перейменований в WHAX. Розроблюваний ізраїльським фахівцем з інформаційної безпеки Мати Ахароні, WHAX робив основний акцент на тести на проникнення. Дистрибутив робив можливим перевірку безпеки за допомогою комп'ютерів, розташованих в різних місцях.





Дата публикования: 2015-09-18; Прочитано: 393 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...