サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
体力トレーニング
uc2.h2np.net
カーネル空間とユーザ空間 何をさしてオペレーティングシステムと呼ぶのかの議論でも少し取り上げましたが、 いろいろな切口でカーネルを眺めることはできます。ここでは、最初はわかりやすいであろう「プログラムが動作する」という切口から考えてみます。 ユーザ空間とカーネル空間 プログラムが動作する時、システム上では2つの処理空間で処理が行われます。1つはユーザ空間(User space)、もう1つがカーネル空間(Kernel space)です。この2つの空間を行き来して処理を進めます。といっても、プログラムが動作する際、どちらの空間で処理されているかといったことをユーザが意識する必要はありません。 ユーザ空間は、ユーザに割り当てられる計算リソースで、実行しているプログラムが直接アクセス可能なリソースです。 一方、カーネル空間はユーザが直接アクセスできない空間です。システムコール(UNIXのカーネルA
UNIXの定義 UNIXは1969年にベル研究所のKen Thompson、Dennis Ritchieらが作ったオペレーティングシステムの名前です。最初はわかりました。では、「現在のUNIXの定義は?」と聞かれた場合、どのような答えが帰ってくるでしょうか。 1969年に作られたUNIXを源流にもつもの これはなかなかわかりやすい定義です。ほとんどすべてのUNIXの仲間と呼ばれるオペレーティングシステムに当てはまります。しかしながら、GNU/LinuxはオリジナルのUNIXを源流に持ちません。GNU/Linuxのカーネルは最初Linus Torvaldsがゼロから書き始めたものです。しかしだからといってUNIXらしいGNU/LinuxをUNIXの仲間から排除はできません。 (現在The Open Groupが保持している)商標の利用許可を過去に得ていたもの The Open Groupの定
ユーザと権限 オペレーティングシステム内部ではユーザの違いをアカウント名ではなく ユーザID(UID / User IDentifier)による数値で認識しています。 またユーザは1つデフォルトのグループID(GID / GroupIDentifier)がつけられています。 そのユーザIDやグループIDが条件に合致するかどうかでユーザに権限があるかどうかを判断しています。 [1] 補足 ユーザやグループの追加、更新などオペレーションに関してはユーザやグループの管理を参照してください。 唯一例外的なのはユーザIDが0、グループIDが0のユーザrootです。 スーパーユーザーと呼ばれ、 UNIXにおいてはオールマイティーな権限を持つ特別なユーザです。 管理者権限として説明される場合が多いのですが、 管理者として何かするという表現よりも「オペレーティングシステム上で何でもできてしまう権限」 と説
注意 本文は1994年にソフトウェアデザイン誌に連載していたOS入門の原稿をベースにしています。ですからこの文章は1994年当時の状況をベースにしてかかれています。現在ではGNU/Linuxをシステム全体、Linuxをカーネルと区別しますが、本文中ではGNU/LinuxシステムをLinuxと呼んでいます。これは1994年当時の状況をそのまま残しているためです。 OSの歴史は、コンピュータが産まれてから20年ほど経った1960年代中期からスタートします。1960年中期にIBMが開発した商用コンピュータ・システム IBM System/360は、本格的なOS (OS/360)を搭載していました。それ以前のコンピュータ・システムは、部分的にはOSとしての機能を満たしたものがありますが、OS として機能及び概念が確立はしていません。IBM System/360が始めてOSの機能と概念を確立させまし
swapの高速化 fstabでswapのプライオリティが設定できます。この数が多ければ多いほど優先される仕組みになっています。 一方で同じ優先順位であれば均等に使われます。 複数のハードディスク上にswapパーティションを取り、それを同じ優先順位で設定すると、 スワップの際に並列に使われるのでraid0 [1]のような効果をもたらすように出来ています。 下の例は4つのswapパーティションを使いswaponした状態を示しています。 スワップを用意した状態 /proc/swaps スワップが使用中の状態 /proc/swaps 高速なSSDを複数用意し、その上にswapを設定し、 並列にアクセスできるような設定にすると、 かつてないような巨大かつ高速な仮想記憶が手に入ることになるでしょう。 稼働中にswapを無効にする 実メモリが十分にあり、スワップを利用していたプロセスが既に終了しており、
UNIXオペレーティングシステム 第一章 オペレーティングシステムとは何か 第一章:補遺:1 UNIXとは何か 第一章:補遺:2 OS誕生からLinuxまでの歴史 第二章 実際にGNU/Linuxを使ってみよう 第二章:補遺:2 Ubuntuインストール方法 第二章:補遺:3 Ubuntu Live CD 第三章 システム環境を考えてみる 第四章 カーネルの構造と機能 第五章 プロセス管理 第五章: 補遺:1 プロセスのタイムスライスの値を計測する 第五章: 補遺:2 マルチプロセッサとプロセス 第六章 記憶管理 第六章: 補遺:1 Linuxのswapについて私が知っている二、三の事柄 第七章 デバイススペシャルファイル 第七章: 補遺:1 Linux LVM 第八章 ファイルシステム 第九章 ユーザ権限とアクセス制御 第九章: 補遺:1 システムにおけるパスワード管理の概要 第九章:
このサイトはGNU/Linuxを通してUNIXオペレーティングシステムを学ぶ授業で使うテキストを掲載しています。詳しくはこのサイトについてのページを参照ください。また何故GNU/Linuxを取り上げるのかは「なぜUNIXオペレーティングシステムの授業にGNU/Linuxを取り上げるのか」を参照してください。 テキストの目次 第一章 オペレーティングシステムとは何か 第一章:補遺:1 UNIXとは何か 第一章:補遺:2 OS誕生からLinuxまでの歴史 第二章 実際にGNU/Linuxを使ってみよう 第二章:補遺:2 Ubuntuインストール方法 第二章:補遺:3 Ubuntu Live CD 第三章 システム環境を考えてみる 第四章 カーネルの構造と機能 第五章 プロセス管理 第五章: 補遺:1 プロセスのタイムスライスの値を計測する 第五章: 補遺:2 マルチプロセッサとプロセス 第六章
このページを最初にブックマークしてみませんか?
『uc2.h2np.net』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く