Студопедия — Теоретична частина. Питання №19. Механізми синхронізації процесів (потоків), що використовуються в ОС Linux: перерахувати
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Теоретична частина. Питання №19. Механізми синхронізації процесів (потоків), що використовуються в ОС Linux: перерахувати






Питання №19. Механізми синхронізації процесів (потоків), що використовуються в ОС Linux: перерахувати, вказати загальний принцип роботи, переваги та недоліки.

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

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

Кожен запущений процес в ОС Linux може породити додаткові процеси. Процес, що запустив новий процес називається продительским процесом. Новий процес по відношенню до створив його процесу називається дочірнім.

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

Кожен процес ОС Linux характеризується набором атрибутів, який відрізняє даний процес від всіх інших процесів. пК таких атрибутів відносяться:


* Ідентифікатор процесу (PID). Кожен процес в системі має унікальний ідентифікатор. Кожен новий запущений процес отримує номер на одиницю більше ппредыдущего.

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

* Реальний і ефективний ідентифікатори користувача (UID,EUID) і групи (GID, EGID). Дані атрибути процесу говорять про його приналежність до конкретного користувачеві і групі. Реальні ідентифікатори збігаються з ідентифікаторами користувача, який запустив процес, і групи, до якої він належить. Ефективні - від чийого імені був запущений процес. Права доступу
Изм.
Лист
№ докум.
Подпись
Дата
Лист
 
Курсова робота 201-ТК
процесу до ресурсів ОС Linux ефективними ідентифікаторами. Якщо на виконуваному файлі програми встановлено спеціальний біт SGID або SUID, то процес даної програми буде володіти правами доступу власника виконуваного файлу.
Для управління процесом (наприклад, kill) використовуються реальні ідентифікатори. Всі ідентифікатори передаються від батьківського до дочірнього процесу.
Для перегляду даних атрибутів можна скористатися командою ps, задавши бажаний формат відображення колонок.

* Пріоритет або динамічний пріоритет (priority) і відносний або статичний (nice) пріоритет процесу.
Статичний пріоритет або nice-пріоритет лежить в діапазоні від -20 до 19, типово використовується значення 0. Значення -20 відповідає найбільш високого пріоритету, nice-пріоритет не змінюється планувальником, він успадковується від батьків або його вказує автор. Динамічний пріоритет використовується планувальником для планування виконання процесів. Цей пріоритет зберігається в полі prio структури task_struct процесу. Динамічний пріоритет обчислюється виходячи зі значення параметра пісе для даної задачі шляхом обчислення надбавки або штрафу, залежно від інтерактивності завдання. Користувач має можливість змінювати тільки статичний пріоритет процесу. При цьому підвищувати пріоритет може тільки root. В ОС Linux існують дві команди управління пріоритетом процесів: nice і renice.

* Стан процесу. В ОС Linux кожен процес обов'язково знаходиться в одному з перерахованих нижче станів і може бути переведений з одного стану в інше системою або командами користувача. Розрізняють наступне стану процесів:

TASK_RUNNING - процес готовий до виконання або виконується (runnable). Позначається символом R.

TASK_INTERRUPTIBLE - чекаючий процес (sleeping). Цей стан означає, що процес ініціалізував виконання
якої системної операції і чекає її завершення. До таких операцій відносяться введення/висновок, завершення дочірнього процесу
пі т.д. Процеси з таким станом позначаються символом S.

TASK_STOPPED - виконання процесу зупинено (stopping). Будь-який процес можна зупинити. Це може робити як система,
ptak і користувач. Стан такого процесу позначається символом Т.

TASK_ZOMBIE - завершився процес (zombie). Процеси даного стану виникають у разі, коли батьківський процес
не чекаючи завершення дочірнього процесу, продовжує паралельно
Изм.
Лист
№ докум.
Подпись
Дата
Лист
 
Курсова робота 201-ТК
працювати. Процеси з таким станом позначаються символом Z.
пЗавершившиеся процеси більше не виконуються системою, але далі продовжують споживати її не обчислювальні ресурси.

