タグ

Qiitaとkernelに関するslay-tのブックマーク (10)

  • Raspberry Pi の64-bitと32-bitで、パフォーマンスはどのように変わるのか? (メモ置き場) - Qiita

    Raspberry Pi の64-bitと32-bitで、パフォーマンスはどのように変わるのか? (メモ置き場)RaspberryPi 64-bit 版 Raspberry Pi OS が正式リリースとなりました。アーキテクチャーの違いでどのくらい差が出るのかを確認した内容です。 検証環境 共通 Raspberry Pi 4 Model B 4GB microSD: SDSQUAR-032G-GN6MN (32GB/A1) ベンチマークプログラム: 姫野ベンチマーク この条件下で、Raspberry Pi OS 32-bit / 64-bit それぞれで姫野ベンチマークをコンパイル&実行した結果を比較しています。 姫野ベンチマークは、CPUだけでなくメモリ帯域にも負荷がかかる(ような)ベンチマークテストプログラムとして選択しました。 結論 64-bit バイナリーは、32-bit バイナリ

    Raspberry Pi の64-bitと32-bitで、パフォーマンスはどのように変わるのか? (メモ置き場) - Qiita
  • WindowsとWSL2の時刻のずれを修正する - Qiita

    はじめに 仮想マシン上の Windows 10 で WSL2 を使うと大きく時刻がずれるが、Qiita を始め、あちこちで紹介されている hwclock を使う方法ではうまくいかない。ntpdate などで Windows と同じ NTP サーバに同期させる手もあるが、WSL2 から Windows ファイルシステム上にファイルを touch し、そのファイルのタイムスタンプで WSL2 の時刻を設定すれば、このずれが簡単に修正できる。シェルスクリプトでも良いが、Rust で専用のコマンドを作ってみる。 どんな感じか... Windows 側の PowerShell で、時刻を表示するコマンドを叩いてみる。PowerShell の Get-Date と Linux の date で同じフォーマット(ここでは RFC 3339 もどきの形式)で表示させてみる。 PS> wsl -l -v N

    WindowsとWSL2の時刻のずれを修正する - Qiita
  • NetBSDを手探りで移植したときの話 - Qiita

    この記事は自作OS Advent Calendar 2020 7日目の記事となります。 はじめに 現在のオープンソースOSは、たとえばLinux開発ボードであればボードベンダーから移植済みのLinux環境が提供されたり、たとえばNetBSDであればクロスコンパイル環境が整備済みでドキュメントも用意されていて、最低限の移植作業で移植が完了したりします。 ぼくがNetBSDを移植した当時(1993年)はそうではありませんでした。ドキュメントもなくいろいろ手探りで、それも一人でやらざるを得ませんでした。苦労話のことは置いておいて、技術的にどういう物が用意され何を調べてどういう手順で移植していったかを記録に残せればと思います。(って前置きした割に苦労話が多いような気がします、すみません) かなり昔の話なので、けっこう忘れてることも多く、微妙に記憶が間違っていたりすることも、順番が前後していることも

    NetBSDを手探りで移植したときの話 - Qiita
  • Linuxカーネルの起動時トレースの話 - Qiita

    カーネル起動時トレース Linuxカーネルの起動処理は、様々なことが行われるのにそれをデバッグする方法はprintkだったり、逆にkgdbを外部デバッガから繋いだりと、結構な手間がかかっていました。カーネルが起動してしまえば、ftraceにperf, BPF, systemtapと複数の手段が使えるのに、起動時のデバッグは細かいことが出来ません。これは、起動時に指定できるオプションが大雑把になるのが大きな理由の一つでした。シェル芸ではないですが、1行プログラミングだけで様々なことをするのは大変です。 そこで導入されたのがExtra Boot Configuration (bootconfig)です。Bootconfigについては前回の記事を参考にしてください。 ここではカーネルコマンドラインのトレースオプションと、Bootconfigによって拡張されたBoot-time trace(CON

    Linuxカーネルの起動時トレースの話 - Qiita
  • Linuxカーネル、その29年の歴史レポート - Qiita

    Linuxカーネル開発の初期の議論は複数のMLでなされていたので、1997年以前の議論については断片的にしか存在していない。 集められた一部についてはhttp://lkml.iu.edu/hypermail/linux/で公開されているが、これにも抜けがあるので、当時のログを持っている人がいたら提供してほしい。 翻って5.8のMAINTAINERSは19033行もあり、そして1501人のメンテナがリストされている。 THE REST M: Linus Torvalds <torvalds@linux-foundation.org> L: linux-kernel@vger.kernel.org S: Buried alive in reporters Q: http://patchwork.kernel.org/project/LKML/list/ T: git git://git.ker

    Linuxカーネル、その29年の歴史レポート - Qiita
  • めくるめくLinuxカーネルじゃないLinux実装の世界 - Qiita

    EDIT^7: blink と box86、FEX。 EDIT^6: Unikraft 。 EDIT^5: Tilck 。 EDIT^4: コメント。gVisor はすっかり忘れていました!Linuxを拡張するためにLinuxを実装した良い例だと思います。LINE有りましたね。。 SF.netのCVSはもう死んでしまったので除外にしました。。 OSvのバイナリ互換 はPIEであることが要求なので。。といっても世間的にはもうLinux = Debian/Ubuntu で良いですかね。。表現を調整しました。 EDIT^3: Noah忘れてた! EDIT^2: Cygwinは 下書き段階で削ってしまった 。。 qemuを移植したとき に互換性がイマイチだったので。。特殊fdやprocfsの充実ぶりとかを考えると "かなりLinux" と言って良いとは思うけど、 mmap 等でLinuxとWind

    めくるめくLinuxカーネルじゃないLinux実装の世界 - Qiita
  • このKernel、どんなKernel? - Qiita

    はじめに この記事は、Linux Advent Calendar 2019 - Qiitaの8日目です。 この記事では、今使っているLinux Kernelがどんなkernelなのか、どんな設定で動いているのかを確認する方法を紹介します。 Linux Kernelは様々な用途に使われています。 そのため、ひとくちにLinux Kernelと言っても、動作はシステムによって全然違います。 現状を把握する手段を知ることで、効率的にKernelのコードリーディングやより良い設定を探す一助になれば幸いです。 また、コメント大歓迎ですので、なんでもお気づきのことがありましたらぜひお気軽にお願いします。 この記事で書くこと Linux Kernelの素性を確認する方法 Linux Kernelの設定値を確認する方法 この記事で書かないこと 各プロセスや各ユーザなどに対する設定(ulimitやniceや

    このKernel、どんなKernel? - Qiita
  • 自作OSとかLinuxカーネルについて役立った本 - Qiita

    はじめに なんらかの理由によってOSやOSカーネルに興味を持つ人は多々います。しかし、その次のステップとしてどんなを読めばいいんだろうと思っている人はこれまたいっぱいいます。そこで、長年Linuxカーネルにかかわってきた筆者がこれまでに読んでよかったと思うものについてここの列挙しました。紹介するのはだけであって、記事は省いています。もう一点、筆者が書いたものは省いています。 OSそのものに興味を持った人は、その後に興味の方向が次のような二つに分かれることが多いと筆者は考えています。 オレオレOSを作りたい 既存のOSを改造したい この仮説をもとに、それぞれについて筆者がかつて真面目に読んだの中から「自作OS」および「Linuxカーネル」というキーワードでよかったものを挙げておきます。Linux以外の既存OSについては語れるほどの知識はないので書いてません。 筆者について の良し悪し

    自作OSとかLinuxカーネルについて役立った本 - Qiita
  • [最新論文]Octave Convolution(OctConv)を試してみる - Qiita

    Goodfellow先生が紹介していた面白い手法。シンプルかつ強力なCNNの計算コストの削減手法。精度も上がるらしい。サクッと実装できちゃったので試してみました。 OctConv is a simple replacement for the traditional convolution operation that gets better accuracy with fewer FLOPs https://t.co/5CSylHVdA2 pic.twitter.com/kTK96gNj1i — Ian Goodfellow (@goodfellow_ian) April 15, 2019 元の論文 Y. Chen, H. Fang, B. Xu, Z. Yan, Y. Kalantidis, M. Rohrbach, S. Yan, J. Feng. Drop an Octave: R

    [最新論文]Octave Convolution(OctConv)を試してみる - Qiita
  • Linuxのシステムコール再実行について - Qiita

    また、シグナルを受信した際、プロセスは、エラー終了するかシステムコールをもう一度行うように指定できます。 これは、処理がユーザ空間に戻る際に、実行ポインタを「カーネルへ処理を移す命令」に戻すことによって実現されています。 ちょうど書くネタに困っていたこともあり(!)、今のLinux実装を調べてまとめました。 なお、調査対象およびコードを引用したLinuxのバージョンは4.18.11です。また、アーキテクチャはx86です。 システムコールから戻る箇所 システムコールを実行するメインとなる処理は以下の関数です。 #ifdef CONFIG_X86_64 __visible void do_syscall_64(unsigned long nr, struct pt_regs *regs) { struct thread_info *ti; enter_from_user_mode(); loc

    Linuxのシステムコール再実行について - Qiita
  • 1