[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]
[OSASK 1765] devers2, lisbon2(Re: devers1, lisbon1).
- Subject: [OSASK 1765] devers2, lisbon2(Re: devers1, lisbon1).
- From: Hidemi KAWAI <kawai !Atmark! imasy.org>
- Date: Tue, 19 Jun 2001 08:38:53 -0000
こんばんは、川合です。
Koyanagi Masaaki さんは 2001/06/18 20:12:44 の「[OSASK 1763] Re:
devers1, lisbon1.」で書きました:
>> これは、タスクの優先順位を設定するコマンドです。"IL"はインナー
>> レベルの略です。
>試してみました。
>(1)setdefaultIL 1 を実行してcountup4を立ち上げる
>(2)setdefaultIL 2 を実行してcountup4を立ち上げる
>こうすると(2)のcountup4が(1)のcountup4の 2倍の処理速度になります。
>なるほど納得です。。
>(3)setdefaultIL 3 を実行してcountup4を立ち上げる
>を追加すると、countup4の表示する処理速度が、かなり大きくふれる
>ようになりましたが、1:2:3にしようとがんばっているようです。
すごいです。たったあれだけの説明でここまで試されるとは思いませ
んでした(笑)。
countup4のカウント速度が安定しないのは、おそらく、シグナルが大
量に降りかかってくるせいです。したがって、そんなにシグナルが頻発
しないcountup2を使えば、ある程度は改善するでしょう。・・・と思っ
たのですが、countup2はguide06の新仕様に対応していないので、あま
り試してほしくありません。ということで、countup5を用意しました。
ベーターリリースのページにあります。これは、countup2をguide06の
仕様に対応させただけのものです。
>今日lisbon1で10回やってみて最初の1回だけcountup4で起こりました。
>これがおきる時の特徴は以下の通りです。
>・ディスクアクセスせずにアプリを起動しようとする。
>・taskID=0のアプリを続けて起動すると全て、taskID=0で起動される
>・INSを押してから実行すると正常に起動される
まず、taskIDが0になってしまうのは、単なるバグのようです。その
タスクは起動していません。起動していないのにtaskIDが割り振られて
いるように見えるのはバグといっていいでしょう。
この現象は、おそらく、以下の過程で発生していると思われます。
・ディスクアクセスがエラーになったが、lisbon1はそれを検知できな
いので正常終了したものと思い込んで、そのファイルに「キャッシュ
済み」のマークを付ける。
・正しく読めていないので、OSASKアプリの実行ファイルではないと判
定され、起動は取りやめになる。このとき、taskIDが0になってしま
う。
・該当ファイルはキャッシュ済みになっているので、2度目以降のアク
セスでは、実メディアへアクセスしない。
・Insertを押せばキャッシュが無効化されるので、メディアにアクセス
するようになり、エラーがもう一度起きない限りうまくいく。
さて、現時点での対策です。
taskIDが0になってしまう問題はOSASKBS2.BINを選んでも起きます。
このバグは簡単に対処できるので、直しておきました。
ディスクアクセスのエラーの検出は、リトライ処理などを書かなけれ
ばいけないので、ちょっと大変です。そのため、先送りしています。と
りあえず、Insertを押して再チャレンジしてください。頻度が高くなっ
てきたら、リトライ処理の記述を検討いたします。
---
さて、taskIDが0になるバグを修正したバージョンがdevers2、lisbon
2です。そしてついでに、実行中のタスクのインナーレベルを変更する
ためのコマンドも用意しました。"setIL"です。
poko>setIL タスク番号 インナーレベル値
のように使ってください。タスク番号はtasklistで表示される値のこと
です。
それでは。
--
川合 秀実(KAWAI Hidemi)
川合堂社長 / OSASK計画総指揮 / カーネル開発班
E-mail:kawai !Atmark! imasy.org
Homepage http://www.imasy.org/~kawai/