ОС - відповіді

(Призначення та функції операційних систем (ОС). Ресурс. Віртуалізація ресурсів.)

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

Основними функціями ОС є:

Прийом від користувача завдань чи команд.

Прийом та виконання програмних запитів на запуск, зупинення та зупинення інших програм.

Завантаження в оперативну пам'ять програм, що підлягають виконанню.

Ініціація програми (передача їй управління, у результаті процесор виконує програму).

Ідентифікація всіх програм та даних.

Забезпечення роботи системи управління файлами та СУБД. що підвищує ефективність роботи всього ПЗ.

Забезпечення режиму мультипрограмування, т. Е. Виконання 2 або більше програм на 1 процесорі, що віддають видимість їх одночасного виконання.

Управління операціями введення/виводу.

Розподіл пам'яті, організація віртуальної пам'яті.

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

Обмін повідомленнями та даними між програмами, що виконуються.

Захист програм від впливу одна на одну. забезпечення безпеки даних.

Надання послуг у разі збою системи.

Забезпечення роботи систем програмування.

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

Ресурси класифікуються за такими властивостями:

а) за ознакою реальності – на фізичні та віртуальні (останні лише в окремих властивостях схожі з фізичними ресурсами);

б) по можливості розширення властивостей - на еластичні і жорсткі (не допускають розширюваності);

в) заступенем активності– на пасивні та активні (здатні виконувати дії стосовно інших ресурсів);

г) почасу існування– на постійні (доступні протягом усього часу існування процесу, а також до та після його роботи) та тимчасові;

д) поступеня важливості– на основні та другорядні (що допускають альтернативний розвиток процесу);

е) пофункціональної надмірності при розподілі- на дорогі (але що надаються швидко) і дешеві (але що надаються з очікуванням);

ж) поструктурі– на складові та прості (які не містять складових елементів і можуть перебувати лише в одному з двох станів: «доступний» або «зайнятий»);

з) захарактером використання– на споживані та відтворювані (що допускають багаторазове використання та звільнення), а також – на використовувані послідовно та використовувані паралельно (що використовуються кількома процесами);

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

Прикладами ресурсів є деякі апаратні пристрої ВМ (процесори, пристрої, що запам'ятовують, пристрої вводу-виводу)або деякі набори інформації (зокрема, сукупності записів певної структури – звані «файли»).

(Етапи розвитку ОС (системи з пакетною обробкою, системи розподілу часу, системи реального часу).)

Перший період (1945 -1955)

Відомо, що комп'ютер був винайдений англійським математиком Чарльзом Бебіджем наприкінці вісімнадцятого століття. Його "аналітична машина" так і не змогла по-справжньому заробити, тому що технології на той час не задовольняли вимогам щодо виготовлення деталей точної механіки, які були необхідні для обчислювальної техніки. Відомо також, що цей комп'ютер у відсутності операційної системи.

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

Другий період (1955 – 1965)

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

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

Третій період (1965 – 1980)

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

Для цього періоду характерно створення сімейств програмно-сумісних машин. Першим сімейством програмно-сумісних машин, побудованих на інтегральних мікросхемах, стала серія машин IBM/360. Побудована на початку 60-х років ця родина значно перевершуваламашини другого покоління за критерієм ціна/продуктивність Незабаром ідея програмно-сумісних машин стала загальновизнаною.

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

Однак, незважаючи на неозорі розміри та безліч проблем, OS/360 та інші їй подібні операційні системи машин третього покоління справді задовольняли більшості вимог споживачів. Найважливішим досягненням ОС цього покоління стала реалізація мультипрограмування.Мультипрограммирование- це спосіб організації обчислювального процесу, у якому одному процесорі поперемінно виконуються кілька програм. Поки одна програма виконує операцію введення-виводу, процесор не простоює, як це відбувалося при послідовному виконанні програм (однопрограмний режим), а виконує іншу програму (багатопрограмний режим). При цьому кожна програма завантажується у свою ділянку оперативної пам'яті, яку називають розділом.

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

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

Четвертий період (1980 – теперішній час)

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

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

На ринку операційних систем домінували дві системи: MS-DOS та UNIX. Однопрограмна однокористувацька ОС MS-DOS широко використовувалася для комп'ютерів, побудованих на базі мікропроцесорів Intel 8088, а потім 80286, 80386 і 80486. Мультипрограмна розрахована на багато користувачів ОС UNIX домінувала в середовищі "не-інтелівських" комп'ютерів, особливо побудованих.

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

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

2,1 Операційні системи пакетної обробки.

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

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

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

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

2,3 Операційні системи реального часу.

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