
- •1. Поняття про операцiйнi системи та їх мiсце в загальнiй структурi комп’ютера.
- •2. Основнi функцiї операцiйної системи.
- •3. Розподiл керування ресурсами комп’ютера.
- •4. Iсторiя операцiйних систем.
- •6. Центральний процесор комп’ютера.
- •7. Пам’ять комп’ютера.
- •8. Поняття про пристрої вводу-виводу комп’ютера.
- •9. Основнi вiдомостi про структуру комп’ютера Pentium.
- •10. Основнi поняття операцiйної системи.
- •11. Загальна структура операцiйних систем.
- •13. Модель клiєнт-сервер.
- •14. Поняття процесу.
- •15. Модель процесу.
- •16. Створення процесу.
- •21. Поняття про потоки.
- •25. Семафори та їх використання.
- •26. Поняття м’ютекса.
- •27. Поняття монiторiв.
- •28. Поняття бар’єрiв.
- •29. Розробка систем передачi повiдомлень.
- •30. Основнi поняття взаємо блокування.
- •31. Умови та моделювання взаємо блокування.
- •32.Виявлення та усунення взаємоблокування
- •33. Уникнення взаємо блокувань при наявностi декiлькох ресурсiв кожного типу.
- •34. Вихiд iз взаємо блокування.
- •35. Уникнення взаємо блокувань.
- •36. Алгоритм банкiра для одного та декiлькох видiв ресурсiв.
- •37. Уникнення взаємо блокувань.
- •38. Однозадачна система без пiдкачки даних.
- •39. Багатозадачнiсть з фiксованими розмiрами.
- •40. Поняття про пiдкачку.
- •41. Облiк використання пам’ятi, яка видiляється.
- •42. Вiртуальна пам’ять. Основнi поняття.
- •43. Вiртуальна пам’ять. Сторiнкова органiзацiя пам’ятi.
- •44. Характеристика основних алгоритмiв замiщення сторiнок
21. Поняття про потоки.
В звичайнiй ОС кожному процесу вiдповiдає адресний простiр i одиничний керуючий потiк, фактично це i визначає процес. Але часто зустрiчаються ситуацiї, в яких потрiбно мати вазi – паралельних керуючих потокiв в 1-му адресному просторi нiби вони були б рiзними процесами. Процеси використовуються для групування ресурсiв, а потоки є об’єктами, якi почергово виконуються на ЦП: концепцiя потоку доповнює на модулi процесу можливого виконання в одному й тому ж середовищi кiлькох програм в достатнiй мiрi незалежних. Декiлька потокiв, якi процес II в 1-му потоцi аналогiчне декiльком процесам, якi II на 1-му компi. В 1-му випадку потоки роздiляються адресним просторм, вiдкритi файли i iншi ресурси. В 2-му випадку процес сумiсно користувач. Потоки мають деякi властивостi процесiв, тому їх iнколи називають спрощеним процесами. Термiн багато поточнiсть також використовують для опису використання декiлькох потокiв процесу. Потоки роздiляють на декiлька адресних просторiв, дочiрнi процеси, вiдкритi файли i т.д.
22. Використання потоку. Потоки часто використовують в розподiлених системах. Один з прикладiв є обробка вхiдних повiдомлень (запитiв на обслуговування). Традицiйний пiдхiд полягає в наявностi процесу або потоку, який блокується за системним запитом Resive очiкування вхiдного повiдомлення, якщо воно надходить, то приймається i обробляється. Iнший пiдхiд полягає в тому, що при надходження повiдомлення система створює новий потiк для його обробки. Такий потiк називається спливаючим. Його основна перевага полягає у вiдсутностi iсторiї : регiстрiв, стану i iншої iнформацiї.
23. Мiж процесорна взаємодiя. При роботi процесiв часто буває необхiдно їм взаємодiяти мiж собою, тому звiдси виникають проблеми мiж процесорної взаємодiї. В деяких ОС процеси, що працюють сумiсно можуть спiльно використовувати деякий блок даних i зчитувати, записувати в нього. Ситуацiя в яких 2 або бiльше процесiв зчитуються або записуються данi одночасно i кiнцевий результат залежить вiд який з них був 1-м називається станами змагання. Основним способами уникнення проблем пов’язаних з сумiсним використанням пам’ятi, файлiв i т.д. є заборона одночасного запису i читання роздiлених даних. Розроблено багато способiв реалiзацiї взаємного виникнення виключення з метою уникнення входження одного процесу в критичну область при знаходженнi там iнших i пов’язаних з цим проблемами. Деякi способи вирiшення: 1) заборона переривань; 2) змiннi блокування; 3) строге чередування.
24. Примiтиви мiж процесорної взаємодiї. Розглянемо примiтиви мiж процесорної взаємодiї, якi застосовуються замiсть циклiв очiкування, в яких лише витрачається процесорний час. Цi примiтиви блокують процеси у випадку заборони на вхiд в критичну область. В якостi прикладу використання примiтивiв розглянемо проблему виробника i споживача (sleep – це системний запит в результатi якого викликаючий процес блокується поки його не запустить iнший процес). У запиту wake up є 1 параметр – це процес, яки потрiбно запустити. 2 процеси сумiсно використовують буфер обмеженого розмiру. 1 з них виробних розмiщує данi в цей буфер, а 2-й споживач зчитує їх звiдти. Труднощi виникають в той момент, поки робiтних хоче розмiстити в буфер чергову порцiю даних i виявляється, що буфер повний. Для виробника вирiшенням є очiкування поки споживач повнiстю або частково не очистить буфер. Аналогiчно поки споживач хоче забрати данi з буфер, а буфер порожнiй, то споживач переходить в стан очiкування i виходить з нього як тiльки виробних положить що-небудь в буфер i розбудить його. Це рiшення є досить простим, але воно призводить до стану змагання.