「カーネル」の定義と位置付けが今ひとつ曖昧なのですが、
どなたかご指導お願いします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

「カーネル」はオペレーティングシステムの中核部分を示す言葉ですが、ここ15年ほどの間に2つの意味ができています。



1.古典的なOSにおける定義
オペレーシングシステムのからコマンドインタフェースを取り除いた部分。
主に,ファイルシステム、プロセス管理、ユーザ管理、通信、デバイス(CPUとメモリを含む)/リソース(システム設定を含む)管理、同期/タイマを指します。

2.新しいOSにおける定義
古典的なカーネルの定義から上位へのシステムインタフェース(システムコール/API)と下位へのシステムインタフェース(デバイス管理部分)を取り除いて独立性を持たせたもの。
マイクロカーネル、カーネライズドカーネルと呼ばれる。
上位インタフェース、下位インタフェースは交換可能であり、一つのマイクロカーネルで多くのオペレーティングシステムのエミュレーションを可能とする。

例えばlinuxは古典的なカーネルを持つOSでそのカーネル部分の多くが(親に当たる)minixカーネルからの流用です。
また、Microsoft Windowsも古典的なカーネルを持ちます。

対してMacOSはMachのマイクロカーネルの流れを汲む(直接的にはMachマイクロカーネルで動作していたNextStepの流れを汲む)カーネライズドカーネルを持ちます。
    • good
    • 0
この回答へのお礼

カーネルの範囲、APIとの違いなど、イメージとして良く分かりました。
職業柄、詳細部分への関心も募りますが、それでも今までもやもやしてたものが、すっきりとしました。ありがとうございました。

お礼日時:2001/04/05 11:29

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QWin10を使われてる方、ご指導下さい。

私は、安物買いの銭失いの経験があります。Win8が安いので、買いましたが、意味が無かったので、Win7に戻しました。ロールダウン出来ず。全てインストールのやり直しでした。Win10はいかがでしょうか?

Aベストアンサー

ここで説明するより一度アップグレードすることをお勧めします。アップグレードしても30日間は8や7に戻せます(途中で初期化したり、windows.oldファイルを削除したりした場合は戻せなくなりますが)。

Qカーネルアップグレード後、unameでバージョンが変わってない

カーネルアップグレード後、unameでバージョンが変わってないという状況になっています。

uname -r

uname -r で表示されるカーネルのバージョンは、そもそもどこの情報を表示してるのでしょうか?
実際にカーネルはバージョンアップしてるけど、uname では古いバージョンが表示されるってことがあるのでしょうか?

[OS]TurboLinux 6 Advanced Server
[Kernel]2.2.18-1 から 2.4.19 へアップグレード

Aベストアンサー

Boot のログを見て,新しいカーネルを読み込んでいるかどうか見たほうが良いのでは?

#dmesg
や,
#more /var/log/messages

等.

Qカーネル再構築失敗

お世話になります。

RedHat 7.2、カーネルのバージョンを上げるため作業をしていましたが、/usr/src 内に linux シンボリックリンクを削除せず新しいカーネルを置いてしまいました。それが原因か、/src 内には 5つのディレクトリ(redhat, linux, linux-2.2.16, linux-2.4.9-13, linux-2.4 )ができてます。

この間違いに気づかす、 某HP 参考に、
make mrproper → make xcpnfig → make dep → make bzdisk
と作業を行いました。で、FDをいれて再起動したのですが、当然のごと起動しませんでした。(4桁(だったと思います)の数字がひたすら画面に出力されつづけてます。)

どこから手をつけていいかわかりません。よろしくお願いします。

Aベストアンサー

/usr/src/linux を消して、/usr/src でカーネルを展開してやり直せば良いと思います。

あと一応念のためですけど、ローダブルモジュールもコンパイルしていますよね?
参考までに私の通常のやり方です。

