Студенческий сайт КФУ - ex ТНУ » Учебный раздел » Учебные файлы »ПРОГРАММИРОВАНИЕ

Розробка системних програм

Тип: курсовая работа
Категория: ПРОГРАММИРОВАНИЕ
Скачать
Купить
Особливості удосконалення програми регулювання системного таймера комп'ютера. Специфіка розробки такої програми для роботи з мишею в текстовому й графічному режимах, що містить функції, пов'язані з її обслуговуванням. Робота з керуванням програмами.
Краткое сожержание материала:

Размещено на

Размещено на

Розробка системних програм

ЗМІСТ

програма комп'ютер керування

  • ВСТУП
  • 1 АНАЛІЗ ТЕХНІЧНОГО ЗАВДАННЯ
    • 1.1 Засоби генерації точно відміряних відрізків часу
    • 1.2 Засоби роботи з мишею
    • 1.3 Індивідуальне завдання
  • 2 Аналіз взаємодії системної програми з апаратною частиною комп'ютера та операційною системою
    • 2.1 Управління системним таймером і звуком
    • 2.2 Робота з маніпулятором миші
  • 3 ІНДИВІДУАЛЬНЕ ЗАВДАННЯ
  • 3 РОЗРОБКА АЛГОРИТМІВ І ПРОГРАМНОГО КОДУ
    • 3.1 Керування системним таймером та звуком
    • 3.2 Робота з маніпулятором миші
    • 3.3 Індивідуальне завдання. Робота з управлінням процесами.
  • 4 ЗВІТ ПРО ТЕСТУВАННЯ ПРОГРАМ
  • ВИСНОВКИ
  • ПЕРЕЛІК ПОСИЛАНЬ

ВСТУП

У курсовому проекті виконуються завдання, пов'язані із системним програмуванням, роботою з апаратною частиною комп'ютера.

Курсова робота розбита на три завдання.

Перше завдання пов'язане з роботою системного таймера комп'ютера.

Крім годинника реального часу, будь-який комп'ютер (навіть найпростіший ІBM PC) містить пристрій, названий системним таймером. Цей пристрій підключений до лінії запиту на переривання ІRQ0 і виробляє переривання ІNT 8h приблизно 18,2 рази в секунду (точне значення - 1193180/65536 разів у секунду). У завданні передбачається розібратися з роботою системного таймера, проаналізувати запропоновану програму, удосконалити її й написати дві інші програми, які використовують системний таймер.

Друге завдання стосується роботи з мишею.

Для роботи з мишею використовується вектор переривання ІNT 33h. Ця програма виконує всі операції, пов'язані з обслуговуванням миші, а саме:

· скидання миші й установку драйвера у вихідний стан,

· включення й вимикання курсору в певному місці екрана,

· визначення поточних координат курсору й поточного стану клавіш,

· визначення області на екрані, у межах якої може переміщатися курсор,

· визначення форми графічного й текстового курсорів,

· визначення величини переміщення у сотих частках дюйма,

· та інші.

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

Третє завдання припускає роботу з керуванням програмами.

Програма копіює об'єднаний зміст всіх файлів, що вказаний в командному рядку, на стандартний вивід. Можна задавати як список файлів, так і використовувати маски (символи “*”,”?”). Довгі назви файлів не використовуються.

1 АНАЛІЗ ТЕХНІЧНОГО ЗАВДАННЯ

програма комп'ютер керування

1.1 Засоби генерації точно відміряних відрізків часу

Для вивчення роботи з генерацією відрізків часу треба виконати наступні завдання.

Відкомпілювати й виконати програму sys_t.cpp, що демонструє використання системного таймера для формування відрізків часу, які не залежать від тактової частоти ІBM-сумісної ЕОМ. З'ясувати, яким чином впливає на тон звуку значення коефіцієнта октави.

Продемонструвати звучання мелодії, заданої згідно варіанта, у різних октавах

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

Продемонструвати результати роботи програми керівнику курсової роботи.

Створити програму, що відтворює затримку на задане число секунд

Значення затримки в секундах рівне номеру студента в журналі академгрупи.

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

Продемонструвати результати роботи програми керівнику курсової роботи.

Створити програму, що інформує, скільки секунд пройшло між першим і другим натисканням будь-якої клавіші

Фіксувати на екрані початок, і кінець рахунку часу.

Продемонструвати результати роботи програми керівникові курсової роботи.

1.2 Засоби роботи з мишею

Ознайомитись зі способами роботи з маніпулятором миші, навчитися ініціалізувати мишу й змінювати форму курсору миші.