TASK_UNINTERRUPTIBLE -неперерваний процес (uninterruptible). Процеси в цьому стані очікують завершення операції
введення - виведення з прямим доступом в пам'ять. Такий процес не можна завершити, поки не завершиться операція введення/виводу.
Процеси з таким станом позначаються символом D. Стан аналогічно TASK_INTERRUPTIBLE, за винятком того, що процес
не відновлює виконання при отриманні сигналу. Використовується у випадку, коли процес повинен чекати безперервно або
коли очікується, що певна подія може виникати досить часто. Так як завдання в цьому стані не відповідає
пна сигнали, TASK_UNINTERRUPTIBLE використовується менш часто, ніж TASK_INTERRUPTIBLE.

Типи процесів в Linux процеси поділяються на три типи:

  • Системні процеси - є частиною ядра і завжди розташовані в оперативній пам'яті. Системні процеси не мають псоответствующих їм програм у вигляді виконуваних файлів і запускаються при ініціалізації ядра системи. Виконувані інструкції і дані пэтих процесів знаходяться в ядрі системи, таким чином, вони можуть викликати функції і звертатися до даних, недоступним для інших ппроцессов. Системними процесами, наприклад, є: shed (диспетчер підкачки), vhand (диспетчер сторінкового заміщення), kmadaemon (диспетчер пам'яті ядра).
  • Демони - це неінтерактівние процеси, які запускаються звичайним способом - шляхом завантаження в пам'ять відповідних їм ппрограмм (виконуваних файлів), і виконуються у фоновому режимі. Зазвичай демони запускаються при ініціалізації системи (але після ініціалізації ядра) та забезпечують роботу різних підсистем: системи термінального доступу, системи друку, з пистемы мережевого доступу і мережевих послуг, поштовий сервер dhcp сервер і т. п. Демони не пов'язані ні з одним користувача псеансом роботи і не можуть безпосередньо управлятися користувачем. Більшу частину часу демони чекають поки той пили інший процес запросить певну послугу, наприклад, доступ до файлового архіву або друк документа.
  • Прикладні (користувача) процеси. пК прикладних процесів відносяться всі інші процеси, запущені в системі. Як правило, це процеси, породжені в рамках користувальницького сеансу роботи.
    Изм.
    Лист
    № докум.
    Подпись
    Дата
    Лист
     
    Курсова робота 201-ТК
    Наприклад, команда ls породить відповідний процес цього типу. Найважливішим прикладним процесом є командний інтерпретатор (shell), який забезпечує вашу роботу в LINUX. Він запускається відразу ж після реєстрації в системі. пПрикладные процеси linux можуть виконуватися як в інтерактивному, так і у фоновому режимі, але в будь-якому випадку час їх життя (і виконання) обмежено сеансом роботи користувача. При виході з системи всі прикладні процеси будуть знищені.






Дата добавления: 2015-09-04; просмотров: 612. Нарушение авторских прав; Мы поможем в написании вашей работы!



Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Психолого-педагогическая характеристика студенческой группы   Характеристика группы составляется по 407 группе очного отделения зооинженерного факультета, бакалавриата по направлению «Биология» РГАУ-МСХА имени К...

Общая и профессиональная культура педагога: сущность, специфика, взаимосвязь Педагогическая культура- часть общечеловеческих культуры, в которой запечатлил духовные и материальные ценности образования и воспитания, осуществляя образовательно-воспитательный процесс...

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

Основные структурные физиотерапевтические подразделения Физиотерапевтическое подразделение является одним из структурных подразделений лечебно-профилактического учреждения, которое предназначено для оказания физиотерапевтической помощи...

Почему важны муниципальные выборы? Туристическая фирма оставляет за собой право, в случае причин непреодолимого характера, вносить некоторые изменения в программу тура без уменьшения общего объема и качества услуг, в том числе предоставлять замену отеля на равнозначный...

Тема 2: Анатомо-топографическое строение полостей зубов верхней и нижней челюстей. Полость зуба — это сложная система разветвлений, имеющая разнообразную конфигурацию...

Studopedia.info - Студопедия - 2014-2024 год . (0.008 сек.) русская версия | украинская версия