русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Процеси, нитки


Дата додавання: 2013-12-23; переглядів: 1640.


Файли

Переривання

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

Важливий|поважний| тип апаратних переривань – переривання таймера, які генеруються періодично через фіксований проміжок часу.

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

Виняткові ситуації

Виняткова ситуація (exception|) – подія, що виникає в результаті|внаслідок| спроби виконання про|грамної команди, яка по якихось причинах не може бути виконана до кінця.

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

хронними| подіями, що виникають в контексті поточного завдання|задачі|. Виняткові ситуації можна

розділити на ті що можна виправити і н не виправні.

До поправних відносяться такі виняткові ситуації як відсутність потрібної інформації в оперативній пам'яті. Після|потім| усунення причини поправної виключної ситуації програма може виконуватися далі. Виникнення в процесі роботи опе|раціонної системи поправних виняткових ситуацій вважається|лічить| нормальним явищем.

Невиправні| виняткові ситуації найчастіше виникають в результаті|внаслідок| помилок в програмах (наприклад

ділення|поділка| на нуль). Зазвичай|звично| в таких випадках операційна система реагує завершенням програми, що викликала|спричиняла| виняткову ситуацію.

Файли призначені для зберігання інформації на зовнішніх носіях, тобто|цебто| прийнято, що інформа-|

ція|, записана, наприклад, на диску, повинна знаходитися|перебувати| усередині|всередині| файлу. Зазвичай|звично| під файлом розуміють іменовану частину|частку| простору|простір-час| на носієві інформації.

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

 

Файлова система ОС описана в лекціях 15–18.

Концепція процесу в ОС одна з найбільш фундаментальних. Процеси детально розглянуті|розглядувати| в лекції №3.

Класифікація ОС

 

Операційні системи можуть розрізнятися особливостями реалізації внутрішніх алгоритмів керування основними ресурсами комп’ютера (процесорами, пам’яттю, пристроями), особливостями використаних методів проектування, типами апаратних платформ, областями використання і багатьма іншими властивостями.

Нижче приведена класифікація ОС по декількох найбільш основних ознаках.

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

  • однозадачні (наприклад, MS-DOS, MSX) і
  • багатозадачні (OC EC, OS/2, UNIX, Windows 95).

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

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

По числу одночасно працюючих користувачів ОС поділяються на:

  • однокористувальницькі (MS-DOS, Windows 3.x, ранні версії OS/2);
  • багатокористувальні (UNIX, Windows NT).

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

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

  • що не витісняє багатозадачність (NetWare, Windows 3.x);
  • що витісняє багатозадачність (Windows NT, OS/2, UNIX).

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

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


<== попередня лекція | наступна лекція ==>
Призначення ОС | Багатопроцесорна обробка


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн