出典: カーネル空間 [外語] kernel space 『通信用語の基礎知識』 更新年月日 2014/04/02,URL: https://www.wdic.org/ オペレーティングシステム(OS)のカーネルが稼働しているアドレス空間のこと。 [概要] オペレーティングシステムにも様々なものがあるが、一般的なものは二つの「層」に分けることができる。 そのうち下位の層にあり、よりハードウェアに近い処理、機能を担うのがカーネルで、このカーネルが動作する層をカーネル空間と呼ぶ。対するはユーザー空間である。 [特徴] 空間の分離 アドレス空間をどのように分けて扱うかは、OSごとに様々である。パーソナルコンピューター用OSと、組み込み機器用OSとでは、CPUの違いなどもあり、かなり構造が異なる。 組み込み用の例 組み込み用の例として、SuperH用のNetBSDの実装を説明する。 ・・・ i386の例 パーソナルコンピューター用のLinux/i386やFreeBSD/i386の場合、仮想アドレス空間4Giバイトを二分割し、次のようにしている。 ● 0x00000000〜0xbfffffff ‐ ユーザー空間 (3Giバイト) ● 0xc0000000〜0xffffffff ‐ カーネル空間 (1Giバイト) 実際の物理メモリーはこれよりも少ないことから、OSが、仮想アドレスを適当な物理アドレスへとマッピングすることになる。従って、仮想空間上は有効なページであっても、そのページに物理メモリーが割り当てられているとは限らない。 ディスクドライブのファイルブロックやSWAPを指していたり、あるいは実際にアクセスされたときに0クリアされたメモリーを割り当てる指定になっていることもある。 プログラム カーネル空間のプログラミングは、ユーザー空間とは異なっている。標準関数の一切は、基本的に利用できず、別途カーネル用の関数が用意される。 例えば、printfが使えないカーネルは多い。mallocも、一応使えるが引数などが全く違っている。 カーネル空間用のプログラムを書くときには、その作法を知らねばならない。 [相互のやりとり] 通知 ユーザー空間→カーネル空間 ユーザー空間からカーネル空間に通知をする場合、次のような方法がよく使われる。 ● /dev以下にデバイスを作り、ioctlしてもらう (古典的な方法) ● sysfsでデバイスを作り、read/writeしてもらう (近代的なLinuxで一般的な方法) カーネル空間→ユーザー空間 ・・・ |
同義語・類義語 | 関連語・その他 |
---|---|
kernel memory | kernel space |
kə́rnl méməri | kə́rnl spéis |
カゥーヌルゥ メモゥリー | カゥーヌルゥ スぺイス |
カゥーヌルゥ・メモゥリー | カゥーヌルゥ・スぺイス |
カゥーヌゥルゥ メモゥリー | カーネル スペース |
カゥーヌゥルゥ・メモゥリー | カーネル・スペース |
カーネル メモリ | カーネル空間 |
カーネル・メモリ | ・ |
カーネルメモリ | kernel |
kə́rnl | |
カゥーヌルゥ | |
カゥーヌゥルゥ | |
カーネル | |
[名詞] | |
中心部 | |
核心 | |
中枢 | |
核部分 | |
OSの中枢部分 | |
更新日:2022年 7月15日 |