「.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
色々なソフトウェア
詳細 †
OS †
スケジューリング方式 †
プロセスやスレッドのスケジューリング方式
- ラウンドロビン方式
ラウンドロビンでスケジューリングして実行
- 優先度順方式
優先度の高いものをスケジューリングして実行
- 優先度エージング
長時間実行されて処理時間が累積したプロセスの優先度を下げる。
- イベントドリブン・プリエンプション方式
リアルタイムシステムで使用され、各タスクに設定された、
応答許容時間に合うようにスケジューリングされる。
タスクの終了時間 †
優先度は1が一番高く、優先度の高いタスクが優先的に処理される。
# | タスク | 発生時刻 | 処理時間 | 優先度 |
1 | A | 0 | 5 | 5 |
2 | B | 5 | 10 | 2 |
3 | C | 10 | 15 | 3 |
4 | D | 15 | 10 | 4 |
5 | E | 20 | 5 | 1 |
- | - | -- | 45 | - |
00000000011111111112222222222333333333344444444445
12345678901234567890123456789012345678901234567890
A *****
B **********
C .....*****.....**********
D ....................**********
E *****
回避方法
- 同じ順序でオブジェクトにアクセスする(CRUD表などを利用)。
- トランザクション内でのユーザの対話をなくす。
- トランザクションを短くして、1つのバッチ内に収める。
- 業務に問題が無ければ、できるだけ低い分離レベルを使用する。
主記憶管理 †
- メモリコンパクション(デフラグメンテーション
主記憶の断片化解消を行う。
- ガベージコレクション
VM上でのメモリ確保と、オブジェクトへの割当と解放
+断片化しためもりのデフラグメンテーションを行う。
- 動的リンキング(ダイナミックリンキング
プログラムの実行に必要なライブラリを、実行時に動的にリンク(連結)する。
- オーバーレイ
ある時点で必要なコードのみをアドレス空間上に置く(仮想記憶)。
- 動的再配置(ダイナミック・リロケーション
プログラム実行モジュールの配置位置を移動させる(仮想記憶)。
ミドルウェア †
ファイルシステム †
開発ツール †
OSS †
参考 †