コンピューターアーキテクチャ

リトルエンディアン・ビッグエンディアン・ミドルエンディアン・バイエンディアンの違いについて

コンピューターアーキテクチャ

概要リトルエンディアンとビッグエンディアンの違いについてまとめる。 エンディアンとは 複数のバイトの並びの方式をエンディアン、またはバイトオーダーと呼ぶ データをメモリ上にロードするときの配置の仕方  エンディアンはCPUやプロトコル、OSによってそれぞれ決まっている 異なるシステム間やネットワーク間でデータをやりとりする際にエンディアンによる問題が発生しやすい ex. バイナリを解析したいときな...

メモリー

孤児プロセスとゾンビプロセスの違い

コンピューターアーキテクチャ

概要Dockerを触っていたらorphan(孤児の意)というプロセスの存在を知ったのでゾンビプロセスとの違いを調べてみた。 ゾンビプロセスとは 処理が終了した子プロセス プロセステーブルに残った状態で親プロセスのwaitを待つ システムリソースは使用しないが、PIDは保持される ゾンビプロセスが大量に増えると、使用可能なPIDが減り、他のプロセスを起動できなくなる ゾンビプロセスの確認方法 ps ...

UNIX プロセス

grep入門

コンピューターアーキテクチャ

概要grep雰囲気で使っているマンだったのでとざっくり調べてみた。l 基本grep 検索正規表現 ファイル名 ワイルドカードが使えるので、例えばカレントディレクトリ内の全ファイルを対象とした場合は、 grep "foo" ./* といった具合にできる。 カレントディレクトリ以下のディレクトリも対象にしたい場合は、-rオプションを使う。 grep -r "foo&quo...

Linux grep

メモリ管理に関する用語まとめ

コンピューターアーキテクチャ

概要試して理解 Linuxの仕組みのメモリ管理の章を読んでいて理解の乏しい単語があったのでいくつかピックアップしてまとめる。 OOM Out of memory システムが物理メモリと仮想メモリを使い切ったことにより、新規にメモリを確保できない状態 OOM Killer(Out of Memory Killer) OOMのときにプロセスを強制終了させることで空きメモリーを確保するLinuxカーネル...

Linux メモリー

2進数、10進数、16進数の変換について

コンピューターアーキテクチャ

概要2進数、10進数、16進数をそれぞれ変換するための計算方法についてまとめる。 重みとは計算する前の前提として、重みについて理解する。 重みとはそれぞれの桁を表す数のこと。 ex. 10進数1234 10^04 = 410^13 = 3010^22 - 20010^31 = 1000 sum 1234 10^0、10^1、10*2...が重み。 ex. 2進数11012^01 = 12^...

基数変換 離散数学

Linuxのパーミッションの読み方と指定方法について

コンピューターアーキテクチャ

概要Linuxのパーミッションについてまとめる パーミッションの読み方ファイル種別最初の1文字は、ファイル種別を表している。 ファイルd ディレクトリl シンボリックリンク 以降3文字単位でファイルのオーナー別に権限を表している。 2~4文字目 ユーザー ファイルの所有者に対する権限5~7文字目 グループ ファイルの所有グループに対する権限8~10文字目 その他 その他に対する権限...

Linux パーミッション

Unixコマンドメモ

コンピューターアーキテクチャ

概要Unixコマンドのメモ。 jqJSON形式のデータを加工するコマンド。 JSONのPretty Printecho '[{"name": "Tom", "age": 20}}]' | jq . Pretty Print以外にもオブジェクトからプロパティを指定してデータを取り出したり、オブジェクトの長さを取得したり、色々...

unixコマンド jq tee