cd /usr/src
rm -rf linux
tar Ixvf /home/*/linux-2.4.*.tar.bz2
cd linux
make menuconfig
make dep;make clean;make bzImage
make modules;make modules_install
fdformat /dev/fd0h1440
dd if=arch/i386/boot/bzImage of=/dev/fd0

Qusagi20020722のカーネル

LINUX7.3にusagi20020722のカーネルを再構築させようと考えていますが
ダウンロードできるサイトが見つかりません。
どこでダウンロードすればよろしいでしょうか?

よろしくお願いします。

Aベストアンサー

本家のftpは滅茶苦茶混んでいるようなので,本家のWWWページ

http://www.linux-ipv6.org/

からミラーサイトにたどり着けます.

http://www.linux-ipv6.org/mirrors.html

日本だと ftp.kddlabs.co.jp と www.yoshifuji.org の2カ所があげられていますね.
kddlabsの場合,

ftp://ftp.kddlabs.co.jp/IPv6/usagi/snap/kit/

に,お探しのものがあるようです.

Qカーネルの再構築

はじめまして。私はLinuxの初心者です。
今回、RHL9.0を使ってのカーネルの再構築をしようと思っています。
なぜかというとシステムコールの追加の設定をして、それを適用させるにはカーネルの再構築をする必要があると聞きました。
いろいろ調べてみたのですがこれを言うものが見つかりません。解答の方よろしくお願いします。
カーネルのバージョンは2.4.20-8です。

Aベストアンサー

>いろいろ調べてみたのですがこれを言うものが見つかりません。
>解答の方よろしくお願いします。

何を調べて、何が見つからなかったのかよくわからんのですが、とりあえず
手順を書いておきます。

あとは、自己責任でがんばってください。


(1) まず、mkbootdiskコマンドで、起動用フロッピーディスクを作成して、
フロッピーディスクから起動できる事を確認すること。

(2) 現在のカーネルの定義を書き出す

# cd /usr/src/linux-2.4.20-8/
# make menuconfig

一番下の、「Save Configuration to an Alternate File」を選んで、
定義ファイルを適当な名前でセーブ。


(3) 2.4系の最新カーネルソースを入手。

http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.23.tar.gz

(4) /usr/src/ 配下で解凍。

# tar xvzf linux-2.4.23.tar.gz

(5) シンボリックリンクをはる。カーネルソースの初期化。

# ln -s /usr/src/linux-2.4.23 /usr/src/linux
# cd /usr/src/linux/
# make mrproper

(6) カーネル定義の取り込みと設定

# make menuconfig

一番下の、「Load an Alternate Configuration File」を選んで、
先程、セーブした定義ファイルを取り込む。

(7) カーネルの設定・コンパイル

menuconfig画面で、カーネルの設定をした後、Exit->Save で終了。

# make dep && make clean && make bzImage

(8) モジュールのコンパイル・インストール

# make modules && make modules_install

/lib/modules/2.4.23/ が作成されている事を確認。

(9) カーネルのインストール

# make install

(10) /boot/grub/grub.confに新しいカーネルが追加された事を確認する。

title Red Hat Linux (2.4.23)
    root (hd0,0)
    kernel /vmlinuz-2.4.23 ro root=LABEL=/
    initrd /initrd-2.4.23.img

(11) PCの再起動、メニューで、Kernel2.4.23を選択する


(7)~(9)を繰り返してカーネルをチューニングする。

>いろいろ調べてみたのですがこれを言うものが見つかりません。
>解答の方よろしくお願いします。

何を調べて、何が見つからなかったのかよくわからんのですが、とりあえず
手順を書いておきます。

あとは、自己責任でがんばってください。


(1) まず、mkbootdiskコマンドで、起動用フロッピーディスクを作成して、
フロッピーディスクから起動できる事を確認すること。

(2) 現在のカーネルの定義を書き出す

# cd /usr/src/linux-2.4.20-8/
# make menuconfig

一番下の、「Save Configurat...続きを読む


このカテゴリの人気Q&Aランキング

おすすめ情報