рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Порядок виконання.

Порядок виконання. - раздел Информатика, ОРГАНІЗАЦІЯ І ФУНКЦІОНУВАННЯ ІНФОРМАЦІЙНО-ОБЧИСЛЮВАЛЬНИХ КОМПЛЕКСІВ 1. Ознайомитися З Командами, Які Будуть Використані При Проведенні Лабораторн...

1. Ознайомитися з командами, які будуть використані при проведенні лабораторної роботи

2. Ознайомитися з використанням стека під час виклику процедур.

3. Вивчити систему переривань програм IBM PC і порядок використання стека при переході до програми обробки переривання.

Зміст завдання:

а) Введіть наступну послідовність інструкцій, починаючи з адреси CS:0100

CS:0100 MOV AX,0222
CS:0103 MOV BX,0555
CS:0106 CALL 0200
CS:0109 MOV DX,AX

і починаючи з адреси CS:0200

CS:0200 ADD AX,BX
CS:0202 RET

Переконайтеся в тому, що регістр IPмістить 0100h і зазначену вище послідовність команд.

Відзначте порядок і результати виконання кожної команди. Зверніть особливу увагу на регістри SSі SP, CSі IP. Зафіксуйте вміст стека до і після виконання інструкцій CALLі RET (скільки байт заноситься в стек і скільки витягується), користуючись командою перегляду дампу пам’яті. Поясніть для чого використовується стек в даному випадку.

б) Прочитайте вектор переривання 21h, використовуючи команду для перегляду дампу пам'яті.

Введіть наступні команди починаючи з адреси CS:100

CS:0100 MOV DL,41
CS:0102 MOV AH,02
CS:0104 INT 21h
CS:0106 SHR AH,1

Протрасуйте цю послідовність команд і відзначте вміст регістрів SSі SP, CSі IPдо виконання команди INTі після . Зафіксуйте зміни вмісту стека (кількість занесених байт і їх значення). Для чого використовується в даному випадку стек? Значення яких регістрів були занесені в стек і для чого? Після виконання цього пункту завдання здійсніть вихід з налагоджувача DEBUG.

в) Введіть наступні інструкції починаючи з адреси CS:0100

CS:0100 MOV CX,0004
CS:0103 MOV BX,A3C5
CS:0106 RCL BX,1
CS:0108 PUSH BX
CS:0109 LOOP 0106
CS:010B MOV CX,0004
CS:010E POP AX
CS:010F LOOP 010E

Протрасуйте цю послідовність команд. Зверніть увагу на зміну вмісту регістра CXпри виконанні команди LOOP. Для чого в даному випадку використовується цей регістр? Коли закінчується цикл? Фіксуйте стан стека до і після виконання команд PUSH і POP. Для перегляду вмісту стека використовуйте команду перегляду дампу пам'яті.

Зміст звіту.

1. Тема і мета лабораторної роботи.

2. По кожному пункту завдання відобразити:
а) структуру всіх команд, що використані в процесі виконання цього пункту завдання;
б) результати виконання кожної команди, значення регістрів, на які потрібно було звернути увагу.

Короткий опис команд мови assembler, що використовуються
в лабораторній роботі 6

  • Організація циклів
    Для цього в лабораторній роботі використовується команда LOOP.
    Формат цієї команди LOOP адреса
    В регістрі CXзаздалегідь слід вказати число повторень в циклі.
    При виконанні цієї команди вміст регістра CXавтоматично зменшується на 1. Поки значення в CXне зрівняється нулю, управління передається за вказаною в команді адресою. Якщо значення в регістрі CXстає рівним нулю, то виконується наступна після LOOP команда.

 

· Пересилка даних
Команда MOV приймач, джерело
пересилає слово або байт з джерела в приймач.
Наприклад: MOV BX,AX пересилає 2 байти з регістра AX в регістр BX
MOV DX,1234 пересилає число 1234 в регістр DX

· Занесення слова в стек
Для цієї мети використовується команда PUSH
Формат команди PUSH им'я_регістра
Ця команда зберігає значення слова із вказаного регістра в стеку для подальшого використання. Команда зменшує значення в регістрі SPна 2 і передає слово із вказаного регістра в нову вершину стека.

· Витягання слова із стека.
Проводиться за допомогою команди POP им'я_регістра
Ця команда передає слово із стека у вказаний регістр. Слово витягується із стека і значення в регістрі SPзбільшується на 2

