ページへ戻る

− Links

 印刷 

security のバックアップ差分(No.3) :: OSASK計画

osaskwiki:security のバックアップ差分(No.3)

« Prev[4]  Next »[5]
2: 2004-01-10 (土) 00:30:00 ソース[6] 3: 2009-11-17 (火) 12:08:25 ソース[7]
Line 51: Line 51:
-たとえば現状でも、適当に"cons00.h"を使ってコンソールアプリをつくり、ここにfor (;;) { cputc('A', stdout); }してしまうことはできます。これをやると、当然負荷は100%になります。確かにいつもより電気は食っていると思います。しかし、うわー重たい、と感じますか? -- ''K'' SIZE(10){2004-01-10 (土) 00:27:24} -たとえば現状でも、適当に"cons00.h"を使ってコンソールアプリをつくり、ここにfor (;;) { cputc('A', stdout); }してしまうことはできます。これをやると、当然負荷は100%になります。確かにいつもより電気は食っていると思います。しかし、うわー重たい、と感じますか? -- ''K'' SIZE(10){2004-01-10 (土) 00:27:24}
-仮に感じたとしても、すぐに終了できちゃったりしませんか? -- ''K'' SIZE(10){2004-01-10 (土) 00:30:24} -仮に感じたとしても、すぐに終了できちゃったりしませんか? -- ''K'' SIZE(10){2004-01-10 (土) 00:30:24}
 +-そうですか。 それに遅延書き込み機能でメディアの寿命もそんなに減りませんしね…とここまで考えたが確かメモリの遅延書き込みに使えるサイズを超えたファイルはHDDなどに使用頻度の低い順に書き込まれてしまうので普通のファイルのアクセスはやっぱり遅くなってしまうのではないでしょうか(それにHDDやCFなどの寿命も減ってしまう)。 -- ''黒龍'' SIZE(10){2004-01-10 (土) 20:40:34}
 +-HDDやCFなどのアクセススピードは物理的に限界がありメインRAMより遅いですから。 -- ''黒龍'' SIZE(10){2004-01-10 (土) 20:45:40}
 +-ウィンドウクローズシグナルを無視するプログラムは (現状では) 終了できないような。あと、beditcを激しくスクロールさせると、環境によってはかなり重たくなりますね。 -- [[I.Tak.]] SIZE(10){2004-01-10 (土) 21:27:31}
 +-描画処理を増やすとマウスカーソルがちらちらしたりしますし、そういう攻撃を防御できるタスク管理って興味ありです。 -- ''I.Tak.'' SIZE(10){2004-01-10 (土) 21:31:40}
 +-まず黒龍さんの指摘から。 -- [[K]] SIZE(10){2004-01-10 (土) 23:08:15}
 +-ええと、サイズがでかいと遅延書き込みがあまり利かなくなるというのはまったくそのとおりです。・・・OSASKとしてはそれぞれのアプリディレクトリにリミッタをかけたいと考えています。このリミッタが遅延書き込みが十分に利くサイズよりも小さければ、指摘の問題は起きません(起きる前に検出されて止めるか続行するかを選べる)。 -- ''K'' SIZE(10){2004-01-10 (土) 23:12:20}
 +-しかしダイアログで指定したファイルについてはリミッタがないな・・・。うーん、そっちにもリミッタは必要なのか?必要かもなあ。・・・そういうことがしたいときは、できるような方法を考えておきます。 -- ''K'' SIZE(10){2004-01-10 (土) 23:17:56}
 +-でもやっぱりアプリによっては大きなファイルを扱うことはあるわけで、しかもその場合は悪意がなくてもライトアクセス急上昇になりそうです。これはしょうがないです。 -- ''K'' SIZE(10){2004-01-10 (土) 23:21:27}
 +-そういう場合、ユーザはどのアプリが広い範囲にわたってたくさんアクセスしているのかを、シェルで調べることはできるでしょう。そして、実行頻度をすぐにコントロールしたり、一時停止したりすることもできるでしょう。シェルががんばれば、CPU時間の配分の上限だけではなく、そういう単位時間あたりのメモリやディスクアクセスなどの上限も決めて(単位時間あたりのアクセスページ数みたいなもの)、これが規定値を超えないように制御することもできるかもしれません。 -- ''K'' SIZE(10){2004-01-10 (土) 23:28:05}
 +-次にI.Tak.さんの指摘です。そう、今はウィンドウクローズを無視すると終了できません。これはシェルの手抜きです(毎度ながらすみません)。 -- ''K'' SIZE(10){2004-01-10 (土) 23:29:59}
 +-で、beditcをスクロールさせると重くなる件ですが、はい、そういうことはあります。しかし重くなるのはアプリであって、pokonではないと思うんです。というのは、pokonにちょっとでも仕事があれば、すべてのアプリは(どんなにビジーでも)CPU時間を奪われるようになっているからです。これは僕がタスクのグローバルレベルって呼んでいるやつで、シェルさえ直せばそれぞれのアプリも序列をつけられます。そしてどんなときでもシェルは最高位にいるべきだと思います(シェルの一部だけでいいから)。 -- ''K'' SIZE(10){2004-01-10 (土) 23:35:14}
 +-これなら、シェルがキーシグナルなどをシグナルボックスに受け取った瞬間にスリープから目覚めて、悪さをしているタスクはシェルが使わなかったCPU時間だけを使うことしかできないわけです。となれば、シェルからすると、(少なくともCPU時間的観点では)いつもどおりフルスピードで、問題があると感じているなら、いつでも問題のタスクを、殺したり、一時停止したり、優先度を極端に下げたり、タスクセーブして片付けたり、できます。 -- ''K'' SIZE(10){2004-01-10 (土) 23:38:39}
 +-そういう意味です。・・・で、マウスがちらちらする件は、実はよくわかっていません(苦笑)。ちらちらしないはずだと思っているんですが、実際は確かにちらちらしています。おかしいなあ。バグかなあ。 -- ''K'' SIZE(10){2004-01-10 (土) 23:40:02}
#comment #comment
« Prev[4]  Next »[5]