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

UNIXカーネルに関するすべて:開発、構成、コンパイル、設計など


2
カーネルの呼び出しの可能性と可能性の違いは何ですか?
カーネルでの可能性の高い呼び出しと可能性の低い呼び出しの間には何がありますか?カーネルソースを検索したところ、これらのステートメントが見つかりました。 # define likely(x) __builtin_expect(!!(x), 1) # define unlikely(x) __builtin_expect(!!(x), 0) 誰かがそれに光を当てることができますか?
11 linux  kernel 

3
Fedora 19で/ dev / loop *デバイスをさらに追加する方法
Fedora 19で/ dev / loop *デバイスをさらに追加する方法は?私がやります: # uname -r 3.11.2-201.fc19.x86_64 # lsmod |grep loop # ls /dev/loop* /dev/loop0 /dev/loop1 /dev/loop2 /dev/loop3 /dev/loop4 /dev/loop5 /dev/loop6 /dev/loop7 /dev/loop-control # modprobe loop max_loop=128 # ls /dev/loop* /dev/loop0 /dev/loop1 /dev/loop2 /dev/loop3 /dev/loop4 /dev/loop5 /dev/loop6 /dev/loop7 /dev/loop-control 何も変わりません。

1
今日のUnixカーネルとLinuxカーネルの主な違いは何ですか?
同じプログラムの多くが両方のカーネルの上で問題なく実行されることは知っています。私は歴史的に、2つのカーネルが異なる起源から来たことを知っています。私は哲学的にも彼らが異なるものを支持していたことを知っています。私の質問は、2011年の今日、UnixカーネルとLinuxカーネルの違い、およびその逆は何ですか?

2
カーネルの更新-警告:lvmetadは実行中ですが無効になっています。有効にする前にlvmetadを再起動してください!
私たちのdebian jessieサーバーの1つを更新したところ、カーネルは更新されました。何回も行ったので、特別なことは何もありません。しかし、grub構成ファイルの生成中に初めて警告が出されました。今まで見たことがない。私が知る限り、システムは再起動後にうまく動作します。 Setting up linux-image-3.16.0-4-amd64 (3.16.7-ckt25-2+deb8u3) ... /etc/kernel/postinst.d/initramfs-tools: update-initramfs: Generating /boot/initrd.img-3.16.0-4-amd64 /etc/kernel/postinst.d/zz-update-grub: Generating grub configuration file ... WARNING: lvmetad is running but disabled. Restart lvmetad before enabling it! WARNING: lvmetad is running but disabled. Restart lvmetad before enabling it! WARNING: lvmetad is running but disabled. Restart lvmetad before enabling it! …
10 debian  kernel  lvm 

2
組み込みと外部のinitramfsを使用したinitの実行の違い?
私は、カーネル(v4.1-rc5)とbusybox(v1.23.2)が設定されたinitramfsのみで構成される最小限のLinuxシステムを構築しています。ほとんどの部分で問題なく動作しますが、組み込みのinitramfsを使用しているか、外部のinitramfsを使用しているかに関係なく、/ initでのコマンド実行の動作に違いがあります。 / initスクリプトは次のとおりです。 #!/bin/sh dmesg -n 1 mount -t devtmpfs none /dev mount -t sysfs none /sys mount -t proc none /proc echo "Welcome" while true do setsid cttyhack /bin/sh done 次に、カーネル.configのCONFIG_INITRAMFS_SOURCEオプションをinitramfsのすべてのフォルダーを含むディレクトリに設定するか、 find . | cpio -H newc -o | gzip > ../rootfs.cpio.gz それを構築します。 次に、CONFIG_INITRAMFS_SOURCEが設定されているかどうかに関係なく、カーネルをコンパイルすると、システムの2つのバリアントが作成されます。 initramfsが埋め込まれたbzImage bzImage + rootfs.cpio.gz(外部initramfs) …
10 linux  kernel  boot  initramfs 

2
printkは内部的にどのように機能しますか?
私printfはその仕事をするためにOSの助けが必要であることを知っています。 printfライブラリがないため、Linuxソースコードでは機能しないことも知っています。そしてprintkデバッグのためにあります。 printkOSがまだ起動している場合、どのように機能しますか?

2
イベントデバイスからのキー入力のキャプチャとマッピング(Toggle TouchPadキーはマップされていません)
Ubuntu 13.10がインストールされたLenovo IdeaPad Yoga 13を持っています。デバイスのキーボードに「Toggle TouchPad」ボタンがあります(F5)。キーボードのF*ボタンが逆になっています(そのためにはF5、Fn+ を押す必要がありF5、F5実際にはトグルキーです)。 ボタンは実際には(特定のデバイスのようなタッチパッドではなく)キーボードによって読み取られることがわかりました/dev/input/event3。したがってsudo input-events 3、ボタンを使用してスキャンコード190を送信することがわかりました。 の出力sudo lsinput: /dev/input/event3 bustype : BUS_I8042 vendor : 0x1 product : 0x1 version : 43907 name : "AT Translated Set 2 keyboard" phys : "isa0060/serio0/input0" bits ev : EV_SYN EV_KEY EV_MSC EV_LED EV_REP の出力sudo input-events 3: 23:13:03.849392: EV_MSC MSC_SCAN 190 …
10 kernel  drivers  input  events 

2
/ proc / sysと/ sys / modules / mod / parameter
私は過去数日間、それがどのように正確に機能するのか疑問に思っていました。sysctlを使用してカーネルランタイムパラメーターを設定できますecho boolen 1> /proc/sys/module/exactParameterが、/sys/modules/module/parameters/parameter値を設定することもできます。 モジュールのパラメーターは、/proc/sys/カーネルにハードに準拠しているだけですか?または、ローダブルカーネルモジュールのパラメータもあるでしょうか? 実行中のカーネルにロードされた後のLKMは、それらのパラメーターをで明らかにします/sys/modules/module/paraeter/params。カーネルにコンパイルされたモジュールにパラメーターがないということですか? 両方のディレクトリの違いは何ですか。
10 linux  kernel  sysctl  proc 



3
Linuxでのログファイルのクリーニング
カーネルモジュールのいくつかの機能をテストするために、kvm ubuntu 10.04仮想マシンを使用しています。/var/logそのモジュールに関するカーネルメッセージを観察するために、ファイルをgrep します。 クリーンな状態から始めるためにrm -rf /var/log/*、仮想マシンを実行して再起動することにより、古いメッセージを含むログファイルを削除します。ただし、再起動した後も、新しいログファイルには古いログメッセージが含まれています。ファイルの削除と仮想マシンの再起動の約5〜6サイクルで、最終的にそれらのログファイルメッセージが削除されます。 なんでこんなことが起こっているの?ログファイルをクリーンアップする簡単な方法はありますか?
10 linux  ubuntu  kernel  logs  syslog 

1
カーネルは悪意のあるプログラムがすべての物理RAMを読み取るのをどのように防止しますか?
可能なすべてのアドレスでメモリを読み取ろうとするプログラムを作成し、それを「完全な」Unixで実行すると、すべての物理RAMにアクセスできなくなります。しかし、オペレーティングシステムはそれをどのようにして防止していますか? 私は、任意のアセンブリコードがすべてにアクセスできる小さなCPUアーキテクチャに慣れています。プログラム(カーネル)がこのような悪意のある操作を検出する方法を理解していません。
10 kernel  security 

1
/ dev / randomをファイルに書き込みますか?
以下を実行するとどうなりますか? cat /dev/random > ~/randomFile # don't run ドライブの容量がなくなるまで書き込まれるのでしょうか、それともシステムがこれに問題を見つけて停止するのでしょうか(無限シンボリックループのように)。
10 kernel  devices  random 

2
32ビットのカーネルで64ビットのユーザーランドソフトウェアを実行するには何が必要ですか?
LinuxとWindowsでは、32ビットと64ビットのソフトウェアを並行して実行できるmultiarch / WoWを備えたシステムを64ビットのカーネルが必要とする状況に慣れています。 そして、何年か前に、誰かがMacOS 10.6 Snow Leopardが32ビットモードのカーネルで64ビットアプリケーションを実行できることを示したとき、それは私の心を驚かせました。これは、1回限りの技術移行だったため、今ではほとんど忘れられている可能性があります。モバイルスペースの最先端を行くハードウェアで、私の知る限り、これはiOSおよびAndroidの64ビットへの移行では必要ありませんでした。 私の質問:32ビットLinuxカーネル(i386またはarmhf)で同じ機能を得るには何が必要ですか? これはおそらく簡単ではないことを理解しています。もしそうなら、Microsoftはこの機能をWindows XP 32-bitに組み込んだ可能性があります。一般的な要件は何ですか?パッチまたは概念実証が提案されたことはありますか? 組み込みの世界では、64ビットのサポートがデバイスドライバーで長時間遅れることがあるので、これは特に役立つと思います。

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