2-01ソフトウェア
OS:Operating System
基本ソフトウェア
ハードウェアやアプリケーションソフトウェア(応用ソフトウェア)を管理・制御するソフトウェア
Windowsやmac OS,UNIX,Linux,Android,iOSなど
制御プログラム
ハードウェア資源の状態を常に監視し,コンピュータの効率的な
利用を実現するソフトウェア群
ジョブ管理 ジョブをスケジュール管理を行う。ジョブの投入から結果を出るまでの過程を提供する
タスク管理 CPUを効率よく使用するための割り当てを行う
記憶管理 主記憶を効率よく管理する。実記憶管理と仮想記憶管理を提供
ファイル管理 ディレクトリやファイルを管理するファイルシステムの機能を提供する
その他 入出力管理、通信管理、セキュリティ管理、運用管理、障害管理など
API
アプリケーションから,OSが用意する各機能を利用するための仕組み
它是一组定义了软件组件之间交互方式的规范。API定义了不同软件组件如何通过预定义的方法或协议进行通信,以便实现特定功能或访问特定服务。API允许不同的应用程序、服务或系统之间共享数据和功能,而无需了解底层的实现细节。通过使用API,开发人员可以将已经开发好的功能集成到自己的应用程序中,而无需重新编写这些功能的代码。
OSS
Open Source Software
ソースコードを
公開しているソフトウェアです。無保証を原則として,誰でも自由にソースコードを改変し再頒布できる
ジョブ管理とタスク管理
ジョブとタスク
ジョブは,利用者から見た仕事の単位,タスク(プロセス)は,OSから見た仕事の単位、PCに投入されたジョブは幾つかのタスクに分解される。
ジョブ 利用者から見た仕事の単位
タスク OSから見た仕事の単位
ジョブ管理
ジョブ管理の機能の一つに,ジョブのスケジューリングがあり,ジョブの入力と出力を管理します。
PCに投入したジョブは、入力待ち行列に登録され、順番に処理されるのを待つ。
↓
処理された後は出力待ち行列に登録され、順番にプリンタなどに処理結果が出力のを待つ。
病院で診察前⇒診察⇒診察後 イメージ
スプーリング
出力データを磁気ディスクに書き込んでから出力する。スループットの向上
タスク管理
タスク管理では,タスクの生成から消滅までを,実行可能状態・実行状態・待ち状態の三つの状態で管理しながら,CPUを有効活用
実行可能状態(Ready)
CPUの使用権が割り当てられるのを待っている状態。実行可能状態のタスクが複数存在する場合、待ち行列を形成する
実行状態(Run)
CPUの使用権が割り当てられ,実行している状態。
待ち状態(Wait)
他のタスクが入出力装置を使用しているため,入出力処理が完
了するのを待っている状態
タスクの状態遷移
① 生成された直後のタスクは実行可能状態となる
② 実行可能状態のタスクから実行するタスクを選択して,そのタスクにCPUの使用権を割り当てると実行状態へ遷移する。このCPUの割当てをディスパッチという
③ 実行状態中に,他の優先順位が高いタスクが実行可能状態になると,割込みが発生し,優先順位の高いタスクにCPUの使用権が割り当てられる。現在の実行状態のタスクは実行可能状態へ遷移する
④ 実行状態中に,入出力待ちが生じた場合は, 入出力処理が完了するまで待ち状態へ遷移する
⑤ 入出力処理が完了すれば実行可能状態に遷移する
タスクのスケジューリング
複数のタスクの中から,どのタスクにCPUの使用権を割り当てるかを決める方式
到着順方式
実行可能待ち行列の先頭にあるタスクから順に,CPUの使用権を割り当てる
処理時間順方式
処理予定時間が最も短いタスクから順に,CPUの使用権を割り当てる
優先度順方式
優先度の高いタスクから順に,CPUの使用権を割り当てる
ラウンドロビン方式
実行可能待ち行列の先頭にあるタスクから順に,CPUの使用権を割り当て,一定時間(タイムスライス)が経過した場合は,実行を中断して,実行可能待ち行列の最後尾に加える
マルチタスク
割込み処理
割込みは,実行中のプログラムを一時中断し,制御プログラムに制御を移して,必要とする別の処理に切り替えること