そのため、x86-64 ではメモリ セグメンテーションが廃止されましたが、アセンブリを使用すると、コードで .code および .data セクション/セグメントを指定でき、スタック ポインター レジスタもあります。
また、スタック セグメント、データ セグメント、およびコード セグメント レジスタ。
コード/データ/スタックの分割はどこでどのように行われますか? CPU または OS によって実装されますか?
C プログラムをデバッグして逆アセンブル ビューを表示すると、アドレス空間は分割されずに線形になるためです。
そして、データ セグメントにグローバル、静的、およびヒープの「パーツ」があると彼らが言うとき、これは OS の抽象化ですか?