2024-08

Go言語

Goのメモリ管理:アロケータ、ガベージコレクション

開発をしていてあまりに気にしないが重要なアロケータや、ガベージコレクションについて解説をしていきます。アロケータGoのアロケータはオブジェクトを操作するのに必要なメモリブロックを動的に割り当てられ、ロックや断片化を回避してOSヘの遅いシステ...
Go言語

なぜGoは並行処理に優れているか?

Goがなぜ並行処理に長けているのか、Gorutineのどのような部分が良いのかについて解説をしていきます。スタック、ヒープGoroutineの良さを知るためにはまずスタック、ヒープを知っておく必要があります。スタックは引数や変数、返り値、静...
Linux

仮想記憶について

仮想記憶について解説をしていきます。プログラムでどのようにメモリが管理されているか学べるようになっています。仮想記憶とは仮想記憶はプロセスがメモリにアクセスをする時に、物理的なメモリに直接アクセスしないで、仮想アドレスというアドレスを使って...
Linux

プロセス管理について

プロセスの知識はプログラミングをする上でも必要になってきます。今回はプロセスとは何か?プロセスがどのように管理されているのかについて解説をしていきます。これらを学ぶことで、どのようにプログラムが動いているかを理解を深めることができます。プロ...
OS

カーネルやシステムコールについて

カーネルやシステムコールはプログラムが機能を提供する上でなくてはならない存在です。これらを理解することで、プログラムでどのようにデバイス操作や、ファイルシステムの操作をしているかがわかるようになります。カーネルとはカーネルはOSの基本機能の...