オペレーティングシステム

テスト

春白猫 2023年08月04日 カード79 いいね0

ビューア設定

[Enter]で回答、[Shift + Enter]で改行します。キーボードショートカットテスト結果は全て回答すると保存されます。

オペレーティングシステム
  • OSとは何か、簡潔に説明しなさい。また、OSをフルスペルで(略さないで)書き表しなさい。
    「Operating System」。ハードウェアとしてのコンピュータをユーザにとってより容易に、より効率よく使用できるようにするために必須となる一連のプログラムの総称。
  • 資源とは何か説明しなさい。また、対応する英語を書き表しなさい。
    「Resource」。ソフトウェアが共通的に使う物。CPU、メモリ、ディスク装置などの「ハードウェア資源」、プログラム間で共通に使えるプログラムやデータといった「ソフトウェア資源」などが挙げられる。
  • 仮想化とは何か説明せよ
    ハードウェアなどの実態をユーザから直接見えない形で隠蔽して、あたかも専用に提供されているように見せる事。
  • OSの役割について簡潔に説明しなさい。
    1. 個々のハードウェアの差異を隠し、使いやすくする事、2.コンピュータの能力を無駄遣いせず、効率的に使う事、3.コンピュータの中にある資源を共有する事、4.低レベルのハードウェアを利用者が使いやすいようにレベルの高い論理的なマシンとして提供する事
  • OSは資源の管理者と言われる。その理由を簡潔に説明せよ。
    それぞれ性質の異なる資源を複数のソフトウェアで競合しないように共有する必要があるから。
  • OSの利用形態を挙げ、各々について簡潔に述べよ
    1 バッチ処理 定型的な処理をまとめて依頼する、2 オンライン処理 座席予約や銀行のATMなど、多数の端末装置を平行に処理する。3 時分割処理 端末からの利用に対して短い時間で切り替えることにより、同時並行応答を実現する。 4 個人使用 ひとりで対話型で実現する。
  • GUIについて簡潔に説明しなさい。またGUIをフルスペルで書き表しなさい。
    「Graphical User Interface」ポインティングデバイス(画面上の位置を指すための装置)によって入力でき、グラフィカルな環境で使えるユーザーインターフェース。
  • コマンドとは何か簡潔に説明しなさい
    OSを操作するための指示文であり基本的には英単語や英略語を用いる。
  • コマンド言語とは何か簡潔に説明しなさい
    コマンドによりOSを操作するためのコマンド体系。プログラミング言語であるためキーボードによって1行入力すると、それがプログラムの1行として解釈されて、実行されている。
  • コマンド言語が用いられる理由は何か説明しなさい
    複雑な操作が必要な事を即時実行できるため。
  • APIについて簡潔に説明しなさい。また、APIをフルスペルで書き表しなさい
    「Application Programming Interface」。ハードウェアを使用する際にOSに仲介してもらう手段・決まり事の事。
  • OS APIが必要な理由を簡潔に述べなさい
    応用ソフトウェアが、目的の動作を行う際に、ハードウェアを使用することがありその際にOSに仲介をお願いする必要がある。その時、OSに仲介してもらう手段・決まり事としてAPIが必要である。
  • OS APIはどのように使われるか説明しなさい
    OSにやってもらいたい仕事の種類を、関数名で指定し、適切な因数を与えて呼び出すことで実行する。
  • OS APIを呼び出す際には、実行モードが切り替わることを説明しなさい。
    OSは、資源の管理者として、様々な管理・制御ができている必要があるが、通常の応用ソフトウェアは、そうした権限を制約されている。そのため、ユーザモードで走っていたプログラムから、特権モードで動作するOSの機能を呼び出し、それが終了したらすぐに元に戻る、という作業を行う。つまり、OS APIを実行するときは、非特権モードと特権モードの間を行き来することになる。
  • 実際にはOS APIの呼び出し回数をできるだけ削減する工夫がなされる。この理由を述べよ
    プロセッサが持つ「割込み」の機能を上手く使って、応用ソフトウェアのユーザモードでの実行と、OSでの特権モードでの実行の間を行き来できるようにしている。
  • C言語の標準ランタイムライブラリ(stdlib)とはどのようなものか説明せよ。また、その存在意義は何か。
    C言語のプログラムでよくやる操作をまとめてあるものである。OSにはから提供されているシステムコールだけで応用ソフトウェアを組むのは原始的な機能しかないため大変である。そこで、ランタイムライブラリがあることで応用ソフトウェアのプログラムが作りやすくなる。
  • 互換性とはどのようなことか説明せよ。また対応する英語を書き表しなさい。
    「compatibility」。まったく同じプログラムが、別のOSでも、まったく同じに動くようにすること。
  • 互換性にはさまざまなレベルがある。それらを説明しなさい
    ソース互換とバイナリ互換が存在する。ソース互換はソースプログラムをいったん再コンパイルすれば移行できるレベルの互換性バイナリ互換は、バイナリプログラムをそのまま移行して実行できるレベルの互換性である。ソースファイルのレベルで互換性を維持するにはランタイムライブラリの規格を合わせておくことで可能だが、バイナリ互換は困難である。
  • 移植性について簡潔に説明しなさい。また、対応する英語を書き表しなさい。
    OSが違っても動かすことができるかどうか、どの程度改修すれば別のOSで動かせるようになるのかといった尺度
  • あるOS上で開発されたアプリケーションを異なるOSで実行させたい。それは可能か、不可能か。理由とともに答えなさい。
    プログラムを改修することで可能であるが、困難なことも多い。
  • 特権モード、非特権モードについて簡潔に説明しなさい
    非特権モードは計算機の設定を変えたり重要なファイルを消したりなどを防ぐために一部出来る事を制限したモードで、通常一般ユーザの操作は、非特権モードで動作する。一方、OSなどは、計算機の中でいろいろな制御・設定をするため、できる事に制限を設けない特権モードで動作する。
  • 割込みとはどのようなことか簡潔に説明しなさい
    イベントが起きた際、プログラムの処理を強制的に中断し、適切な手続きを実行させるというもの。
  • 割込みの種類を挙げ、各々について簡潔に説明しなさい
    「システムコール割り込み」カーネルに処理を依頼するときに発行する。 「入出力」入出力の処理の終了やエラーが起きたときに発行する 「外部割込み」タイマからの定時割り込み、キーボード、マウス、センサの信号によって発行される 「プログラム割り込み」ゼロ除算、保護違反、ページフォルト、TLBミスが起きたときなどに発行される
  • 割込みとOSとの関係について説明しなさい
    OSもプログラムであるため、そのままでは積極的にイベントを検知できない。そのため、割り込みによって積極的にイベントを検知できるようにしている。
  • マルチプログラミングについて簡潔に説明しなさい
    主記憶上に複数のプログラムを置き、切り替えながら実行する処理方式。入出力待ちなどによる無駄な待ち時間を他のプログラムの処理に回すことでシステムの利用効率を高める。
  • 割込みによるOSの駆動によりマルチプログラミングが実現できることを、適切な例をもとに説明しなさい
    プログラムAがOSに入出力要請を行った際、入出力が完了するまでプログラムAは動作を続けられない。OSは割り込みによって目を覚まし、他のプラグラムBを起動させつつ入出力処理を行う。これによって主記憶上の複数のプログラムを切り替えながら実行する事ができ、マルチプログラミングが実現できる。
  • 割込みの処理方式を挙げなさい(説明も)
    1 割り込み中は他の割り込みを受け付けないようにする方法。:実現も管理も簡単だが、割り込み禁止期間中に緊急の割り込みイベントが発生した場合、割り込み禁止期間中に発生した割り込みが受け付けられず消滅してしまう可能性がある。2 割り込みに対して優先度を付与し、割り込みに対して高優先度の割り込みがあれば多重割り込みを許し、低い優先度は受け付けない方式: 応答時間を確保できるが、管理が大変である。3 割り込み処理用のサーバプロセスを用意し割り込み受付後の処理はサーバプロセスに任せる方法:応答時間が一瞬であり、次々に割り込みを裁く事ができる。
  • モノリシックカーネルとマイクロカーネルの差異を中心に、それぞれの説明をしなさい。
    「モノリシックカーネル」は必要な関数などをすべて準備して、コンパイルして、ひとつにまとめたカーネル。 「マイクロカーネル」は必要最低限の機能だけを持ち、システムサーバを準備して実際の処理を投げるようにしたカーネル。
  • OSのカーネル以外の部分として、どのようなもの(こと)が考えられるか
    UIや、OS起動と同時に起動するデーモンなどのシステムサービス用のプログラム。
  • 入出力装置にどのようなものがあるか挙げなさい
    マウスやキーボードなど。
  • 入出力装置には大きく分けて キャラクタデバイス,ブロックデバイス の2種類がある。それぞれどのようなものか説明しなさい
    「キャラクタデバイス」はやり取り1回ごとに1文字(1バイト)の単位で出し入れするもの。「ブロックデバイス」はやり取り1回ごとのデータの分量が固定しているもの。
  • 入出力における「装置独立」とはどのようなことか
    どんな装置とのやり取りでも同じ図式で表せる事。
  • 入出力における装置依存とはどのようなことか
    装置毎に違う制御方法を使わなければならない事。
  • 入出力装置の接続の基本的な考え方を述べよ
    アドレスによって入出力装置のそれぞれを区別し、そのアドレスを使うことでアクセスする。
  • 入出力装置の接続方法(OSから見た制御方法)として挙げられる(a)直接制御、(b)入出力制御装置、(c)DMA方式、(d)入出力チャネルのそれぞれを説明しなさい。
    「直接制御」は外部とのデ-タの受け渡しの細部までプログラムで面倒を見る事。 「入出力制御装置」は細かなデータの受け渡しを制御装置に任せ、結果だけを受け取る事。 「DMA(DirectMemoryAccess)方式」DMAは基本的に、あるまとまった分量のデータを指定されたアドレスの場所から他のアドレスに移動すること。入出力制御装置に加え、受け渡しデータの転送を自動化している。 「入出力チャネル」はDMA方式よりもさらに入出力装置に独立性を持たせる事。
  • プロセッサの動作速度(≒プログラムのスピード)と磁気ディスクの動作速度を比較せよ(どのくらいの速度差があるか。概算(オーダー)でよい)
    磁気ディスクからデータを読みだそうとすると記憶媒体の回転速度は、速いものでも10,000rpm(毎分の回転量)くらいなので1秒間にすると166.7回。よって1つのデータのために6msくらい待つ事になるが、10msの間に1秒間に10億回の計算ができるプロセッサは、1億×10m = 100万回の計算が可能である。
  • 入出力要求における同期式/非同期式について説明しなさい。
    応用プログラムが、入出力装置に対して入出力の操作を依頼したあと、待つのが同期式、待たないのが非同期式。
  • 入出力の効率化の手法を挙げ、それぞれについて簡潔に説明しなさい
    「ブロッキング」できるだけデータを貯め込んで、十分に溜まったら、一気にデータを書き込む。 「バッファリング」細かいデータの読み書きのたびにいちいち二次記憶装置内にアクセスするのは非効率であるため、ブロックよりも大きい容量を用意し、データを溜める事。 「ダブルバッファ」2つのバッファを用いる事で、一つのバッファが入出力装置にデータを移し替えている間に平行して処理を進める事ができるようにする方法。
  • ファイルとは何か、ファイルシステムとは何か、それぞれについて簡潔に説明しなさい
    「ファイル」ひとまとまりのデータを記憶・保存するための場所。 「ファイルシステム」ファイルを管理するためのOSのサブシステム
  • ★OSはファイルを名前で管理している。それはなぜか説明しなさい
    ファイルに何が記録されているのかを簡潔に判断できるため。
  • ファイル拡張子について簡潔に説明しなさい
    慣習的にファイルに含まれている情報の種類を示すもの。
  • ★ファイルの論理構造、すなわち(a)順編成(逐次ファイル)、(b)直接編成(ランダムアクセスファイル)、(c)索引順編成(索引つきファイル)のそれぞれについて簡潔に説明しなさい。
    「順編成(逐次ファイル」データが、一列で順番に格納されているもの。 「直接編成(ランダムアクセスファイル)」データの場所をピンポイントで指定できる。 「索引順編成(索引つきファイル)」ファイルに保存してあるデータが、ファイル中のどこにあるのか、索引で引けるようになっている
  • ファイル制御ブロック(FCB)について簡潔に説明しなさい
    ファイル操作の為の全ての情報を集めたもの。
  • ディレクトリとは何か説明しなさい
    二次記憶に置かれているファイルの全ての情報を維持した物。
  • ディレクトリとフォルダの差異を述べなさい
    フォルダはWindowsでの「ディレクトリ」の呼び名である。
  • 木構造による階層型のディレクトリ構成をとることのメリット/デメリットについて述べなさい
    ディレクトリに親子関係をつくることで、目的のファイルにアクセスする際にある親の子のみに限定して検索すれば良くなるため。
  • パス名について必要十分な説明をしなさい
    全く同じ名前のファイルでも、登録しているディレクトリが違えば存在できてしまうため、木構造をなしていることを利用し、木構造の根の部分から出発して登録されているディレクトリをたどり対象を1つに特定する。パス名はこの時のファイルの特定のしかたの事。
  • ルートディレクトリ、ホームディレクトリ、カレントディレクトリのそれぞれを説明しなさい
    「ルートディレクトリ」木構造の根の事。 「ホームディレクトリ」利用者に割り当てられるディレクトリ 「カレントディレクトリ」現在のディレクトリ
  • 絶対パス名、相対パス名、単純名について簡潔に説明しなさい
    「絶対パス名」ルートディレクトリから順にディレクトリを辿っていく形で表す 「相対パス名」最初の文字が「/」のとき、ルートディレクトリから始まる絶対パスを表し、それ以外の文字のときは、目的のファイルの名前そのものか、カレントディレクトリの中にあるディレクトリを指す。 「単純名」相対パス名の一種で、カレントディレクトリ中のファイルを指す事。
  • 「ボリューム」「マウント/アンマウント」について簡潔に説明しなさい
    「ボリューム」記憶媒体の論理的なまとまり 「マウント/アンマウント」マウントとは、コンピュータ本体に接続した周辺機器をオペレーティングシステム(OS)などのソフトウェアに認識させること。アンマウントはそれを解除すること。
  • 二次記憶の割り付け方法は大きく 連続割付け/非連続割付け に分類される。各々について簡潔にしなさい(メリット/デメリットも説明すること)
    「連続割付け」は連続したブロックに二次記憶を割りつける事で、高速で操作が簡単だが、デッドスペースができてしまう。 「非連続割付け」は飛び飛びでブロックに二次記憶を割りつける事で、デッドスペースは防げるが、ポインタや索引の為のブロックが必要になってしまう。
  • プロセスについて簡潔に説明しなさい(プロセスとは?)
    プログラムの実行の単位の事
  • Windowsは「マルチユーザ・マルチタスク」であるか? 理由とともに答えよ
    複数ユーザで実行でき、複数のタスクを同時に実行できるのでマルチユーザ・マルチタスクである。これはマルチタスクであることで複数のソフトウェアを同時に実行できるようにし、マルチユーザであることによって簡単に一つの計算機を複数人で使う事ができるようになっている。
  • プロセス記述子について簡潔に説明しなさい
    プロセスがOSを通じて入出力操作を行う際に参照される、ファイルの構造や内容の要約、ファイル属性などが記された整数
  • ★プロセスの3状態とは何か、プロセスはOSによりどのように制御されるか、簡潔に説明しなさい
    実効が可能である「実行可能状態」実行が可能になるまで待つ「待ち状態」プロセスを実行する「実行状態」の事。新しいプロセスはまず実行可能状態となり、そのうち実行状態となって実行が行われる。この時、入出力など何らかの理由でプロセスの実行を継続できない状況の場合待ち状態となり、応答が帰ると実行可能状態となってそのうち実行状態となり実行を継続する。
  • 主なスケジューリングアルゴリズムを挙げ、それぞれについて簡潔に説明しなさい
    「FIFO」は実行可能キューにプロセスが到着した順番にプロセスをキューイングし、先頭から順に実行するもの。
  • スケジューリングアルゴリズム△△△(△△△には適切なものを入れよ)の長所・短所を簡潔に述べなさい
    「FIFO」はコンテキストスイッチはプロセス終了時にしか発生せず、キューの再編成も必要とされないので、スケジューリングのオーバーヘッドは最小であるが、長くかかるプロセスがCPUを占有することがあるので、スループット(単位時間あたりの処理性能)は低くなりうる。
  • プリエンプションとはどのようなこと(もの)か
    実行状態のタスクを一旦停止して、実行可能状態に戻すこと
  • OSはプロセスをどのように生成するか説明しなさい
    新しいプロセス記述しを用意し、実行可能キューに加える。ここで、基本的に親プロセスが子プロセスを生成する。
  • プロセス間での排他制御の機能について説明せよ。また、これが必要な理由は何か
    あるプロセスに資源を独占的に利用させている間は、他のプロセスが利用できないようにする事。複数プロセスが同じ資源を操作する場合競合してしまう可能性があるため、必要である。
  • 用語:共有資源、クリティカルセクション(臨界領域)、同期、相互排除
    「共有資源」プロセス間で共有する資源 「クリティカルセクション(臨界領域)」1つのプロセスだけが占有して使用する「逐次的資源」を使っている処理の部分 「同期」クリティカルセクションに入れるのをたかだか一つのプロセスにすること 「相互排除」あるプロセスが資源を使っていたら他のプロセスを待たせる事
  • ★セマフォについて簡潔に説明しなさい
    DOWNとUPの2つの操作から成り、資源を使いたいときDOWN、使い終わったらUPする。プロセス状態管理の機能を生かし、資源を獲得できなかったプロセスを待ちキューの中に入れてそこで待たせる事。
  • 同期通信とはどのようなこと(もの)か、非同期通信との差異は何か、説明しなさい
    両者のタイミングを合わせて通信を行う事。送り手がすでにいくつものデータを送り終えていても、受け手がまだ受け取れていない可能性を排除する。非同期通信はそのような問題を起こさないように注意する必要があるが、受信用のバッファさえ用意しておけばタイミングを合わせないため効率よい処理ができるようになる。
  • メールボックスについて、動作の概要も含めて概略を説明しなさい
    共有のスペースにメッセージの保存と管理を行うためのキューを用意し、プロセス間通信を実現する事。メールボックスにデータが入っているかどうかを示すフラグを用意し、相互排除が必要になる問題を解決している。
  • デッドロックとはどのようなこと(もの)か説明しなさい。また、その解決方法も示しなさい。
    複数のプロセスのデータの依存関係が競合し合い、プロセス全体がお互いを待つ状態に陥る事でどのプロセスも処理が先に進まなくなること。依存グラフにサイクルがあると起こる。プロセスを強制終了させるか、プログラムの実行を撒き戻し、前の状態に戻す「ロールバック」を行って解決させる。
  • 再配置とはどのようなこと(もの)か簡潔に述べなさい
    アドレスの再計算をすること。実際のプログラムの中では絶対番地・相対番地が混在している為、複数のプロセスに対してメモリを簡単に割り当てる事は出来ない。そのためアドレスの再計算をして自由にメモリの場所を決められるようにして、複数プロセスを同時にさばく事が出来るようにする。
  • 固定区画割付け、可変区画割付けについて説明しなさい
    「固定区画割付け」大きさの違う領域を用意しておいて走らせたいジョブの大きさによって割り当て方針を決める事。 「可変区画割付け」区画サイズを動的に変更し、OS領域に割り当てる事
  • 断片化とはどのようなこと(もの)か、簡潔に説明しなさい
    再配置や割り当て手法の都合によってできる使用できない領域(断片)が発生してしまう事。
  • 断片化の問題を解決すると、メモリの利用効率が増すばかりでなく、CPUの利用効率(実行効率)も増すという。その理由を簡潔に説明しなさい。
    データの読み出しに時間が掛かると、CPUが行う計算にも支障が出るため。
  • メモリの割当てアルゴリズムのうち、最良一致、最悪一致について説明し、どちらが望ましいか述べなさい
    「最良一致」最初に見つかった空き領域で大きさを満足するものを割り当てる 「最悪一致」一番大きい空き領域を割り当てる。 最良一致は割り当て後に残る空きスペースがどんどん小さくなってしまうため、割り付け後の空き領域が大きい最悪一致が望ましい。
  • コンパクションとはどのようなこと(もの)か説明しなさい。メリット・デメリットも説明すること
    適宜、割り当てずみの領域を移動し、空き領域をひとつにまとめて断片を少なくする事。
  • (メモリ管理手法である)オーバーレイとはどのようなこと(もの)か説明しなさい
    主記憶の大きさより大きいプログラム、データを使いたい際にもとのプログラムやデータを分けて、プログラムの実行に合わせて必要な部分を入れ替えるようにする事。
  • 『プロセスごとに割り当てられるメモリ領域は、さらに(A),(B),(C),(D)の4つの領域に分割される。』(A)~(D)のそれぞれに入る領域名を答えなさい。また、各々の領域は、プロセスがプログラムを実行している間、どのように使われるか、概略を説明しなさい。
    プログラムの手続き部分、プログラムの固定データ部分、動的割り当て領域、スタック領域
  • なぜ仮想記憶が必要なのか説明しなさい
    プログラムやデータのアドレスが何処にあっても大丈夫で、実装されているメモリの容量を気にしなくても良いようにするため必要
  • 仮想記憶の方式であるページング、セグメンテーションについてそれぞれ簡潔に説明しなさい。
    「ページング」メモリ領域を固定領域で管理し、仮想アドレスを実アドレスに変換する事。 「セグメンテーション」メモリ領域を可変領域で管理し、仮想アドレスを実アドレスに変換する事。
  • 実際にはページングとセグメンテーションの両方を用いていることが多い。それはなぜか簡潔に説明しなさい。
    ページングは変換が簡単かつ管理が簡単な為、実アドレスのあり当てなどに役立つ。セグメンテーションは論理的なまとまりを単位に管理できるため、データ領域の上限・下限を決めることなどに役出つ。このようにページングとセグメンテーションにはそれぞれ利点があるから。
  • プログラム実行中のメモリ参照の「局所性」について簡潔に説明しなさい
    資源への参照やアクセスが一部分に偏ったり集中すること。特に、時間的局所性は最近参照されたページが近いうちに再度参照されるという事で、空間的局所性はあるページが参照されると、その近くのページも参照されやすいという事である。
  • ワーキングセットとはどのようなこと(もの)か
    プロセスが活発にアクセスしているページの集合の事。
  • スラッシングとはどのようなこと(もの)か
    必要な数のぺージ数を確保できないとページフォルト率が急激に高くなってしまうが、スラッシングはページフォルトが頻繁に発生する状況である。局所性が少ないプログラムを実行する事で、マルチプログラミングの多重度が大きく、有効なページ割り当てができないために起こる。
よく頑張りました
テストスタート
ログイン
オンライン単語帳

このページを利用するにはログインする必要があります。ログインするとAnkilotをより便利にご利用いただけます。