Відкомпілювати й виконати програму sys_m1.cpp, що демонструє зміну форми курсору в графічному режимі. Задати форму курсору миші у вигляді першої букви свого прізвища (`Б').

Продемонструвати результати роботи програми керівнику курсової роботи.

Відкомпілювати й виконати програму sys_m2.cpp, що демонструє зміну форми курсору в текстовому режимі

Задати форму курсору миші у вигляді першої букви свого прізвища (`Б'). Атрибути кольору букви й тла встановити наступні:

колір букви - перша цифра числа свого дня народження (2);

колір тла - друга цифра числа свого дня народження (0).

Продемонструвати результати роботи програми керівникові курсової роботи.

Для непарного номера варіанту - Визначити клавішу, яку було натиснуто.

1.3 Індивідуальне завдання

Третє завдання припускає роботу з керуванням програмами.

Програма копіює об'єднаний зміст всіх файлів, що вказані в командному рядку, на стандартний вивід. Можна задавати як список файлів, так і використовувати маски (символи “*”,”?”). Довгі назви файлів не використовуються.

2 Аналіз взаємодії системної програми з апаратною частиною комп'ютера та операційною системою

2.1 Управління системним таймером і звуком

Будь-який комп'ютер містить пристрій, що має назву системний таймер. Це пристрій, який під'єднано до лінії запиту на апаратне переривання IRQ0 та виробляє програмне переривання INT 8h приблизно 18,2 рази на секунду (точне значення - 1193180/65536 раз на секунду).

Обробник переривання таймеру

При ініціалізації BIOS встановлює свій обробник для переривання таймеру. Цей обробник кожний раз збільшує на одиницю поточне значення 4-байтової змінної, що розташовано в області даних BIOS за адресою 0000:046Ch - лічильник таймеру. Якщо цей лічильник переповниться внаслідок того, що пройшло більш ніж 24 години з моменту запуску таймеру, в комірку 0000:047h заноситься значення 1.

Друга дія, що виконується стандартним обробником переривання таймеру, - контроль за роботою двигунів НГМД. Якщо після останнього звернення до НГМД пройшло більш ніж 2 секунди, обробник переривання вимикає двигун. Комірка за адресою 0000:0440h містить час, який залишився до вимикання двигуна. Цей час постійно зменшується обробником переривання таймеру. Коли він стає рівним нулю, двигун НГМД вимикається.

Остання дія, яку виконує обробник переривання таймеру, - виклик програмного переривання INT 1Ch. Після ініціалізації системи вектор INT 1Ch вказує на команду IRET, тобто обробник переривання INT 1Ch нічого не виконує. Програма може встановити власний обробник цього переривання для того, щоб виконувати які-небудь періодичні дії.

Таймер зазвичай реалізується на мікросхемі Intel 8253 (для комп'ютерів IBM PC та IBM PC/XT) або 8254 (для комп'ютерів IBM PC/AT та IBM PS/2), а також на аналогах цих мікросхем.

Канали таймеру

В сучасних комп'ютерах задіяні всі три канали таймеру.

Канал 0 використовується в системному годиннику часу доби (не слід плутати з годинником реального часу, що реалізовано на іншій мікросхемі). Цей канал працює в режимі 3 й використовується як генератор імпульсів з частотою приблизно 18,2 Гц. Саме ці імпульси викликають апаратне переривання IRQ0 та програмне INT 8h.

Канал 1 використовується для регенерації вмісту динамічної пам'яті комп'ютера. Вихід каналу OUT використовується для запиту до каналу прямого доступу DMA, котрий виконує оновлення вмісту пам'яті.

Канал 2 під'єднаний до гучномовця комп'ютера й може бути використано для генерації звуків або музики або як генератор випадкових чисел. Канал використовує режим 3 таймерів 8253 та 8254.

Таймер та музика

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

Налаштовування таймеру для програвання музики

Канал 2 мікросхеми 8254 зв'язаний з гучномовцем комп'ютера. Однак гучномовець не просто з'єднано з виходом OUT каналу 2. Порт виводу 61h також використовується для керування гучномовцем. Молодший біт порту 61h під'єднано до входу GATE каналу 2 таймеру. Цей біт при встановленні в одиницю дозволяє роботу каналу, тобто генерацію імпульсів для гучномовц...

Другие файлы:

Розробка системних об’єктно-орієнтованих програм мовою С++ в середовищі Windows
Розробка меню програми: головне меню; таблиця акселератора. Панель інструментів та рядок стану. Створення діалогових вікон. Реалізація математичної фу...

Розробка програм мовою С++
Модульна структура програм і способи інформаційного зв'язку модулів. Визначення, оголошення та виклик функції. Організація та активація функцій з інфо...

Технологія створення програмних продуктів
Технологія проектування та розробка об'єктно-орієнтованих програм. Використання автоматного підходу при реалізації прикладних програм. Програмні проду...

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

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