DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

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

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Питання до екзамену з дисципліни Системне програмування

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних наук та інформаційних технологій
Факультет:
Факультет комп’ютерних наук
Кафедра:
Не вказано

Інформація про роботу

Рік:
2015
Тип роботи:
Відповіді до екзаменаційних білетів
Предмет:
Системне програмування
Група:
КН-11
Коротко про документ

Про що ця робота

Документ містить перелік екзаменаційних питань з дисципліни системне програмування. У матеріалі подано відповіді та пояснення щодо роботи резидентних програм, компіляторів і асемблерів.

У роботі розглядаються

  • Системне програмування
  • Резидентні програми
  • Змішане програмування
  • Компіляція
  • Синтаксичний аналіз
  • Проміжне представлення програм
  • Асемблери

Зміст і розділи

  1. Резидентні програми
  2. Змішане програмування мовами Сі та Assembler
  3. Структура компілятора
  4. Синтаксичний аналіз
  5. Машинно-незалежна оптимізація
  6. Функції асемблерів
Для кого:Студенти технічних спеціальностей вищих навчальних закладів
Викладачі:Не вказано

Ключові поняття

резидентна програмаобробник перериваньзмішане програмуваннялексичний аналізсинтаксичний аналіздерево граматичного розборутрьохадресний кодоптимізація

Частина тексту файла (без зображень, графіків і формул):

1) Б) 7 DB <по 1 байту> 2 UDP(4*25, -1), 12h, ‘12’<2 рази по 2 байти (100, -1) +1 байт(12h)+2 байти (2 символи ‘1’та ’2’)> Питання на ДЕК бакалаврів з дисципліни „СИСТЕМНЕ ПРОГРАМУВАННЯ” 89. Визначіть функції ініціалізуючої частини резидентних програм. Опишіть сутність каскадного включення обробників переривань та способів захисту резидентних програм від повторного завантаження. Наведіть приклад ініціалізуючої частини резидентної програми. Функції ініціалізуючої частини: Ініц.частина виконує обов’язкові та факультативні дії 1). Встановлення зв’язку нового обробника з номером переривання (перевизнач або перехоплення переривання ). Це призводить до заміни вектора в таблиці векторів переривань. 2). Резидентне завершення TSR; Блок повтори завант. TSR; Звільнення пам’яті, яку не використовує TSR Перехоплення інших переривань системи для забезпечення надійної роботи обробника (критичних помилок системи, реакція на нажаття ctrl-break ) 90. Особливості змішаного програмування мовами СІ та Assembler ( угоди про взаємозв’язки, використанням асемблерних фрагментів в СІ-функціях, організація взаємних викликів асемблерних процедур та СІ-функцій) . Змішане програмування. Взаємодія С і Асемблера. Asm – встанов в текст С проги, так звані in – line задаються так: asm mov ax, bx asm{ текст asm - проги } Опрацювання цих вставок передбачило.. Bcc – B file.c file.asm file.obj Bcc – S file.c file asm. Дозволено: 1) використовувати всі машинні інструкції 2)директиви оголошення даних 3)посилатися на змінні конят, мітки в мові С, імена функцій в asm – вставках. 4)використовувати DGROUP, _TEXT, _DATA, _BSS, _STACK Заборонено:1) використовувати директиви, що керують роботою асемблера (asume, org, proc, segment, origin) і директиви умовного асемблювання. посилатись на asm- мітки із тексту С- програми. Викор. інструкцію jmp_мітки_СІ . Виклик asm – процедур із модулів С. #nclude<stdio.h> Extern int test(int, int, int); void main() 92. Визначіть основну проблему компіляції. Наведіть узагальнену структуру компілятора та дайте характеристику фаз його роботи. Компілятор складається з двох частин – машинно-залежної і машинно незалежної. ЦЕ дає додаткові можливості при розробці компіляторів для нових платформ. Машинно-незалежний етап складається з двох частин – це лексичний і синтаксичний аналаз, перевірка синтаксису і генерація об’єктного файлу. На цьому етапі відбувається знаходження більшості помилок в коді програми. Також на цьому етапі відбувається машинно-незалежна оптимізація – винесення за межі циклу тих дій, що не залежать від лічильниа циклу, заміна неефективних обчислень на ефективніші, виключення загальних під виразів у виразах з метою ефективнішого їх обрахунку. Машинно-залежний етап полягає в машинно-залежній оптимізації і генерації виконуваного коду. Суть машинно-залежної оптимізації полягає у зменшенні пересилань у пам'ять проміжних результатів обчислень і замін довгих команд на короткі. Основна проблема компіляції – це відновлення ситуації після помилок. Є 4 способи : паніка – пропуск чергових лексем до початку наступної конструкції, корекція наступних лексем, слідування правилам лдя типових помилок, глобальна корекція – виправлення і заміна конструкцій, що є помилковими. 94. Сутність синтаксичного аналізу, методи його реалізації, дерева граматичного розбору та способи продовження роботи компіляторів після виявлення синтаксичних помилок. Синтаксичний аналаз – це розпізнавання виразів, уточнення таблиці ідентифікаторів, опрацювання синтаксичних помилок, створення проміжного коду, . Є два методи граматичного розбору: знизу вверх або оператоного передуывання(починається з виділення окремих вузлів та їх обєднання, вхідною інформацією є таблиця лексем і таблиця пріоритетів) та зверху вниз аборекурсивного спуску(починається з кінцевого правила з якого виділяють підправила для кожного не термінального символу). На цьому етапі відбувається виявлення синтаксичних помилок. Для відновлення ситуації після помилок є 4 способи : паніка – пропуск чергових лексем до початку наступної конструкції, корекція наступних лексем, слідування правилам лдя типових помилок, глобальна корекція – виправлення і заміна конструкцій, що є помилковими. 97. Проміжні форми представлення програм компіляторами та сутність машинно-незалежної оптимізації. Для створення проміжного машинно-незалежного коду використовується уніфікований трьох адресний код, можлива подача виразів у префікс ній чи постфікс ній формі. Недоліком такого коду є створення проміжних змінних, а переваггою - - можливість машинно – незалежної оптимізації. Суть цієї оптимізації - винесення за межі циклу тих дій, що не залежать від лічильниа циклу, заміна неефективних алгоритмів обчислень на ефективніші, виключення загальних під виразів у виразах з метою зменшення кількості їх обрахунку. Переваги машинно-незалежної оптимізації – можливість використовувати добре відпрацьовані алгоритми оптимізації на різних платформах. 98. Основні функції асемблерів (систем асемблювання). Призначення переглядів. Особливості реалізації та характеристика роботи асемблерів на один, два та багато переглядів. Асемблери – це транслятори з мови асемблера в машинні коди. Функції асемблера – перетворення символьних команд в машинні коди а імен – в адреси. Існують асемблери в 1 і 2 перегляди. В один – це переважно інтерпретатори або ті що створюють об’єктний код для пізнішої повторної трансляції перед лінкуванням. Такі асемблери переважно виявляють більшість помилок в кінці, коли вже закінчилася програма, таблиця ідентифікаторів не до кінця заповнена Більшість асемблерів працюють в 2 перегляди. Перший перегляд - створення таблиці імен, призначення їм адрес. Другий – трансляція команд, побудова об’єктного файлу, побудова лістінгу.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!