問題
磁気ディスク装置のヘッドが現在シリンダ番号100にあり,待ち行列にシリンダ番号120,90,70,80,140,110,60への入出力要求が並んでいる。次の条件のとき,ヘッドが移動するシリンダの総数は幾らか。 〔条件〕 (1) 入出力要求を並べ替えて,できるだけヘッドを一方向に動かし,シリンダ番号順に処理する,シーク最適化方式である。 (2) 現在のヘッドの移動方向は,シリンダ番号が増加する方向にある。 (3) 現在のヘッドの移動方向のシリンダに入出力要求がなくなったとき,ヘッドの移動方向を変える。 (4) 入出力要求の処理順序を変更しても,処理結果に影響はない。 (5) 処理中に新たな入出力要求は発生しない。
キーボード:1〜4で選択・Enterで次へ
答え合わせ
- A
- B
- C
- D
自信の3択
えらぶと、この端末に記録します(登録はいりません)
解説
答えは b(120) です。
ヘッドは現在100番にあって、まず増える方向に動きます。順番に並べると、上に行く方:110→120→140(=40移動)、その後折り返して下に行く方:90→80→70→60(=140-60=80移動)。合計40+80=120。
👉 覚え方:シーク最適化(SCAN/エレベータ)は「行ける方向に最後まで行ってから折り返す」。
ほかの選択肢:a 80 は片道だけ/c 160 は計算ミス/d 220 は単純なFIFO処理の値。
なぜこれが正解か
正解は b。シーク最適化方式(SCAN/エレベータアルゴリズム)でヘッドはまず増加方向に移動。
- 100→110→120→140(40シリンダ移動)
- 折返し:140→90→80→70→60(80シリンダ移動)
合計 40+80=120シリンダ。
各選択肢の解説
- a 80:片方向の移動距離のみ計算した誤り。
- c 160:折り返しの計算ミス。
- d 220:FCFS(先着順)方式の値で、最適化していない。
覚え方・ひっかけ注意
シーク最適化=SCAN(エレベータ)アルゴリズム。ビルのエレベータが上まで行って折り返すのと同じ。FCFS(先着順)・SSTF(最短シーク時間優先)・SCAN・LOOK・C-SCAN等のディスクスケジューリング方式を整理して覚える。
理論的背景
ディスクスケジューリングアルゴリズムは ①FCFS(先着順、公平だが非効率)、②SSTF(Shortest Seek Time First、近接優先だがstarvation発生可)、③SCAN(エレベータ、両方向移動)、④LOOK(端まで行かず最遠要求で折返し)、⑤C-SCAN(一方向のみ、戻りは飛ばす)、⑥C-LOOK(C-SCANの最遠要求版)に分類される。本問は厳密にはLOOK方式(最遠要求の140で折返し、120でなく140が端)。
実務での使われ方
LinuxカーネルではCFQ(Completely Fair Queuing)→ Deadline scheduler → BFQ → mq-deadline → none(SSD向け)と発展してきた。SSDではシーク時間が問題にならないためI/Oスケジューラの役割は変化し、I/Oマージ・優先度制御中心となる。データベースエンジン(PostgreSQL・MySQL InnoDB)はランダムI/Oを減らすためのバッファプール管理・ライトアヘッドログ(WAL)・チェックポイント設計が中心。
試験での位置づけ
基本情報のハードウェア・OS分野で頻出計算問題。シーク時間・回転待ち時間・データ転送時間の合計でアクセス時間を求める問題と組み合わせて出題される。応用情報・データベーススペシャリストではバッファプール管理・I/Oスケジューリング・ストレージ階層化(SSD/NVMe)が深掘りされる。
選択肢の発展補足
SCAN方式はstarvation(餓死、特定リクエストが処理されない)を防止できる。C-SCANは戻り途中のリクエストを無視して一方向のみ処理することで応答時間のばらつきを抑える。SSD時代になりHDD特有のシーク最適化は重要度が下がる一方、NVMeやNVMe-oFのような高速ストレージではキューイング・並列実行・QoS管理が新しい論点となっている。
出典と作り方
出典:IPA(情報処理推進機構)公式 基本情報技術者試験 平成23年度 秋期 問14/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビ独自の3段階の解説(初級・標準・上級)です。

