рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Життєвий цикл процесу

Життєвий цикл процесу - Конспект, раздел Образование, Операційні системи Поняття Процесу В Unix Істотно Відрізняється Від Аналогічного Поняття В Інших...

Поняття процесу в UNIX істотно відрізняється від аналогічного поняття в інших популярних ОС. Якщо в MS-DOS, Windows і інших системах новий процес створюється тільки при запуску програми, то в UNIX створення процесу і запуск програми - це два абсолютно різних дії. При цьому процес в деякому роді «більш первинний», ніж програма. Якщо за стандартним визначенням (див. п. 4.2.1) процес є робота по виконанню програми, то в UNIX буде більш доречно сказати, що програма - це один з ресурсів, що використовуються процесом.

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

повертає значення 0. Перевірка повернутого значення - найпростіший спосіб для процесу визначити, «хто він такий» - батько або нащадок.

Типовий фрагмент програми на C може виглядати приблизно так:

 

pid = fork (); / / Створення нового процесу

if (pid == -1) / / Процес не створений

{Обробка помилки створення процесу}

else if (pid == 0) / / Це породжений процес

{Оператори, що виконуються процесом-нащадком}

else / / Це процес-батько

{Оператори, що виконуються процесом-батьком}

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

Механізм створення нових процесів один і той же як для процесів користувача, так і для системних процесів. Єдиним винятком є ​​найперший процес, що має ідентифікатор 0. Він породжує Друга системна процес, який називається INIT і має ідентифікатор 1. Всі інші процеси в системі є нащадками INIT.

Для нормального завершення процесу використовується функція exit (status). Ціле число status означає код завершення, заданий програмістом, при цьому значення 0 означає успішне завершення, а ненульові значення - різного роду помилки та нестандартні випадки.

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

pid = wait (& status);

Ця блокуюча функція переводить викликає процес в очікування до моменту завершення будь-якого з нащадків, породжених цим процесів. Так працює, наприклад, інтерпретатор команд UNIX, який запускає команду, введену з консолі, і очікує її завершення. Функція wait повертає pid завершився нащадка, а в змінній status передає код завершення.

Якщо процес-нащадок завершує своє виконання до того, як батько викликав функцію wait, то завершився процес переходить у стан, який прийнято називати «зомбі». Фактично від процесу залишається лише запис у таблиці процесів, що містить код завершення і інформацію про витрачений процесорному часу. Всі ресурси, які займалися процесом, звільняються. Якщо надалі батько все ж викличе wait, то після передачі коду завершення «зомбі» буде викреслено з таблиці, на чому і закінчується життєвий цикл процесу.

Можлива також ситуація, коли процес-батько завершується до того, як буде завершено його нащадок. Оскільки процес не повинен залишатися без батька, «сирота» буде «усиновлена» системним процесом INIT.

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

– Конец работы –

Эта тема принадлежит разделу:

Операційні системи

Конспект лекцій... Введення Предмет і завдання курсу У першому наближенні ОС можна...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Життєвий цикл процесу

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

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

Передісторія ОС
Незабаром після того, як в кінці 40-х років XX століття були створені перші електронні комп'ютери, дуже гостро постала проблема підвищення ефективності використання обладнання, і перш за все центра

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

ОС з поділом часу
На межі 60-70 рр.. Найпоширенішим і не дуже дорогим периферійним пристроєм стають монітори (спочатку монохромні і працюють тільки в текстовому режимі). При цьому процесор і ОЗУ залишаються найдорож

Однозадачні ОС для ПЕОМ
У середині 70-х років був винайдений мікропроцесор, а до початку 80-х мікропроцесори стали наздоганяти по функціональних характеристиках раніше використалися «великі» процесори. Ця ситуація зробила

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

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

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

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

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

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

Масштабованість
Досить дивний термін «масштабованість» (scalability) означає можливість налаштування системи для використання в різних варіантах, в залежності від потужності обчислювальної системи, від набору конк

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

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

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

Windows
Система Windows була спочатку розроблена фірмою Microsoft як графічна оболонка, завантажувана поверх MS-DOS. Ідеї ​​GUI (Graphic User Interface - графічний інтерфейс користувача) були в

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

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

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

