過去問解きまくり研究所 ホーム

オペレーティングシステム|エンベデッドシステムスペシャリスト試験

この分野には 53問あります。くり返し出ているものから並べています。

この分野だけ解く

この分野でくり返し出ている用語は排他制御(10問)・アルゴリズム(7問)・スケジュール(3問)・応答時間(2問)です。問題が多い回は平成24年度 春期(6問)・平成30年度 春期(5問)・令和2年度 10月(4問)です。

誰がいつCPUと資源を握るかを、時間軸で追う

優先度に基づくプリエンプティブなスケジューリングでは、実行可能なタスクのうち最も優先度の高いものが実行され、より高いものが実行可能になると実行中のタスクは中断されます。次に動かすものを選ぶのがスケジューラ、選ばれたものの情報をCPUに載せて走らせるのがディスパッチャです。応答時間は、時刻を区切って誰が動くかを追えば求められます。周期タスクでは、実行時間を周期で割った使用率の合計が1を超えると、どう並べても間に合いません。

共有資源はセマフォで守ります。P操作は値を減らし、空きがなければそのタスクを待たせます。V操作は値を増やし、待っているタスクがあれば一つを実行可能にします。二つのタスクが資源を逆の順序で取ると、片方だけを握った区間で切り替わったときにデッドロックが起き、取得の順序をそろえれば防げます。低い優先度のタスクが資源を握っている間に、中くらいのタスクが割り込んで高い優先度のタスクを待たせ続けるのが優先度逆転です。

割込みでは、割込み禁止の区間をできるだけ短くします。低い優先度の処理の中で割込みを禁止すると、その間に来た高い優先度の割込みへの応答が遅れるからです。割込み処理は割り込まれたタスクの状態を壊さないよう、それぞれのコンテキストで実行します。

仮想記憶は、主記憶の容量以上の空間をプログラムに見せる仕組みです。ページテーブルの大きさは、ページの数に1エントリの大きさを掛けて求めます。置換えは、最も早く入れたものを追い出すFIFOと、最後の参照が最も古いものを追い出すLRUを、参照列に沿って一つずつ追って数えます。平均アクセス時間は、アクセス1回の時間に、ページフォールトの負担を1回当たりに均した分を足して比べます。

主記憶管理の用語は、何をするかで区別します。要求を満たす最小の空き領域を選ぶのが最適適合、不要になった部分に次の部分を上書きするのがオーバレイ、実行中に必要なモジュールをライブラリから読み込むのが動的リンキングです。同じプロセスのスレッドはアドレス空間を共有するので、プロセス間より軽く通信できます。メモリマップドI/OをC言語で扱うときは、volatileを付けてコンパイラの最適化でアクセスが省かれないようにします。

この分野で出た問題

正解と解説は、答え合わせのあとに出ます。

年度から解く

この分野の問題は 15年度ぶんの試験から出ています。いちばん新しいのは令和7年度 秋期です。年度別に解くと、回ごとにまとめて解けます。