レジスタの役割を分ける何番のレジスタをどう使うかを決めておくと効率よいというか事件がおきにくそうだよね。困難は分割せよ(自分の肉体編)『相棒』の積ん読(@ABEMA)「機能」と「規約」を区別しよう!まじで大事。自由なところと、そうでないところを区別すると、理解しやすくなる。いろんなところに効いてくる!アラインメント(という用語)には色々無いけど、アラインメントが必要になる理由は色々あるCPU理由、OSメモリ管理理由、ライブラリメモリ管理理由、アプリ都合理由。http://www5d.biglobe.ne.jp/~noocyte/Programming/Alignment.html#CpuBasicsそうですね。今見てるページで言ってる方のアライメントの必要性は、CPUとメモリの接続回路のイメージがあると理解しやすいです。4バイトだったりする。本の執筆は大変だ!扱うテーマや、読者に対する前提、何を説明して、何を説明しないか。どんなたとえを使うか。Rustのallochttps://doc.rust-lang.org/alloc/alloc/trait.GlobalAlloc.html#tymethod.allocCに慣れすぎてて、最初alloc()の引数はただの整数だと思い込んでいたけど、もっとインテリジェントなLayout情報を引数にとるのだなぁと。インテリジェンスやら、呼び出し側に対して、どの知識をどれだけ要求するか的な感じ。Mash!main.rsで大事なのが、GOMの順にしたいけど、spawn関数のなかでschedule()呼ぶので、GMOの順番でspawnしていく必要がある!schedule()関数は、キューの状態変化としてはとてもシンプル。pop_front()して、push_back()するだけ。「コンテキスト」という言葉で考えると、先頭のコンテキストをどっかに保存して、次のスレッドのコンテキストを呼び覚ます(レジスタを復元する)だけ。main.rsのspawn()内でschedule()が実行されないという勘違いをした!この勘違いをしたままだと、Gaiaが2回先に呼ばれることになる。登場分野としては、OSとか負荷分散、待ち行列とかである。First)優先度付きのキュー(FIFO)とかもあるよね個人的にはFIFOは先入先出のデータ構造を指すもので、FCFSは最初にキューに来たタスクを最後まで実行するというスケジューリングアルゴリズムと捉えていますFIFOはもうちょい一般的な処理アルゴリズムで、FCFSはFIFOを利用したスケジューリングアルゴリズム、みたいな印象SJFが難しいのは事前にタスクの残り時間がわかっているケースはほぼないということですね。実用的には残り時間を近似して求めます。FIFOはデータ構造で、FCFSはスケジューリングアルゴリズム。FIFOじゃないデータ構造を使ってFCFSをやってもいい。前の方をちらっと読んでおもいました。