5.3.7疎結合の維持 結合度 クラスやルーチーンが他のクラスやルーチーンとどれだか結びついているかを表す。 良いモジュール間結合とは、あるモージュールが他のモジュールから簡単に使用できるくらい弱い(疎)結合であること。 他のモジュールに依存しない…
7.3良いルーチーン名 ルーチーンが行うことをすべて説明する ルーチーン名には処理の内容すべてが分かる様な名前をつけなければならい。 例えば、環境変数の数をカウントして昇順に並べて出力する関数だとしたら、 CountEnvTotal()では不十分でCountEnvTot…
凝集度 cohesion: 強度とも言う クラス設計においては凝集度はあまり関係ないが、ルーチーンの観点からは非常に重要。 凝集度とはルーチーン内の処理がどれだけ強く関連しているかを表す。 例えば、Cosine()という関数はルーチーンが一つの処理に徹している…
exportとenvの違い envコマンド ➜ env env | sortApple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.fVQpnTWccq/RenderCOLORFGBG=7;0COLORTERM=truecolorCOMMAND_MODE=unix2003C_INCLUDE_PATH=/Users/tosakai/.brew/include:DISPLAY=/private/tmp/…
7.1ルーチーンを作成する理由 ※ルーチーンとは1つの目的で実行される個々のメソッド、プロシージャのこと。 複雑さを低減する 中間部分をわかりやすく抽象化する コードの重複を避ける サブクラスを作成しやすくする 処理順序を隠蔽する ポインタ処理を隠…
メモリ管理の話の中の、今回はメモリ保護について。 メモリ割り当て メモリ保護 仮想記憶 メモリ保護 メモリ保護とはタスク内で実行されるアプリケーションがアクセスできるメモリ領域を制限すること。 エンジニアのミスにより他のアプリケーションに割り当…
オペレーティングシステムの主要な役割 プロセス管理 メモリ管理 ファイルシステム 入出力管理 オペレーティングシステムの主要な役割のプロセス管理は以前書いたので、今回はメモリ管理の話。 ボリュームが多いので、いくつかに分けようと思います。 メモリ…
マルチタスクとは? プロセスの開始や終了を管理するプロセス管理のうち、 複数のプロセスを並行して実行管理する機能のことをマルチタスク機能という。 例えば、Youtubeを見ながらブログを書くのもマルチタスク機能。 マルチタスク機能が無ければ、動画を見…
staticのメリットを整理 関数内で変数宣言時にstaticを使うメリットを整理しよう。 持続性 メモリ管理の簡略化 持続性 staticで宣言して一度メモリに取り込んでしまえば、処理が別の関数に移動しても変数は残る。通常の変数は関数で呼び出されるたびに初期化…
MS-DOS時代 MS-DOS時代は16ビットCPUであり、かつ使用可能なメモリは640Kバイトまで。 機能的に低いレベルだが、当時のハードウェアの性能を考えると十分なスペックだった。 MS-DOSの限界 CPUの性能が上がり、メモリやディスク容量の増加に伴い、MS-DOSでは…
486には4種類のレジスタ群があるんだって。 一般レジスタ 浮動小数点レジスタ システムレジスタ デバッグレジスタ 一般レジスタ すべてのソフトウェアが利用するレジスタ。 プログラムが実装される際メモリから読み込んだデータを置いたり、 メモリのセグメ…
はじめて読む486 2.3 486の操り方 CPUには大きく2つの機能が存在 基本機能 システム管理機能 基本機能とは、メモリからデータをレジスタに読み込み、解釈、実行する機能。 システム管理機能とは、メモリ管理、タスク管理をする機能。 どちら同様にレジスタを…