· Виклики процедур.
Процедури - це список інструкцій, які можна викликати з різних місць програми. Виклик процедур здійснюється командою CALL.
Формат цієї команди CALL адреса
Наприклад CALL 0200
викликає процедуру, почало якій розташовано в елементі пам'яті CS:0200. При цьому в стеку зберігається адреса повернення - вона показує, до якої інструкції повернутися після виконання процедури, а в регістр IPзавантажується значення 0200.
Даний приклад ілюструє внутрішньосегментний виклик процедури - NEAR (близький).
Процедура закінчується командою RET, яка виконує повернення в попередню програму. При цьому адреса повернення завантажується із стека в регістр IP.

  • Крім того існують міжсегментні виклики процедур FAR (дальній). В цьому випадку адреса повернення має наступний вигляд:
    SP-->IP (зсув інструкції, що записана за CALL)
    CS (значення сегменту кодів попередньої програми)
  • Під час виклику процедури обробки переривання ( INT )в стек також завантажуються значення регістра прапорів. У регістри CSі IPзавантажується адреса першої команди підпрограми, що оброблює це переривання. Ця адреса зберігається в таблиці векторів переривань. Кожен вектор займає 4 байти. Тому розташування вектора можна порахувати виходячи з його номера (номер *4). Прочитати вектор переривання можна командою перегляду пам'яті -D 0000:номер*4

· Адреса вершини стека зберігається в парі регістрів SSі SP.

  • Команда додавання
    Наприклад ADD AX,BX
    Вміст регістрів AXі BXскладається і результат розміщується в регістрі AX

Короткий перелік основних команд утиліти налагоджувача 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 користувачів одночасно.

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

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

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

4.7 Архітектура операційних систем

Огляд програмного забезпечення

Програмне забезпечення можна розділити на дві загальні категорії:

  • прикладне програмне забезпечення
  • системне програмне забезпечення.

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

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

Можна виділити дві категорії системного програмного забезпечення:

  • власне операційна система (ОС)
  • обслуговуючі програми або утиліти.

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

Приведена класифікація проводить вельми умовні межі між системним і програмним забезпеченням, ОС і утилітами.

Компоненти операційної системи

Частину операційної системи, яка забезпечує інтерфейс ОС з користувачами, називають оболонкою. Сучасні оболонки виконують це завдання за допомогою графічного інтерфейсу користувача (Graphical User Interface, GUI), в якому об'єкти (файли, програми) представлені у вигляді піктограм. Ранні оболонки підтримували спілкування з користувачами за допомогою текстових повідомлень, що вводяться з клавіатури.

Деякі ОС дозволяють користувачу вибрати найбільш зручний для нього тип оболонки.

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

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

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

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

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

За ситуації, коли необхідний об'єм пам'яті перевищує реально існуючий об'єм, програма управління пам'яттю створює ілюзію збільшення об'єму пам'яті шляхом переміщення програм і даних з основної пам'яті на жорсткий диск і назад. Використовує віртуальну пам'ять.Наприклад для всіх програм, що виконуються, вимагається 64М основної пам'яті, а є тільки 32. Програма управління пам'яттю ділить необхідний об'єм на елементи - сторінки і зберігає вміст сторінок на ЖД. Типовий об'єм сторінки 4 К. Програма управління пам'яттю поміщає в основну пам'ять ті сторінки, які в даний момент повинні там знаходитися, заміщаючи ними ті, в яких більше немає необхідності.

Крім того до складу ядра ОС входить планувальник, що визначає послідовність виконання дій в системах з розділенням часу і диспетчер, що контролює розподіл тимчасових квантів для них.

Запуск операційної системи

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

