tarosukeの日記: ユーザースレッド
日記 by
tarosuke
今回は俺OSの話じゃなくて、どっちかというと仕事よりの話。
昨日で一段落したけどまだ終ってない仕事では、
1.スレッドが使えない
2.開発体制がよわよわで、ソースの共有すらできていない
3.パケットキューのリミットがないというpppドライバの手抜き
4.pppdのAirH"カード対応のための修正になってない修正
5.(おそらく)cuaaが無制限にパケットを溜め込む手抜き
のために1.5人月の仕事に対してこれらの要因だけで1.5ヵ月、人月にすると
2-3人月を消費するというコッピドイ目にあったわけだが、今回は1を解決し
ようとする話。
確かにユーザスレッドの実装は既存のモノがいろいろあるようだが、3,4,5の
例もあるので自前でいこうかと思う。ちなみに5は未解決。つかttyなんてDQN
そのものだしどこから手を付ければいいのやら。
Cだけで組むとすると適当なシグナルハンドラにディスパッチャを書けばでき
そうな気がする。なにせプリエンプティブマルチタスクとコオペレイティブマ
ルチタスクの唯一の差であるところの割り込み中のタスク切り替えが存在しな
いも同然だし。(嘘。シグナルハンドラによる切り替えは存在し得る)
もっとも、これじゃスレッドの内の誰かがブロッキングなAPI呼んだらみんな
止まるからあんまり意味がないんだけど。む~。どうするかなぁ...やっぱカ
ーネルいじってlinuxみたいにclone組むかなぁ...ASIDが同じプロセス起
こせばメモリは共有できるんだし...これはカーネルスレッドだな。
ユーザースレッド More ログイン