> Во первых: Вы не обращайте на меня большого внимания, так как это
> мои любительские познания.Это не страшно :)
Меньше знаний == меньше стереотипов и зашоренности. Иногда это ОЧЕНЬ полезно.
> Во вторых:
> Сколько тактов процессора или ядра процессора занимает выполнение этих команд?
Ядра - 0 (ибо это не ф-ция ядра, а процессора; ядро/проги тут выступают пользователями)
По процу - это вобщем-то табличные данные, но у каждого процессора и поколения оно может отличаться. Впрочем, эти инструкции уже даааавно как используются по умолчанию. До них в юнихах было пресловутое прерывание int 0x80 - куда более медленный способ переключения.
> В третьих:
> Где хранятся промежуточные данные: до начала выполнения, во время выполнения, после выполнения?
Промежуточные - думаю, в проце. А так, эти инструкции изменяют стеки вызовов и пользовательского уровня, и ядра.
> И прочие состояния машины?
Ну уж какие флаги/регистры затрагиваются - это уже специфика каждого проца. но ядро вкурсе. Там под каждую архитуктуру понаписано.
> В четвертых:
> Должно ли эти данные (о состоянии машины) быть доступны (если да, то
> в каком режиме ro/rw/other) потоку инструкций выполняющих эти "железные" вызовы?
До инструкции и после инструкции, вполне на общих основаниях (с поправкой на уровень защиты ringX: ядро или юзер-левел)
> Так же можно подумать над другими интересными вопросами связанными с данными процессами.
> Но не сегодня. А может оставить их молодым, которым у нас
> везде дорога ;)?
Ну, тогда всё идёт прям, как Вы сказали. Молодые вот как раз и занимаются этими вопросами :)