UNIX v6クイズ合戦
. はい、SSWAPの意味自体は正解です!では、なぜu.u_ssavに退避するのでしょうか? RT @nothingcosmos 私のメモ書きには、SSWAPは、スワップ前のコンテキストがu.u_ssavに退避された状態フラグとかかれてますね。。aretu()で #v6_quiz
2012-07-24 07:06:59@superhoge 質問の意図がよくわからないですね。。u_qsavやu_rsavと競合している?なぜu_rsavに退避しないのかとか?
2012-07-24 07:17:44. @nothingcosmos 失礼しました。その通りです。なぜu.u_rsavではなく、あえてu.u_ssavに退避しているのでしょうか? #v6_quiz
2012-07-24 07:22:22@superhoge ここまで来たら2238クラブ入会ネタじゃないですか、、っても私は上手く説明できませんが。。コンテキストスイッチによる遷移を整理しないと回答は難しいですね。
2012-07-24 07:28:26もう少し言うと、なぜSSWAPフラグが立っているときはu.u_ssavからr5, r6を復帰する必要がある?u.u_rsavの値じゃだめなのでしょうか? #v6_quiz
2012-07-24 07:29:52v6のidle、今のAndroidでも、linuxカーネルのidleでARMのWFI命令を呼んで割り込みを待ちます(=寝ます)。んで、寝る前に状況に応じて電源を絞ります。絞り方は、深く眠ると起きるの遅くなるので、電力消費と反応速度のバランスを取って動的に調整します。
2012-07-24 13:51:32クイズの回答者はもういませんかー?なぜSSWAPフラグが立っているときは、u.u_rsavではなくu.u_ssavからr5, r6を復帰する必要があるのでしょう?2238clubネタなので難易度高め? #v6_quiz
2012-07-25 18:18:45やはり高めですかね。このクイズは少し長い間回答を待ってみます。 @magoroku15 #v6_quiz
2012-07-25 18:42:51SSWAP絡みの問題は難易度が高いと、数人の方からご指摘を頂きました。というわけで、この問題は少し長い間回答を待ってみます。徐々にヒントを出していこうかとも思っています。 #v6_quiz
2012-07-25 18:49:06そして新たなクイズを追加。例えばUNIXのlsコマンドはlsというプログラムを実行しています。しかし、chdir(cd)はシェルに組み込まれたコマンドであり、chdirというプログラムがあるわけではありません。なぜchdirはこのようになっているのでしょうか? #v6_quiz
2012-07-25 18:51:25以前も触れたことがある話題。blogにまとめると言ったのですが、時間がないのでここで扱います。ユーザランドの話ですが、カーネルの知識があれば回答できます。ただしシェルの仕組みを知っておく必要があります。 #v6_quiz
2012-07-25 18:52:37わからない人は、実際にchdir(cd)相当のプログラムを書いてみましょう。この話題はUNIX v6に限った話ではなく、今のLinux, UNIXでも同じ話になるでしょう。 #v6_quiz
2012-07-25 18:53:45うあ、予想外にすぐに回答が来てしまった。できれば、特に初学者の方に、シェルの仕組みも含めて回答をしていただくことを期待しているので、今しばらく回答を募ります。 #v6_quiz
2012-07-25 19:00:10別解:カレントディレクトリはuser構造に格納するinodeポインタとして表現され、その変更は自プロセスのuser構造を書きかえる必要がある。このためcdはshellの内部コマンドとして実装される必要がある。 #v6_quiz
2012-07-25 19:11:44シェルの仕組み(コマンド叩いて別のプログラムを実行するところ)とお二人の回答を組み合わせて解説してくれる方をお待ちしております。最近v6を学び始めた人はレッツチャレンジ #v6_quiz
2012-07-25 19:19:54今出している二つのクイズが落ち着いたら、今度は回答者側に回ろうかと。学んだことを他の人にクイズとして出すと、理解が深まりますよ~ #v6_quiz
2012-07-25 19:20:55出題中のクイズの1つめのおさらい。SSWAPフラグの説明を求めていました。これについてはSSWAPフラグが立っているときは、コンテキストスイッチでu.u_ssavからr5, r6を復帰する、という回答を頂いています。 #v6_quiz
2012-07-30 19:24:32これは大正解。そして、次に「なぜu.u_rsavではなく、u.u_ssavから復帰させる必要があるのでしょうか?」というクイズを出していました。 #v6_quiz
2012-07-30 19:25:20