В многоядерном процессоре, что происходит с содержимым кэша ядра (скажем, L1), когда происходит переключение контекста в этом кэше? Зависит ли поведение от архитектуры или от всех производителей...
Вопросы о принципах программного обеспечения, которое взаимодействует между оборудованием и приложениями.
В многоядерном процессоре, что происходит с содержимым кэша ядра (скажем, L1), когда происходит переключение контекста в этом кэше? Зависит ли поведение от архитектуры или от всех производителей...
Прочитав несколько источников, я все еще не понимаю, какие темы нужны пользователям и ядру. Особенно: Потоки могут существовать как на уровне пользователя, так и на уровне ядра. В чем разница между уровнем пользователя и уровнем ядра?...
Я изучаю ЦП и знаю, как он читает программу из памяти и выполняет ее инструкции. Я также понимаю, что ОС разделяет программы в процессах, а затем чередует каждую из них так быстро, что вы думаете, что они выполняются одновременно, но на самом деле каждая программа запускается отдельно в ЦП. Но если...
У меня есть набор пар. Каждая пара имеет форму (x, y), так что x, y принадлежат целым числам из диапазона [0,n). Итак, если n равно 4, то у меня есть следующие пары: (0,1) (0,2) (0,3) (1,2) (1,3) (2,3) У меня уже есть пары. Теперь я должен построить комбинацию, используя n/2пары, чтобы ни одно из...
В знаменитом эссе Ричарда Габриэля « Лучше хуже» он противопоставляет карикатурные версии философии дизайна MIT / Stanford (Lisp) и New Jersey (C / Unix) по осям простоты, правильности, согласованности и полноты. Он приводит пример «проблемы с загрузкой ПК» ( обсуждаемой в другом месте Джошем...
Ну, это общий вопрос. И если кто-то захочет сделать это специфичным для реализации, тогда я предпочту Unix-связанные вещи. Но для начала нужно знать следующие проблемы в целом: Я прочитал один процесс может иметь несколько потоков. Несколько потоков одного процесса делят вещи между ними. Я хочу...
В 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...
Во многих ссылках на операционные системы говорится, что при совместной (в отличие от упреждающей) многозадачности процесс удерживает процессор до тех пор, пока он явно не добровольно приостановит свою работу. Если запущенный процесс выполняет запрос ввода-вывода, который не может быть немедленно...
Давайте рассмотрим сегмент памяти (размер которого может увеличиваться или уменьшаться, как файл, когда это необходимо), в котором вы можете выполнить две основные операции выделения памяти, включающие блоки фиксированного размера: выделение одного блока освобождение ранее выделенного блока,...
Из моих чтений об операционных системах (чтение основного материала в Википедии, технических сайтах и т. Д.) Я узнал, что операционная система - это программа, которая позволяет программам и приложениям эффективно и безопасно взаимодействовать с оборудованием. Однако я не совсем понимаю, как...
Я думаю, что знаю, что такое «жесткая» операционная система реального времени. Это операционная система с планировщиком, которая предоставляет контракт с программистом приложения. Приложение предоставляет крайний срок для каждого запроса на выделение ресурсов. Если запросы крайнего срока...
Предположим, нам даны два числа и и мы хотим найти для .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...
Предположим, я хочу построить операционную систему на основе очень маленького собственного нижнего ядра, которое действует как интерпретатор / среда выполнения управляемого кода, и большего верхнего ядра, скомпилированного с неродным машинным языком (байт-код Java, CIL и т. Д.). Примерами подобных...
Микроядро реализует все драйверы как программы пользовательского пространства и реализует основные функции, такие как IPC, в самом ядре. Однако монолитное ядро реализует драйверы как часть ядра (например, работает в режиме ядра). Я читал некоторые утверждения, что микроядра работают медленнее,...
Я читал статью, которая описывает переключение между пользовательским пространством и пространством ядра, которое происходит при системном вызове. В статье говорится Приложение ожидает завершения системного вызова, прежде чем возобновить выполнение в пользовательском режиме. Теперь до сих пор я...
Некоторые гипервизоры оптимизируют использование памяти с помощью метода, который называется «всплывающим списком» (по крайней мере, так его называет KVM), этот метод дедуплицирует память между виртуальными машинами и устанавливает общие страницы только для чтения с копированием при записи. Это...
Когда происходит прерывание, процессор прерывает текущий процесс и вызывает код ядра для обработки прерывания. Как процессор знает, куда войти в ядро? Я понимаю, что есть обработчики прерываний, которые могут быть установлены для каждой линии прерывания. Но поскольку процессор выполняет только...
Другими словами, какие преимущества имеет гибридная многопоточность по сравнению с 1: 1 (только для ядра) и N: 1 (только для пользователя)? Это продолжение к тому, В чем разница между потоками уровня пользователя и потоками уровня...
Следующее сомнение, что я наткнулся при выполнении домашнего задания OS - однако, это кажется более концепция на основе, чем вопрос кодирования простого, поэтому ИМХО я не думаю, что домашние задания теги подходят для этого. В чистых схемах требуют поискового вызова для нескольких процессов,...
Рассмотрим файловую систему, нацеленную на некоторые встроенные устройства, которая делает чуть больше, чем хранит файлы в иерархической структуре каталогов. В этой файловой системе отсутствуют многие операции, которые вы можете использовать в таких системах, как Unix и Windows (например, ее права...