私は、x86 int $0x80
とamd64 syscall
システムコールの番号が異なることに気付きました。たとえば、sys_exit
は、x86ではシステム1、amd64ではシステム60です。システムコールの番号付け方式が異なる(歴史的な)理由はありますか?amd64 linuxでシステムコール番号が異なるのはなぜですか?
12
A
答えて
12
syscallインターフェイスは非常に安定していて、追加だけが許可されています。システムコールのインターフェースがアーキテクチャごとに異なるという事実を利用して、Linuxの人たちは、蓄積されたcruftをきれいにし、amd64システムコールを最初から開始することにしました。
リファレンス:linux/Documentation/ABI/stable/syscalls
このインタフェースは、POSIXインタフェースの多くと一致し 及び他のUNIXベースのインターフェイスに基づいています。それは時間がたつにつれて追加され、 で削除されることはありません。
このインターフェイスは、 Linuxがサポートするすべてのアーキテクチャで異なります。各 のシステムコールにマップされるシステムコール番号の詳細については、アーキテクチャ固有のドキュメント を参照してください。
関連する問題
- 1. システムコールの番号は
- 2. 私の番号が0になるのはなぜですか?
- 3. マルチスレッドでコンセンサス番号が重要なのはなぜですか?
- 4. 異なるバージョンのSilverlightアセンブリのバージョン番号が同じであるのはなぜですか?
- 5. なぜVByNetでは負のSByte番号が16ビットですか?
- 6. Linuxでコピーしたファイルの権限が異なるのはなぜですか?
- 7. straceにネットワーク・システムコールがないのはなぜですか?
- 8. DMD2がLinux上で共有ライブラリをコンパイルできない、amd64
- 9. Vim:異なるモードで異なる行番号の色
- 10. システムコールが失敗するのはなぜですか?
- 11. Java ImageIOが異なるマシン(LinuxとWindows)で異なるイメージを生成するのはなぜですか?
- 12. Neo4jブラウザに2つの異なるバージョン番号が表示されるのはなぜですか?
- 13. Elasticsearchのスナップショットの統計番号number_of_filesが実際のインデックス数と異なるのはなぜですか?
- 14. いくつかのシグナル番号がLinuxにアーキテクチャ依存するのはなぜですか?
- 15. for_each_zoneが新しいシステムコールでlinuxシステムコール
- 16. FreeBSD-11.0-RELEASE-amd64の簡単な新しいシステムコール
- 17. なぜtypeofコールバック番号になるのですか?
- 18. は異なる列番号(Oracle 11gの)
- 19. なぜページIDは無関係な番号ですか?
- 20. 異なるjava JDKファイルの違いは何ですか?default-java、java-1.8.0-openjdk-amd64、java-8-openjdk-amd64、java-8-oracle
- 21. シミュレータのIMEI番号が常に0000000000000であるのはなぜですか?
- 22. getnameinfo - Linuxのシステムコールは何ですか?
- 23. なぜ番号はJavascriptで不変ですか?
- 24. データフレームの異なる行番号で異なる列の値を比較する
- 25. なぜ私は可変アペア番号を返すのですか?
- 26. アンドロイドデータベースで行番号のカウントをリセットできないのはなぜですか?
- 27. debug_backtrace()に行番号が含まれないのはなぜですか?
- 28. バージョン番号がピピファイルに固定されないのはなぜですか?
- 29. なぜ現在のフレーム番号が現在のページ番号と等しくないのですか?
- 30. フォーマットの番号付けが失敗するのはなぜですか?
関連するLKMLの投稿:http://lkml.iu.edu/hypermail/linux/kernel/0104.0/0547.html –