№ 1 p>
1. Поняття ОС. Основні функції ОС. P>
Під ОС звичайно розуміють комплект керуючих програм, які вступаютьяк інтерфейс між апаратурою комп'ютера, і призначені для найбільшефективного використання ресурсів обчислювальної системи, організаціїнадійних обчислень. Будь-який з компонентів програмного забезпечення працюєпід управлінням ОС, і жоден з компонентів ПЗ, за винятком самої ОС немає доступу безпосередньо до апаратури. p>
Основними функціями ОС є: p>
1. Прийом від користувача завдань або команд. P>
2. Прийом і виконання програмних запитів на запуск, припинення і зупинку інших програм. P>
3. Завантаження в оперативну пам'ять підлягають виконанню програм. P>
4. Ініціація програми (передача їй управління, внаслідок чого процесор виконує програму). P>
5. Ідентифікація всіх програм і даних. P>
6. Забезпечення роботи системи управління файлами і СУБД. що збільшує ефективність роботи всього ПЗ. p>
7. Забезпечення режиму мультипрограмування, тобто виконання 2 або більше програм на 1 процесорі, що віддає видимість їх одночасного виконання. P>
8. Управління операціями введення/виводу. P>
9. Задоволення жорстких обмежень в режимі реального часу .?? p>
10. Розподіл пам'яті, організація віртуальної пам'яті. P>
11. Планування і диспетчеризація задач відповідно до заданих стратегією і дисциплінами обслуговування. P>
12. Обмін повідомленнями і даними між виконуються програмами. P>
13. Захист програм від впливу один на одного. забезпечення збереження даних. p>
14. Надання послуг на випадок збою системи. P>
15. Забезпечення роботи систем програмування. P>
2. Переривання. Обробка переривань. P>
Переривання являють собою механізм дозволяє координуватипаралельне функціонування окремих пристроїв обчислювальної системи іреагувати на особливі стану виникають при роботі процесора.
Переривання - це примусова передача управління від виконуєтьсяпрограми до системи, а через неї до відповідної програмі обробкипереривань, яка відбувається при певному подію. Основна мета запровадженняпереривань - реалізація асинхронного режиму роботи та розпаралелюванняроботи окремих пристроїв обчислювального комплексу. Механізм перериваньреалізується апаратно-програмними засобами. p>
Структури систем переривань можуть бути самими різними, але всі вонимають спільну особливість - переривання неодмінно веде за собою змінупорядку виконання команд процесором. Механізм обробки перериваньвключає в себе наступні елементи: p>
1. Встановлення факту переривання (прийом та ідентифікація сигналу на переривання). P>
2. Запам'ятовування стану перерваного процесу (стан процесу визначається значенням лічильника команд, вмістом регістра процесора, специфікацією режиму: для користувача або привілейований) p>
3. Управління апаратно передається програмі обробки переривання. У цьому випадку, в лічильник команд заноситься початкова адреса підпрограми обробки переривання, а у відповідні регістри зі слова стану .??? p>
4. Збереження інформації перерваної програмі, яку не вдалося врятувати за допомогою дій апаратури. P>
5. Обробка переривання. Робота може бути виконана тієї ж підпрограмою, якій було передано управління на 3-му кроці, але в ОС найчастіше ця обробка реалізується шляхом виклику соотв. підпрограми. p>
6. відновлення інформації відноситься до перервати процес. p>
7. Повернення в перервану програму. P>
Перші 3 кроки реалізуються апаратними засобами, а решта --програмно. p>
Головні функції механізму переривання: p>
1. Розпізнавання або класифікація переривання. P>
2. Передача управління обробникові переривання. P>
3. Коректне повернення до перерваної програмі p>
Перехід від перерваної програмі до обробникові і назад повиненпроводиться як можна швидше. Одним із швидких методів євикористання таблиці сприяння з. перелік усіх допустимих для комп'ютерапереривань і адреси соотв. обробників. Для коректного повернення доперерваної програмі, перед передачею управління обробникові, вмістрегістрів процесора запам'ятовується або в пам'яті з прямим доступом або всистемному стеку. p>
???? p>
Обслуговування переривань. Наявність сигналу переривання не обов'язковоповинно викликати переривання виконуваних програм, процесор можеволодіти системою захисту від переривань: відключення системи переривань абозаборона або маскування окремих сигналів переривань. Програмнеуправління цими коштами дозволяє ОС регулювати обробку сигналівпереривання. Процесор може обробляти переривання відразу по приходупереривання, відкладати їх обробку на деякий час, повністюігнорувати. Зазвичай операції переривання виконуються тільки післязавершення виконання поточної команди. Оскільки сигнали перериваннявиникають в довільні моменти часу, то на момент переривання можеіснувати кілька сигналів переривання, які можуть бути обробленітільки послідовно. Щоб обробити сигнали переривання в розумномупорядку їм присвоюються пріоритети. Програми керуючи спеціальнимирегістрами маски, дозволяють реалізувати різні дисципліни обслуговування:
1) з відносним пріоритетом. При цьому обслуговування не переривається навіть при наявності запитів з більш високими пріоритетами. після закінчення обслуговування даного запиту (поточного) обслуговується запит з найвищим пріоритетом. для організації такої дисципліни необхідно в програмі обслуговування даного запиту накласти маски на всі інші переривання або просто відключити систему переривань.
2) з абсолютним пріоритетом. Завжди обслуговуються завдання з найвищим пріоритетом. Для реалізації цієї дисципліни при запиті на обробку переривань маскуються всі переривання з нижчим пріоритетом. При цьому можливо багаторівневе переривання, тобто переривання програми обробки переривання. Число рівнів переривання в цьому режимі змінюється і залежить від пріоритету запиту за принципом стека: LCFS - last come first served, т p>
. тобто запит з більш високим пріоритетом може перервати запит з більш низьким пріоритетом. У відповідь на запит на переривання система переривань ідентифікує сигнал і якщо переривання дозволені, то управління передається на соотв. програму обробки переривань. p>
??? Службові секції, в яких здійснюється збереження контекступерерваної завдання і остання секція в якій здійснюєтьсявідновлення контексту, щоб система переривань не зреагувала повторнона сигнал запиту на переривання. Ця система переривань автоматичновідключає переривання, тому необхідно в підпрограм обробки перериваньзнову включати цю систему обробки переривань. Отже, на час виконанняцентральної секції обробки переривань переривання дозволені, на часроботи заключній секції підпрограма обробки переривань повинна бутивідключена, а після відновлення контексту перерваної завдання включеназнову. Ці дії треба виконувати в кожній обробці переривань. Підбагатьох ОС 1 секція обробки переривань виділяється в спеціальнийпрограмний модуль з. супервізорів переривань. p>
3. У чому полягає відмінність між повторновходімим (реентерним) і повторнопрериваемимі програмними модулями. Як вони реалізуються. P>
№ 2 p>
1. Що таке система управління файлами (СУФ)? P>
Призначення СУФ. P>
Організація більш зручного доступу до даних, організованих як файли.
Замість нізкоуровнего доступу до даних - із зазначенням фізичної адресикожного запису - використовується логічний доступ з вказівкою імені файлу ізапису в ньому. p>
Ряд ОС дозволяє працювати з декількома СУФ, в цьому випадку говорять промонтує файлових системах. Існують також ОС працюють без СУФ, тобтобудь-яка система управління файлами потрібна не сама по собі, вона розроблена дляроботи в конкретній СВ і конкретної файлової системи. p>
2. Зовнішні, внутрішні та програмні переривання. P>
Переривання виникають при роботі вич. системи можна розділити назовнішні і внутрішні. Зовнішні переривання викликаються асинхронними подіями,які відбуваються поза переривати процес. Приклад - переривання відтаймер, переривання від зовнішніх пристроїв, переривання щодо введення/висновку,переривання по порушення харчування, переривання з пульта оператора, перериваннявід іншого процесора або іншої ОС. p>
Внутрішні переривання викликаються подіями, які пов'язані з роботоюпроцесора і є синхронними з його операціями. Наприклад: при порушенніадресації (коли вказано заборонений або неіснуючу адресу) абозвернення до відсутньому сегменту або сторінці при організаціївіртуальної пам'яті; при наявності в поле коду операції незадіяною
2ічной комбінації; під час ділення на 0; при переповнення або зникненняпорядку; при виявленні помилок парності, помилок у роботі різнихпристроїв апаратури засобами контролю. p>
Програмні переривання. Ці переривання відбуваються по відповіднійкоманді переривання тобто по цій команді процесор здійснює ті ждії, що і при звичайних внутрішніх переривання. Даний механізм бувспеціально введений для того, щоб переключення на системні програмнімодулі відбувався не просто як перехід на підпрограму, а точно таким жечином як і в звичайних переривання. Цим забезпечується автоматичнепереключення процесора в привілейований режим з можливістювиконання будь-яких команд. Сигнали, що викликають переривання, формуються позапроцесора або в самому процесорі, при цьому вони можуть виникатиодночасно. Вибір одного з них для обробки здійснюється на основіпріоритету, приписаних до кожного типу переривання. Облік пріоритетупереривання може бути вбудований у технічні засоби, а також визначатися
ОС. P>
Розподіл переривань по рівнях пріоритету:
| Засоби контролю CPU | Вищий |
| | Пріоритет |
| Системний таймер | |
| Магнітні диски | |
| Мережеве обладнання | |
| Термінали | |
| Програмні переривання | Нижчий |
| | Пріоритет | p>
3. Зобразити діаграму стану процесу. Пояснити всі можливі переходи з одного стану в інший. P>
Стани процесу. P>
За час свого існування процес може здійснити перехід з одного стану в інший. Це обумовлено зверненнями до ОС із запитами ресурсів та виконанням системних функцій, які надають ОС взаємодія з іншими процесами, появою сигналів переривання від таймера і пристроїв введення/виводу. Процес зі стану бездіяльності може перейти в стан готовності в наступному випадку: p>
1 За командою оператора або користувача, ОС де програма може мати статус завдання і при цьому бути пасивною, а не просто бути виконується файлами і тільки на час виконання отримувати статус завдання це характерно для більшості сучасних ОС. p>
2 При виборі з черги на виконання процес може перейти від бездіяльності до готовності. Це характерно для ОС працюють у постійному режимі. P>
3 За викликом з іншого завдання. За викликом супервізора один процес може створити, ініціювати, призупинити, зупинити і знищити будь-який процес. Від переривання від зовнішнього пристрою. пристрої називають ініціатором, якщо по сигналу на переривання від нього повинна запуститься ака-то завдання. p>
Перехід в готовність при вступі запланованого запиту програми. процес, який може виконуватися або тільки йому буде надано процесор знаходиться в стані готовності. Вже виділено всі необхідні ресурси за винятком процесора. P>
Зі стану виконання процес може вийти за однією з наступних причин: p>
1 Процес завершується, при цьому він за допомогою звернення до супервізор передає управління ОС і повідомляє їй про своє завершення. В результаті їхніх дій супервізор або переводить його в список бездіяльних процесів або знищує. У стан бездіяльності процес може бути переведений примусово по команді оператора. Дія цієї команди реалізується системними процесами. які транслюють запит супервізор з вимогою перевести соотв. процес в стан бездіяльності. p>
Зі стану виконання процес переводиться в стан готовності до виконання у зв'язку з появою більш пріоритетного завдання або у зв'язку із закінченням виділеного цьому процесу кванта часу. Або внаслідок запиту операції введення/виводу, який повинен бути виконаний перш ніж процес може продовжити виконання або внаслідок неможливості надати йому ресурс запитаний зараз. При надходженні відповідного сигналу про завершення операції введення/виводу, що звільняє потрібний ресурс, в оперативну пам'ять завантажується необхідна сторінка віртуальної пам'яті. Процес деблокуючих і перекладається зі стану готовності до виконання. Отже, рушійною силою, яка змінює стану процесів, є механізм переривань. P>
№ 3 p>
1. Інтерфейсні оболонки. Операційне середовище. P>
Інтерфейсні оболонки створені для більш зручного взаємодіїкористувача з ОС. Їх основне призначення або розширити можливості поуправління ОС, або змінити вбудовані в систему можливості. Прикладиінтерфейсних оболонок: для Unix - xWINDOW, для Linux: - KDE, для OS/2 -
Presentation Manager, PM shell Object Desktop, для Windows - Explorer. P>
Термін операційне середовище означає відповідний інтерфейс,необхідний програмам для звернення до операційної системи, з метоюотримання певного сервісу. (напр. виконати операцію введення/виводу.звільнити ділянку пам'яті, і т. п.) Операційне середовище - системнепрограмне оточення в якому можуть виконуватися програми створені заправилом роботи цього середовища. Операційне середовище визначається програмнимиінтерфейсами, тобто API - application program interface. Інтерфейсомприкладного програмування, що включає в себе керуванняпроцесами, пам'яттю, введенням/висновком. Ряд ОС можуть організовувати виконанняпрограм, створених для інших ОС, тобто відповідна операційне середовищеорганізовується в ОС, у рамках окремої віртуальної машини. p>
Паралельне існування термінів операційна система іопераційне середовище, пов'язане з тим, що операційна система підтримувати взагальному випадку кілька операційних середовищ. Операційне середовище може включатидекілька інтерфейсів, зокрема для користувача і програмний. p>
2. Класифікація ОС. P>
Операційні системи поділяються 1) За призначенням. Перш за все ОСподіляють на системи загального і спеціального призначення. ОС спеціальногопризначення в свою чергу поділяють на ОС для переносних мікрокомп'ютерів
(кишенькові PC) і вбудованих систем. p>
2) По режиму обробки задач. Розрізняють ОС забезпечуютьоднопрограмних і мультипрограмному режими. Під мультипрограмному режимомрозуміють спосіб організації обчислень, коли на однопроцесорній машиністворюється видимість виконання декількох програм. Різниця міжмультипрограмному і мультизадачності режимом в тому, що в мультипрограмномурежимі забезпечується паралельне виконання декількох додатків і прице програміст прикладні програми не повинен піклується про організацію їхньогопаралельної роботи ці функції на себе бере ОС, вона розподіляє міжвиконуються додатками ресурси обчислювальної системи. Здійснюєнеобхідну синхронізацію обчислень і взаємодію. Мультизадачності режимнавпаки припускає, що турбота про паралельне виконання тавзаємодію додатків лягає на прикладних програмістів. Сучасні
ОС для персональних комп'ютерів реалізують як мультипрограмному, так імультизадачності режими. p>
При організації роботи з обчислювальною системою в діалоговому режиміможна говорити про однокористувацьких (однотермінальних імультітермінальних ОС) в мультітермінальних ОС можуть працювати одночаснокілька користувачів, кожний зі свого термінала. Для організаціїмультітермінального доступу до визначить. системі необхідно забезпечитимультипрограмному режим роботи. Прикладом мультітермінальной ОС явл. Linux. P>
3) За способом взаємодії з системою. Основною особливістю ОСреального часу є забезпечення обробки надходять завдань упротягом заданих інтервалів часу, які не можна перевищувати.
Мультипрограмування є основним засобом підвищенняпродуктивності системи. Кращі характеристики по продуктивностізабезпечуються для систем реального часу однотермінальнимі ОС реальногочасу. Коштів?? організації мультипрограмному режиму завжди сповільнюютьроботу системи в цілому, але розширюють функціональні можливості системи.
Однією з таких систем є QNX. P>
4) За способом побудови. За своїм архітектурним принципом ОСподіляються на мікроядерної і монолітні, прикладом мікроядерної є ОС
QNX, прикладом монолітною - Windows 9.XX, 200. P>
3. З якою метою в ОС вводиться спеціальний програмний модуль, наз. супервізор переривань? p>
У багатьох ОС 1 секція обробки переривань виділяється в спеціальнийпрограмний модуль з. супервізорів переривань. p>
Цей модуль зберігає в дескриптор поточного завдання робочі регістрипроцесора, які визначають контекст переривається обчислювальногопроцесу. Визначає ту підпрограму, яка має виконувати діїпов'язані з обслуговуванням поточного запиту на переривання. Перед тим. якпередати управління цієї підпрограмі супервізор переривань встановлюєнеобхідний режим обробки переривання. Після виконання підпрограмиуправління передається знову супервізор, але вже на той модуль, якийзаймається диспетчеризацією завдань. Диспетчер завдань у свою чергу, вВідповідно до прийнятого режимом розподілу процесорного часу міжвиконуються процесами відновить контекст того завдання, якою будевирішено виділити процесор. p>
Обробка переривань за участю супервізора ОС. p>
1. відключення переривань. Проводиться в соотв. модулях ОС. Збереження контексту перерваної завдання. Установка режиму системи переривань. P>
2. визначення адреси програмного модуля. який обслуговує запит на переривання та передача керування на нього. Включення підпрограми обробки переривань. P>
Диспетчер завдань: вибір готової до виконання завдання на основі прийнятоїдисципліни обслуговування. Відновлення контексту перерваної завдання.
Встановлення попереднього режиму роботи системи переривань і передачауправління цьому завданню. p>
№ 4 p>
1. Системи програмування. Утиліти. P>
Система програмування включає в себе транслятор відповідногомови, бібліотеки підпрограм, редактори, компонувальник і відладчик. Чи небуває самостійних відірваних від ОС систем програмування. Будь-якасистема програмування працює тільки у відповідній ОС. під якувона створена, але тим не менше вона може дозволяти розробляти програмирозробляти ПЗ для інших ОС. У тому випадку, коли створені програмиповинні працювати в інших ОС говорять про крос-системах. p>
Під утилітами розуміють спеціальні системні програми, за допомогоюяких можна обслуговувати як саму ОС, так і готувати для роботиносії даних, виконувати перекодування даних, здійснювати оптимізаціюрозміщення даних на носії (дефрагментація) та виконувати інші роботипов'язані з обслуговування обчислювальної системи. Також до утиліт відносятьсяпрограми розбиття носія на магнітних дисках на розділи, програму дляперенесення основних системних файлів самої ОС. p>
2. Пояснити поняття task, process, thread p>
Поняття обчислювального процесу та ресурсу є основними прирозгляді ОС. Послідовний процес (задача) - виконання окремоїпрограми. Процесор, який є носієм даних виконує операціїпов'язані з їх обробкою. приклади процесів завдань (прикладні програмикористувачів, утиліти). Процесом може бути редагування тексту,трансляція вихідної програми, її компонування, виконання. p>
3. Перерахуйте дисципліни обслуговування переривань, як можна реалізувати кожну з цих дисциплін. P>
№ 5 p>
1. Системні бібліотеки. P>
2. Нить. Використання потоків. P>
Thread (потік, тред) 0 легкий процес. P>
У кожного процесу є свій адресний простір і виділеніресурси. Така відособленість потрібна для того, щоб захистити один процесвід іншого. оскільки вони спільно використовують всі ресурси обчислювальноїсистеми, конкурують один з одним. У загальному випадку процеси ніяк непов'язані між собою і можуть належати навіть різним користувачам. ОСвважає процеси непов'язаними і незалежними при цьому ОС бере на себероль арбітра в конкуренції з приводу ресурсів. p>
Тред або потоки легковажним ці завдання називають тому, що ОС немає для них організовувати повноцінну віртуальну машину. Ці завдання немають власних ресурсів. Вони розвиваються в тому ж віртуальному адресномупросторі, можуть користуватися тими ж файлами, віртуальними пристроямита іншими ресурсами, що і даний процес. Єдине, що необхідно тред
- Процесорний ресурс. У однопроцесорній системі треди розділяють міжсобою процесорний час також, як це роблять звичайні процеси. Умультипроцесорної системі треди можуть виконуватися одночасно якщо незустрічають конкуренції через звернення до інших ресурсів. p>
Нить. Головне, що забезпечує багатопоточність --можливість паралельного виконання декількох видів операцій в однійприкладній програмі. Паралельні обчислення часто реалізуються на рівнітредів. Програма оформлена у вигляді декількох тредів, в рамках одногопроцесу може бути виконана швидше за рахунок паралельно виконанихокремих її частин. Особливо ефективно можна використовувати багатопоточністьдля виконання розподілених додатків. Наприклад багато-серверможе виконувати запити відразу декількох клієнтів. p>
Поняття потік було введено для того, щоб саме за допомогою цихпонять розподіляти процесорний час між можливими роботами. Поняттяпроцес передбачає, що при диспетчеризації потрібно враховувати всі ресурси,закріплені за процесом. При маніпулюванні треди можна міняти тількиконтекст завдання, якщо ми перемикаємося з задачі на задачу в рамках одногопроцесу, то всі інші ресурси при цьому не порушуються. Коженпроцес складається принаймні з одного тред і тільки длябагатопроцесорних систем програміст може розщепити потік на кількапаралельних. Потреба в потоках виникла ще на однопроцесорнихобчислювальних системах, оскільки вони дозволяють організуватиобчислювальний процес більш ефективно, а для використання перевагбагатопроцесорних систем зі спільною пам'яттю треди просто необхідні, тому щодозволяють не тільки прискорити виконання тих завдань, які допускають їхприродне розпаралелювання, але і завантажити процесори роботою, щобвони не простоювали. Кожен тред виконується строго послідовно і маєсвій власний програмний лічильник і стек. Тред як і процеси можутьпороджувати треди-нащадки, оскільки будь-який процес полягає хоча б з одноготред. Подібно традиційним процесам, кожен тред може знаходиться в одномуз активних станів. Ще один тред заблоковано або перебуває у черзіготових до виконання завдань інший тред того ж процесу може виконуватися.
Тред поділяють процесорний час у відповідності з різними варіантамидиспетчеризації. Всі треди мають один і той же віртуальний адреснийпростір свого процесу, тобто вони поділяють одні пі ті ж глобальнізмінні. Так як будь-який тред може мати доступ до кожного віртуальногоадресу один тред може використовувати стек іншого тред. Між потоками немаєповного захисту, тому що це неможливо, і вапще вона не потрібна для тредів. всіпотоки одного процесу вирішують завдання одного користувача і механізм потоківвикористовуються тут для більш швидкого вирішення завдання шляхом їїрозпаралелювання. При цьому програмісту дуже важливо отримати в своєрозпорядження зручні засоби організації взаємодії частин однієїпрограми. Крім поділу адресного простору все треди розділяютьнабір відкритих файлів або загальні пристрої виділені в процеси мають одніі ті ж набори сигналів, звані семафори і т. п. p>
Власними у тредів є програмні лічильники, свій стек,робочі регістри процесора, потоки-нащадки та стану. В наслідок того,що треди відносяться в певному процесу виконуються в одному і тому жвіртуальному адресному просторі між ними можна організувати тісневзаємодія, на відміну від процесів для яких потрібні спеціальнімеханізми обміну повідомленнями і даними. Програміст, що створюєбагатопотокове додаток повинен заздалегідь продумати роботу багатьох тредівпроцесу таким чином, щоб вони могли взаємодіяти найбільш вигіднимспособом, а не брали участь в конкуренції за надання ресурсів тоді,коли цього можна уникнути. p>
Для того щоб можна було ефективно організувати паралельневиконання потоків і процесів в архітектурі сучасних комп'ютеріввключена можливість працювати із спеціальною інформаційною структурою,яка описує процеси або потоки. Для цього вже на рівні архітектуримікропроцесора виконуються деякі завдання. І це поняття об'єднує всобі звичайні і легковагі процеси і підтримує для нього на рівніапаратури інформаційні структури, що дозволяють в подальшому прирозробці ОС побудувати відповідні дескриптори як для процесу, так ідля тред. Відрізнятися ці дескриптори будуть тим, що дескриптор потоку аботред може зберігати тільки контекст припиненого обчислювальногопроцесу, тоді як дескриптор процесу повинен містити поля, якіописують ресурси виділені цього процесу. p>
Використання потоків. У разі використання однопроцесорній системибезліч паралельних потоків часто не прискорюють роботу додатку,оскільки в кожній окремо взятій проміжок часу можливе виконаннятільки одного потоку. Крім того, чим більше потоків, тим більше навантаженняна систему, оскільки витрачаються ресурси. Якщо процес має більш 2потоків, то така мультизадачність не зробить роботу швидше, якщо коженз потоків не буде вимагати частого введення/висновки. p>
2 Необхідно пам'ятати для чого потрібен потік. Потік, здійснюючиобробку. може перешкодити системі швидко реагувати на запитивведення/виводу. Потоки дозволяють програмі відгукуватися на проханнякористувачів та пристроїв, але при цьому сильно завантажують процесор. Потокидозволяють комп'ютера одночасно обслуговувати безліч пристроїв. p>
3 потоку можна призначити певний пріоритет, для того щобнайменш значимі процеси виконувалися у фоновому режимі (шлях частковогоподілу ресурсів CPU). Однак завжди потрібно пам'ятати, що процесор 1 - апотоків багато. p>
4 Потоки добре працюють, коли вони є незалежними. Але вони починаютьпрацювати не продуктивно, якщо змушені часто синхронізуватися длядоступу до загальних ресурсів. p>
5 Необхідно чітко уявляти, що пам'ять віртуальна, механізмвіртуальної пам'яті стежить за тим, яка частина віртуального адресногопростору повинна знаходиться в ОЗУ, а яка повинна бути скинута в файлпідкачки. Потоки ускладнюють ситуацію, якщо вони звертаються в один і той жечас до різних віртуальним адресами віртуального адресного просторудодатки. p>
6 Не слід покладати на потоки декілька функцій. Складніфункціональні відносини ускладнюють розуміння загальної структури програмивсього алгоритму. Чим простіше і менш багатозначне кожна з розглянутихситуацій, тим більша ймовірність, що помилок вдасться уникнути. p>
3. Для чого кожна завдання отримує свій дескриптор. Які поля, як правило, містяться в дескриптор процесу (задачі). Що таке контекст завдання. P>
№ 6 p>
1. Дескриптор ОС реального часу p>
В ОС реального часу кількість процесів фіксується, томукорисно визначити кількість дескрипторів процесів. Кожен дескрипторпроцесів постійно розташовується в оперативній пам'яті, з метою прискоритироботу диспетчера завдань, для більш ефективної обробки даних. У системахреального часу доцільно мати постійні дескриптори завдань,повністю або завжди існуючі в системі, незалежно від того, надходятьна них вимоги чи ні. кожна конкретна задача володіє деякоювласної областю оперативної пам'яті, незалежно від того виповнюєтьсязавдання чи ні. Це так зв. ОЗУ резидентні завдання. Ця область можевикористовуватися для зберігання даних отриманих завданням раніше. Дані можутьзберігається в ній тоді, коли завдання знаходиться в стані очікування абобездіяльності. p>
Апаратна підтримка дескрипторів завдань. Для апаратної підтримкироботи ОС із дескриптора завдань в процесорах реального часу реалізованівідповідні механізми. Починаючи з Intel 80286 в якому реалізованийрегістр наз: TR task Register, який вказує місцезнаходження сегментастану завдання, в якому при перемиканні з задачі на задачуавтоматично зберігається вміст регістрів процесора. У сучасних ОСрегістр завдання включає в себе сегмент стану завдання TSS task statesegment Дескриптор завдання більше за розмірами ніж TSS і включає в себетакі загальні поля, як ідентифікатор завдання, ім'я, пріоритет, тип, і т. д. p>
№ 7 p>
1. Активний і пасивний процеси. P>
Стани процесу. Необхідно відрізняти чисто керуючі процеси,представляють роботу супервізора операційної системи і займаєтьсярозподілом і упорядкуванням ресурсів званий Системним обробникомпроцесів, що входить в ядро ОС і процесів користувачів. Для системнихкеруючих процесів ресурси визначені спочатку і початково. Ціпроцеси управління ресурсами системи за використання якими існуєконкуренція між усіма іншими процесами. Тому виконання системиуправління програмами не прийнято називати процесами. p>
Термін завдання (процес) можна вживати тільки до процесівкористувачів і до системних обробляють процесам. Однак цесправедливо не для всіх ОС. У Unix системах виконання виконуючихпрограмних модулів теж має статус системних процесів. p>
Процес може знаходиться в активній і пасивно стані. В активномустані процес може брати участь у конкуренції за використання ресурсівобчислювальної системи. У пасивному стані він тільки відомий системі,але в конкуренції не бере участь. p>
У свою чергу активний процес може бути в одному з наступнихстанів:
1 Стан виконання: всі витребувані процесом ресурси виділені. Уцьому стані може знаходитися тільки один процес.
2 готовності до виконання: ресурси можуть бути надані цьому процесу,тоді він перейде в стан виконання.
3 блокувати або очікування: витребувані ресурси не можуть бутинадані або не завершена операція введення/виводу. p>
У більшості ОС останній стан підрозділяється на множиннестан очікування. відповідне певного виду ресурсу черезвідсутності якого процес переходить в стан очікування. У звичайних ОСпроцес з'являється при запуску будь-якої програми. Ос організовує
(породжує або виділяє) для нового процесу відповідний дескрипторпроцесу і процес починає розвиватися (задача починає виконуватися).
Тому в звичайних ОС пасивного стану не існує. В ОС реальногочасу ситуація дещо інша Звичайно при проектуванні ОС реальногочасу заздалегідь відомий складу програм або завдань, які будутьвиконуватися. Відомі при цьому багато хто їх параметри, які необхідновраховувати при розподілі ресурсів (обсяг необхідної пам'яті, часвиконання, пріоритет виконання, використовувані пристрої). Тому для ОСреального часу заздалегідь заводять дескриптори завдань з тим, щобзгодом не витрачати час на організацію дескриптора і пошук для ньогонеобхідних ресурсів. Тому в таких ОС деякі процеси можуть знаходитьсяв стані бездіяльності. p>
2. Привілейовані і непривілейованих програмні модулі. P>
3. Пояснити поняття ресурсу. Назвати види та типи ресурсів. P>
Поняття ресурсу явл. одним з основних при розгляді ОС. Термінресурс звичайно застосовується по відношенню до повторно що використовується,відносно стабільним і часто відсутньою об'єктах, якізапитуються, використовуються і звільняються процесами в період їхактивності. p>
Ресурси можуть бути розділяються, коли кілька процесів можутьвикористовувати їх одночасно (в один і той же момент часу) абопаралельно (протягом деякого часу процеси використовують ресурспоперемінно) та неподільні. p>
Класифікація ресурсів p>
p>
При розробці перших систем ресурсами вважали процесорний час,пам'ять, канали введення/виводу і периферійні пристрої. Зараз програмні іінформаційні ресурси можуть бути як об'єкти які можуть поділятися ірозподілятися. Звідси випливає висновок. що доступ до цих об'єктів потрібноконтролювати. Зараз поняття ресурсу перетворилося на абстрактну структуруз низкою атрибутів чи властивостей характеризують способи доступу до цієїструктурі та її фізичне представлення в системі. p>
Основні види ресурсів.
Процесорний час
Пам'ять. Оперативна пам'ять може бути розділена одночасним способом, вце сл-е в пам'яті може розташовуватися одночасно декілька процесів,або цілком, або поточні фрагменти, і поперемінно - в різні моментичасу вона може надаватися для різних обчислювальних процесів. Укожен конкретний момент часу процесор при виконанні обчисленьзнову звертається до обмеженого числа осередків оперативної пам'яті. З цієюточки зору корисно розділяти пам'ять для якомога більшого числа йдутьпаралельно процесів. З іншого боку, як правило, чим більшеоперативної пам'яті може бути вільно для конкретного поточного процесу,тим краще умови його виконання. Тому проблема ефективного поділуоперативної пам'яті між паралельно виконуваними процесами є однієюз найактуальніших. Це явище називають також балансуванням завантаження. P>
Коли говорять про зовнішню пам'яті (магнітні диски, гвинт), то власнесама пам'ять і доступ до неї різними видами ресурсів. кожен з цих ресурсівможе надаватися незалежно від іншого. Але для роботи з зовнішнімпам'яттю необхідно мати обидва цих ресурсу. Зовнішня пам'ять може розділятисяодночасно, а доступ до неї поділяється поперемінно (паралельно). Якщоговорити про зовнішніх пристроях, то оне як правило можуть розділятисяпаралельно, якщо використовуються механізми прямого доступу. якщо пристрійпрацює з послідовним доступом воно не може вважатися розділяютьсяресурсом (принтер, Стример).
Програмні модулі. Системні програмні ресурси. Можуть бути розділеніміж виконуються процесами. Програмні модулі можуть бути однократновиконуваними (виконуються правильно тільки один раз, і є неподільнимиресурсами, більш того їх взагалі можна не розглядати як ресурс системи.
Такі модулі використовуються, як правило, при завантаженні системи.) Ібагаторазово виконуються. Багаторазово виконуються програмні модулі можутьбути непривілейованих, привілейовані і реентерабельние. p>
Привілейований програмний модуль працює в так званомупривілейованому режимі, при відключеній системі переривань, і ніщо неможе порушити природний порядок обчислень. У результаті програмниймодуль виконується до кінця. після чого він може бути викликаний з іншогозавдання на виконання. Такий модуль можна розглядати як попереміннорозділяється ресурс. p>
Структура модуля:
| Відключення | Тіло програмного | Включення |
| переривань | модуля | переривань | p>
непривілейованих модулі - звичайні програмні модулі. які можутьбути перервані під час своєї роботи. Отже їх не можна в загальному випадкувважати розділяються, тому що якщо після переривання обчислення такогомодуля запустити його исчо раз на вимогу обчислювач