Linux как-то закрывает сам программы (и завершает работу ОС) "правильно" перед тем, как полностью выключиться?
И К примеру выполняется такие команды, как пример инструкция чтения строки из stdin, почему вся ос не глохнет. Типа что в этот момент ожидания времени происходит, Или что ОС все 1000 потоков переключает там каждую 0.0001 секунды?
А если принять к факту, что по умолчанию в регистрах хранится значение 0x00
я попробовал ничего не записывать в регистр AH и вызвать прерывание 0x16, значит по умолчанию в регистре 0x00.
в подпрограмме read_keyboard почему то не сохраняют регистр AX
почему сохранили регистр BX - я не понял
выводится ошибка dlopen failed library libc.so.6 not found. Как исправить данную ошибку?
Возможно ли это сделать на практике?
Однако я не могу получить доступ к любой из инициированных скриптом переменных в текущем процессе. Как я понимаю, это происходит потому, что скрипт выполняется отдельным процессом, а возможности экспортировать переменную на уровень выше нет.
- кол-во обращений к кэшу, если кэш прямого отображения,
- кол-во обращений к кэшу, если кэш полностью ассоциативный.
Подскажите пожалуйста, как такое считается.
int test[512];
занимает 2048 байт памяти (sizeof(int) == 4
), тогда он полностью умещается в заданный кэш и разницы между кэшем прямого отображения и полностью ассоциативным не будет. Внутренний цикл обращается к элементам массива, лежащим в разных кэш-линиях (поскольку 16(шаг цикла) * sizeof(int) > 16(размер кэш-линии)
). т.е. каждое обращение внутреннего цикла пойдёт в память на первой итерации внешнего цикла. На второй и последующих итерациях внешнего цикла все обращения из внутреннего цикла пойдут в кэш. Т.е. всего обращений в кэш будет 9 * (512 / 16)
. Что нужно изменить в системе что-бы добиться такого поведения?
Или процесс создания linux headers настолько специфичен?
как процессор может отличить длину команды (1, 2, и 3 байт), чтобы выполнить следующую команду ?
Почему кроме команды Остановить все команды занимают 3 байта?
Как происходить выборка команды? Как найти логическую схему выборки команды?
Как реализовать на с или assembler асинхронную выборку из RAM?
memcpy
для MIPS. Этот код не выглядит асинхронным, но написан именно так (сначала групповая загрузка в разные регистры, потом изменение базового адреса загрузки, потом групповое сохранение, потом изменение базового адреса сохранения) с рассчётом на то, что процессор сможет, в том числе, перекрыть во времени операции загрузки, арифметики и сохранения данных.