Лекція - операційна система як розширена машина

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

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

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

3. Операційна система як менеджер ресурсів

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

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

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

Управління ресурсами включає в себе їх мультиплексування (Розподіливши-ня) двома способами: в часі і в просторі. Коли ресурс розподіляється в часі, різні користувачі і програми використовують його по черзі. Спочатку один з них отримує доступ до використання ресурсу, потім інший і т. Д. Наприклад, кілька програм хочуть звернутися до центрального процесора. У цій ситуації операційна система спочатку надати їм доступ до процесора одній програмі, потім, після того як вона попрацювала достатній час, іншій програмі, потім наступної і, врешті-решт, знову першою. Визначення того, як довго ресурс буде використовуватися в часі, хто буде наступним і на який час йому надається ресурс - це завдання операційної системи. Ще один приклад тимчасового мультиплексування - розподіл завдань, поси-гавкотом для друку на принтер. Коли завдання вишиковуються в чергу для друку на одному принтері, операційній системі кожен раз потрібно приймати рішення про те, яке з них буде друкуватися таким.

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

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

Ще роботи з інформатики

Реферат з інформатики