Предметний покажчик

А Application Programing Interface,  API, 96 E Exception, 99 110 G gec, 40 анотація розгалужень, 41 вбудований асемблер, 41 функції з підстановкою тіла, 40 Granularity,  174 L

BLK: Велика блокування ядра

Добрий про просимо до рудому пасинку ядра Велика блокування ядра (Big Kernel Lock, BKL) – це глобальна спін-блокування, яка була створена спеціально для того, щоб полегшити перехід від первісної реалізації SMP n операційній системі Linux до дрібноструктурні блокувань Блокування BKL має наступні цікаві властивості

Який спосіб виділення пам’яті необхідно використовувати

Якщо необхідні суміжні сторінки фізичної памяті, то потрібно використовувати один з низькорівневих інтерфейсів виділення памяті, або функцію kmalloc () Це стандартний спосіб виділення памяті в ядрі, і, швидше за все, в більшості випадків слід використовувати саме його Необхідно згадати, що два найбільш часто зустрічаються прапора, які передаються цієї функції, це прапори GFP_ATOMIC і GFP_KERNEL Для […]

Конфігураційні параметри налагодження ядра

Існує кілька конфігураційних параметрів, які допомагають у налагодженні і тестуванні коду ядра і які включаються під премія компіляції Ці параметри доступні в пункті Kernel hacking меню редактора конфігурації ядра Всі ці параметри залежать від параметра CONFIG_DEBUG_KERNEL Для розробки коду ядра слід включати тільки ті параметри, які необхідні

Абсолютна час

Поточне значення абсолютного часу (time of day, wall time, час дня) визначено у файлі kernel / timer з наступним чином struct timespec xtime Структура даних timespe c визначена у файлі в наступному вигляді struct timespec {

Спін-блокування читання-запису

Іноді у відповідності з метою использовани я блокувань їх можпо розділити два типи – блокування читання (reader lock) і блокування запису (writer lock) Розглянемо деякий список, який може оновлюватися і в якому може виконуватися пошук Коли список оновлюється (в нього здійснюється запис), ніякий інший код не може паралельно здійснювати записабо читання цього списку Запис означає […]

Подальший опис ТРЬОХ ПРОБЛЕМ ОРГАНІЗАЦІЇ паралельної роботи

Тепер ми маємо можливість розглянути, яким чином за допомогою суворого протоколу двофазної блокування вирішуються три проблеми, описані в розділі 162 У цьому розділі вони знову розглядаються по черзі Проблема втраченого поновлення Рис 166 являє собою модифіковану версію рис 161 На ньому показано, що відбудеться при виконанні чергуються операцій даного малюнка в умовах застосування суворого протоколу […]

Алгоритм планування – ЧАСТИНА 3

Функція effective_pri o () повертає значення динамічного пріоритету завдання Ця функція виходить із значення параметра пicе для даної задачі і обчислює для цього значення надбавку або штраф у діапазоні від -5 до +5, в залежності від інтерактивності завдання Наприклад, завдання з високою інтерактивністю, яке має значення параметра nice, рівне 10, може мати динамічний пріоритет, рівний […]

Oracle_trace – краще вбудоване засіб діагностики, Інші СУБД, Бази даних, статті

В сервер Oracle вбудовано безліч діагностичного коду. Частина його, наприклад, sql_trace, Добре описана в документації, а частина, наприклад, подання x$trace, Не документована зовсім. Я люблю періодично присвячувати деякий час повторного аналізу такого коду, щоб дізнатися, наскільки розширені його можливості, чи отримали вони офіційне визнання і описані Чи в документації. Нещодавно, працюючи з сервером Oracle 9i, […]

Internet Explorer: як збільшити час очікування відповіді від сервера, Різне, Інтернет-технології, статті

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