# Chapter9-1 「OSのお仕事」「ジョブ管理」 ## 5/8(土) ###### tags:`基本情報技術` 皐月: #### 9-1 * OSの役割 * ハードウェアとソフトウェアの仲立ちをする * コンピュータの基本的な機能を提供する * キーボードを叩けば文字が入力できたり... * ソフトウェアの分類 * 応用ソフトウェアとシステムソフトウェア * 応用ソフトウェア...ワープロや表計算などの各種アプリケーションソフト * システムソフトウェア...OSや言語プロセッサ、各種サービスプログラムなど * 基本ソフトウェアは3種類のプログラム * 制御プログラム...一般にカーネルという * 言語処理プログラム...C言語やjavaなどで書かれたプログラミング言語を、コンピュータが理解できる機械語に翻訳するプログラム * サービスプログラム...補助的なプログラム。例えばファイル圧縮など。 * OSによる操作性の向上 * windowsはGUI * API * OSとアプリケーションの接点部分 * OSは自身が管理することによって、ハードウェアの違いや入出力を全てブラックボックス化する * [ブラックボックス わわわ辞典](https://wa3.i-3-i.info/word16326.html) * 各アプリケーションは、どうやってハードウェアを使用するのか? * OSに指示を出します。 * OSはハードウェアの利用も含めて、自身がもつ各種機能を、アプリケーションから呼び出せる仕組みを用意しています。 * このために設けられたインタフェースを、APIという。 > ようやくAPIが何かわかってきた気がする。。。 > webを支える技術で出てきたと思ったけど、たくさんあった。 * 過去問 * 問1 ok #### 9-2 ジョブ管理 * ジョブ管理 * 利用者からみた仕事の単位がジョブ * OSは実行スケジュールを管理する * 時間のかかる処理を、まとめてコンピュータにやらせておく処理の仕方を「バッチ処理」という。 * バッチ...Batch。和訳すると「一束、ひとまとめ」 * このバッチ処理を次々に登録して、コンピュータをきりきり働かせる仕組みがジョブ管理。 * ジョブ管理の流れ * スプーリング: * 過去問 * 問1: OK! * スワッピング調べたら笑う...ではなく、メモリの管理方式の一つ! * 問2: OK! にわ: - chapter 9-1 * 読み込み * OSはコンピュータの基本動作を実現するソフトウェア * ハードウェア->基本ソフトウェア->ミドルウェアを介したり介しなかったりで、応用ソフトウェアを使う * 応用ソフトウェア=ワープロや表計算ソフトなど * ミドルウェア=多くの応用ソフトウェアが使うけど基本ソフトウェアには入ってないもの * ex)DB管理ソフトなど * 基本ソフトウェアは3種類のプログラムに分けられる。 * 制御 * 言語処理 * サービス * OSはGUI部分も担当している。 * API:OSとアプリケーションとの接点 * 過去問 * OK! - chapter 9-2 * 読み込み * ジョブ管理 * 利用者->マスタスケジューラ(管理プログラム)->ジョブスケジューラ * ジョブスケジューラの中:「リーダ」ジョブ待ち行列に登録->「イニシエータ」ジョブをジョブステップに分解する->「ターミネータ」実行を終えたジョブに割り当てられていたハードウェア資源を解放し、ジョブを出力待ち行列に登録->「ライタ」優先順でジョブ結果出力 * CPUと入出力装置では処理速度に差があるので、入出力データを一旦高速磁気ディスクに書き込んで処理効率を高めることを「スプーリング」という。 * 過去問 * 問1:OK(スワッピングってダメな言葉のイメージしかない・・・w) * 皐月)わかります * 問2:OK ちさと: * OS(基本ソフトウェア) * コンピュータの基本動作を実現 * 例)キーボードを叩けば文字が入力される、マウスを動かせばカーソルが動く、など * ソフトウェアの分類 * 応用ソフトウェア:ワープロや表計算などのアプリケーションソフト * システムソフトウェア * ミドルウェア:DB管理ソフトウェアなど、基本ソフトウェアと応用ソフトウェアの間を橋渡しする * 基本ソフトウェア:OSや言語プロセッサなど * ハードウェア * 基本ソフトウェア(3つのプログラム) * 制御プログラム * OSの核。縁の下の力持ち。カーネルと呼ばれる。 * マイクロカーネル(メモリ管理など機能を限定)とモノリシックカーネル(多くの機能を網羅)がある。 * 言語処理プログラム(言語プロセッサ) * Javaなどで書かれたプログラムをコンピュータが理解できる機械語に翻訳するプログラム * サービスプログラム * コンピュータの機能を補う(ファイル圧縮など) * 代表的なOS * Windows:GUI(マウスなどを使って画面を操作し、コンピュータに命令)。 * MacOS * MS-DOS:Windows以前に使われていたMicrosoft社のOS。CUI(キーボードを使ってコマンドを入力してコンピュータに命令)。 * UNIX:サーバなどに使われることが多い * Linux:UNIX互換 * OSは裏側の制御だけでなく、GUIのようなマウスを動かして指示などの表面的な動作を伝える役割もしている * API * OSは自身が管理することで、ハードウェアの違いや入出力などすべてブラックボックス化 * → 各アプリケーションはどうやってハードウェアを利用するのか? * → ハードウェアの利用も含めてOSの機能を呼び出せる仕組みがある(それがAPI!) * 過去問 * 問1:OK * ジョブ管理 * バッチ処理(時間のかかる処理をまとめてコンピュータにやらせておく処理のしかた)を次々に登録しといてコンピュータをキリキリ働かせる仕組み * カーネルが処理する * ジョブ管理の流れ * マスタスケジューラ → ジョブスケジューラ * マスタスケジューラ:管理プログラム。利用者から指示されたジョブを受け付け、実行をジョブスケジューラに依頼。 * ジョブスケジューラ * リーダ → イニシエータ → ターミネータ → ライタ * スプーリング * CPUと入出力装置では処理速度に差があるため、CPUの待ち時間を減らすための方法 * 過去問 * 問1:OK * 問2:OK