69300

Базові поняття процесів і потоків

Лекция

Информатика, кибернетика и программирование

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

Украинкский

2014-10-02

39.5 KB

14 чел.

Лекція № 4

Тема: Базові поняття процесів і потоків

План

  1.  Процеси і потоки в сучасних ОС
  2.  Моделі процесів і потоків
  3.  Складові елементи процесів і потоків

Процеси і потоки в сучасних ОС

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

Дамо попереднє означення процесу.

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

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

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

Для успішного виконання програми потрібні певні ресурси. До них належать:

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

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

Ці групи ресурсів визначають дві складові частини процесу:

♦ послідовність виконуваних команд процесора;

♦ набір адрес пам'яті (адресний простір), у якому розташовані ці команди і дані для них.

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

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

Тепер можна дати ще одне означення процесу.

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

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

На відміну від процесів потоки розпоряджаються загальною пам'яттю. Дані потоку не захищені від доступу до них інших потоків за умови, що всі вони виконуються в адресному просторі одного процесу. Це надає додаткові можливості для розробки застосувань, але ускладнює програмування.

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

Адресний простір процесу не завжди відповідає адресам оперативної пам'яті. Наприклад, у нього можуть відображатися файли або регістри контролерів введення-виведення, тому запис за певною адресою в цьому просторі призведе до запису у файл або до виконання операції введення-виведення. Таку технологію називають відображенням у пам'ять (memory mapping).

Моделі процесів і потоків

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

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

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

У системах, подібних до традиційних версій UNIX, допускається наявність багатьох процесів, але в рамках адресного простору процесу виконується тільки один потік. Це традиційна однопотокова модель процесів. Поняття потоку в даній моделі не застосовують, а використовують терміни «перемикання між процесами», «планування виконання процесів», «послідовність команд процесу» тощо (тут під процесом розуміють його єдиний потік).

У більшості сучасних ОС (таких, як лінія Windows XP, сучасні версії UNIX) може бути багато процесів, а в адресному просторі кожного процесу - багато потоків. Ці системи підтримують багатопотоковість або реалізують модель потоків. Процес у такій системі називають багатопотоковим процесом.

Надалі для позначення послідовності виконуваних команд вживатимемо термін «потік», за винятком ситуацій, коли обговорюватиметься реалізація моделі процесів.

Складові елементи процесів і потоків

До елементів процесу належать:

♦ захищений адресний простір;

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

