Алгоритм роботи бібліотечних функцій malloc

Поняття файлу та файлової системи. Що таке каталог?

Джерело: с. 632 (гл. 11)

Визначення завдання реального часу

Взагалі поняття реального часу - це коли гарантується максимальний час реакції. Завдання реального часу - завдання вимагає таких гарантій (?)

Джерело: с. 36 (Введення)

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

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

Алгоритм роботи бібліотечних функцій malloc / free мови C

«Блоки меншого розміру об'єднуються в черзі з розмірами, пропорційними ступенями двійки, як в описаному далі [стор. 247] алгоритмі близнюків. Елементи цих черг називаються фрагментами. На відміну від алгоритму близнюків, ми не об'єднуємо при звільненні парні фрагменти. Замість цього ми розбиваємо наш 4-кБ блок на фрагменти однакового розміру. Поки хоча б один фрагмент блоку зайнятий, весь блок вважається зайнятим »

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

Також починаючи з с.233 є чудовий 14-сторінковий лістинг :)

Джерело: с. 231-232 (розділ 4.2)

Що таке системний і призначений для користувача режими процесора?

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

Що таке транзакція?

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

Джерело: с. 379 (розділ 7.1)

(Більш радикальне визначення, характерне для СУБД) Група операцій, які або виконуються всі разом, або не виконуються зовсім.

Джерело: с. 401 (як обов'язковий, але не пронумерований п. 7.3.4. «Введення в обробку транзакцій»)

Що таке семафори Дейкстри?

«Семафор Дейкстри є целочисленную змінну, з якої асоційована чергу очікують ниток. Намагаючись пройти через семафор, нитка намагається відняти від значення змінної 1. Якщо значення змінної> = 1, нитка проходить крізь семафор успішно (семафор відкритий). Якщо змінна дорівнює 0 (семафор закритий), нитка зупиняється і ставиться в чергу.

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

Джерело: с. 394 (п. 7.3.1)

Що таке мертва блокування?

(Dead Lock) Цикл взаємного очікування. «Критерій блокування - створення замкнутого циклу в графі очікують один одного завдань.»

Джерело: с. 386 (п. 7.2.1)

Що таке контекст процесу?

Джерело: с. 438 (розділ 8.2)

Що таке гармонійно взаємодіють послідовні процеси?

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

2. Нитки не мають поділюваних даних.

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

4. Синхронізація, що не супроводжується передачею даних, просто позбавлена ​​сенсу - нитки, що не мають поділюваних структур даних, абсолютно незалежні і не мають ні критичних точок, ні нереентерабельних модулів. »

NB: Третя вимога є ключовим.

Джерело: с. 405 (розділ 7.4)

Що таке селектор сторінки (сегмента) в сегментних і сторінкових диспетчерів пам'яті?

Джерело: с. 282, рис. 5.1 (гл. 5)

Що таке дескриптор сторінки (сегмента) в сегментних і сторінкових диспетчерів пам'яті?

Джерело: с. 283 (гл. 5)

Що таке абсолютний і відносний завантажувачі?

Джерело: с. 160 (розділ 3.1)

Джерело: с. 162-163 (розділ 3.3)

Що є елементом таблиці переміщень у відносному (переміщуваний) завантажувальному модулі?

Джерело: с. 165 (розділ 3.3)

Що таке позиційно-незалежний код?

Джерело: с. 168 (розділ 3.5)

Що таке реєнтерабельним програма?

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

Джерело: с. 379-380 (розділ 7.1)

Що таке критична секція?

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

Джерело: с. 378-379 (розділ 7.1)

Кільця доступу і списки контролю доступу.

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

Джерело: с. 772-773 (розділ 13.4)

(?) Кільця захисту - архітектура інформаційної безпеки і функціональної відмовостійкості, що реалізує апаратне поділ системного і користувальницького рівнів привілеїв. Структуру привілеїв можна зобразити у вигляді декількох концентричних кіл. В цьому випадку системний режим (режим супервізора або нульове кільце, т.зв. "кільце 0"), що забезпечує максимальний доступ до ресурсів, є внутрішнім світом, тоді як режим користувача з обмеженим доступом - зовнішнім. Традиційно сімейство мікропроцесорів x86 забезпечує чотири кільця захисту.

Кооперативні багатозадачні системи і витісняє (preemptive) багатозадачність.

Кооперативна багатозадачність - планувальник заснований на принципі перемикання з ініціативи активної нитки.

Джерело: с. 435 (розділ 8.1)

Витісняє багатозадачність - загальна назва для всіх методів перемикання ниток за ініціативою системи.

Джерело: с. 437 (розділ 8.2)

Схожі документи:

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

2. бібліотечний library program бібліотечна програма. плата) MLIC (. алгорітмаработи. язикfree language; текст на неврегульованих язикеfree. функції functional call; таблиця функції functional table; шаблони функції functional templates функція.

функцііmalloc. calloc, realloc.Переполненіе в сегменті bcc. Організація купи. Алгорітмфункцііfree. система управління роботою користувачів, командні мови. Транслятори. ОС. комп'ютерних системах, мережах, в бібліотечних фондах і в інших джерелах.

Z D). Z E). Z 24. Знайдіть область визначення функції. А) (0; + ) У) [0; + ) C) (-; 0) D) (- ;. може виконати всю роботу кожна бригада, працюючи окремо? A). мовою. 36. Яка властивість алгоритму. milk. Fit. E) Fera. 4.Виберіть правильний. Бібліотечні.

Схожі статті