Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
【基本情報対策】OSのプロセスと仮想記憶
Search
赤神青空
PRO
October 23, 2026
Video
Programming
5
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
【基本情報対策】OSのプロセスと仮想記憶
赤神青空
PRO
October 23, 2026
Video
More Decks by 赤神青空
See All by 赤神青空
【AIニュース】Muse Spark Open とは何か
akagami
PRO
0
13
【AIニュース】Jev とは何か
akagami
PRO
0
23
【基本情報対策】CPU・メモリ・キャッシュ
akagami
PRO
0
20
【AIニュース】Anthropic が Git から Scion に移った理由
akagami
PRO
0
31
【AIニュース】Grok Voice 3.0 とは何か
akagami
PRO
0
21
【基本情報対策】探索・整列と計算量
akagami
PRO
0
16
【AIニュース】GPT-6 の Intelligent UI とは何か
akagami
PRO
0
26
【基本情報対策】スタック・キュー・木
akagami
PRO
0
16
【基本情報対策】AI・機械学習の基礎
akagami
PRO
0
23
Other Decks in Programming
See All in Programming
[Dev Group Paris Octobre 26] Agentforce, SIforce, Claudeforce, Slackbot… on s'y retrouve ?
nabondance
0
110
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
220
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
1
1.7k
ActionController meets Protocol Buffers
sorah
0
640
HTML-in-Canvasで作る未来のWeb UI表現
clockmaker
5
5.2k
エージェントを使い続けるためのメタワーク / Meta-work for keeping using the agent
rkaga
3
1k
Workers Cache を知る
syumai
0
370
パズルゲームの作り方 / how to make puzzle games
kaityo256
PRO
2
300
RAG の “R” を Swift で覗いてみる 〜「意味から探す」検索の仕組み〜
nao_randd
0
170
ChromeでローカルLLM
ryu1013
0
160
AWSに止められる覚悟してますか?
morizo_1984
2
540
Event is what happens
moro
2
1.1k
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Code Reviewing Like a Champion
maltzj
529
40k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.4k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Rails Girls Zürich Keynote
gr2m
96
14k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
730
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
630
From π to Pie charts
rasagy
1
400
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Transcript
2026年10月 OSのプロセスと仮想記憶 基本情報技術者試験 対策 #7 赤神青空
▪ヒットとミスを、それぞれの割合で重み付けして足す 前回のクイズの答えは「B」 前回のクイズ キャッシュ10ナノ秒、主記憶60ナノ秒、 ヒット率80%の実効アクセス時間は? キャッシュの時間 × ヒット率 + 主記憶の時間
×(1 − ヒット率) = 10 × 0.8 + 60 × 0.2 = 8 + 12 = 20 答えは B 今ココ おさらい A 8ナノ秒 キャッシュの項(10 × 0.8)だけ B 20ナノ秒 10 × 0.8 + 60 × 0.2 = 8 + 12 C 35ナノ秒 ヒット率を使わない、単純な平均 D 50ナノ秒 ヒット率を逆に⼊れた(10 × 0.2 + 60 × 0.8) 2/15
▪プロセス・仮想記憶と、コンテナのメモリの上限 今回の話 ① プロセス 状態遷移とスケジューリング ② 仮想記憶 ページングとページ置換え ③ 実務では
コンテナとメモリの上限 今回いちばん持ち帰ってほしいこと ページング⽅式の仮想記憶は、⾜りない主記憶をページ単位の出し⼊れで補う 今ココ はじめに 3/15
▪メモリ空間を、分けるか共有するか プロセスとスレッド プロセス スレッド プロセス A プロセス B プロセス C
メモリ空間 メモリ空間 メモリ空間(共有) スレッド スレッド プロセスごとに、メモリ空間が別 ほかのプロセスのメモリは、そのままでは⾒えない 今ココ プロセス スレッド スレッド スレッド スレッドどうしは、メモリ空間を共有する 1つのプロセスの中に、スレッドを複数持てる 4/15
▪実行・実行可能・待ちの3つを行き来する プロセス(タスク)の状態遷移 ⽣成 実⾏可能状態 CPU を割り当てる(ディスパッチ) 時間切れ‧優先度の⾼いタスク 待っていたことが終わった 実⾏状態 終了
⼊出⼒などを待つ 待ち状態 今ココ プロセス 5/15
▪タイムクウォンタムずつ、順番に ラウンドロビン CPU を割り当てる 最後尾 C B タイムクウォンタムずつ実⾏ 先頭 A
CPU 使い切っても終わらなければ、最後尾へ 必要な時間:A は 3 回ぶん、B は 2 回ぶん、C は 1 回ぶん CPU A B C A C 終了 今ココ プロセス B A B 終了 A 終了 6/15
▪優先度の高いタスクから、CPU 優先順と、プリエンプティブ方式 を割り当てる L(優先度:低‧必要 4)を実⾏中に、時刻 1 で H(優先度:⾼‧必要 2)が来る H(優先度が⾼い)
L(低い) H が来る ノンプリエンプティブ⽅式 L L L L H H H は 6 で終了 プリエンプティブ⽅式 L H H L L L H は 3 で終了 実⾏中のタスクから、CPU を取り上げるかどうか 今ココ プロセス 7/15
▪必要なページだけを、主記憶に置く 仮想記憶とページング 仮想記憶(プログラムから⾒える記憶) ページ 1 主記憶(ページ枠 3つ) ページ 1 ページ
2 ページ 3 ページ 3 動的アドレス変換 ページ 4 ページ 4 補助記憶 ページ 5 ページ 2 ページ 6 主記憶にあるページ 今ココ 仮想記憶 ページ 5 ページ 6 補助記憶にあるページ 8/15
▪主記憶に無いページを参照したとき ページフォールト 空きがあれば ページ 5 を参照 → 主記憶に無い(ページフォールト) 主記憶 補助記憶
ページ 1 ページ 3 空き ページ 5 読み込む OS が、補助記憶から主記憶に読み込む 今ココ 仮想記憶 空きが無ければ ページ 6 を参照 → 主記憶に無い(ページフォールト) 主記憶 補助記憶 ページ 1 追い出す ページ 3 読み込む ページ 6 ページ 5 どれを追い出すかを決めるのが、ページ置換え 9/15
▪どのページを追い出すか ページ置換え:FIFO と LRU ページ枠 3つ。参照の順: 4 で、どれを追い出す? 1番⽬ 2番⽬
3番⽬ 4番⽬ ページ 読み込んだのは 最後に使ったのは ページ 1 1番⽬の参照 4番⽬の参照 ページ 2 2番⽬の参照 5番⽬の参照 ページ 3 3番⽬の参照 3番⽬の参照 今ココ 仮想記憶 5番⽬ 6番⽬ FIFO: を追い出す 最初に読み込んだページ LRU: を追い出す 最後に使ってから、 最も時間がたったページ 10/15
▪ページ枠が足りないと、ページフォールトが続く スラッシング LRU で、1 2 3 4 を3回くり返して参照する ページフォールト 4
回 / 12 回 ページ枠 4つ ページフォールト 12 回 / 12 回 ページ枠 3つ 出し⼊ればかりで処理が進まない = スラッシング ページフォールト 今ココ 仮想記憶 主記憶にあった(ヒット) 11/15
▪仮想マシンと違い、ホストのカーネルを共有する コンテナは、プロセスとして動く 仮想マシン コンテナ アプリ アプリ コンテナ コンテナ コンテナ OS(カーネル)
OS(カーネル) アプリ アプリ アプリ ハイパーバイザー ホストの OS(カーネル) ハードウェア ハードウェア namespaces:コンテナから⾒える範囲を分ける cgroups:プロセスのまとまりごとに、CPU やメモリの使う量を制限する 今ココ 実務では 12/15
▪上限に達すると、強制終了されることがある コンテナのメモリの上限 使う量 メモリ+スワップの上限(--memory-swap) OOM で強制終了 スワップ(ディスク) --memory コンテナが使えるメモリの最⼤ メモリの上限(--memory)
上限に達し、スワップでも減らせないと 時間 OOM(メモリ不⾜)になり、既定では カーネルがコンテナの中のプロセスを 強制終了する --memory-swap:メモリとスワップを合わせた上限 --memory だけ指定すると、ホストにスワップがあれば、同じ量までスワップできる 同じ値にするとスワップしない。頻繁にスワップすると、性能が落ちる 今ココ 実務では 13/15
▪ページング方式で、足りない主記憶を補う まとめ プロセスは、3つの状態を⾏き来する プロセス ページング⽅式の仮想記憶は、ページ単位の出し⼊れで主記憶を補う 仮想記憶 実⾏‧実⾏可能‧待ち。どれに CPU を渡すかは、優先順やラウンドロビンで決める 無いページはページフォールト。追い出すページは
FIFO や LRU で選ぶ コンテナは、カーネルを共有するプロセス メモリの上限に達して減らせないと、強制終了されることがある 今ココ まとめ 実務 14/15
▪一度止めて考えてみてください。答え合わせは次回の冒頭で 今回のクイズ ページ枠が3つで LRU 方式。ページを 1、2、3、1、4 の順に参照したとき、4 を 読み込むために追い出されるのは? A
1 今ココ まとめ B 2 C 3 D 追い出さない 15/15