Ruteのプログラミング日記

競技プログラミング(AtCoder)の問題の解説や、過去問を解いた感想、また解けない過去問について共有したいと思ってます。

基本情報技術者日記【#4】

基本情報技術者日記、4日目。

今日は過去問(基本情報技術者)をランダムで20問解きました。

結果は 14/20。なんと7割に到達。

しかし、平均正解率の統計をとるには1回では当然だめなので、毎日20問以上は解こうと思います。

(すみません、おそらく毎日80問っていうのは分野別なら解けると思うので、今度からは分野別で解こうと思います)

ソフトウェアに関してメモリの割り当てや、タスクのスケジューリングなど コンピューター上のプログラムの実行を効率的に処理するにはどうするかを学びました。

これで、第4章の内容はほぼほぼ完了したって感じです。

明日からは、第5章 ネットワークの学習に入ります。

 

昨日の問題の解説

[1]Rute君は競技プログラミングの問題を解くコードを、正しいと思うコードで提出した。

ところが、判定はランタイムエラーを示す「RE」の判定となった。

[2]また、ある問題で同様に提出をしたところ実行時間制限超過を示す「TLE」の判定となった。

この時、どのような割込みが発生したと考えられるか。[1],[2]について適切なものをA~Fの中から1つ選びなさい。

 

A 機械チェック割込み

B カーネル呼び出し割込み

C 入出力割込み

D タイマ割込み

E コンソール割込み

F プログラム割込み

正解[1] = F [2] = D

[1]「RE」ゼロ除算などで発生する内部割込みです。よって答えはFの「プログラム割込み」になります。

[2] 「TLE」実行時間制限超過で発生する外部割込みです。よって答えはDの「タイマ割込み」になります。

ちなみに 内部割込みとはプログラムに起因する割込み、外部割込みとはプログラムには起因せず外部のハードウェアに関係する割込みです。(つまり、ジャッジサーバーとかのことですね)

 

今日の問題

次のうち、タスクにCPUを一定時間割り当て、その時間内に処理が終わらなかったタスクが待ち行列の最後に並び直すCPUの割り当てを意味する言葉はどれでしょう?

 

ア 優先順方式

イ ラウンドロビン方式

ウ 到着順方式

エ 対話型方式