Вопросы с тегом «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) У меня уже есть пары. Теперь я должен построить комбинацию, используя n/2пары, …

7
Каковы примеры несоответствия и неполноты в Unix / C?
В знаменитом эссе Ричарда Габриэля « Лучше хуже» он противопоставляет карикатурные версии философии дизайна MIT / Stanford (Lisp) и New Jersey (C / Unix) по осям простоты, правильности, согласованности и полноты. Он приводит пример «проблемы с загрузкой ПК» ( обсуждаемой в другом месте Джошем Хаберманом ), чтобы доказать, что 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
Производительность микроядра против монолитного ядра
Микроядро реализует все драйверы как программы пользовательского пространства и реализует основные функции, такие как IPC, в самом ядре. Однако монолитное ядро ​​реализует драйверы как часть ядра (например, работает в режиме ядра). Я читал некоторые утверждения, что микроядра работают медленнее, чем монолитные ядра, поскольку они должны обрабатывать передачу сообщений между драйверами …

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

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

1
Раздувание памяти в ОС
Некоторые гипервизоры оптимизируют использование памяти с помощью метода, который называется «всплывающим списком» (по крайней мере, так его называет KVM), этот метод дедуплицирует память между виртуальными машинами и устанавливает общие страницы только для чтения с копированием при записи. Это своего рода противоположность вызова вилки. Реально ли реализовать на уровне ОС для …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.