Центральний процесор машини (ЦП) розроблений таким чином, що при його включенні програма, що виконується, кожного разу стартує з визначеної, наперед заданої адреси. Отже, саме в цьому місці основної пам'яті ЦП чекає знайти першу команду, яку потрібно виконати. Щоб гарантувати, що необхідна програма завжди буде присутня на вказаному місці, ця ділянка пам'яті зазвичай конструюється так, щоб її зміст був незмінним. Така пам'ять носить назву постійної пам'яті (постійний запам'ятовуючий пристрій, ПЗП). Послідовність бітів, одного разу поміщена в ПЗП за допомогою спеціального процесу, аналогічного напиленню провідників на підкладку чіпа, знаходиться там постійно, незалежно від того, включена машина або вимкнена.

У маленьких комп'ютерах, які використовують в керуємих приладах, в мікрохвильових печах, автомобільних системах запалення, представляється зручним виділити значний об'єм основної пам'яті під ПЗП, оскільки гнучкість в таких системах не потрібна. При кожному включенні виконується одна і та ж програма. Але у випадку з універсальними комп'ютерами ситуація інша і в них не практикується відведення великого об'єму основної пам'яті під постійні програми. Вміст пам'яті таких машин повинен бути змінним. Фактично велика частина пам'яті універсальних комп'ютерів в даний час сконструйована так, що її вміст може не тільки змінюватися, але і втрачатися при виключенні машини. Така пам'ять називається енергозалежною. Тому для початкового завантаження в комп'ютерах загального призначення лише мала частина основної пам'яті будується з мікросхем ПЗП. Ця область містить елементи пам'яті, в яких ЦП чекає знайти команди, що виконуються при включенні машини. Невелика програма, яка постійно знаходиться в цій області пам'яті, називається програмою первинного завантаження (bootstrap). Ця програма виконується автоматично при кожному включенні комп'ютера. Вона наказує ЦП зчитувати дані з наперед відомої ділянки зовнішньої пам'яті в енергозалежну основну пам'ять. В більшості випадків цими даними є програмний код операційної системи. Як тільки програми операційної системи будуть поміщені в основну пам'ять, програма первинного завантаження зажадає від ЦП виконати команду переходу в дану область пам'яті. В результаті стартують програми ядра, і операційна система починає контролювати подальшу діяльність машини.

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

4.8 Координація дій машини

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

Поняття процесу

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

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

У типовій комп'ютерній установці з розділенням часу в змаганні за кванти часу звичайно бере участь безліч процесів. Ці процеси включають виконання прикладних програм, утиліт і програмних елементів операційної системи. Завдання операційної системи полягає в координації виконання всіх цих процесів. Координація має на увазі отримання гарантій в тому, що кожен процес одержить всі необхідні йому ресурси (доступ до периферійних пристроїв, місце в основній пам'яті, доступ до даних і центрального процесора); що незалежні процеси не впливатимуть один на одного; а процеси, яким необхідно обмінюватися інформацією, мають можливість робити це. Взаємодія між процесами називається між процесорною взаємодією.

 

Управління процесами

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

Диспетчер- це компонент ядра, що відповідає за те, щоб заплановані процеси дійсно виконувалися. У системі з розділенням часу це завдання розв'язується за допомогою розбиття часу процесора на короткі інтервали, звані квантами (звичайно тривалістю близько 50 мілісекунд). Після закінчення цього часу відбувається примусове перемикання центрального процесора від одного процесу до іншого; отже кожному процесу надається можливість безперервного виконання лише протягом одного кванта часу. Процедура зміни одного процесу іншим називається перемиканням процесів.

Кожного разу, коли процесу надається черговий квант часу, диспетчер ініціює ланцюг таймера, готуючи його до вимірювання тривалості наступного кванта. Після закінчення встановленого кванта ланцюг таймера генерує сигнал, званий перериванням. Центральний процесор реагує на цей сигнал так само, як і людина, яку зупиняють під час виконання певного завдання. Людина припиняє свою роботу, записує поточний стан завдання і звертає увагу на те, що його відвернуло. При отриманні сигналу переривання центральний процесор завершує поточний машинний цикл, зберігає своє положення в поточному процесі і починає виконувати програму – обробник переривань, поміщену в наперед певне місце в основній пам'яті.

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

Головною умовою успішної роботи системи з розділенням часу є її здатність зупинити, а потім повторно запустити процес. Якщо вас переривають під час читання книги, то можливість продовжити читання пізніше залежить від вашої здатності пригадати, на чому ви зупинилися і що прочитали до цього моменту. Коротше кажучи, ви повинні мати можливість відтворити ситуацію такої, якою вона була безпосередньо у момент переривання. Відносно процесу ця ситуація є його стан. Нагадаємо, що стан процесу включає значення лічильника адреси, а також вміст регістрів ЦП і елементів пам'яті, до яких виконується звернення. Машини, розроблені для систем з розділенням часу, включають засоби, що дозволяють зберігати цю інформацію як реакцію центрального процесора на сигнал переривання. Крім того, машинна мова таких процесорів звичайно включає спеціальні команди для перезавантаження раніше збереженої інформації про стан. Подібні функціональні можливості обчислювальних машин спрощують завдання диспетчера по перемиканню процесів і служать прикладом того, як потреби сучасних операційних систем впливають на розробку комп'ютерів.

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

Модель "клієнт/сервер"

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

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

