Запитання з тегом «operating-systems»

Питання про принципи програмного забезпечення, що взаємодіє між апаратним забезпеченням та додатками.

2
Що відбувається із вмістом кеша в контекстному комутаторі?
Що в багатоядерному процесорі, що відбувається з вмістом кешу ядра (скажімо L1), коли в цьому кеші відбувається контекстний комутатор? Чи поведінка залежить від архітектури чи це загальна поведінка, яку дотримуються всі виробники чіпів?

2
Яка різниця між потоками на рівні користувача та потоками на рівні ядра?
Прочитавши кілька джерел, я все ще плутаюсь щодо потоків на рівні користувача та ядра. Зокрема: Нитки можуть існувати як на рівні користувача, так і на рівні ядра Яка різниця між рівнем користувача та рівнем ядра?

7
Чи вводить операційна система власний машинний код під час відкриття програми?
Я вивчаю процесори і знаю, як він читає програму з пам'яті та виконує її вказівки. Я також розумію, що ОС розділяє програми в процесах, а потім чергує їх між собою так швидко, що ви думаєте, що вони працюють одночасно, але насправді кожна програма працює окремо в процесорі. Але якщо ОС …

6
Створення комбінацій із набору пар без повторення елементів
У мене є набір пар. Кожна пара має вигляд (x, y) такий, що x, y належать цілим числам з діапазону [0,n). Отже, якщо n дорівнює 4, то у мене є такі пари: (0,1) (0,2) (0,3) (1,2) (1,3) (2,3) У мене вже є пари. Тепер я повинен побудувати комбінацію за допомогою …

7
Які приклади неузгодженості та неповноти в Unix / C?
У відомому нарисі Річарда Габріеля «Rise of Worse is Better Better» він протиставляє карикатурні версії дизайнерських філософій MIT / Stanford (Lisp) та New Jersey (C / Unix) уздовж осей простоти, правильності, послідовності та повноти. Він наводить приклад "проблеми програвача ПК" ( обговорюваної в іншому місці Джошем Хаберманом ), щоб стверджувати, …

4
Які нитки поділяють загалом?
Ну це загальне питання. І якщо хтось хоче зробити його реалізацією специфічною, то я віддаю перевагу речей, що стосуються Unix. Але спершу потрібно знати в основному такі проблеми: Я читаю, що один процес може мати декілька потоків. Кілька ниток одного процесу поділяють між собою речі. Я хочу знати, що вони …

2
Як операційна система створює ентропію для випадкових насінин?
У Linux файли /dev/randomта/dev/urandom файли є блокуючими та неблокуючими (відповідно) джерелами псевдовипадкових байтів. Їх можна читати як звичайні файли: $ hexdump /dev/random 0000000 28eb d9e7 44bb 1ac9 d06f b943 f904 8ffa 0000010 5652 1f08 ccb8 9ee2 d85c 7c6b ddb2 bcbe 0000020 f841 bd90 9e7c 5be2 eecc e395 5971 ab7f 0000030 …

4
Чи призупиняє спільний графік призупинення процесів, коли вони виконують операцію вводу / виводу?
Багато посилань на операційні системи говорять, що при спільній (на відміну від попереджувальної) багатозадачності процес зберігає процесор, поки він явно не призупинить себе. Якщо запущений процес виконує запит вводу / виводу, який не вдається негайно задовольнити (наприклад, запитує ключовий обведення, який ще не доступний), чи планувач призупиняє його чи дійсно …

3
Розумне управління пам’яттю з постійними операціями часу?
Розглянемо сегмент пам'яті (розмір якого може збільшуватися або зменшуватися, як файл, коли це потрібно), на якому ви можете виконати дві основні операції з розподілу пам'яті, що включають блоки фіксованого розміру: виділення одного блоку звільнення раніше виділеного блоку, який більше не використовується. Також, як вимога, системі управління пам’яттю не дозволяється переміщатися …

4
Як операційна система може працювати на тому ж мікросхемі, яким вона повинна керувати?
З моїх ознайомлень з операційними системами (читання основного матеріалу у Вікіпедії, технічних сайтах тощо) я дізнався, що Операційна система - це програма, яка дозволяє програмам та програмам ефективно та безпечно взаємодіяти з обладнанням. Однак мене бентежить питання про те, як Операційна система контролює роботу комп'ютера, коли він сам повинен працювати. …

3
Які гарантії насправді надають “м'які” операційні системи в режимі реального часу
Я думаю, я знаю, що таке "важка" операційна система в режимі реального часу. Це операційна система з планувальником, яка надає контракт із прикладним програмістом. У додатку передбачений термін для кожного запиту на розподіл ресурсів. Якщо запити щодо граничних термінів є можливими , планувальник гарантує, що кожен ресурс буде призначений заявці-заявці …

2
Продуктивність мікрокенера та монолітного ядра
Microkernel реалізує всі драйвери як програми для простору користувача та реалізує основні функції, такі як IPC, у самому ядрі. Однак монолітне ядро ​​реалізує драйвери як частину ядра (наприклад, працює в режимі ядра). Я прочитав деякі твердження, що мікроелементи повільніші, ніж монолітні ядра, оскільки їм потрібно обробляти передачу повідомлень між драйверами …

6
Знаходження максимуму XOR двох чисел в інтервалі: чи можемо ми зробити краще, ніж квадратичне?
Припустимо, нам дано два числа і і ми хочемо знайти для l \ le i, \, j \ le r .lllrrrmax(i⊕j)max(i⊕j)\max{(i\oplus j)}l≤i,j≤rl≤i,j≤rl\le i,\,j\le r Наївний алгоритм просто перевіряє всі можливі пари; наприклад, у рубінах у нас буде: def max_xor(l, r) max = 0 (l..r).each do |i| (i..r).each do |j| if …

2
Які потенційні підводні камені мають мінімальне ядро, яке працює керованим кодом?
Припустимо, я хочу створити операційну систему на основі дуже невеликого рідного нижнього ядра, яке виконує функції керованого інтерпретатора / часу виконання та більшого верхнього ядра, зібраного на неродній машинній мові (байт-код Java, CIL тощо). Прикладами подібних операційних систем можуть бути Singularity та Cosmos . Які підводні камені та проблеми з …

1
Повітряна куля в ОС
Деякі гіпервізори оптимізують використання пам’яті за допомогою методу, який називається балончиком (принаймні, так називає KVM), цей метод розширює пам’ять між віртуальними машинами та встановлює загальні сторінки для читання лише з копією під час запису. Це щось на відміну від виклику вилки. Чи можливо реалізувати на рівні ОС для процесів (я …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.