システムコールについて調べていたら、CPUのユーザーモード/カーネルモードなどが出てきてわからなくなってきたので質問します。
## カーネルモード、カーネルランド、システムコール
CPUにユーザーモード/カーネルモードがあるというのを知りました。
カーネルモードではなんの制限もなく、全メモリ空間にアクセスできたり、任意の命令を実行できるモードです。
ここで実行できる命令を特権命令といいます(?)
似た名前の用語にOS(?)に、ユーザーランド/カーネルランドがあるというのを知りました。
メモリ空間を混同しないように、ココからここはカーネル用のメモリ領域、それ以外のところはユーザー用のメモリ領域と割り振っています。
そもそもこれらが、用語的に正しい理解の仕方かどうかも怪しいです。
システムコールはユーザーモードからカーネルモードに移行して、特権命令を実行することができます。
質問
では、「root権限」というのはどういう意味なのでしょうか。
wikiによると、
Unix系OSでは、root が全モード(シングルユーザー/マルチユーザー)で全権利(あるいはパーミッション)を持つユーザーの既約名である
とのことですが、この「全権利」というのがふわっとしていてよくわかりません。
sudoしてroot権限を持つと、CPUのカーネルモードであるように、いつでも特権命令を実行できるような状態のことでしょうか。
そして、ユーザーランド、カーネルランド、全てのメモリ空間にアクセスできる状態なのでしょうか。
それとも、もう少し制限があるもので、ただ単に全てのファイル(~/以下)にアクセスできるだけのものなのでしょうか。
ところどころ理解の怪しい部分があります。
曖昧な部分の補足と、間違っている部分のご指摘をしていただけると嬉しいです。
よろしくおねがいします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。