При розробці програмного забезпечення дотримання принципів моделі "клієнт/сервер" дозволяє чітко визначити ролі окремих його елементів. Клієнт просто посилає запити серверам і чекає надходження відповідей, а сервер, виконує обслуговування запитів, які надійшли, і посилає відповіді клієнтам. Роль сервера не залежить від того, чи функціонує клієнт на цій же машині або на видаленій, сполученій з даною машиною через мережу. Відмінності існують в програмному забезпеченні, що використовується для їх взаємодії, але не в клієнті або сервері. В результаті, якщо компоненти деякої програмної системи будуть організовані як клієнти і сервери, то вони зможуть виконувати свої функції незалежно від того, чи функціонують вони на одній машині або на різних машинах, розділених величезною відстанню. Тому, якщо програмне забезпечення, що створює нижній рівень системи, надає засоби обміну запитами і відповідями на них, сервери і клієнти можуть бути розподілені по машинах в будь-якій конфігурації, як це буде зручніше в даній мережі.

4.9 Питання з підготовки до модульного контролю

1. Стан процесора. Вектор стану

2. Призначення системи переривань

3. Основні функції системи переривань

4. Основні характеристики систем переривань

5. Вектор переривання

6. Приоритетні співвідношення програм

7. Використання стеку під час виклику процедур

8. Використання стеку під час обробки переривань

9. Еволюція операційних систем

10. Компоненти операційної системи

11. Запуск операційної системи

12. Поняття процесу

13. Управління процесами

14. Модель „клієнт-сервер”


ЛІТЕРАТУРА

1. Столлингс Вильям. Структурная организация и архитектура компьютерных систем – М.:Издательский дом «Вильямс», 2002. – 896с.

2. Брукшир Дж. Гленн. Введение в компьютерные науки. Общий обзор. - М.:Издательский дом «Вильямс», 2001. – 688с.

3. Електронний курс „IT Essentials I: Hardware And Software” – „Введення в інформаційні технології: Апаратне та програмне забезпечення” – Офіційний курс CISCO версія 3.

4. Англо-український тлумачний словник з обчислювальної техніки, Інтернету і програмування. – Вид. 1 – К.: Видавничий дім „СофтПрес”, 2005. – 552с.

 


 

Підписано до друку . .2008р. Формат 60х84 1/32. Папір офсетний.

Умовн. друк. арк. . Наклад 160 прим.

Замовлення № .

 

Віддруковано друкарнею

Запорізької державної інженерної академії

з комп’ютерного оригінал-макету

 

69006, м. Запоріжжя, пр. Леніна, 226

РВВ ЗДІА, тел. 601-240

 

– Конец работы –

Эта тема принадлежит разделу:

ОРГАНІЗАЦІЯ І ФУНКЦІОНУВАННЯ ІНФОРМАЦІЙНО-ОБЧИСЛЮВАЛЬНИХ КОМПЛЕКСІВ

Запорізька державна інженерна академія... Н П Полякова ОРГАНІЗАЦІЯ І ФУНКЦІОНУВАННЯ ІНФОРМАЦІЙНО ОБЧИСЛЮВАЛЬНИХ КОМПЛЕКСІВ...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Порядок виконання.

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Н.П. Полякова
А.І. Веселов   ОРГАНІЗАЦІЯ І ФУНКЦІОНУВАННЯ ІНФОРМАЦІЙНО-ОБЧИСЛЮВАЛЬНИХ КОМПЛЕКСІВ   Навчально-методичний посібник

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

Лабораторна робота 1
Тема: Системи числення. Ціль: 1. Одержати навички конвертації чисел з однієї системи числення до іншої. 2. Вивчити

Поява Internet
У 1960-х роках Міністерство оборони США (DoD - Department of Defense) визнало необхідність встановлення комунікаційного зв’язку між основними військовими базами США. Перш за все для того щоб підтри

Лабораторна робота 2
Тема: Основні команди операційної системи MS DOS Ціль: 1. Одержати початкові зведення про операційну систему DOS 2. Вивч

Команди загального призначення.
1) Вивід інформації про дату і її установка Date - видається інформація про день тижня і дату, потім можемо ввести нову дату або не змінювати дату, на

Очищення екрана
Команда CLS Після виконання цієї команди на екрані залишається тільки запрошення MS-DOS і курсор. 5) Зміна виду запрошення DOS здійснюється з

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

Робота з файлами.
1) Створення файлів copy con [дисковод:] [шлях] ім'я_файлу Після введення цієї команди по черзі вводяться рядки файлу

Пересилка даних
Команда процесора Intel 8086 MOV (переслати) використовується для пересилки даних завдовжки 1 байт або 2 байти а) з регістра в регістр; б) з регістра в пам'ять; в) з пам'

MOV приймач, джерело
При цьому можуть використовуватися наступні режими адресації (способи завдання операндів): 1) Регістровий режим. У якості операндів використовується вміст регістрів. Наприклад: MO

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

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги