• 締切済み

Linuxソフトウェア割り込み

Linuxの初心者です。 Linuxのソフトウェア割り込みはシステムコールによるものだと聞いています。 実際にシステムコールを利用した時に、いつ割り込みが行われ、ユーザ空間からカーネル空間に移行されたが分かりません。 何か確認する方法というものはあるのでしょうか? よろしくお願いします。

みんなの回答

  • k-841
  • ベストアンサー率27% (129/465)
回答No.3

それぞれ man で機能は調べましたか?(中には man が用意されていないものもありますが・・・)また、Web検索などで意味を調べるのも良いでしょう。 私の知識量は限られていますので、全てについて答えられるわけではありません。目的が何であるかはわかりませんが、調べ方を知るだけでも目的にずっと近づけると思いますよ。

hokaido
質問者

お礼

さっそくのご返事ありがとうございます。 manなのですが英語の部分のページがあったもので、調べる事ができませんでした(自分の知識不足なのですが…)。 書かれている物は自分なりに解釈はしました。 質問に対して、無理を言ってすみませんでした。

すると、全ての回答が全文表示されます。
  • k-841
  • ベストアンサー率27% (129/465)
回答No.2

まず、man strace でstraceのマニュアルを見て下さい。その上でさらにわからないことがあれば、何がわからないのか、もしくは何がしたいのかを補足して下さい。漠然と中身を説明せよと言われても、何を説明してよいか見当がつきません。

hokaido
質問者

補足

返事が遅れてすいませんでした。 straceを使って、実際にプログラムがどのシステムコールを呼び出しているかを、straceのオプション-cをつかって表しました。 そこでopenやwriteは分かるのですが、old_mmap,munmap,fstat64,set_thread_area,mmap2,brk のシステムコールが何をしているのかが分かりません。どのようなことをするためのものなのか分かりますでしょうか?よろしくお願いします。

すると、全ての回答が全文表示されます。
  • k-841
  • ベストアンサー率27% (129/465)
回答No.1

デバグの目的で動的にトレースするという意味であれば、straceコマンドを利用すれば良いと思います。straceはシステムコールとシグナルをトレースするものです。

hokaido
質問者

お礼

早速のご返事ありがとうございます。 straceを使えば、デバッグができるとの事ですが、実際に strace -c 実行ファイル とコマンドをしたところ、そのプログラムで使用されたシステムコールが表示されたのですが、いまいちよく分かりません。 strace 実行ファイル でもあまり分かりませんでした。 もしよろしければ簡単に中身を説明してはもらえないでしょうか。基本的な質問だとは思うのですが、よろしくお願いします。

すると、全ての回答が全文表示されます。

関連するQ&A