タグ

kernelに関するhts1004のブックマーク (38)

  • GitBook – Knowledge management for technical teams

    GitBook brings all your technical knowledge together in a single, centralized knowledge base. So you can access and add to it in the tools you use every day — using code, text or even your voice.

    GitBook – Knowledge management for technical teams
  • Linuxカーネルを新しいCPUに移植する - 豆腐の豆腐和え

    この記事はLinuxアドベントカレンダー2015 21日目に大遅刻した記事です。ごめんなさい 皆さん、ご家庭に「作ってみたはいいけれど、動くOSがなくて困ってる!」っていうCPUはありませんか?もしそんなCPUがあればLinuxを移植してみてはどうでしょう?? この記事ではLinuxを新しいCPUへ移植する話をします。 前書き なぜLinuxを新CPUに移植する話をしているかというと、学科の同期数名で、FPGAで作ったCPULinuxを移植するということを5月ごろから細々と進めているからです。(もっとも院試やら卒論やらで格的に作業できるのは実際には来年の2月以降です。。)これは以前自作CPUにxv6を移植したやつの第2段階ですね。 まだ新CPUのもろもろが出来上がっていませんので、現在は番の移植のための勉強としてx86アーキテクチャのミニマムな再実装をやっているところです。記事は今

    Linuxカーネルを新しいCPUに移植する - 豆腐の豆腐和え
  • 開発環境構築 | Linuxデバイスドライバ開発入門

    デバイスドライバをビルドするためには、カーネルバージョンと同一バージョンの、kernel-develとkernel-headersパッケージが必要です。 そのため、まずは自身の環境のカーネルバージョンと上記2つのパッケージがインストールされているかどうかを調べます。 # uname -r 2.6.18-238.el5 # rpm -aq | grep kernel kernel-headers-2.6.18-238.el5 kernel-devel-2.6.18-238.el5 上記例では、カーネルのバージョンが「2.6.18-238.el5」であり、同バージョンのkernel-develとkernel-headersパッケージがインストールされています。 もし、インストールされていないのであれば、yumなどを使いインストールします。 # yum install kernel-devel

  • E:\LW2001_how_to_walk_the_kernel.prn.pdf

    •1 VA Linux Systems Japan taka@valinux.co.jp Linux World C&D/Tokyo 2001 2001 10 24 Linux World C&D/Tokyo 2001 2001 10 24 u u u u u u u u u u u u u CD Linux if ( A { A B B A if ( A { B return } B •2 u u u u ’ u … ² u u u u u u u u u u u u u u u u u u u u J •3 u u u u … u … u … u … u … u … u u u u u u u u u u … u u u u …… u u u u •4 u u u u u l l l l CD Linux libc.so 4. I/O a.out LINUX fread() 3. I/

  • 5分で分かるDockerのキホン

    全国100万人のImmutable Infrastructure職人のみなさんこんにちは。 もう誰も彼もがDockerなので、あんまりブログに書こうという気にもならなかったのですが、知り合いからリクエストを貰ったので、5分くらいで分かるようにかいつまんで概略を説明します。 Dockerとは詳しくは家サイト見ればだいたい分かる。仮想化技術コンテナ単位でパッケージングVirtualBoxとかと違って高速、オーバーヘッドが少ない。chrootに近い。LXCには依存しなくなっているコンテナごとにIDが振られるコンテナは差分保存なのでロールバックも簡単一回作ればどこでも動く。JavaっぽいDockerfileでコンテナを作成するDockerfileの1行ごとにコンテナIDがフラれる動作環境Linux Kernel 3.8以降 64bit OSMacの場合はVirtualBoxの中で動かす形になる→

    5分で分かるDockerのキホン
  • ARM 64bit has come!

    【誤りの訂正】 P4における「OCI Distribution Specification」の説明に誤りがありました。 お詫びの上、以下のように訂正いたします(P9、P10の記述の要約になります)。 「イメージを構成するメタデータやrootfsデータをコンテナレジストリへ格納、取得するためのHTTP API群を定義。」 ----- 【概要】 CloudNative Days Tokyo 2019 ( https://cloudnativedays.jp/cndt2019/ )での発表資料です。 ランタイム・イメージ・レジストリまわりの要素技術とその最新動向をご紹介しています。 - イメージ構造・レジストリAPI・ランタイムに関する、OCI仕様と要素技術 - 次世代の軽量コンテナイメージ、汎用レジストリ仕様のOCIでの議論模様 - コンテナのpullにかかる時間を短縮して高速に起動させる技術

    ARM 64bit has come!
  • 僕のIntel NUCが起動しないわけがない

    バックアップのリストア検証が可能な AWS Backup Restore testing を使ってみた/AWS Backup Restore testing, which enables backup restore verification

    僕のIntel NUCが起動しないわけがない
  • Linuxのしくみを学ぶ - プロセス管理とスケジューリング

    Linuxのしくみを学ぶ - プロセス管理とスケジューリング」公開ページ こちらのページはSoftware Design誌 2009年12月号の記事「Linuxのしくみを学ぶ - プロセス管理とスケジューリング」の公開ページです。 「ハイパーバイザの作り方」も公開中ですので、こちらも是非ご覧ください。 公開中の記事 HTML PDF ePub mobi Kindle 原稿データ 全ての原稿データはgithub上で公開されています。 Pull RequestやIssuesを通じて文章の誤り訂正や解説の追記、各フォーマットの表示の改善などのコントリビューションを受け付けています。 改善された記事は随時このページにアップロードしていきます。 記事に関するご質問 記事を読んで何かわからなかった点があったり、疑問に思ったことがあれば以下の連絡先に問い合わせてください。 Twitter: @syuu

  • Linuxカーネルハックに興味があるけど特にネタが無いんだよな〜って人向けの小ネタ - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ

    Linuxカーネルに興味があるんだけど特に作りたいものってないんだよなーなんて割とあると思う訳です。俺とか。。。 まあ、kernelnewbiesのメーリングリストでもよく見る話題かと思います。この辺なんかもそうですね。 で、そんな時にオススメできるのがkmemleak。カーネルに組み込まれたメモリーリーク検出ツールです。 使い方は至って簡単でカーネルのコンフィグレーションにあるKernel memory leak detectorを有効にしたカーネルを普通に使えばOK。カーネルはメインラインのrcでもtipでもlinux-nextでも何でも良いと思います。 設定の場所はKernel Hacking -> Memory Debugging -> Kernel memory leak detectorにチェックをするのと、 その下のMaximum kmemleak early log ent

    Linuxカーネルハックに興味があるけど特にネタが無いんだよな〜って人向けの小ネタ - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ
  • Glibc malloc internal

    2. 今日は何の話? libc でもっとも良く使われる関数、 malloc と free の実装の解説 もっと一般的に言うと、プロセスのアドレス空間のうち、 heap 領域とよばれる、場所を操作する関数の説明 解説というと聞こえはいいが、そんな大層なものじゃない 3. Linux での process address space model kernel stack text mmap data bss heap 矢印はデータ量の増加と ともに、伸びる方向 使用中 使用中 使用中 今日は、ここ、 heap と呼ばれる領域のお話 low high free free free 4. 古典的 malloc プログラミング言語 C (いわゆる K&R) で紹介された初期の Unix の malloc 実装 使用中 使用中 使用中 free listの head 使用中 ・ free list を

    Glibc malloc internal
  • カーネルをmakeしよう! - 第4回つくらぐ勉強会

    筑波大学 Linux User Group (つくらぐ) http://www.tsukuba-linux.org/Read less

    カーネルをmakeしよう! - 第4回つくらぐ勉強会
  • インターネットサーバでのPthreadとepoll(1)

    連載ではシステムコールプログラミングの例も掲載していく予定ですが、記事ではLinuxに追加されたepollを採りあげ、インターネットサーバでのPthread利用と比較してみます。 はじめに マルチスレッドプログラミングが普及し、POSIX threadも制定され、Pthreadの利用は目新しいものではなくなりましたが、スレッドにまつわる迷信や誤った認識を、だいぶ減ったとはいえ、今でもたびたび耳にします。例として、 スレッドはプロセスよりも軽いので、多数作成しても軽快に動作する スレッドはプログラミングを簡単にしてくれ、1つの処理だけに集中できる などがあります。しかし、これらは常に真であるとは限りません。記事ではマルチスレッドの概念や入門を繰り返すのではなく、その利用方法をHTTPサーバのサンプル実装を基に考察します。更にLinuxに追加された独自機能のepollインタフェースを用い

    インターネットサーバでのPthreadとepoll(1)
  • カーネルおさんぽまっぷ超入門

    Kernel/VM Advent Calender 2013 7日目 カーネル/VMはておくれなすごい人がけっこう集って、ネタとか披露しているようです. 今年のAdvent Calenderも既に濃い内容が集っています. でも、私達パンピーにはカーネルとかちょっと難しすぎてそもそも カーネル/VMという主題自体敬遠しちゃう…… ということで当にカーネルの第一歩をやってみよう、というのがこの記事です. 記事タイトルはえりっく氏(@siritori)から無断で肖ってます.ありがとうございます 今年の他の記事が高度な内容なので この記事が低レベル(低レイヤということでなく当に程度が低いという意味で)ですいません. 普段からカーネル/VMに参加してる皆様、さようなら. カーネル/VM界隈わいわいしてておもしろそうだけど怖くて敬遠してる方々、こんにちは. 前置きはこのぐらいで文行きます. 少々

    カーネルおさんぽまっぷ超入門
  • Linuxでファイルディスクリプタが足りなくなりサービス停止障害 - モーグルとカバとパウダーの日記

    今日、Web/メール等のサービスを稼働させてる自社のLinuxサーバが、突然サービスが停止してしまう障害が発生した。 特にメールでトラブルが広がっており、プロセス見るとdovecot deliverとpop3が多数止まっている状況だった。 ログを見ると、deliverは「still being delivered」というエラー、pop3は「Too many open files in system」等のエラーを吐いていた。 最初はメールだけのトラブルと思い、とりあえずdovecotとpostfixのstopを掛けたのだが、デーモンの親プロセスは死ぬもののdeliverもpop3もSTATが「D」や「Ds」となっていたため「# kill -9」しても死なず。 いくつかログを見たところ、ファイルシステムの障害は考えにくかったため、リブートするしかなかろうということで「# shutdown -r

    Linuxでファイルディスクリプタが足りなくなりサービス停止障害 - モーグルとカバとパウダーの日記
  • CentOS 6.2 で RPS/RFS を使ってネットワークの割り込み処理を複数コアに分散してみた - blog.nomadscafe.jp

    以前(2010年)に「アプリケーションがマルチスレッドでもマルチコアCPUを活かせない件」というエントリにてCPUのコアが増えても割り込み処理が分散されないのでスケールされないと書いたけど、その後Linux KernelにRPS/RFSなる機能が追加され、割り込み処理が分散できるようになり、CentOS 6.2 でも使えるらしいので試してみました。 RPS/RFSについての紹介は VIOPS06で「RPS・RFS等最新Linux Kernel事例」と題してお話してきました http://d.hatena.ne.jp/syuu1228/20110722/1311322653 Linux内核 RPS/RFS功能详细测试分析 http://www.igigo.net/archives/204 が詳しい。2番目のはほぼ読めないけど、性能比較のグラフが分かりやすい。 今回試したサーバは、 OS: C

  • KVMのためのlinux kernel入門

    Statistics Favorites 1 Downloads 0 Comments 0 Embed Views 0 Views on SlideShare 333 Total Views 333 仮想環境では、ゲスト OS が「物理的なメモリだ」と思っている仮想物理アドレスは、実際の物理アドレスではありません。そのため、ゲスト OS がメンテナンスしているページテーブルを直接 CPU が参照すると来アクセスしたかったメモリとは違う箇所へアクセスすることになります。 そのため、仮想物理アドレスから物理アドレスへの変換表を管理しているハイパーバイザが「 shadow page table 」と呼ばれるページテーブルを用意します。ゲスト OS が管理するページテーブルを監視し、更新があれば影のようについていく、というところからこのような名前になっています。「 CR3 」レジスタの変更もハイ

  • How to read linux kernel

    4年前にRustで新規プロダクトを?!枯れてない技術の採択にまつわるエトセトラ:developers summit 2023 10-d-8Yusuke Mori

    How to read linux kernel
  • プロセスとスレッド - Linux Kernel - FreeBSDいちゃらぶ日記

    研究室内で行われている、Linux Kernel勉強会で発表を行いました。勉強会でスピーカーを行うのは初めてでしたので、なかなか番はスムーズに進まなくて残念でしたが、その一方で非常に良い経験となるものでした。 そして今回、この資料を眠らせておくのは勿体ない、ということでこれを当ブログにて公開したいと思います。 なお、オライリー・ジャパンより発行されている「詳解Linuxカーネル 第三版」を元にしています。今回担当したのは3章の前半である3.1「プロセス、軽量プロセス、スレッド」と3.2「ファイルディスクリプタ」です。 スライド配布ページ でも、 ただ単にスライドのファイルを置いておくのもねということで、以下に今回の内容(3章)のさわりの部分について書いていきたいと思います。 まず始めに プロセスとスレッドについて、ユーザ側、つまりシステム利用者(アプリケーションプログラマなど)から見たこ

    プロセスとスレッド - Linux Kernel - FreeBSDいちゃらぶ日記
  • 『Linuxカーネル解読室』輪講 #1「プロセススケジューリング」 - Kentaro Kuribayashi's blog

    Linuxカーネルの話を知りたいなーってんで、『Linuxカーネル解読室』の輪講を始めました。とりあえず、カーネルのソースをがりがり読み込むというよりは、ざっくりと動作を把握しようという感じで。今日の初回は、第1章「プロセススケジューリング」を読みました。この分野にまったくもって不案内なので、難しい……。少しづつでも理解を進めたいです。 以下に資料を貼り付けておきます。実際には、id:naoyaをはじめとした参加者によるフォローに助けられて進めた感じなので、資料だけだといろいろとアレな面もあるとは思います。 Linuxカーネル2.6解読室 作者: 高橋浩和,小田逸郎,山幡為佐久出版社/メーカー: ソフトバンククリエイティブ発売日: 2006/11/18メディア: 単行購入: 13人 クリック: 189回この商品を含むブログ (116件) を見る [24時間365日] サーバ/インフラを支

    『Linuxカーネル解読室』輪講 #1「プロセススケジューリング」 - Kentaro Kuribayashi's blog
  • x86 Linux のメモリモデル、プロセス空間切り替え、カーネルスタック - naoyaのはてなダイアリー

    ひとつ前のエントリ id:naoya:20070924:1190653790 では Linux のコンテキストスイッチにおける、主にハードウェアコンテキストの退避/復帰の処理を追ってみました。その中で カーネルスタック (switch_to() 内で pushl %ebp とかして値が積まれるスタック)とはそのときの実行コンテキストに紐づくカーネルプロセススタックという理解でよいか。 という疑問がもやもや湧いて出てきました。ここ数日 はじめて読む486―32ビットコンピュータをやさしく語る を読んでいたのですが、その中にこの疑問への答えへの入り口が載っていまして、そこを糸口に調べてみました。で、結果としては 答え: 良い でした。 x86 は特権レベルの移行と連動してスタックポインタを切り替える仕組みを持っています。Linux の場合モードはカーネルモード(特権レベル0) とユーザーモード

    x86 Linux のメモリモデル、プロセス空間切り替え、カーネルスタック - naoyaのはてなダイアリー