Мне интересно, есть ли разница между системным вызовом MIPS и инструкциями ловушки. Я не могу найти ничего, связанного с этим, поэтому я не уверен, есть ли разница. Ловушки кажутся просто условным системным вызовом, но некоторые пояснения могут быть полезными.
Разница между системным вызовом и ловушками
Ответы (2)
Инструкции SYSCALL
и TRAP
вызывают исключения, но результирующее исключение имеет другой тип (SystemCall или Trap), и операционная система, скорее всего, будет обрабатывать их по-разному.
person
Community
schedule
22.12.2012
Для чего операционные системы обычно используют ловушки?
- person Alex; 22.12.2012
Как правило, нет. В большинстве систем, которые я использовал, ловушки просто приводят к сбою процесса, который их запускает, так же, как и большинство других исключений ЦП.
- person ; 22.12.2012
Должен ли я просто сделать это условным системным вызовом, чтобы сохранить некоторый код, когда вам может понадобиться системный вызов.
- person Alex; 22.12.2012
Да. В любом случае вам почти всегда нужно выполнить кучу настроек, связанных с системным вызовом, поэтому возможность сделать системный вызов условным не принесет вам много пользы.
- person ; 22.12.2012
Trap
— это исключение, которое переключается в режим ядра, вызывая подпрограмму ядра (любой системный вызов). . Обычно trap создает какую-либо передачу управления операционной системе. Где SYSCALL
— это синхронный и запланированный пользовательский процесс в режиме ядра.
person
Sunil Bojanapally
schedule
22.12.2012