Реферат Курсовая Конспект
З дисципліни: Операційні системи - раздел Образование, Міністерство Освіти І Науки України Київська Державн...
|
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
КИЇВСЬКА ДЕРЖАВНА АКАДЕМІЯ ВОДНОГО ТРАНСПОРТУ
ім. Гетьмана Петра Конашевича-Сагайдачного
МЕТОДИЧНІ ВКАЗІВКИ
до виконання лабораторних робіт
з дисципліни: “Операційні системи”
галузь знань: 0501 "Інформатика та обчислювальна техніка"
напрям підготовки: 6.050103 „Програмна інженерія”
факультет: Економіки транспорту
кафедра: Інформаційних технологій
Київ 2010
ЗМІСТ
1. ВСТУП.. 3
1.1. Прикладна архітектура процессора 8086(8088) 3
Регістри процесора 8088(8086) 4
Порядок виконання роботи. 6
Зміст звіту. 6
2. Лабораторні роботи на мові Асемблер. 7
2.1. Лабораторна робота N 1_1 Перша програма на Асемблері 7
2.2. Лабораторна робота №1_2. Трансляція, компонування і налагодження програми. 12
2.3. ЛАБОРАТОРНА РОБОТА N 2. COM-файли. 17
2.4. ЛАБОРАТОРНА РОБОТА N 3. Визначення даних. 19
2.5. Лабораторна робота N4. Організація процесів, що розгалужуються. 27
3.1. Лабораторна робота N5. Організація циклічних процесів. 32
2.6. Лабораторна робота N6. Переривання. 38
2.7. Лабораторна робота N7. Процедури і макрокоманди. 41
3. Лабораторні роботи на мові С.. 46
3.1. Лабораторна робота N 8. Робота з символьними рядками. 46
3.2. Лабораторна робота N9. Представлення у памяті масивів і матриць. 51
3.3. Лабораторна робота N 10. Структури і зв'язні списки. 59
3.4. Лабораторна робота N11. Перевірка устаткування. 69
3.5. Лабораторна робота N12. Керування клавіатурою.. 75
3.6. Лабораторна робота N13 Керування таймером.. 80
3.7. Лабораторна робота N14. Керування відеоадаптером.. 85
3.8. Лабораторна робота N15 Головний завантажувальний запис. 90
3.9. Лабораторна робота N16 Дискові структури даних DOS. 94
РЕКОМЕНДОВАНА_ЛІТЕРАТУРА.. 106
Додаток 1. Перелік тем лабораторних занять з дисципліни «Операційні системи». 106
1. ВСТУП
Операційна система(ОС) – це програмне забезпечення, що реалізує зв'язок між прикладними програмами й апаратними засобами комп’ютера. Сучасні ОС мають ієрархічну багаторівневу архітектуру, у якій кожен рівень спирається на функції попереднього рівня. Найнижчий рівень ОС безпосередньо взаємодіє з апаратним забезпеченням.
Для розробки ефективних програм керування апаратними засобами (що необхідно для розробки операційних систем) використовується мови Асемблер або С, які дають можливість використання апаратних можливостей комп’ютера:
Ці методичні вказівки розроблені відповідно до діючої робочої програми за курсом "Операційні системи" для студентів спеціальності "Програмна інженерія" і охоплюють розділи, пов'язані з навчанням базовим основам програмування на мовах Асемблер та С і їх використання для програмування задач введення – виведення даних за допомою примітивів ОС. Оскільки для використання апаратних можливостей необхідно знання архітектури процесора 8086(8088), у п.1.1 подано опис його прикладної архітектури.
Мета лабораторного практикуму:
Лабораторний практикум виконується при вивченні курсу "Операційні системи" і має на меті вироблення в студентів навичок у трьох напрямках:
1. Застосування мови Ассемблера і мови програмування С як інструментів для системного програмування;
2. Програмне керування апаратними засобами ПЭВМ на низькому рівні;
3. Використання внутрішніх структур даних операційної системи MS DOS для одержання інформації й оперативного настроювання системи.
У Додатку 1 наведені теми лабораторних робіт, які пропонуються студентам для самостійної роботи.
Структура методичних вказівок до кожної лабораторної роботи:
- мета роботи,
- короткі теоретичні відомості,
- вказівки по підготовці до роботи,
- вимоги до звіту
- варіанти завдань.
1.1. Прикладна архітектура процессора 8086(8088)
Мета роботи: ознайомитися з архітектурою процесора 8086(8088) з погляду програміста мовою АСЕМБЛЕР.
1.1. Теоретичні відомості.
1. Організація адресного простору.
Оперативний запам'ятовуючий пристрій (ОЗП) складається з комірок. У кожній комірці зберігається одне число.
Комірка ОЗП має адресу, використовуючи яку можна або прочитати її вміст або записати в неї нове значення.
Комірки мають послідовні адреси, що починаються з нульового. Максимально можлива адреса 2 -1 (1048560-1).
Мінімально одиницею для процесора 8086, що адресується, є БАЙТ (8 біт). Адреси байтів: 0, 1, 2, 3 і т.д. Може адресуватися СЛОВО (два байти).
Для запису слова (1025 чи 0401Н) необхідно два байти (старший 04 і молодший 01). Система зберігає в пам'яті слова в зворотному порядку (молодша частина по младщему адресі, старша - по старшому). Слово адресується за адресою свого молодшого байта. Адреси слів: 0, 2, 4, 6 і т.д.
СЕГМЕНТ- це область пам'яті, що починається на границі параграфа за адресою кратному 16 ), має розмір до 64К и може розташовуватися в будь-якім місці ОЗП. Реальний розмір - стільки, скільки потрібно для виконання програми.
Маються три головних сегменти.
1. Сегмент кодів, у якому зберігається програма, що буде виконуватися. Звичайно перша команда, яка повинна виконуватися, знаходиться на початку цього сегмента й операційна система передає керування за адресою даного сегмента для виконання програми.
2. Сегмент даних, у якому зберігаються дані, константи і робочі області, необхідні програмі.
3. Сегмент стека. Стек - область оперативної пам'яті, організована за принципом: записаний останнім читається першим. Використовується для збереження адрес повернення з процедур, переривань.
4. Може бути ще додатковий сегмент.
Адреси початку сегментів зберігаються в спеціальних сегментних регістрах. Сегментні регістри шістнадцатирозрядні. Тому, що початок сегмента орієнтований на границю параграфа, молодший розряд адреси (у шестнадцатиричному коді) завжди дорівнює нулю. Він не зберігається. У такий спосіб у сегментному регістрі зберігаються старші 16 розрядів (у шістьнадцятковому коді) адреси початку сегмента (БАЗА).
Усередині програми всі адреси відносні до початку сегмента (ЗСУВ відносно початку сегмента).
Зсув складає 2 байти (від 0000 до FFFF чи від 0 до 65535 (64К)).
Адреса в програмі формується як сума умісту відповідного сегментного регістра і зсуву.
Нехай у сегментному регістрі зберігається адреса 045F
Результуюча адреса виходить:
Адреса в сегментному регістрі 045F0
Зсув + 00032
----------
(До значення сегметного регістра додається нуль, який мається на увазі).
У такий спосіб при 16 бітах у сегметних регістрах і 16 бітах зсуву можна адресувати 1 Мбайт пам'яті.
Регістри процесора 8088(8086)
ОП - операційний пристрій, ШІ - шинний інтерфейс
Регістри процесора 8088(8086):
Регістри загального призначення:
AX: | AH | AL |
BX: | BH | BL |
CX: | CH | CL |
DX: | DH | DL |
Регістрові покажчики: SP та BP, індексні регістри: SІ та DІ, Сегментні регістри: CS, DS, SS та ES, ІP - Лічильник команд, Регістр прапорців.
Процесор складається з двох основних частин: операційного пристрою (ОП) і шинного інтерфейсу (ШІ). ОП виконує команди, ШІ підготовляє команди і дані для виконання. ОП містить арифметическо-логическое пристрій (АЛУ), пристрій керування (УУ) і десять регістрів. Ці пристрої забезпечують виконання команд, арифметичні обчислення і логічні операції. ШІ складається з блоку керування шиною, черги команд і сегментних регістрів. ШІ виконує три основні функції:
1) керує передачею даних на ОП, у пам'ять і на зовнішні пристрої введення/висновку;
2) чотири сегментних регістри керують адресацією пам'яті обсягом до 1 Мбайта;
3) здійснює вибірку команд з ОЗП, черга команд зберігає чотири команди, що випливають за виконуваною.
ОП і ШІ працюють паралельно, причому ШІ опержает ОП на один крок. ОП повідомляє ШІ про необхідність доступу до даних у чи пам'яті на зовнішньому пристрої введення-висновку. Крім того, ОП запитує команду з черги команд. Поки ОП зайнято виконанням першої в черзі команди, ШІ вибирає наступну команду з пам'яті.
Процесори 8086/8088 мають 14 регістрів, использующихсядля керування програмою, для адресації пам'яті, для забезпечення арифметичних обчислень.
Регістри мають довжину одне слово (16 біт).
СЕГМЕНТНІ РЕГИСТЫ CS,DS,SS,ES.
Сохрняют адреса початку відповідного сегмента (без молодшого нуля):
CS - кодового сегмента;
DS - сегмента даних;
SS - сегмента стека;
ES - додаткового сегмента.
РЕГІСТРИ ЗАГАЛЬНОГО НАЗЕАЧЕНИЯ (РОН) AX,BX,CX,DX.
Можуть адресуватися як 16-бітові, так і як два однобайтовых.
АХ - 16-бітовий регістр, Ан-старша частина(лівий байт), АL-младшая частина(правий байт).
Призначення РОН.
AX - викорис товується як сумматор, у всіх операція введення-висновку, деяких операціях над рядками і деякими арифметичними операціями.
BX - базовий регістр. Єдиний РОН, що може використовуватися як індекс для розширеної адресації. Використовується також для обчислень.
CX - регістр-лічильник. Використовується для керування кількістю циклів і зрушень. Також застосовується для обчислень.
DX - регістр даних. Використовується в деяких операціях уведення-висновку, в операціях множення і розподілу великих чисел.
РЕЄСТРОВІ ПОКАЖЧИКИ SP,BP.
Забезпечують доступ до даних у стеці.
SP - указує на зсув відносно SS вершини стека.
BP - указує на зсув відносно SS данныч усередині стека.
ІНДЕКСНІ РЕГІСТРИ SІ,DІ.
Використовуються для розширеної адресації й в операціях додавання/вирахування.
SІ - є індексом джерела і використовується разом з DS для деяких операцій над рядками.
DІ - є індексом призначення і використовується разом з ES для деяких операцій над рядками.
ПОКАЖЧИК КОМАНД (ЛІЧИЛЬНИК КОМАНД) ІP.
Містить зсув (відносно СS) на команду, яка повинна бути виконана.
ФЛАГОВИЙ РЕГІСТР.
Зберігає у вигляді бітових полів результати виконання операцій (ознаки нульового, негативного результату, переповнення розрядної сітки т.ін.)
ПІДГОТОВКА ДО РОБОТИ.
Вивчити короткі теоретичні відомості і рекомендовану літературу.
ВИМОГИ ДО СКЛАДАННЯ ЗВІТУ.
Коротко викласти теоретичні відомості.
КОНТРОЛЬНІ ПИТАННЯ.
1. Що таке сегмент? Які сегменти Ви знаєте?
2. Як формується 20-розрядна адреса в оперативній пам'яті? Що таке база і зсув?
3. Які функції в операційного пристрою і шинного інтерфейсу?
4. Яка функція у сегментних регістрів?
5. Яке призначення покажчика команд і флагового регістра?
РОБОЧЕ ЗАВДАННЯ
Для вихідного текстового файлу, підготовленого під час виконання лабораторної роботи N 1_1, виконати трансляцію, компонування і налагодження програми.
ВИМОГА ДО ЗВІТУ
У звіті зафіксувати листинг налагодженої програми.
РОБОЧЕ ЗАВДАННЯ
Набити підготовлену програму, оттранслировать її, скомпонувати, перетворити в COM-файл, налагодити.
Запустити програму на виконання. Перевірити, чи здійснюється повернення в MS DOS.
ВИМОГА ДО ЗВІТУ
У звіті зафіксувати текст файлу з підготовленою програмою.
КОНТРОЛЬНІ ПИТАННЯ
1. Назвіть основні відмінності EXE- і COM-програми.
2. Як формується стек у COM-програмі?
Мета роботи
Закріплення практичних навичок у роботі з масивами і покажчиками мови C, забезпеченні функціональної модульности
Мета роботи
Одержання практичних навичок у використанні покажчиків і динамічних об'єктів у мові C, створення модульних програм і забезпечення інкапсуляції.
Теми для попереднього вивчення
- Покажчики в мові C.
- Модульна структура програми.
- Області дії імен.
3. Постановка задачі
Для вирядженої матриці цілих чисел відповідно до індивідуального завдання створити модуль доступу до неї, у якого забезпечити економію пам'яті при розміщенні даних.
Мета роботи
Закріплення практичних навичок у роботі зі структурами і покажчиками мови C, забезпеченні функціональної модульности
Мета роботи
Одержання практичних навичок у визначенні конфігурації й основних характеристик ПЭВМ.
Теми для попереднього вивчення
" Конфігурація ПЭВМ.
" Склад, призначення і характеристики основних модулів ПЭВМ.
3. Постановка задачі
Для комп'ютера на своєму робочому місці визначити:
" тип комп'ютера;
" конфігурацію устаткування;
" обсяг оперативної пам'яті;
" наявність і обсяг розширеної пам'яті;
" наявність додаткових ПЗУ;
" версію операційної системи.
Мета роботи
Вивчення організації і принципів роботи клавіатури і закріплення практичних навичок керування нею, а також практичних навичок створення власних програм обробки переривань.
– Конец работы –
Используемые теги: дисципліни, Операційні, системи0.061
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: З дисципліни: Операційні системи
Если этот материал оказался полезным для Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов