タグ

アドレスとCPUに関するyohane00のブックマーク (3)

  • Linux メモリ管理を理解したい - Qiita

    Linux カーネルのメモリ管理方法について、勉強したことをまとめる。 メモリ管理はハードウェアに強く依存するため、x86_64 かつ OS起動後に 64bitプロテクトモード に移行したあとに話を絞る。また、OS は CentOS7.6、カーネルは次のバージョンを利用する。 ]# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) ]# uname -a Linux localhost.localdomain 3.10.0-957.21.3.el7.x86_64 #1 SMP Tue Jun 18 16:35:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux 概要 ノイマン型アーキテクチャ コンピュータの基的な構成のひとつ。次の図が参考になる。 ほぼ全てのコンピュータが、このアーキ

    Linux メモリ管理を理解したい - Qiita
  • 低レイヤを知りたい人のための Cコンパイラ作成入門

    はじめに このオンラインブックは執筆中です。完成版ではありません。フィードバックフォーム このには一冊のに盛り込むにはやや欲張りな内容を詰め込みました。書では、C言語で書かれたソースコードをアセンブリ言語に変換するプログラム、つまりCコンパイラを作成します。コンパイラそのものもCを使って開発します。当面の目標はセルフホスト、すなわち自作コンパイラでそれ自身のソースコードをコンパイルできるようにすることです。 このでは、コンパイラの説明の難易度が急に上がりすぎないように、様々なトピックを書全体を通じて次第に掘り下げていくという形で説明することにしました。その理由は次のとおりです。 コンパイラは、構文解析、中間パス、コード生成といった複数のステージに概念的に分割することができます。よくある教科書的アプローチでは、それぞれのトピックについて章を立てて解説を行うことになりますが、そのよう

  • プロセスって何? - Sionの技術ブログ

    はじめに そもそもOSは プロセスって何? プロセスの動き プロセスの切り替えってどうやってるの? プリエンプティブ方式と、ノンプリエンプティブ方式って何? プロセスの実行スケジュール管理はどうやってるの? プロセスとメモリの関係 演算って何? MMUって何? 仮想アドレスのメリットは? 複数のプロセスが共有してるデータにアクセスすると競合(レースコンディション)しない? プロセスがメモリに保持するデータってどんなの? スタックって何? malloc()って何? スタック領域とヒープ領域 GCって何? スタックメモリって何? Golangでスタックオーバーフローを起こすには? はじめに オペレーティングシステムの仕組みを読んで色々学んだことをメモ ときたまGolangの話題が出るかもしれません そもそもOSは OSではマルチタスク機能によって、細かくプロセスを切り替えることで"同時に動かし

    プロセスって何? - Sionの技術ブログ
  • 1