タグ

スレッドに関するhiroyadoraemonのブックマーク (2)

  • イケてるエンジニアになろうシリーズ 〜メモリとプロセスとスレッド編〜 - もろず blog

    最近はとても便利なプラットフォームがいっぱいあって、 詳細な中身を意識しなくても簡単に使えるという素晴らしい時代ですが、 深くまで突っ込んで考えないといけない場面が たまーーーーーーーに でてきます その時になって初めて、 誰かが用意してくれた快適な環境を使っていただけで自分では何も解決できない という現実を叩きつけられるわけです 大げさに言いましたすみません ちょっと前に仕事でサーバーのパフォーマンス調査をする機会があり、 その中で "プロセス" と "スレッド" って一体何が違うの!? って疑問にぶち当たりました わかるような、わからないような 何となくわかったつもりになっている事でもそろそろちゃんと理解して、 今日からイケてるエンジニアになりましょう この記事では 1. マルチタスクOSとプロセス 2. メモリの役割 3. 物理アドレスと仮想アドレス空間 4. プロセスがメモリに保持

    イケてるエンジニアになろうシリーズ 〜メモリとプロセスとスレッド編〜 - もろず blog
  • システムコールを経由する生のLinuxスレッド | POSTD

    Linuxのスレッドは、洗練された美しい設計です。スレッドは仮想アドレス空間とファイルディスクリプタテーブルを共有するプロセスに過ぎません。プロセスによって生成されたスレッドは、メイン”スレッドの”親プロセスに追加された子プロセスです。これらは同じプロセス管理のシステムコールを通して処理されるので、スレッドに関するシステムコールのセットを分ける必要性を取り除きます。これはファイルディスクリプタと同様に洗練された方法です。 一般的に、UNIX系のシステムではfork()を使ってプロセスを生成します。新しいプロセスは、オリジナルのコピーとして独自のアドレス空間とファイルディスクリプタテーブルを取得します。(Linuxではコピーオンライトを使用して、この部分を効率的に処理します。)しかし、これは非常に高度なスレッドの生成方法なので、Linuxでは別の clone() システムコールを使用します。

    システムコールを経由する生のLinuxスレッド | POSTD
  • 1