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

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

Стану процесу

Стану процесу - Конспект, раздел Образование, Операційні системи Будь-Який Процес У Багатозадачного Ос Багаторазово Відчуває Перехід З Одного ...

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

Основних станів всього три.

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

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

· Блокування або, що те ж саме, сон (sleeping, waiting) - стан, в якому процес не може продовжувати виконання, поки не відбудеться деяке зовнішнє по відношенню до процесу подія.

Перші два стани часто об'єднують поняттям активного стану процесу.

Для станів готовності і сну спільне те, що процес не працює. У чому різниця між цими двома «способами не працювати»?

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

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

Чого він може чекати? Ну, наприклад:

· Завершення розпочатої операції синхронного вводу / виводу (тобто, наприклад, процес чекає натискання клавіші Enter або закінчення запису на диск);

· Звільнення запитаного у системи ресурсу (наприклад, додаткової області пам'яті або відкритого файлу);

· Закінчення заданого інтервалу часу («посплю-но я хвилин десять!») Або досягнення заданого моменту часу («розбудіть мене рівно опівночі!») (В обох випадках процес чекає сигналу від запрограмованого таймера);

· Сигналу на продовження дій від іншого, взаємопов'язаного процесу;

· Повідомлення від системи про необхідність виконати певні дії (наприклад, перемалювати вміст вікна).

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

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

Зрозуміло, як ми бачили в п. 2.5, процес може виконувати очікування шляхом циклічної перевірки очікуваного умови. При цьому він формально залишатиметься активним, розтрачуючи дорогоцінний процесорний час на те, що в п. 2.5.2 було названо активним очікуванням. Однак таке рішення буде говорити лише про кричущу некваліфікованості програміста. Будь багатозадачна ОС надає в розпорядження прикладних програм набір функцій, що переводять викликав їх процес в стан сну, в якому процес не намагається використовувати процесорний час (іншими словами, стан сну є стан пасивного очікування). Такі системні функції називаються блокуючими. До їх числа відносяться функції синхронного вводу / виводу, запиту ресурсів, призупинення до заданого часу, отримання повідомлень і багато інших.

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

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

На рис. 4-1 показані основні стани процесу і переходи між ними. Цей малюнок кочує з книги в книгу, оскільки він дійсно наочно відображає саму суть роботи багатозадачних систем.

 

Рис. 1‑16

 

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

Перехід Робота à Сон являє собою блокування процесу, яка може відбутися при виклику блокуючої системної функції.

Перехід Сон à Готовність - це пробудження процесу, воно виконується системою при виникненні відповідної умови.

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

Для зворотного переходу Готовність à Робота немає загальноприйнятого терміну. Будемо називати його вибором процесу для виконання. Відзначимо, що цей перехід майже завжди пов'язаний або з блокуванням, або з витісненням колишнього поточного процесу.

Відповісти самі на питання: чому «майже завжди», а не «завжди»? Які ще можливі варіанти?

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

Яких саме?

Перехід від готовності до сну неможливий в принципі.

До речі, чому?

Крім трьох основних станів, в різних ОС можуть використовуватися й інші стани.

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

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

Стан призупинення (suspended) означає, що виконання процесу тимчасово перервано оператором (або, може бути, іншим процесом) і пізніше має бути їм же відновлено.

У деяких системах (наприклад, в 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 /, «послідовний процес (іноді званий« завдання ») є робота, вироблена послідовним процесором при виконанні програми з її даними». Проаналізуємо це визначенн

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

Невитісняючаі витісняюча багатозадачність
Всі багатозадачні ОС можна розділити на два класи, що розрізняються за способами організації перемикання процесів. У системах з невитесняющей диспетчеризацією (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 істотно відрізняється від аналогічного поняття в інших популярних ОС. Якщо в MS-DOS, Windows і інших системах новий процес створюється тільки при запуску програми, то в UNIX

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

Програмні канали
Одним з «фірмових» винаходів 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
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги