.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

色々なソフトウェア

詳細

OS

プリエンプティブ方式

スケジューリング方式

プロセスやスレッドのスケジューリング方式

  • ラウンドロビン方式
    ラウンドロビンでスケジューリングして実行
  • 優先度順方式
    優先度の高いものをスケジューリングして実行
  • 優先度エージング
    長時間実行されて処理時間が累積したプロセスの優先度を下げる。
  • イベントドリブン・プリエンプション方式
    リアルタイムシステムで使用され、各タスクに設定された、
    応答許容時間に合うようにスケジューリングされる。

タスクの終了時間

優先度は1が一番高く、優先度の高いタスクが優先的に処理される。

#タスク発生時刻処理時間優先度
1A055
2B5102
3C10153
4D15104
5E2051
----45-
  00000000011111111112222222222333333333344444444445
  12345678901234567890123456789012345678901234567890 
A *****
B      **********
C           .....*****.....**********
D                ....................**********
E                     *****

スレッド同期ツール

  • イベント・フラグ
    イベントの通知
  • ミューテックス
    排他制御処理
  • セマフォ
    リソースが無くなるまで動く
  • I/O完了ポート
    入出力割込。

デッドロック

回避方法

  1. 同じ順序でオブジェクトにアクセスする(CRUD表などを利用)。
  2. トランザクション内でのユーザの対話をなくす。
  3. トランザクションを短くして、1つのバッチ内に収める。
  4. 業務に問題が無ければ、できるだけ低い分離レベルを使用する。

仮想メモリ

物理メモリ

主記憶管理

  • メモリコンパクション(デフラグメンテーション
    主記憶の断片化解消を行う。
  • ガベージコレクション
    VM上でのメモリ確保と、オブジェクトへの割当と解放
    +断片化しためもりのデフラグメンテーションを行う。
  • 動的リンキング(ダイナミックリンキング
    プログラムの実行に必要なライブラリを、実行時に動的にリンク(連結)する。
  • オーバーレイ
    ある時点で必要なコードのみをアドレス空間上に置く(仮想記憶)。
  • 動的再配置(ダイナミック・リロケーション
    プログラム実行モジュールの配置位置を移動させる(仮想記憶)。

ミドルウェア

ファイルシステム

開発ツール

OSS

参考


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-04-03 (水) 08:57:52 (22d)