タグ付けされた質問 「kernel」

ほとんどのオペレーティングシステムの主要コンポーネントであるカーネルは、ハードウェアとソフトウェア間のコンピューターの通信のほとんどを管理します。通常、カーネルは、プログラマーがリソースに対して持つことができる最低レベルの抽象化です。


5
非ルートプロセスがポート80および443にバインドすることを許可しますか?
カーネルパラメータを調整して、ユーザーランドプログラムがポート80および443にバインドできるようにすることは可能ですか? 私が尋ねる理由は、特権プロセスがソケットを開いてリッスンできるようにするのは馬鹿げていると思うからです。ソケットを開いてリッスンするものはすべてリスクが高く、リスクの高いアプリケーションはルートとして実行しないでください。 ルート権限で潜伏したマルウェアを削除しようとするのではなく、ポート80で特権のないプロセスがリッスンしているものを把握しようとする方がはるかに好きです。

5
Linuxカーネルはどのように小さくできますか?
通常の安定した3 *カーネルは現在約70 mbです。しかし、ソフトウェアやその他のものがすぐに使える30〜10 mbのLinuxディストリビューションはほとんどありません。 これらのディストリビューションでLinuxカーネルをどのように小さくすることができますか?不要なモジュールとドライバーのみを削除すると、サイズを劇的に削減できますか?カーネルサイズを縮小するために他に何が行われますか?
56 linux  kernel 

11
実行可能ファイルを実行するにはOSカーネルが必要ですか?
C ++などのソースコードがコンパイルされると、コンパイラからの出力はCPUへの直接の命令だと思ったマシンコード(実行可能ファイル)になることを知っています。最近、カーネルについて調べていたところ、プログラムはハードウェアに直接アクセスできず、カーネルを経由する必要があることがわかりました。 したがって、たとえばprintf()関数だけでいくつかの単純なソースコードをコンパイルし、コンパイルによって実行可能なマシンコードが生成されると、このマシンコードの各命令はメモリから直接実行されます(コードがOSによってメモリにロードされると)マシンコードの各コマンドは、OS(カーネル)を通過して実行する必要がありますか? 私は同様の質問を読みました。コンパイル後に生成されるマシンコードがCPUへの直接の命令であるか、CPUの正しい命令を作成するためにカーネルを再度通過する必要があるかについては説明しませんでした。すなわち、マシンコードがメモリにロードされた後はどうなりますか?カーネルを経由するか、プロセッサと直接通信しますか?

7
最初のBIOS命令が0xFFFFFFF0(RAMの「トップ」)にあるのはなぜですか?
BIOSは0xFFFFFFF0から最初の命令をロードすることを知っていますが、なぜこの特定のアドレスですか?たくさんの質問がありますが、少なくともそれらのいくつかで私を助けてくれることを願っています。 私の質問: 最初のBIOS命令が4 GB RAMの「上部」にあるのはなぜですか? コンピューターのRAMが1 GBのみの場合はどうなりますか? 4 GBを超えるRAM(8 GB、16 GBなど)を搭載したシステムについてはどうですか? スタックが何らかの値(この場合、0xFFFFFFF0にある値)で初期化されるのはなぜですか? 私は今日の午後、それについて読んだことがありますが、まだ分かりません。
51 boot  memory  bios  kernel 

2
カーネル以外のオペレーティングシステムにあるもの
私が理解しているように、カーネルはハードウェアとのすべてのやり取りを行い、メモリ、I / Oデバイスなどを管理します。したがって、カーネルはすべてを実行しますが、オペレーティングシステムの一部にすぎません。OSには他に何がありますか?バンドルされているアプリケーションだけですか?たとえば、Ubuntuにはカーネル以外に何がありますか?Gnome Desktop、および他のいくつかのアプリケーション?

2
Linux Distroをビルドできるように、ソースからDarwin Distroをコンパイルすることは可能ですか?
Linux From Scratch(およびBLFS)を読んで引き受けましたが、このガイドに従ってxnuカーネルを置き換えてDarwin Distroを作成できますか?このプロセスは、LFSで概説されているプロセスと大きく異なりますか? 私の現在の理解では、システムを「Linux」ではなく「Darwin」にするために必要なものはすべてカーネルの置き換えになります。これは正しいです? 編集: キラーミストのコメントに応えて、私はこの質問を改善します。一般的にこのトピックに関する情報を探していますが、私が特に探しているのは、LFSが「Linux Distro Creation Guide」であるのと同様に、「Darwin Distro Creation Guide」のようなものです。 そのような情報はおそらくPuredarwin、OpenDarwin、またはGNU / Darwinの人々からしか得られないので、これは助けを求める呼びかけのようなものです。LFSのような「How-We-Made-PureDarwin-Nano-Start-To-Finish」ガイドは完璧ですが、私はそれが多くを求めていることを知っています。
42 linux  kernel  darwin 

5
カーネルはプロセスですか?
Linuxでは、最初のプロセスはinit(pid == 1)であると常に言っています。しかし、なぜシステムをセットアップしてinitプロセスを作成するのはカーネル(起動)ではありません。カーネルはプロセスですか? すべてのユーザースペーススレッドはinitプロセスに基づいています。それでは、スケジューラや、メモリ管理のような他のカーネルについてはどうでしょうか。 基本的に、私が混乱しているのは、カーネルの構造です。プロセスであれば、それは単一のプロセスなのか、複数のプロセスで構成されているのでしょうか。
27 linux  kernel 


6
新しいカーネルをgrub2に追加する方法
この質問は、Super Userで回答できるため、Stack Overflowから移行されました。 9年前に移行され ました。 grub2にカーネルを追加するにはどうすればよいですか?以前のバージョンでできることは知っていましたが、変更されたようです。どのファイルを編集する必要がありますか?
24 linux  ubuntu  kernel  grub 

2
バルーニングOS X kernel_taskと有線メモリ使用量を診断する方法は?
私には非常に奇妙な問題があり、根本的な原因を診断するのに苦労しています。 14 GBのRAM を搭載したMac Pro(2008、8コア2.8 GHz、8800GT)を使用しています(この問題のために最近アップグレードされました!)。 システムを起動してログインすると、vm_stat / top / Activity Monitorはkernel_taskに約150 MBが割り当てられ、マシンに約800 MBの有線メモリが割り当てられていることを示します。 最初から、800 MBは、アプリケーションを実行せずに割り当てられる非常に多くの有線メモリのように見えますが、さらに悪化します。(注意:Wiredはロックされており、スワップできないメモリです) 端末を起動するなどの単純な操作によってトリガーされることがある非常に短い時間の後、kernel_taskはReal Mem(RSIZE)の8〜900 MBに膨らみ、Wired Memoryは1.6 GBに加速します(追加のメモリ要求はすべてカーネル内の有線RAM)。 すべてを終了した場合(IE:実行中のアプリケーションがない、アクティビティモニターまたはターミナルを表示してトップを表示する)、kernel_task RSIZEまたはWired Memoryの使用量の大幅な削減はありません。逆に、システムにタスクをロードすると、ワイヤードメモリが削減されないことがわかります。重要なことは、大量のスワッピングに優先して削減されないことです。 ログアウトしてから再度ログインすると、少し(450 MB kernel_task、1.28 GB Wired)削減されますが、最初に戻ることはできません。 私は奇抜なkextを実行していません-さらに、kextstatはそこに大きなメモリ割り当てを表示しません。最大のメモリは約4 MBのcom.apple.nvidia.nv50halです。 これが発生した場合、マシンは全体的に緩慢に感じます-当然のことながら、このような大量のRAMがページング不可としてマークされているためです。 そこで、いくつか質問があります。 1)この有線メモリのすべてを割り当てたものを診断する良い方法はありますか?多くの場合、kernel_taskサイズの2倍を超えており、アプリケーションは実行されていません。実際のメモリの合計が足し合わないようです-どこにも説明されていないRAMがたくさんあるようです。 2)カーネルが突然6倍のメモリを必要とする原因は何ですか?

3
カーネルNTFSドライバーとNTFS-3G
他の質問にアクセスできなくなったため、より包括的なフレーズの質問。 そもそも移行すべきではないので、もう一方を削除してください。 現在、Linuxには2つのNTFSドライバーが用意されています。 カーネルに含まれるNTFSドライバー、およびFUSEを使用するユーザースペースNTFS-3Gドライバー。 すべてのアカウントで、NTFS-3Gは完全に機能します。 私の質問は、NTFSファイルシステムがリバースエンジニアリングに成功した場合、カーネルNTFSチームがドライバーの変更を実装していないのはなぜですか?現時点ではまだ実験的としてマークされており、データを破壊する可能性が十分にあります。 注:これは、ディストリビューションとはまったく関係ありません...

