seegongsik
単語帳
オペレーティングシステム

自分のと 人のを 分ける かべ

仮想メモリでは、プログラムごとに 自分の メモリを 見ました(9話)。 人の メモリは 見えも しませんでした。 でも じつは、みんなの データは 一つの じっさいの メモリに まざって います。 では 何が、自分のと 人のを さわらせないのでしょう? おどろく ことに、さえぎる かべ なんて ありません。

01

一つの メモリに 多くが まざって すむ

かりの 上では それぞれ べつに 使う ようでも、
じっさいの メモリの 中では、みんな 一つに まざって います。
Aの かけらと Bの かけらが、となりあって 置かれて います。
もし Aが となりの Bの 場所を さわれたら、
Aの まちがい 一つが Bを こわし、ひみつも のぞけて しまいます。

じっさいのメモリ
A
B
A
B
B
A
A
B
A
B
B
A

じっさいの メモリを 見て。A(金)と B(青)の かけらが まざって 置かれて います。

一つの 空間に こう まざって いると、不安に 見えますね。
でも じっさいは、Aは Bを ぜったいに さわれません。
何か かたい しきりが 二つの あいだを 止めて いるのでしょうか?
いいえ。ひみつは 9話で 見た あの 地図に あります。

02

かべ ではなく、道が ない だけ

9話の 地図を 思い出して。
Aの 地図は、Aの じっさいの 場所だけを さします。
Bの 場所へ つながる 道は、その 地図に そもそも ありません。
だから Aは「Bの アドレス」という ものを 言う 方法すら ありません。
二つを 止める かべが あるのでは なく、行く 道が ない のです。

A 地図
A1
B1
道なし
A2
B2
道なし
A3

Aを えらんで。Aの 地図は Aの 場所にだけ つながり、Bへの 矢印は ありません。

地図に 道が ないので、行けません。
でも もし ある プログラムが まちがって、
あるいは わざと 地図の 外の アドレスを 呼んだら、どう なるでしょう?
その ときは、また べつの 安全そうちが はたらきます。

03

線を こえようと すると つかまる

プログラムが 自分の 地図に ない アドレスを 呼ぶと、
かえる じっさいの 場所が ないので、変かんが 失敗します。
その しゅんかん、ハードウェアが すぐに 気づき、OSに 知らせます。
OSは「きみは 自分の ものでない 場所を さわった」と 言って、
その プログラムだけを ぴたっと 止めます。わるい アクセスは ついに とどきません。

Aの アドレスと Bの アドレスを じゅんに 試して。自分のは 通過(緑)、人のは つかまって 停止(赤)。

自分のは ちゃんと 行き、人のは その 場で つかまりました。
境界を こえようと する こころみは、けっして 通りません。
この おかげで、とても 心づよい 結果が ついてきます。
一つの プログラムが こわれても、それが 人に 広がらない という ことです。

04

一つ こわれても、のこりは 無事

プログラムごとに 自分の ますに とじこめられて いるので、
こわれる プログラムは、自分の 場所だけを ちらかせます。
人の メモリも、OSも、さわれません。
OSは、こわれた その 一つだけを しずかに かたづけ、
のこりの プログラムたちは、何ごとも ない ように 走りつづけます。

P1
動作中
P2
動作中
P3
動作中

プログラムを 一つ こわして。その 一つだけ 止まり、のこりは 走りつづけます。

保護が なかったら、こわれた 一つが ぜんぶを 引きずったでしょう。
分けて おいた おかげで、事こが 一つの ますに とどまったのです。
安定も、セキュリティも、ここから いっしょに 出ます。
その 土台に あるのは「かべ」ではなく「べつべつの 地図」です。

05

分けること こそが 保護

まとめると、メモリ保護は べつに 作った かべでは ありません。
プロセスごとに 地図を べつに あたえるので、たがいへ 行く 道が なく、
線を こえようと すると つかまり、その 一つだけ 止まります。
だから まざって すんでも ぶつからず、一つ こわれても 広がりません。
分けて おいた こと じたいが、すなわち 保護なのです。

保護を 切ったり 入れたり して。入れると 事こが 一つの ますに とどまり、切ると ぜんぶに 広がります。

ここまで OSは、内がわで CPUと メモリを おさめました。
かわるがわる 使わせ(時分割・スケジューリング)、べつに 守り(仮想メモリ・保護)。
でも コンピュータは、外とも 話さなければ なりません。
キーボード、画面、ディスク、はじめて 見る 新しい そうちまで。
OSは その 多くの そうちを どう 見分けるのでしょう? 次の 話です。

一言でいうとメモリ保護は さえぎる かべでは なく、プロセスごとに 地図が ちがう ことから 生まれる 結果です。自分の 地図は 自分の 場所だけを さすので、そもそも 人の 場所へ 行く 道が ありません。線を こえようと すると、地図に ない アドレスなので ハードウェアが つかまえ、OSは その プログラムだけを 止めます。だから 一つ こわれても、のこりは 無事です。分けること こそが 保護です。
オペレーティングシステム
このページがお役に立ったなら支援する