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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
赤神青空
PRO
October 23, 2026
Video
Programming
9
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 赤神青空
TOTPとメールOTP、どっちが安全?
akagami
PRO
0
9
【AIニュース】Muse Spark Open とは何か
akagami
PRO
0
14
【AIニュース】Jev とは何か
akagami
PRO
0
28
【基本情報対策】CPU・メモリ・キャッシュ
akagami
PRO
0
22
【AIニュース】Anthropic が Git から Scion に移った理由
akagami
PRO
0
31
【AIニュース】Grok Voice 3.0 とは何か
akagami
PRO
0
23
【基本情報対策】探索・整列と計算量
akagami
PRO
0
16
【AIニュース】GPT-6 の Intelligent UI とは何か
akagami
PRO
0
27
【基本情報対策】スタック・キュー・木
akagami
PRO
0
17
Other Decks in Programming
See All in Programming
Kotlinの15年とServer-Side Kotlin
n_takehata
1
160
dotNET_vulnclicker_intro.pdf
deka_morita
0
150
作れる、でも消せるか?──安全に「枯らして消す」機能削除術 / Drain, Then Delete
chobishiba
2
880
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
820
APNsからLive Activityを開始する話
yumnumm
0
170
Event is what happens
moro
2
1.2k
ハーネス設計入門 〜 基礎知識の整理から実務へのステップアップ 〜
kinopeee
28
34k
AI時代のTerminal環境を UNIX哲学で設計・運用する
yasunori0418
1
150
ChromeでローカルLLM
ryu1013
0
160
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
160
R8 の設定見直しでアプリサイズ削減
andpad
0
220
オーケストレーション記述言語 Katari
yukikurage
0
150
Featured
See All Featured
Speed Design
sergeychernyshev
33
2.2k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
810
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
610
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
460
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
740
The Mindset for Success: Future Career Progression
greggifford
PRO
0
540
Color Theory Basics | Prateek | Gurzu
gurzu
1
490
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
580
Side Projects
sachag
456
43k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
5.3k
YesSQL, Process and Tooling at Scale
rocio
174
15k
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