- •Міністерство освіти і науки України
- •Модуль 1: арифметичні і логічні основи еом
- •1.1 Термінологія одиниць вимірювання
- •1.2 Аналогові та цифрові системи
- •1.3 Логічні булеві вентилі
- •1.4 Системи числення
- •Десяткова система важка для технічної реалізації. Елементи з 10 стійкими станами ( на основі сегнетокераміки, декатрони і т.Д.) мають невисоку швидкість переключення.
- •1.5 Десяткова та двійкова системи числення
- •1.6 Десятково-двійкова конвертація
- •1.7 Шістнадцяткова система числення
- •1.8 Конвертація з двійкової до шістнадцяткової системи числення
- •1.9 Конвертація з шістнадцяткової до двійкової системи числення
- •1.10 Конвертація у систему числення з будь яким базисом
- •1.11 Прямий, зворотний і додатковий коди
- •Нуль у додатковому коді має одне представлення
- •Правила виконання додавання двійкових чисел
- •1.12 Ознака переповнення розрядної сітки
- •1.13 Лабораторна робота 1
- •Порядок виконання:
- •1.14 Питання з підготовки до модульного контролю
- •Модуль 2: класична структура еом
- •2.1 Комп’ютерні системи і програми
- •2.2 Типи комп’ютерів
- •2.3 З’єднання комп’ютерних систем
- •2.4 Поява Internet
- •2.5 Вартість технологій
- •2.6 Основні пристрої еом.
- •2.7 Структурна схема еом.
- •2.8 Структура і типи команд.
- •2.9 14 Регістрів мікропроцесора Intel 8086
- •Сегментні регістри
- •Регістри зсуву
- •Регістр прапорів
- •2.10 Лабораторна робота 2
- •Порядок виконання:
- •Короткі теоретичні зведення Операційна система ms-dos
- •Ім'я команди перемикачі параметри
- •Команди загального призначення.
- •6) Форматування дисків.
- •Format дисковод: [/1] [/4] [/8] [t:доріжки] [n:сектора] [/V][/s]
- •Каталоги
- •Робота з каталогами:
- •Робота з файлами.
- •1) Створення файлів
- •1 File(s) copied ( 1 файл скопійований )
- •2) Видалення файлів.
- •3) Перейменування файлів.
- •4) Копіювання файлів
- •5) Відображення умісту файлу на екрані.
- •6) Порівняння файлів.
- •7) Пошук
- •2.11 Лабораторна робота 3
- •Порядок виконання:
- •Утиліта налагоджувача debug.
- •2.12 Лабораторна робота 4 Тема: Команди зсуву та циклічного зсуву Зміст завдання
- •Теоретичні відомості до виконання лабораторної роботи
- •Команди циклічного зсуву
- •2.13 Питання з підготовки до модульного контролю
- •3.2 Типи запам'ятовуючих елементів озп
- •3.3 Організація основної пам'яті еом - стекова пам’ять
- •3.5 Лабораторна робота № 5
- •Порядок виконання:
- •Теоретичні зведення до виконання лабораторної роботи №5 Пересилка даних
- •3.6 Питання з підготовки до модульного контролю
- •Модуль 4. Організація систем переривання програм
- •4.1 Стан процесора. Вектор стану
- •4.2 Принципи організації систем переривання програм
- •4.3 Організація переходу до програми оброблення переривання
- •4.4 Пріоритети
- •4.5 Лабораторна робота 6 Тема: Стек і його використання для виклику процедур
- •Порядок виконання.
- •Зміст завдання:
- •Короткий опис команд мови assembler, що використовуються в лабораторній роботі 6
- •Короткий перелік основних команд утиліти налагоджувача debug, що використовується у лабораторній роботі 5
- •4.6 Еволюція операційних систем
- •4.7 Архітектура операційних систем
- •4.8 Координація дій машини
- •4.9 Питання з підготовки до модульного контролю
- •Віддруковано друкарнею
- •69006, М. Запоріжжя, пр. Леніна, 226
Короткий перелік основних команд утиліти налагоджувача debug, що використовується у лабораторній роботі 5
-
Команда переглядання вмісту пам'яті. - D (від Diplay - показати). Звернення до елементів пам'яті проводиться за адресами. Приклад запису адреси 1234 : 5678 (сегмент : зсув) В команді D необхідно вказати, яку частину пам'яті ми хочемо переглянути: починаючи з якої адреси і скільки елементів пам'яті. Приклади: - D F000:6000 починаючи з адреси F000:6000 показується 128 байт по замовченню. - D F000:6000 6800 показується вміст елементів пам'яті з адреси F000:6000 по адресу F000:6800. - D F000:6000 L 100 починаючи з адреси F000:6000 показується число байт, що задається в команді ( у даному прикладі 100h) (від Length - довжина) Ці три способи завдання області пам'яті називаються завданням діапазону.
-
Команда для перегляду і зміни значень регістрів -R (від Register - регістр) - R Показує вміст всіх регістрів комп'ютера і зміст наступної інструкції. Наприклад - R AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=270E ES=270E SS=270E CS=270E IP=0100 NV UP EI PL NZ NA PO NC 270E:0100 8AFF MOV BH,BH - R <им'я регістра> Виводить на екран вміст вказаного регістра і дає можливість ввести нове значення цього регістра. Приклад: - R IP на екрані з'являється вміст регістра IP і запрошення до введення у вигляді ":" IP 0110 :0100 Після запрошення слід набрати нове значення регістра або натиснути клавішу введення, для того, щоб залишити вміст регістра без змін.
-
Команда дизасемблювання - U (Unassemble) транслює шістнадцяткові коди машинних команд в команди мови асемблера.
Приклад: - U 100,105 В даній команді вказані адреса першої команди і адреса, що належить останній з команд, які підлягають дизасемблюванню. Результат виконання команди має такий вигляд: -U 100,105 270E:0100 B82301 MOV AX,0123 270E:0103 052500 ADD AX,0025 Команду, що виконує ті ж дії можна записати інакше: - U 100 L 6 В ній вказана адреса, починаючи з якої проводити дизасемблювання (зсув 100h) і довжина фрагмента (6h).
-
Команда для введення команд асемблера і перетворення їх в машинні коди - A (від Assemble -ассемблювати). Приклад: - A 100 В команді вказана адреса, починаючи з якої команди поміщатимуться в пам'ять (для .COM- файлів зсув 100h в сегменті кодів CS). Введення кожної команди слід завершувати натисненням клавіші Enter. При повторному натисненні цієї клавіші операція введення команд асемблера буде припинена. Вид екрану буде приблизно таким: - A 100 270E:0100 MOV AL,25 270E:0102 MOV BL,32 270E:0104
-
Команда трасування - T (від Trace - пройти до даної крапки) використовується для виконання програми в покроковому режимі, виконує програму по одній команді за раз, показуючи стан процесора, що відображається його регістрами.
4.6 Еволюція операційних систем
У 1940-1950 рр. однопроцесорні машини були недостатньо гнучкими і ефективними. Запуск кожної програми, що називали завданням (job), проводився окремо.
У цій ситуації операційні системи створювалися як засіб для спрощення підготовки програм і прискорення переходу від одного завдання до іншого. Першою метою створення таких систем було відділення користувача від устаткування. Кожен користувач повинен був надати оператору програму разом з необхідними даними і спеціальними вказівками про її вимоги. Оператор завантажував одержані матеріали в пам'ять машини, звідки операційна система могла відправити їх на виконання. Це - початок пакетної обробки - методу виконання завдань за допомогою попереднього об'єднання їх в єдиний пакет, який потім виконувався без подальшої взаємодії з користувачем. Завдання, що чекали свого виконання в пам'яті, утворювали чергу завдань.
Більшість черг завдань не наслідують в точності принципу FIFO (First In - First out) "Першим увійшов - першим вийшов", оскільки велика частина операційних систем підтримують установку пріоритетів завдань. В результаті виконання завдання, що знаходиться в черзі, може бути відсунуте на пізніший термін завданням з вищим пріоритетом.
У ранніх системах пакетної обробки кожне завдання супроводжувалося набором інструкцій, що описують кроки, які необхідні для підготовки машини до виконання завдання. Інструкції кодувалися на мові управління завданнями (JCL, Job Control Language) і поміщалися разом із завданням в чергу завдань.
Головним недоліком традиційної пакетної обробки є те, що користувач позбавлений можливості взаємодіяти з програмою з тієї миті, як вона поставлена в чергу. Такий підхід неприпустимий наприклад для реалізації системи резервування місць, квитків, комп'ютерних ігор і т.п.
Для вирішення цих проблем були створені нові операційні системи, які виконують програми, що ведуть діалог з користувачем, який працює за віддаленим терміналом або робочою станцією. Такий режим функціонування називається інтерактивною обробкою.
Для роботи інтерактивних систем потрібно, щоб дії, які виконуються машиною були скоординовані з подіями, що відбуваються в її середовищі. Ця координація дій машини і середовища іменується обробкою у реальному часі.
Для інтерактивної системи, що обслуговує тільки одного користувача, обробка у реальному часі не викликає проблем. Проте машини коштували дорого і кожна машина повинна була обслуговувати декілька користувачів. У такому розрахованому на багато користувачів середовищі операційна система, що дотримується строго чергового виконання завдань, не може забезпечити задовільне обслуговування у реальному часі.
Для вирішення цієї проблеми розроблені ОС, що здатні організувати постійне чергування виконання частин різних завдань за допомогою процесу розділення часу. Машинний час поділяється на інтервали, або кванти, з подальшим обмеженням часу безперервного виконання кожної програми одним квантом часу за раз. В кінці кожного інтервалу поточне завдання вивантажується, а під час наступного кванта виконується нове. При швидкому чергуванні завдань створюється ілюзія, що декілька завдань виконується в машині одночасно. Ранні ОС розділення часу дозволяли обслуговувати до 30 користувачів одночасно.
Розділення часу активно використовується не тільки в системах, що розраховані на багато користувачів, але і в системах з одним користувачем. Раніше такий режим називався багатозадачним, оскільки створювалася ілюзія одночасного виконання декількох завдань.
Застосування режиму розділення часу підвищує ефективність роботи машини, не дивлячись на те, що процес перемикання завдань вимагає додаткових витрат часу. Без використання режиму розділення часу комп'ютер велику частину часу проводитиме в очікуванні того, коли завершать роботу периферійні пристрої або користувач введе наступний запит. Режим розділення часу дозволяє використовувати цей час на рішення інших задач.
При використанні режиму розділення часу вся група одночасно запущених завдань буде виконана швидше, ніж у разі їх послідовного виконання.