3
noatimeまたはrelatimeがカーネルのデフォルトのマウントオプションであるかどうかを知る方法
relatimeまたはnoatimeがファイルシステムに設定されているかどうかを確認しようとしていましたが、/ etc / fstabにもカーネルブートオプションにも情報が見つかりませんでした。 まず第一に、atimeで「通常の」動作をしていないことは明らかです。 root@antec:/tmp# rm -f test.txt; echo a>test.txt root@antec:/tmp# stat test.txt | \grep -i 2011 Access: 2011-08-01 21:54:30.000000000 +0200 Modify: 2011-08-01 21:54:30.000000000 +0200 Change: 2011-08-01 21:54:30.000000000 +0200 root@antec:/tmp# cat test.txt > /dev/null root@antec:/tmp# stat test.txt | \grep -i 2011 Access: 2011-08-01 21:54:53.000000000 +0200 Modify: 2011-08-01 21:54:30.000000000 +0200 …

9
Ubuntuインストールのvmlinuxはどこにありますか?
私はoprofileを起動しようとしていますが、このステップで問題に直面しています: opcontrol --vmlinux=/path/to/vmlinux Ubuntuにはvmlinuxというパッケージがありません。Aを実行するlocate vmlinuxと、多くのファイルが取得されます。 /usr/src/linux-headers-2.6.28-14/arch/h8300/boot/compressed/vmlinux.lds /usr/src/linux-headers-2.6.28-14/arch/m68k/kernel/vmlinux-std.lds /usr/src/linux-headers-2.6.28-14/arch/m68k/kernel/vmlinux-sun3.lds /usr/src/linux-headers-2.6.28-14/arch/mn10300/boot/compressed/vmlinux.lds /usr/src/linux-headers-2.6.28-14/arch/sh/boot/compressed/vmlinux_64.lds /usr/src/linux-headers-2.6.28-14/arch/x86/boot/compressed/vmlinux_32.lds /usr/src/linux-headers-2.6.28-14/arch/x86/boot/compressed/vmlinux_64.lds /usr/src/linux-headers-2.6.28-14/include/asm-generic/vmlinux.lds.h /usr/src/linux-headers-2.6.28-15/arch/h8300/boot/compressed/vmlinux.lds /usr/src/linux-headers-2.6.28-15/arch/m68k/kernel/vmlinux-std.lds /usr/src/linux-headers-2.6.28-15/arch/m68k/kernel/vmlinux-sun3.lds /usr/src/linux-headers-2.6.28-15/arch/mn10300/boot/compressed/vmlinux.lds /usr/src/linux-headers-2.6.28-15/arch/sh/boot/compressed/vmlinux_64.lds /usr/src/linux-headers-2.6.28-15/arch/x86/boot/compressed/vmlinux_32.lds /usr/src/linux-headers-2.6.28-15/arch/x86/boot/compressed/vmlinux_64.lds /usr/src/linux-headers-2.6.28-15/include/asm-generic/vmlinux.lds.h /usr/src/linux-headers-2.6.28-16/arch/h8300/boot/compressed/vmlinux.lds /usr/src/linux-headers-2.6.28-16/arch/m68k/kernel/vmlinux-std.lds /usr/src/linux-headers-2.6.28-16/arch/m68k/kernel/vmlinux-sun3.lds /usr/src/linux-headers-2.6.28-16/arch/mn10300/boot/compressed/vmlinux.lds /usr/src/linux-headers-2.6.28-16/arch/sh/boot/compressed/vmlinux_64.lds /usr/src/linux-headers-2.6.28-16/arch/x86/boot/compressed/vmlinux_32.lds /usr/src/linux-headers-2.6.28-16/arch/x86/boot/compressed/vmlinux_64.lds /usr/src/linux-headers-2.6.28-16/include/asm-generic/vmlinux.lds.h これらのどれが私が探しているものですか?
16 linux  ubuntu  kernel 

4
Centosがまだ最新のカーネルを使用しない理由
カーネル3.xxで多くの変更と改善を見てきました 私が気に入っている改善点は、カーネル3.9で導入されたdmcacheです。 すべてのマシンに3つのサーバーがインストールされており、centosがインストールされています Centosはまだ2.6.xxの古いカーネルを使用しています なぜカーネルをアップグレードしていないのだろうか? 資源 Linuxのdm-cacheに関するKyle Mannaのブログ dm-cache(ウィキペディア) Centos(ウィキペディア)
15 linux  ssd  centos  kernel  centos-6 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.