オープンな任天堂?
任天堂は、ファミコン時代の隆盛時の「ソフトコピーをさせないためゲームカートリッジ」 という方針を曲げなかったために、スーパーファミコン以降は『PlayStation にボロ負け』 というのが通説である。 しかし、次世代ゲーム機の戦いの中で Wii での『一人勝ち』には、 PlayStation での敗北への反省が活かされている様子。
逆に PlayStation3 でハイパフォーマンスの Cell プロセッサで打ち出した Sony に勝つために、 普通のプロセッサメーカーでは考え付かない 「プロセッサアーキテクチャのロードマップに乗らない」 という発想で、立ち向かっている様子。
Linux のオープンソースの考え方に染まっている身からすれば、 Closed アーキテクチャの任天堂は好きになれなかったが、 DS , Wii による復活は、経営者の英断のたわものなのなんだなぁ…
# ということで、任天堂も好きになってきたし、 買いてぇ〜♪
テスト返却・解説+参照カウンタ法
テストの回答・解説を行う。
メモリの使用量の総括
後期中間までの授業内容を総括し、処理速度をあげるためのテクニック紹介であった点を強調する。 しかし、プログラミングでは「速度」、「処理の複雑さ」、「メモリ使用量」が重要であるとの 視点から、「メモリの使用量」の話しをする。
リストなら、M(N) = (sizeof( data部 ) + sizeof( ポインタ )) * N 配 列 なら、M(N) = sizeof( data部 ) * N ただし、想定データ件数=実際データ件数の場合。 現実は、C なら配列サイズは、固定なので、 M(N) = sizeof( data部 ) * MAX
参照カウンタ法
前の説明の「リストではポインタのデータ量が無駄」との話しを発展し、 malloc() は、もうちょっと無駄がある点を話したいので、参照カウンタ法の話しをする。
最初に、リストによる和集合計算のプログラムと、全リストの開放処理のプログラムを示し、 共有の発生するプログラムでは、全リスト開放で2重ポインタ開放が発生する可能性をしめす。 その解決法として、参照カウンタ法を示す。
最後に、参照カウンタ法の実例として、unix ファイルシステムでの参照カウンタの説明を行う。 参照カウンタ法の欠点(循環リスト)については、次週。