інформація про використання ресурсів (відкриті файли, мережні з'єднання тощо);

інформація про потоки процесу. Потік містить такі  елементи:

+ стан процесора (набір поточних даних із його регістрів), зокрема лічильник поточної інструкції процесора;

+ стек потоку (ділянка пам'яті, де перебувають локальні змінні потоку й адреси повернення функцій, що викликані у його коді).

Питання для самоконтролю:

  1.  Визначення процесу, програми, потоку.
  2.  Ресурси для успішного виконання програми.
  3.  Адресний простір процесів та потоків.
  4.  Складові частини процесу.
  5.  Моделі процесів і потоків
  6.  Складові елементи процесів і потоків


 

А также другие работы, которые могут Вас заинтересовать

83758. Правовое регулирование земельного налога: общие положения, налогоплательщики, основные элементы налога, особенности местного (муниципального) законодательства 43.68 KB
  Плательщики налога Плательщиками налога признаются физические лица обладающие земельными участками признаваемыми объектом налогообложения в соответствии со ст. В отношении земельных участков используемых предназначенных для использования в предпринимательской деятельности налоговая база по налогу и исчисление суммы налога суммы авансовых платежей по налогу производится индивидуальными предпринимателями самостоятельно на основании сведений государственного кадастра недвижимости о каждом земельном участке. Ставки налога Налоговые ставки...
83759. Правовое регулирование налога на имущество физических лиц: общие положения, налогоплательщики, основные элементы налога, особенности местного (муниципального) законодательства 43.26 KB
  1991 № 20031 О налогах на имущество физических лиц далее Закон №20031. Плательщиками налога признаются физические лица собственники имущества признаваемого объектом налогообложения ст.2009 № 283ФЗ Ставки налога Ставки налога устанавливаются нормативными правовыми актами представительных органов местного самоуправления законами городов федерального значения Москвы и СанктПетербурга в зависимости от суммарной инвентаризационной стоимости объектов налогообложения.
83760. Правовое регулирование страховых взносов в государственные внебюджетные фонды: общие положения, налогоплательщики, основные элементы и особенности уплаты 40.83 KB
  В соответствии с пунктом 10 Положения о Государственном фонде занятости населения Российской Федерации утвержденного постановлением Верховного Совета Российской Федерации от 08. Статьей 22 Закона Российской Федерации от 19.91 О занятости населения в Российской Федерации в редакции Закона Российской Федерации от 15.92 N 33071 О внесении изменений и дополнений в Закон РСФСР О занятости населения в РСФСР установлено что Фонд занятости образуется за счет: обязательных страховых взносов работодателей; обязательных страховых взносов с...
83761. Налоги и сборы как источники государственных доходов. Роль налогов 44.13 KB
  Налоги и сборы неотъемлемый атрибут и органическая часть государства без них немыслима реализация задач и функций института государства. Являются финансовоэкономическим фундаментом института государства который состоит в изъятии части дохода извлекаемого из потребления факторов производства в пользу государства для формирования его централизованных финансовых ресурсов бюджета. Налог обязательный индивидуально безвозмездный платеж взимаемый с организаций и физических лиц в форме отчуждения принадлежащих им на праве собственности...
83762. Юридическое определение налога, сбора, пошлины. Их главные юридические черты 44.29 KB
  Универсального определения налога в котором были бы корректно отражены все его стороны в настоящее время не существует а различные определения налога обычно отражают либо те либо иные его особенности. Кроме того с течением времени представления о сути налога также меняются. Дать точное определение налога необходимо по ряду причин: 1 категория налог является главной для НП для финансов и ФП для экономики; 2 емкое определение понятия налог позволяет отделить его от других платежей; 3 правильная формулировка налога поможет четко...
83763. Функции налога 45.43 KB
  Сущность налогов как экономикоправовой категории их роль и общественное назначение могут быть раскрыты на основе их функций. Функции налогов выражают наиболее существенные главные черты правовых механизмов налогообложения и направлены на достижение конкретных задач стоящих перед НП. Существующие подходы к проблеме налоговых функций можно условно разделить на три группы: только фискальная функция; фискальная и регулирующая присущие высокоразвитым рыночным отношениям; многофункциональное проявление сущности налогов кроме фискальной и...
83764. Виды налогов и основания их классификации 46.97 KB
  В настоящее время система налогов и сборов Российской Федерации довольно обширна и в некоторой степени громоздка. Вместе с тем каждый налог индивидуален поскольку предполагает собственную правовую конструкцию и занимает строго определенное место не только в системе налогов и сборов но и в финансовой системе в целом. Выяснение местоположения каждого налога в финансовой системе координат способствует точному установлению механизма его введения определению уровня бюджета в который зачисляется каждый налог круга плательщиков и перечня...
83765. Налоговая система. Основы законодательства о налогах и сборах. Принципы налогообложения 48.43 KB
  Понятие НС сегодня следует отнести к дискуссионным вопросам и актуальному предмету исследования в сфере налогов.2: НС это совокупность налогов сборов пошлин и других платежей взимаемых в установленном порядке.: НС это совокупность установленных в государстве существенных условий налогообложения установленных НП и налоговым законодательством. 3 НК порядок установления и введения налогов часть 1 НК система налогов совокупность отдельных налогов обладающая организационноправовым и экономическим единством.
83766. Элементы юридического состава налога. Основные и факультативные. Понятие и их правовое значение 43.59 KB
  Обязанность плательщика по уплате налога устанавливается совокупностью элементов юридического состава налога. Элементы налога это внутренние исходные функциональные единицы которые в своей совокупности составляют юридическую конструкцию налога и придают им их универсальность. Обязательные существенные элементы юридического состава налога это элементы без которых налоговое обязательство и порядок его исполнения не могут считаться определенными.