タグ

binaryとlinuxに関するWackyのブックマーク (89)

  • IBM Developer

    IBM Developer
  • Linux カーネルのコンテキストスイッチ処理を読み解く - naoyaのはてなダイアリー

    Linux カーネルのプロセススケジューラの核である kernel/sched.c の schedule() を読み進めていくと、タスク切り替え(実行コンテキスト切り替え)はその名も context_switch() という関数に集約されていることが分かります。2.6.20 の kernel/sched.c だと以下のコードです。 1839 static inline struct task_struct * 1840 context_switch(struct rq *rq, struct task_struct *prev, 1841 struct task_struct *next) 1842 { 1843 struct mm_struct *mm = next->mm; 1844 struct mm_struct *oldmm = prev->active_mm; 1845 184

    Linux カーネルのコンテキストスイッチ処理を読み解く - naoyaのはてなダイアリー
  • ようこそ - 読学のススメ-linux

    最近オープンしたエミナルクリニックの池袋東口院がめっちゃ気になるなぁ。 医療脱毛なのにすごい安くていい評判も聞くけど、ほんとに痛くないのかな? 通っている人の口コミをみてみたいなぁー。 なんて気になったので、エミナルクリニックの池袋東口院についてSNSやネットで調べてみました。 そう思ってSNSを中心に調べてみたら、、、口コミや評判も良いじゃない♪ ちなみに、似たようなサービスや商品があるかも?なので、今回調べてみたのはこちらになります。 オープンしました! エミナルクリニックの池袋東口院ですが、すでにオープンしています!(2021年10月6日オープン済) もちろんですが、オープンしたてなんでめっちゃ予約が取りやすいです。 ただし!!人気のある医療脱毛院なので早めの予約が良いかも?!

  • naoyaのはてなダイアリー - sched_setaffinity(2) を使って任意のプログラムを任意のCPU上で動かす

    Linux 2.6 には sched_setaffinity(2) というシステムコールがあり、これを利用して任意のスレッドを(マルチCPU環境下で)特定の CPU で実行させることができます。http://www-06.ibm.com/jp/developerworks/linux/051028/j_l-affinity.shtml によるとリアルタイムプロセスでマネージャとなるスレッドをこのシステムコールで特定の CPU に固定する...といった応用が考えられるそうです。 へえ、と思ったのでちょっと遊んでみました。LD_PRELOAD を使って任意のプログラムを任意の CPU に固定して動かしてみます。GCC の __attribute__)((constructor))( で sched_setaffinitiy(2) を呼びます。(参考: http://0xcc.net/blog/

    naoyaのはてなダイアリー - sched_setaffinity(2) を使って任意のプログラムを任意のCPU上で動かす
    Wacky
    Wacky 2007/08/25
    Linux 2.6 には sched_setaffinity(2) というシステムコールがあり、これを利用して任意のスレッドを(マルチCPU環境下で)特定の CPU で実行させることができます
  • IBM Linux ネットワーク・スタックの徹底調査 - Japan

    IBM Linux ネットワーク・スタックの徹底調査 - Japan
    Wacky
    Wacky 2007/07/28
    Linux ネットワーク・スタックの構造を説明するとともに、そこに含まれる主要な構造をいくつか取り上げます。
  • 2log.net

    Wacky
    Wacky 2007/07/23
    lock競合時、lockを取れない側がその場でbusy loopするのがspinlockで、lockの取得を一旦あきらめて別のrunnableなスレッドにスイッチするのがblocking lock。
  • IBM リダイレクト - Japan

    IBM リダイレクト - Japan
  • Linux Development - IBM Developer

    LinuxThe open source operating system that runs the world.The open source operating system that runs the world.

    Linux Development - IBM Developer
    Wacky
    Wacky 2007/04/21
    Linux システム・コール・インターフェース (SCI) の詳細を説明します。新しいシステム・コールを追加する方法 (そしてその代わりとなる手段)、そして SCI 関連のユーティリティー
  • opentechpress.jp - このウェブサイトは販売用です! - opentechpress リソースおよび情報

    This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.

    opentechpress.jp - このウェブサイトは販売用です! - opentechpress リソースおよび情報
    Wacky
    Wacky 2007/03/23
    straceはシステムコールトレーサで、すでに実行されているプログラムによって発せられたコールを追跡することも、テストしたいプロセスをstraceに開始させることもできる。
  • デバイスドライバを書かずにIOを読み書きする (UserLandIO) - CAT Wiki

    デバイスドライバを書かずにIOを読み書きする † LinuxではI/Oポートの読み書きにはデバイスドライバを書く必要があります。しかしデバック時や簡易的な治具を作るなど、デバイスドライバの作成を省略したいこともあると思います。 このページでは簡易的なI/Oルーチンとして、デバイスドライバを書かずにI/Oポートを読み書きする方法について解説します。ただしこの手法は簡易的なものであり、格的な開発にはあまりお勧めできません。この手法でアプリケーションを開発、デバックし最終的にはデバイスドライバ化することをお勧めします(理由はページの最後に記述します)。 ただ、今までドライバプログラミングが難しそうだからと、せっかくのLinuxボードでもI/Oプログラミングできずに放置されていた方にとっては、はじめの第一歩として学習、研究に大変おもしろい課題と思いますからこれを機にI/O操作の面白さをしってい

    Wacky
    Wacky 2007/01/27
    デバイスドライバを書かずにIOを読み書きする
  • Userspace I/O kernel drivers for Linux - kinneko@転職先募集中の日記

    http://www.kroah.com/log/2006/12/13/ ほー。これはこれは。

    Userspace I/O kernel drivers for Linux - kinneko@転職先募集中の日記
  • Geekなぺーじ : Linuxにデフラグが無い理由

    ShowNet 2025のルーティングをざっくり紹介 ShowNet 2025で行われているルーティングを、ざっくりと紹介します。 オーバーレイネットワーク 続きを読む... RoCEとUltra Ethernetの検証:ShowNet 2025 今年のShowNetでは、RoCEの検証とUltra Ethernetの検証が行われていました。 検証は、トポロジ図の「.dc」と書いてある箇所で行われています。 続きを読む... 800G関連の楽しい雑談@Interop Tokyo 2025 一部界隈では年に1度の業界内同窓会とも言われているInterop Tokyoですが、元ShowNet NOCメンバーで現在は光トランシーバメーカーのグローバルCTOの森川さんと会場で会って800Gについて楽しく雑談になりました。 話をするうちに、凄く盛り上がって、その内容を記事にしたら面白く読んでいただけ

    Wacky
    Wacky 2007/01/07
    「Why doesn't Linux need defragmenting?」という記事が大変面白かったので、日本語訳してみました
  • ドライバの作成

    Kompressorボード上の各種デバイスを操作するため、デバイスドライバとして最低限の動作、つまり、アドレスを指定して読み/書きをするだけの汎用ドライバを作成した。また、そのドライバにアクセスするためのサンプルプログラムも作成した。 カーネルモジュールの作成 ここからkiodrv.tar.gzをダウンロードし、~/cross_compile/srcに置く。 $ cd ~/cross_compile/src/ $ tar zxvf kiodrv.tar.gz $ cd kiodrv $ arm-linux-gcc -D__KERNEL__ -DMODULE -O -Wall -c kompressor_io_driver.c としてコンパイルするとkompressor_io_driver.oが出来るはずなので、それをkompresor上の適当なディレクトリ(/libなど)にコピーしておく。

    Wacky
    Wacky 2006/12/17
    # ./kdrvtestr 0x08000010 とすればCPLDを読み出す事ができ、# ./kdrvtestr 0x08000010 0x00000001とすればCPLDに1を書き込む事ができる。
  • WhirlwindTutorialOnCreatingReallyTeensyElfExecutablesForLinux -

    WhirlwindTutorialOnCreatingReallyTeensyElfExecutablesForLinux - 目次 Linux で動く極小 ELF 実行ファイルをつくる怒涛のチュートリアル (あるいは "Size Is Everything") コメント 以下の文章の日語訳です: http://www.muppetlabs.com/~breadbox/software/tiny/teensy.html gcc の info の日語は以下のページから拝借しました: http://www.asahi-net.or.jp/~wg5k-ickw/html/online/gcc-2.95.2/gcc_2.html#SEC13 Linux で動く極小 ELF 実行ファイルをつくる怒涛のチュートリアル (あるいは "Size Is Everything") She studied

    Wacky
    Wacky 2006/12/16
    Linux で動く極小 ELF 実行ファイルをつくる怒涛のチュートリアル (あるいは "Size Is Everything")
  • 【BSD】jailの作り方 - (・∀・)イイ!!Memo

    jailとは † jailとは「仮想FreeBSDマシン」を実現する機能です。FreeBSDマシン内に、もう一つのFreeBSD環境を作ることができます。 こちらから引用。 ↑ jailを作る † まず、jailを作るディレクトリ決める。今回は/usr/jail/以下に作成した。 make world, make distribution set D=/usr/jail/myjail cd /usr/src make world DESTDIR=$D make distribution DESTDIR=$D -DNO_MAKEDEV mount_devfs devfs $D/dev ↑

    Wacky
    Wacky 2006/11/24
    jailとは「仮想FreeBSDマシン」を実現する機能です。FreeBSDマシン内に、もう一つのFreeBSD環境を作ることができます。
  • 実行回数を記憶している実行ファイル - 兼雑記

    http://d.hatena.ne.jp/alohakun/20061113 を見てて、騙されてはいけない! id:yupo5656 さんは僕らの自由を奪う詐欺師だっ…とか思ったので適当に。 ELFヘッダは e_ident という 16Byte のメンバから始まっています。ここは magic を記録する場所です。 magic については Binary Hacks #4 見てね☆とかそんな感じで。 でまぁ、最初の 4Byte 、 "\x7fELF" までは、無いと動きませんし、しぶしぶつけるわけですが、残りの 12Byte は "Hello world\n" を埋めるための空間です…と思ってたらなんか プロゴルファーは実行コード埋めてた というようなのが今までの粗すぎる粗筋なのですが、たしか高林さんがファイルのパーミッションか時刻情報あたりでカウンタ実現してたなぁ(でもURL見つからないな

    実行回数を記憶している実行ファイル - 兼雑記
    Wacky
    Wacky 2006/11/18
    ELFヘッダは e_ident という 16Byte のメンバから始まっています。ここは magic を記録する場所です
  • GCC some extensions

    gcc(Gnu C Compiler)の拡張文法 [警告!] C/C++言語初心者はこのページを読まないでください。 このページではgcc独自のC/C++拡張文法について解説します。 これらの拡張文法が可能にする機構は確かに便利なのですが、 もちろんANSI規格に従っていないので、一般的には使うべきではありません。 C/C++言語文法を学び始めている初心者はこれらgcc拡張文法を 知るべきではありません。C/C++言語を正しく理解する上で大きな 支障となります。 C/C++言語を十分に熟知した者は、gccがこのようなこともすることを 「雑談」として知っておくと楽しいかもしれません。もちろん 実戦に使うべきではありませんが。しかし初心者が偶然に、これらの 機能を使ってうまくいく場合がありますので、そのような初心者を 見つけたら、それが標準規格ではないことを注意してください。 配列変数をコピー

  • http://japan.internet.com/webtech/20061110/11.html

    Wacky
    Wacky 2006/11/10
    .NET Framework 2.0 の重要なコンポーネントである Microsoft の『Windows Forms API』のサポートを今回初めて追加した。
  • スケジューラで速くする - 間違いだらけの備忘録

    http://debian.fam.cx/index.php?Tips#content_1_16 grub の場合、以下のような感じでパラメータを渡せば変更可能 kernel /vmlinuz boot=/dev/hda1 elevator=cfq /etc/sysfs.conf に以下を追加してもオッケー block/hda/queue/scheduler = cfq 起動後に変更するには # echo cfq > /sys/block/hda/queue/scheduler へー

    スケジューラで速くする - 間違いだらけの備忘録
    Wacky
    Wacky 2006/11/04
    grub の場合、以下のような感じでパラメータを渡せば変更可能 kernel /vmlinuz boot=/dev/hda1 elevator=cfq
  • 2006-09-28

    (add-hook 'compilation-mode-hook (lambda () (setq truncate-lines t)))ようするに、templateの引数ぐちょぐちょ表示されるのが困るわけで。 http://morihyphen.hp.infoseek.co.jp/files/sofs.tar.gz * SOFS (shared object filesystem) SOFSは、.soファイルをマウントするファイルシステムです。 $ ./sofs test $ echo /usr/lib/libimlib-bmp.so >> test/controls/add_libfile $ ls test/libimlib-bmp.so/ loader_bmp こんな感じで、.soの中でエクスポートされてる関数が見れます。 $ echo 'int add_int(int a,int

    2006-09-28
    Wacky
    Wacky 2006/10/07
    SOFSは、.soファイルをマウントするファイルシステムです。