Архітектура підсистеми вводу / виводу
З програмної точки зору, пристрій (або його контролер) зазвичай представлена ​​однією або кількома регістрами. Регістр пристрої - це адресується машинне слово, використовуване для обмін

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

Активне і пасивне очікування
Поговоримо докладніше про один важливий розходженні між способами введення / виводу за опитуванням готовності і по перериваннях. Основною особливістю введення / виводу за опитуванням готов

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

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

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

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

Узгодження розмірів логічної та фізичної записи
Логічної записом називають порцію даних, зазначену в операторі вводу / виводу. Розмір логічної запису визначається логікою роботи програми або, наприклад, логічною структурою бази даних. П

Редагування при інтерактивному введенні
Дещо осібно від інших форм буферизації стоїть використання буфера рядка при введенні з клавіатури. Для користувача звично, що в процесі введення числових або строкових значень він може лег

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

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

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

Рівні доступу до пристроїв
Система MS-DOS надає користувачеві можливості доступу до пристроїв на декількох рівнях, що відрізняються ступенем близькості до апаратури. Нижні рівні дозволяють більш повно використовувати тонкі о

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

Управління символьними пристроями
Роботу MS-DOS з символьними пристроями цікавіше за все розглянути на прикладі клавіатури. Шлях, який проходять при цьому дані, що вводяться, схематично показаний на рис. 2-6.  

Структура диска
Основним видом блокових пристроїв є магнітні та інші диски, тому почнемо з розгляду структури диска (рис. 2-7).   Рис. 1‑7     Пове

