基本ソフトウェアであるOS(オペレーティングシステム)をテーマにしています。タスク管理、割込み制御、主記憶の管理、仮想記憶の管理、OSの機能・種類・特徴について説明していきます。
待ち行列状態にあるタスクをどのような順位で処理するかについて、その方法を大別すると、 優先度方式とラウンドロビン方式の2つに分けられます。
マルチタスクを実現するためには、ある一定の時間間隔ごと、 または入出力要求を出したタイミングなどでタスクを切り替えます。 この切り替える制御を割込み(Interrupt)といいます。
割込みとは、プログラムの実行中に、 何らかの条件によってプログラムの命令実行を強制的に中断し、他のプログラムに制御を移すことです。
割込みが発生すると、コンピュータの各命令の実行ごとに、 コンピュータの実行と非同期の事象が発生したかどうかを調べ、 実行中のプログラムより優先順位の高い事象が生じていれば、特定番地の命令に制御を移します。
この場合、現在処理しているプログラムを一時待避させ、割り込んで入ってきたプログラムを実行します。 割込みの処理が終了すると、待避させたプログラムを回復させ、中断したところから実行を再開します。
ハードウェア割込みともいわれます。 ハード・ディスクやLANボードなど、プログラム以外の原因によって行われる割込みです。 組み込みの装置、外部の周辺機器から割込みが行われます。
実行中のプログラムによって行われる割込みです。 覚えておいてください!プログラムの処理やエラーによって発生します。
スワッピング方式は、主記憶上の領域が不足してプログラムを実行できない場合、 優先度の低いプログラムをいったん主記憶から追い出し、優先度の高いジョブの実行を行う手法です。
仮想記憶方式では、プログラムの実行中、主記憶領域に存在しないページが参照されると、 ページフォールトという入出力を伴うプログラムの割込みをきっかけに、 必要なページを主記憶領域にロードするページインが行われます。
ここでは、FIFO(First-In First-Out)によるページ置き換えのアルゴリズムを説明します。
FIFOは、先入れ先出し方式です。先にページインしたページから先に追い出します。
たとえば、仮想記憶におけるページ置き換えアルゴリズムとしてFIFO方式を採用し、 初期状態では、主記憶には何も読み込まれていないものとします。 主記憶のページ枠が3で、プログラムが参照するページ番号の順序が、 4→3→2→1→3→5→2のとき、ページインの回数は次のようになります。
参照 | 枠内 | イン回数 | 説明 |
---|---|---|---|
4 | [4][][] | 1 | 4を読み込みます。 |
3 | [4][3][] | 2 | 3を読み込みます。 |
2 | [4][3][2] | 3 | 2を読み込みます。 |
1 | [3][2][1] | 4 | 一番古い4を消し、1を読み込みます。 |
3 | [3][2][1] | 4 | 3は読み込まれているのでページインは不要です。 |
5 | [2][1][5] | 5 | 一番古い3を消し、5を読み込みます。 |
2 | [2][1][5] | 5 | 2は読み込まれているのでページインは不要です。 |
よって、ページインは5回です。
API(Application Program Interface)とは、 ソフトウェアからOSの機能を利用するための仕様、またはインタフェースのことをいいます。 一般的には、APIはOSの機能を利用するための関数を指します。
汎用性のあるAPIが定められていれば、周辺機器との連携やインターフェース、 ドライバの作成が容易に行えるといった互換性の高いプログラミングを行うことが出来るため、 アプリケーション開発が容易になります。
データ管理は、OSの制御プログラムの機能の一つです。 データを主記憶装置に割り付けたり、磁気ディスクへのファイルのアロケーション、 スペース管理、ディレクトリの管理などを行う機能があります。
ファイルのアクセス方法を応用プログラムに提供し、 ユーザはハードウェアを意識しないでファイルを使用することが出来ます。
ITスキルを体系的に把握するコンテンツとしてzealseedsのITスキル体系をまとめています。
スポンサーリンク
サイト内のページ
言語
C・C++
/HTML
/Java
/JavaScript
/PHP
/シェルスクリプト
開発環境
Ant
/Burp
/Eclipse
/Fiddler
/gcc
/gdb
/Git
/g++
/JDK
/JMeter
/JUnit
/Teraterm
/ZAP
技術・仕様
Ajax
/CORBA
/Jakarta EE(旧称J2EE、Java EE)
/JNI
ライブラリ/Framework/CMS
bootstrap
/jQuery
/FuelPHP
/Lucene
/MyBatis
/Seasar2
/Spring
/Struts
/WordPress
Web API
Google Maps
ITインフラOSとミドルウェア
Linux
/Windows
/シェル
ActiveMQ
/Tomcat
/MariaDB
/MySQL
/Nagios
/Redis
/Solr
ITインフラセキュリティ
公開サーバーのセキュリティ
SI
ホームページの作り方
スポンサーリンク
関連サイト内検索ツール
zealseedsおよび関連サイト内のページが検索できます。
IPアドレス確認ツール
あなたのグローバルIPアドレスは以下です。
3.14.128.200
HTMLの表示色確認ツール
パスワード生成ツール
文字数のプルダウンを選択して、取得ボタンを押すと「a~z、A~Z、0~9」の文字を ランダムに組み合わせた文字列が表示されます。
ここに生成されます。
スポンサーリンク
Copyright (C) 2007-2024 zealseeds. All Rights Reserved. Loarding…