コンピュータはなぜ動くのか 第2版 知っておきたいハードウエア&ソフトウエアの基礎知識
2024年5月1日コンピュータはなぜ動くのか 第2版 知っておきたいハードウエア&ソフトウエアの基礎知識を読んだ。 改訂版が出ていたので読み直した。 ハードウェアからソフトウェアまでの流れを理解することができる。 プログラムはなぜ動くのか 第3版 知っておきたいプログラミングの基礎知識もセットで読むと良い気がする。 ...
コンピュータはなぜ動くのか 第2版 知っておきたいハードウエア&ソフトウエアの基礎知識を読んだ。 改訂版が出ていたので読み直した。 ハードウェアからソフトウェアまでの流れを理解することができる。 プログラムはなぜ動くのか 第3版 知っておきたいプログラミングの基礎知識もセットで読むと良い気がする。 ...
概要リトルエンディアンとビッグエンディアンの違いについてまとめる。 エンディアンとは 複数のバイトの並びの方式をエンディアン、またはバイトオーダーと呼ぶ データをメモリ上にロードするときの配置の仕方 エンディアンはCPUやプロトコル、OSによってそれぞれ決まっている 異なるシステム間やネットワーク間でデータをやりとりする際にエンディアンによる問題が発生しやすい ex. バイナリを解析したいときな...
概要Dockerを触っていたらorphan(孤児の意)というプロセスの存在を知ったのでゾンビプロセスとの違いを調べてみた。 ゾンビプロセスとは 処理が終了した子プロセス プロセステーブルに残った状態で親プロセスのwaitを待つ システムリソースは使用しないが、PIDは保持される ゾンビプロセスが大量に増えると、使用可能なPIDが減り、他のプロセスを起動できなくなる ゾンビプロセスの確認方法 ps ...
みんなのコンピュータサイエンスを読んだ。 コンピューターサイエンスについての全体感を掴むのにちょうど良い一冊。 ...
概要grep雰囲気で使っているマンだったのでとざっくり調べてみた。l 基本grep 検索正規表現 ファイル名 ワイルドカードが使えるので、例えばカレントディレクトリ内の全ファイルを対象とした場合は、 grep "foo" ./* といった具合にできる。 カレントディレクトリ以下のディレクトリも対象にしたい場合は、-rオプションを使う。 grep -r "foo&quo...
概要試して理解 Linuxの仕組みのメモリ管理の章を読んでいて理解の乏しい単語があったのでいくつかピックアップしてまとめる。 OOM Out of memory システムが物理メモリと仮想メモリを使い切ったことにより、新規にメモリを確保できない状態 OOM Killer(Out of Memory Killer) OOMのときにプロセスを強制終了させることで空きメモリーを確保するLinuxカーネル...
概要Linuxのパーミッションについてまとめる パーミッションの読み方ファイル種別最初の1文字は、ファイル種別を表している。 ファイルd ディレクトリl シンボリックリンク 以降3文字単位でファイルのオーナー別に権限を表している。 2~4文字目 ユーザー ファイルの所有者に対する権限5~7文字目 グループ ファイルの所有グループに対する権限8~10文字目 その他 その他に対する権限...
概要Unixコマンドのメモ。 jqJSON形式のデータを加工するコマンド。 JSONのPretty Printecho '[{"name": "Tom", "age": 20}}]' | jq . Pretty Print以外にもオブジェクトからプロパティを指定してデータを取り出したり、オブジェクトの長さを取得したり、色々...
概要プロセスとスレッドの違いについてまとめる プロセスとは プログラムの実行単位 CPU上で実行される リソースの共有はできない 専用のメモリ領域を使用 仮想アドレス空間を保持している プロセスの切り替えには仮想アドレスと物理アドレスのマッピング必要 プロセスの保持するデータ構造プロセスがメモリに保持しているデータ構造は2つのセグメントに分かれている。 テキストセグメント プログラムの...
概要シンボリックリンクとハードリンクの違いについてまとめる 前提 inode データ構造 ファイルシステム上の属性情報(作成者、グループ、作成日時など)をデータとして持つ ls -i1 /またはstat /でinode番号を確認できる シンボリックリンクとは 元のファイルまたはディレクトリのパスを参照するディレクトリエントリを追加 実験touch a.md ln -s a.md a_symb...