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