Розділи і логічні томи
Загальна структура дискет і жорстких дисків різняться між собою. Ці структури показані на рис. 2-9.   Рис. 1‑9   Початковий сектор дискети (рис.

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

Драйвери пристроїв в Windows
Оскільки Windows - багатозадачна система, вона виключає для прикладних програм такі вольності, як пряме звернення до портів введення / виводу або обробка апаратних переривань. Взаємодія з апаратуро

Доступ до пристроїв
У більшості випадків програми не працюють безпосередньо з пристроями. Замість цього для виконання необхідних операцій використовуються API-функції більш високого рівня, а звернення до пристроїв вик

Драйвери пристроїв в UNIX
Драйвери в ОС UNIX досить точно відповідають стандартній схемі драйвера, наведеною в п. 2.7. Тим не менше, зважаючи істотних відмінностей у роботі з символьними і з блоковими пристроями, в UNIX роз

Пристрій як спеціальний файл
Цікавою особливістю UNIX є те, що для роботи з периферійними пристроями прикладні програми можуть і повинні використовувати ті ж засоби, що для роботи з файлами. Взагалі, пристрої в UNIX представле

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

Характеристики файлів та архітектура файлових систем
З кожним файлом пов'язаний набір атрибутів (характеристик), тобто набір відомостей про файл. Склад атрибутів може сильно відрізнятися для різних файлових систем. Наведемо приблизний список можливих

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

Захист даних
У багатокористувацьких ОС першорядне значення набуває завдання захисту даних користувача від випадкового або навмисного доступу з боку інших користувачів. Питання захисту даних та стандартизації ви

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

Загальна характеристика системи FAT
Система FAT була розроблена для ОС MS-DOS. Це проста файлова система з сегментованим розміщенням, без багатокористувацької захисту. Структура каталогів - деревоподібна, причому на кожному дисковому

Структури даних на диску
Під час форматування дискети або розділу жорсткого диска в системі FAT все дисковий простір розбивається на наступні області, показані на рис. 3-2.   Рис. 1‑11

Системні функції
Для роботи з файлами і каталогами системи FAT в MS-DOS передбачений досить багатий набір функцій. Всі вони викликаються за допомогою команди програмного переривання int 21h, а конкретна функція виз

Доступ до даних
У MS-DOS існує два різних набору функцій, що дозволяють працювати з даними файлів. Один з них, заснований на використанні блоку управління файлом (FCB), навряд чи кимось використовувався в останні

Доступ до даних
У MS-DOS існує два різних набору функцій, що дозволяють працювати з даними файлів. Один з них, заснований на використанні блоку управління файлом (FCB), навряд чи кимось використовувався в останні

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

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

Монтовані томи
В UNIX немає поняття «буква диска», подібно буквах A:, C: і т.д., використовуваним в MS-DOS і в Windows. У системі може бути декілька дискових томів, але, перш ніж отримати доступ до файлової систе

Типи і атрибути файлів
Для кожного файлу в UNIX зберігається його тип, який при видачі каталогу позначається одним із таких символів: - Звичайний файл, тобто файл, що містить дані; d - каталог;

Управління доступом
Для кожного файлу (в тому числі каталогу, спеціального файлу) визначені такі поняття, як власник (один з користувачів системи) і група-власник. Їх числові ідентифікатори (звані, відповідно, UID і G

Структури даних файлової системи UNIX
Дисковий тім UNIX складається з наступних основних областей, показаних (не в масштабі) на рис. 3-5:   Рис. 1‑14   · Блок початкового завантаження

Доступ до даних в UNIX
UNIX надає в розпорядження прикладних програм набір системних викликів, що дозволяють виконувати основні операції з файлами та каталогами в цілому (створення, видалення, пошук, зміна власника і пра

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

Особливості файлової системи NTFS
Файлова система NTFS була розроблена спеціально для використання в ОС Windows NT як заміна для застарілої системи FAT. NTFS є основною системою і для нових версій - Windows 2000/XP. Систем

Атрибути файлу
Кожен запис MFT містить набір атрибутів, який може відрізнятися для різних файлів і каталогів. Атрибут в NTFS складається з заголовка і значення, а заголовок, в свою чергу, містить тип атр

Доступ до даних
Windows надає прикладним програмам API-функцію CreateFile, яка може використовуватися як для створення нового файлу, так і для відкриття існуючого. У будь-якому випадку ця функція створює в системн

Захист даних
Засоби безпеки в Windows NT/2000/XP являють собою окрему підсистему, яка забезпечує захист не тільки файлів, але і інших типів системних об'єктів. Файли і каталоги NTFS являють собою найбільш типов

Аутентифікація користувача
Важливим елементом будь-якої системи захисту даних є процедура входу в систему, при якій виконується аутентифікація користувача. У Windows NT для виклику діалогу входу в систему використовується ві

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

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

Поняття процесу і ресурсу
Згідно визначенню, даному в / 7 /, «послідовний процес (іноді званий« завдання ») є робота, вироблена послідовним процесором при виконанні програми з її даними». Проаналізуємо це визначенн

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

Стану процесу
Будь-який процес у багатозадачного ОС багаторазово відчуває перехід з одного стану в інший. Основних станів всього три. · Робота (running) - в цьому стані знаходиться процес, прог

Невитісняючаі витісняюча багатозадачність
Всі багатозадачні ОС можна розділити на два класи, що розрізняються за способами організації перемикання процесів. У системах з невитесняющей диспетчеризацією (non-preemptive multitasking)

Дескриптор і контекст процесу
З кожним процесом пов'язані описують його дані в основній пам'яті, необхідні ОС для підтримки виконання процесу. Всі ці дані можна розбити на дві великі структури: дескриптор процесу і контекст про

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

Дисципліни диспетчеризації та пріоритети процесів
Коли планувальник процесів отримує управління, його основним завданням є вибір наступного процесу, який повинен отримати управління. Алгоритми, що лежать в основі цього вибору, визначають дисциплін

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

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

Двійкові семафори Дейкстри
Зовсім іншим чином підійшов до проблеми взаємного виключення великий голландський учений Е.Дейкстра (E.Dijkstra, 1966). Він запропонував використати новий вид програмних об'єктів – семафор

Цілочисельні семафори
У згаданій роботі Дейкстри, крім двійкових семафорів, що приймають значення 0 і 1, було розглянуто також більш загальний тип семафорів зі значеннями на інтервалі від 0 до деякого N. Функція P (S) з

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

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

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

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

Програмні канали
Інша часто використовуваний засіб обміну даними - програмний канал (pipe; іноді перекладається як «трубопровід»). У цьому випадку для виконання обміну використовуються не команди читання / запису в

Проблема тупиків
Згідно з визначенням з / 7 /, тупик - це стан, в якому «деякі процеси заблоковані в результаті таких запитів на ресурси, які ніколи не можуть бути задоволені, якщо не будуть вжиті надзвичайні систе

Процеси в MS-DOS
Як говорилося вище, управління процесами в однозадачних ОС, до яких відноситься MS-DOS, є порівняно тривіальної завданням. Завантаження ОС завершується запуском програми командного інтерпр

Середа програми
Середа програми (environment; інший переклад - «оточення») являє собою текстовий масив, що складається з рядків виду: "Змінна = значення", 0 Тут змінна і значення - будь

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

Завершення роботи програми
Завершення програми зазвичай включає в себе наступні дії системи: · Закриваються всі файли, відкриті програмою. · Звільняються всі блоки пам'яті, відведені для програми і її серед

Перехоплення переривань і резидентні програми
Велика частина всіх функціональних можливостей MS-DOS полягає в обробці різноманітних апаратних і особливо програмних переривань. Зокрема, звернення до численних системних функцій MS-DOS виконуєтьс

Управління процесами в Windows
На відміну від «полуторазадачной» MS-DOS, яка залишає прикладному програмісту всю роботу (і весь ризик) організації паралельного функціонування процесів, багатозадачні ОС надають програмісту більш-

Управління процесами в Windows
На відміну від «полуторазадачной» MS-DOS, яка залишає прикладному програмісту всю роботу (і весь ризик) організації паралельного функціонування процесів, багатозадачні ОС надають програмісту більш-

Процеси і нитки
Загальне поняття процесу, розглянуте вище в п. 4.2.1, для ОС Windows як би розпадається на два поняття: власне процесу та нитки (thread; в деяких книгах використовується термін потік). При цьому ни

Планувальник Windows
Завданням планувальника є вибір чергової нитки для виконання. Планувальник викликається в трьох випадках: · Якщо закінчується квант часу, виділений поточної нитки; · Якщо поточна

Планувальник Windows
Завданням планувальника є вибір чергової нитки для виконання. Планувальник викликається в трьох випадках: · Якщо закінчується квант часу, виділений поточної нитки; · Якщо поточна

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

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

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

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

Повідомлення
Величезну роль в організації роботи прикладних програм і самої системи Windows грають повідомлення (messages). На обробці повідомлень, що посилаються системою, заснована вся робота з графічним інте

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

Програмні канали
Одним з «фірмових» винаходів UNIX, згодом запозичених іншими ОС, є поняття програмного каналу або «трубопроводу» (pipe), що дозволяє виконувати обмін даними між процесами за допомогою тих же систем

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

Засоби взаємодії процесів в стандарті POSIX
Десятиліття успішного використання UNIX виявили, тим не менше, ряд недоліків у вихідній архітектурі цієї системи. Одним з найпомітніших прогалин була явна слабкість механізму синхронізації процесів

Стану процесів в UNIX
UNIX є багатозадачного системою з витісняючої пріоритетною диспетчеризацією. Діаграма основних станів процесу, показана на рис. 4-1, в разі UNIX може бути уточнена так, як показано на рис.

Пріоритети процесів
У більшості версій UNIX використовуються рівні пріоритету від 0 до 127. Будемо для визначеності вважати, що 0 відповідає вищому пріоритету, хоча в деяких версіях справа йде навпаки. Весь д

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

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

Віртуальні й фізичні адреси
Поняття «адреса пам'яті» може розглядатися з двох точок зору. З одного боку, при написанні будь-якої програми її автор або явно вказує, по яких адресах повинні розміщуватися змінні і команди (так б

Настроювання адрес
Якщо в програмі використовуються значення фізичних адрес, то правильність її роботи залежить від того, за якими адресами завантажена в пам'ять сама програма. Це особливо очевидно для команд переход

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

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

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

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

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

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

Структура адресного простору
Прийнято вважати, що кожен процес, запущений в Windows, отримує в своє розпорядження віртуальний адресний простір розміром 4 Гб. Це число визначається розрядністю адрес в командах: 232 байт = 4 Гб.

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

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

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

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

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

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги