タグ

system-callとprocess-managementに関するnabinnoのブックマーク (8)

  • マルチスレッドのコンテキスト切り替えに伴うコスト - naoyaのはてなダイアリー

    また Linux カーネルの話です。 Linux では fork によるマルチプロセスと、pthread によるマルチスレッドでの並行処理を比較した場合、後者の方がコストが低く高速と言われます。「スレッドはメモリ空間を共有するので、マルチプロセスとは異なりコンテキストスイッチ時にメモリ空間の切り替えを省略できる。切り替えに伴うオーバーヘッドが少ない。」というのが FAQ の答えかと思います。 が「オーバーヘッドが少ない」と一言にいわれても具体的にどういうことなのかがイメージできません。そこで Linux のスレッド周りの実装を見て見ようじゃないか、というのが今回のテーマです。 3分でわかる(?) マルチプロセスとマルチスレッド まずはうんちく。マルチプロセスとマルチスレッドの違いの図。以前に社内で勉強会をしたときに作った資料にちょうど良いのがあったので掲載します。Pthreadsプログラミ

    マルチスレッドのコンテキスト切り替えに伴うコスト - naoyaのはてなダイアリー
  • perf - Wikipedia

    perf ("Perf Events"[1]あるいは"perf tools"。元々は"Performance Counters for Linux"やPCLと呼ばれていた[2])は、Linuxカーネル2.6.31以降で使用可能な、Linuxの性能解析ツールである[3]。 'perf'というユーザースペースの操作ユーティリティーは、Gitのようなサブコマンドを持つインターフェースを採用している。このユーティリティーは、システム全体(カーネル及びユーザーコードの両方)、シングルCPU、あるいは数スレッドの統計プロファイリングが可能である。 また、perfはハードウェアパフォーマンスカウンタ(英語版)、トレースポイント、ソフトウェアパフォーマンスカウンタ(例: hrtimer)、ダイナミックプローブ(例: kprobesやuprobes)をサポートしている[4]。 2012年、IBMは(OPro

  • perfの使いかた

    概要 Linuxのパフォーマンス解析ツールであるperfの使いかたの紹介 背景 個人的にperfよくできてると思うので紹介したいというのと、 パフォーマンスカウンタの読み方ってあんまり知られてないみたいなので、 それの解説を書きたい。 構成 perf について説明したあと、パフォーマンスカウンタの読みかた、見かた、を説明する。 perfとは何か Linuxに付いてくるプロファイラ。 man perf によると、 NAME ---- perf - Performance analysis tools for Linux と、書いてある。名前がひどいのでなんとかしてほしい。 perf の特徴 個人的には、手軽に使えるのが素晴らしいと思う。 2.6.31以降カーネルに標準で付いてる。(Ubuntuだとlinux-tools-common(TODO:あとで確認)で入るはず) 特殊な設定が必要無く、

  • CPUモード - Wikipedia

    CPUモード(プロセッサモード、特権レベル)とは、コンピュータのCPUの動作モードであり、CPUが実行できる操作を制限するものである[注 1]。 モードの種類[編集] 複数の動作モードを持つCPUでは、そのうちの少なくとも1つは完全に無制限のCPU動作を許す。この無制限のモードを通常カーネルモード(あるいはスーパーバイザーモード、特権モード)と呼ぶ。他のモードは通常ユーザーモードと呼ばれるが、別の名で呼ばれることもある(「スレーブモード」など)。 カーネルモードでは、CPUはそのアーキテクチャの全ての操作が可能である(ハードウェア構成によっては不可能な操作もありうる)。任意の命令を実行でき、入出力操作を開始でき、全メモリ空間にアクセス可能である。他のCPUモードでは、ハードウェアによってCPUの動作に制限が加えられる。典型的には、一部の命令が実行できなくなり、入出力操作ができなくなり、メモ

    CPUモード - Wikipedia
  • コンテキストスイッチ - Wikipedia

    このページは著作権侵害のおそれが指摘されており、事実関係の調査が依頼されています。 このページの現在または過去の版は、ウェブサイトや書籍などの著作物からの無断転載を含んでいるおそれが指摘されています。もしあなたが転載元などをご存知なら、どうぞこのページのノートまでご一報ください。 著作権侵害が確認されると、このページは削除の方針により一部の版または全体が削除されます。もしこのページの加筆や二次利用をお考えでしたら、この点を十分にご認識ください。 この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "コンテキストスイッチ" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2023年5月) コンテ

  • システムコール - Wikipedia

    システムコール(英: system call、日: システム呼出し[1][2][3])とは、オペレーティングシステム (OS)(より明確に言えばOSのカーネル)の機能を呼び出すために使用される機構のこと。実際のプログラミングにおいては、OSの機能は関数 (API) 呼び出しによって実現されるので、OSの備える関数 (API) のことを指すこともある。なお、μITRONではサービスコールと呼ばれる。また、OSのことをスーパーバイザとも呼ぶため、スーパーバイザコールともいう。 例えば、C言語で使用できるfopen()やmalloc()などのライブラリ関数は、その関数内においてシステムコール(例えばPOSIX準拠のOSであればopen()やsbrk()など)を呼び出す。 背景[編集] 現代のプロセッサは一般にいくつかの特権状態で命令を実行する。2つのレベルを持つシステムでは、これを通常ユーザーモ

  • vmstatコマンドで覚えておきたい使い方8個(+1個) | 俺的備忘録 〜なんかいろいろ〜

    LinuxやUNIXでパフォーマンスを監視する際にはお約束とも言えるvmstatコマンド。 どの現場でもよく使われるものだが、今回はこのコマンドで覚えておきたい使い方を紹介する。 なお、この内容はCentOS 7にてバンドルされている「procps-ng 3.3.9」のバージョンのものを用いている。 1.基的な使い方 オプション無しで実行すると、以下のように現時点でのパフォーマンス情報が出力される。 vmstat [root@test-centos7 ~]# vmstat procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 1 0 0 80556 128 13915

  • 割り込み (コンピュータ) - Wikipedia

    この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "割り込み" コンピュータ – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2021年8月) 割り込み(わりこみ、英: interrupt)とは、コンピュータがその周辺機器などから受け取る要求の一種である。現在の多くのCPUは、割り込みを処理するための機能を備えている。 目的[編集] 割り込みの主な目的は、「周辺機器からの情報を、他の作業をしながらも取り落とすことなく受け取ること」であり、以下のような具体的な効果がある。 CPU資源の有効利用 周辺機器の速度はCPUの処理速度より格段に遅いため、周辺機器が処理を行っている間、CPUが他の処理を

    割り込み (コンピュータ) - Wikipedia
  • 1