タグ

linuxに関するblanketskyのブックマーク (18)

  • Sysenter Based System Call Mechanism in Linux 2.6

    Starting with version 2.5, linux kernel introduced a new system call entry mechanism on Pentium II+ processors. Due to performance issues on Pentium IV processors with existing software interrupt method, an alternative system call entry mechanism was implemented using SYSENTER/SYSEXIT instructions available on Pentium II+ processors. This article explores this new mechanism. Discussion is limited

  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • Ubuntuのカーネル再構築 - adsaria mood

    以前、Redhat系のCentOSのカーネルを再構築したが(「CentOSのカーネル再構築」)、今回はUbuntu(Debian系)の再構築を試みた。 カーネル体はディストリビューションとは独立しているので基的なやり方は同じだが、Debianではカーネルの再構築用のユーティリティ(スクリプト等)を提供しているので、それらを使って簡単に構築できる。 次のような手順となる。 環境の整備(開発環境パッケージの追加) ソースコード・パッケージのダウンロード ソースコードの展開 カーネルのコンパイル カーネルのインストール 来は3と4の間にカーネル構成の設定があるが、今回は先ず現在動いているカーネルと同じ構成のものを作ることを目的としたので省略した。 ■ 環境の整備 Ubuntuはインストールしたての状態でコンパイルの環境が十分ではないためまず、一応、コンパイラの環境を整える。 root@ub

    Ubuntuのカーネル再構築 - adsaria mood
  • The Linux Kernel

    David A Rusling david.rusling@arm.comv0.8-3 January 25, 1999 JF Projectv0.8-3 December 2000 *フレーム表示* 書は、Linux カーネルの仕組みを知りたい Linux 愛好家のためのものです。これは 内部構造のマニュアルではありません。むしろ Linux で使用されている原理や メカニズムを解説したものであり、Linux の動作原理とはどういうもので、なぜそれ が採用されているのかを説明するものです。 Linux という対象は常に変化しています。書がベースにしているのは現在の安定 版である 2.0.33 のカーネルソースですが、これは個人や法人の大部分で使用されて いるのがこのバージョンだからです。 また、書は自由に配布してもらってかまわないので、一定の条件のもとにではあり ますが、複製や再配

  • 2log.net

    This domain may be for sale!

    blanketsky
    blanketsky 2009/01/21
    クソわかりやすいw
  • Programming UNIX Sockets in C - Frequently Asked Questions

    Created by Vic Metcalfe, Andrew Gierth and other contributers (Transrated into Japanese by: Keisuke Mori)May 21, 1998 この文書は、UNIX 上での ソケットインターフェースを用いた TCP/IP アプリケーションプログラミングについて、頻繁に行われる質問とその 解答を集めたものです。 1. 一般的な情報と概念 1.1 更新情報 1.2 この FAQ について 1.3 この FAQ はどのような人向けでしょうか? 1.4 ソケットって何ですか? 1.5 ソケットはどのように動作するのでしょうか? 1.6 [あるの題名] というのソースコードはどこから取得できますか? 1.7 どこでもっと情報を得ることができますか? 2. クライアントとサーバ(TCP/SOCK_STREA

  • Unix Programming Frequently Asked Questions 日本語訳 - Table of Contents

    このFAQについて 1 プロセス制御 1.1 新しいプロセスの生成: fork() 1.1.1 fork()は何をするのですか? 1.1.2 fork()とvfork()の違いは何ですか? 1.1.3 forkによる子プロセスを終了するときにexitよりも_exitを使うのはなぜですか? 1.2 環境変数 1.2.1 どうすればプログラム内で環境変数の値を取得・設定できますか? 1.2.2 どうすれば全ての環境変数を調べられますか? 1.3 どうすれば一秒未満のsleepができますか? 1.4 粒度の細かいalarm()はどうすれば得られますか? 1.5 どうすれば親プロセスと子プロセスの間で通信できますか? 1.6 どうすればゾンビプロセスができることを防ぐことができますか? 1.6.1 ゾンビプロセスってなんですか? 1.6.2 どうすればゾンビプロセスになることを防げますか? 1.7

  • poll/epoll/kqueueを任意に切り替えられるコード - Blog by Sadayuki Furuhashi

    ネットワークで通信するプログラムを書いていると、ファイルディスクリプタ(ネットワークならソケット)をselectやpollで監視して、パケットが届いたら何かする、ということが良くあります。 しかしselectやpollは、*BSD で kqueue・kevent を使ってみようで書かれているように、どうも遅いらしい。C10K問題が取りざたされている昨今、Linuxにはepoll、BSDにはkqueue、Solarisには/dev/pollというより高速な仕組みが用意されているのですが、epollを使ってしまうとLinuxでしか動かないし、kqueueで書くとBSDでしか動かない。 というわけで、epollもkqueueも同じインターフェースで使えて、#defineで簡単に中身を切り替えられると嬉しい、とは誰しも一度は思うはず。そうに違いない。 もちろん先人も同じことを考えており、libev

    poll/epoll/kqueueを任意に切り替えられるコード - Blog by Sadayuki Furuhashi
  • はやいTCPサーバを書く際に忘れがちなこと - kazuhoのメモ置き場

    はやいTCPサーバの書き方 - nyaxtのPC作業ログ で id:nyaxt さんが書いてらっしゃるように、 epoll や kqueue を使う TCP_NODELAY, TCP_DEFER_ACCEPT *1 等を活用する TCP パケットを意識する I/O システムコールの回数を最小にする sendfile といったあたりは、確実にやるべきことだと思います。一方で、TCP 関連以外のオーバーヘッドが実は結構あって、 接続のタイムアウト処理 ログの出力 メモリの確保や解放をやらない あたりにも気を配る必要がある、と思います。 接続のタイムアウト処理については、以前 Kazuho@Cybozu Labs: 高速なCometサーバを書いてみた件 に書いたように、ビットアレイのリングバッファを使うのがベストだと思います。 ログの出力について、複数行を1回のシステムコールにまとめてもいいかど

    はやいTCPサーバを書く際に忘れがちなこと - kazuhoのメモ置き場
  • FrontPage - Linuxカーネルメモ

    Linux Kernel(2.6)の実装に関するメモ書き 書き殴っているので書き方/内容にムラあり。 3.6系に関する記述は【3.6】と記載。 カーネル プロセス プロセスのBlockとWakeup プロセスの優先度 コンテキストスイッチ プリエンプション スケジューラ RunQueue WaitQueue WorkQueue 例外処理 割り込み処理 ページフォルト ページフォルト - 個々のハンドラ ソフト割り込み システムコール 排他制御関連 モジュール 64bit環境での32bitプロセスの動作 メモリ管理 アドレス空間 アドレス空間の管理 カーネル空間のメモリマップ 64bitでのアドレス空間 HighMemory kmalloc,vmalloc 物理ページ管理 スラブアロケータ Rmap proc/meminfo 空きページの確保 kswapd Swap Swap - Swap領

  • Charming Python: Functional programming in Python, Part 3

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    Charming Python: Functional programming in Python, Part 3
  • 実行時スタックサイズ変更 on Linux - 日々の報告書

    週末、友達にプログラムについて質問されたときに気になったことを調査した。それは、Linuxでプログラム実行時に利用されるメモリ上のスタックサイズの1)確認方法、2)変更方法。 スタックサイズの確認の場合、bashを使っていれば、bash組み込みの「ulimit」コマンドで確認できる。 $ ulimit -aスタックサイズのみを表示したければ次のように実行。 $ ulimit -s僕の環境では、8192kBだった。 スタックサイズの変更の場合、これもulimitコマンドで行う。 $ ulimit -s 16384ただし、有効になるのは、ulimitコマンドを実行したシェルの子プロセスでのみ。一端ログアウトしてしまうと、デフォルト値に戻ってしまう。あと、rootで # ulimit -Hした値以上にはできない。例えば、スタックサイズが16384のときにrootが「ulimit -H」を実行する

    実行時スタックサイズ変更 on Linux - 日々の報告書
  • livedoor

    1【大麻】伊勢谷友介の自宅がヤバ過ぎる・・・・・NEWSまとめもりー|... 2マッチングアプリで出会った女子学生「行きたいお店があるの!...オレ的ゲーム速報@... 3この時期にボディーシート持ってない奴は永久非モテ確定ハムスター速報 461年服役していた80代受刑者が仮釈放国内最長痛いニュース(ノ∀`... 5【画像】約900年前の書物からネコの”アレ”が発見されるww...はちま起稿 6【悲報】確率、2割も理解していなかった哲学ニュースnwk 7【悲報】大谷4の0打率.189地元メディアに叩かれるなんじぇいスタジア... 810万分の1の確率で生まれたアルビノのオットセイの赤ちゃん。...カラパイア 9子供は危険なものが好き!まめきちまめこニー... 10親「あんたいつ結婚するの?」俺「そのうち」(彼女すらできた...ぶる速-VIP 11不気味な未解決事件不思議.net 12好きな

    livedoor
  • FrontPage - 詳解ファイルシステム - livedoor Wiki(ウィキ)

    詳解ファイルシステム Linuxのファイルシステムを詳解します トップページページ一覧メンバー編集 FrontPage 最終更新: linuxfs 2009年01月19日(月) 16:03:10履歴 Tweet 詳解ファイルシステム ファイルシステム諸元 subcontentsファイルシステム諸元性能比較パーティション用語集OOMkillerkernelSELinuxgitskillcheckKDBJapanese Linux hackerext3/4最新情報Hans Reiser情報Committerfeature-removal-scheduleTODO中の人OSC2007 Tokyo/FallOSC2008 Tokyo/FallOSC2009 Tokyo/Fall ファイルシステム詳解 filesystem contents注目度の高いファイルシステムvfsext3ext4reise

    FrontPage - 詳解ファイルシステム - livedoor Wiki(ウィキ)
  • start [GNU screen]

    Screen is a text-based program usually described as a window manager or terminal multiplexer. While it does a great many things, its two biggest features are its detachability and its multiplexing. The detachability means that you can run programs from within screen, detach and logout, then log in later, reattach, and the programs will still be there. The multiplexing means that you can have multi

  • 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のファイル、ディレクトリ構成のチートシート

    Linuxのファイル、ディレクトリ構成図です。「あれ、あのファイルどこにあったっけ?」って時に役に立つと思います。 詳細は、以下から。 linux_file_structure.jpg (image) インストールや設定を変更する時に、ファイル構成を忘れてしまった時などに便利ですね。 青色で書かれいるのがディレクトリ名、赤色がファイル名、そして黒色が個々のディレクトリの説明です。個々のディレクトリの説明があるので初心者にもわかり安いと思います。

    Linuxのファイル、ディレクトリ構成のチートシート
  • xargsはすばらしい。 : blog.nomadscafe.jp

    xargsはすばらしい。 xargsは便利。 カレントディレクトリにファイルがいっぱいあるとき、 # grep hoge * としても、 Argument list too long. となってしまい、うまくいかない。 これを # echo * |xargs grep hoge とすれば、xargsがgrepの引数をちょうど良いところで分割して実行してくれる。 すばらしい。

  • 1