- 締切済み
Linuxソフトウェア割り込み
Linuxの初心者です。 Linuxのソフトウェア割り込みはシステムコールによるものだと聞いています。 実際にシステムコールを利用した時に、いつ割り込みが行われ、ユーザ空間からカーネル空間に移行されたが分かりません。 何か確認する方法というものはあるのでしょうか? よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
関連するQ&A
- Linuxについて教えてください
LinuxユーザーのDragonです。 最近、愛用のPearOSを使ってて思った、Linuxについての疑問を教えてください。 その一 Linuxのカーネルのビルド方法を教えてください。 (できたら、カーネルのビルド後、デスクトップ環境 X Window System を導入する方法も 教えてください。) その二 OSのことや、パソコンのことを深く知ることができるサイトや本ってありますか? (おもにOSの分野はLinuxについて沢山知りたいです。) その三 Linuxのことから外れますが、インターネットセキュリティのことが学べる書籍やサイト ってありますか? 中学三年生のアホな僕に知識を恵んでください。 御回答のほど、宜しくお願いします。
- 締切済み
- その他(インターネット・Webサービス)
- Linuxカーネルで使用されているシステムコール一覧が知りたいです。
Linuxカーネルで使用されているシステムコールの処理内容が書かれている書籍はないでしょうか?いろいろ調べたのですが発見できていません。昔PC98シリーズであったBIOSリファレンスマニュアル的なものが無いか期待しているのですが... LinuxカーネルはVer 2.6.15.2を見てますが特にこだわっていません。 よろしく、お願いします。
- 締切済み
- Linux系OS
- OSの割り込みについて
以下の各々の割り込みについて。 必要な処理を、なぜ他の方法ではなく、割り込みを通してOSに行ってもらうのか? よくわからなかったので、どなたか教えてください。 ・ハードウェアの誤り検出 ・入出力処理終了の報告 ・タイマ ・外部信号割り込み ・ソフトウェアの誤り検出 ・ページフォールト/アドレス変換例外 ・システムコール/カーネルコール
- ベストアンサー
- その他(OS)
- linux kernelの勉強法
linuxユーザ(Fedoraが中心)になって5年程経つのですが、仕事のためにもLinux kernelを勉強してみようと思っています。そこで、仕事または趣味でLinux kernelを究めた方、または今勉強している方にお聞きしたいのですが、どのようにして勉強しましたか?私はkernelとdevice driverの本を読んでいるのですが、本を読んでいるだけだとなかなか進展がありません。実際にコードを書くプロジェクトみたいなのがあればいいのですが、何から手を付けてよいのか迷っている状況です。 C/C++プログラミング、OS一般、そしてlinuxの基本的な概念(仮想メモリ、ファイルシステム、スケジューリング等)は一応理解しているつもりですが、ソースコードを読んで理解するの苦労しています。 何か経験談とかアドバイスを聞かせて頂ければありがたいです。
- ベストアンサー
- Linux系OS
- Linuxでの10msスリープ
Linux初心者です。よろしくお願いします。 Cで記述された旧式のRTOSでのプログラム をLinux環境に移植しようとしていて、 Timesys Linuxを購入予定ですがまだ入手で きてないので、Vine Linux 2.6で試運転させて います。 10ms毎の周期起床するタスクを旧記述では カーネルコールのsleep()で起床待ちさせて 起床タイミングはカーネルのスケジューラに 任せていたため、同じように動かそうとタスク をPosixThreadにしてその上でusleep(), nanosleep()等を実行してみたのですが、 待機時間が2ms以下か、20m以上になってしま って上手くスリープしてくれません。 (スケジューリング周期は10msです。) 標準のLinuxで10ms(毎のスケジューリング タイミングまで)待たせる場合はどういう 方法をとるとよいでしょうか?
- ベストアンサー
- Linux系OS
- WindowsでのC と LinuxでのC の違いについて
これから、Linux OSでC言語のプログラミングを行うことになりました。ディストリビューションはVine Linux 3.2 を利用します。 開発方法としては、Windows Xp 上でgccを利用できるIDE(Dev-C++ 4.9.9.2を利用します)で開発を行い(テスト的にコンパイル)、できたソースをLinux上でコンパイル・リンクするという方法で行おうと考えています。 そこで、疑問があります。 ANSIライブラリの中にはシステムコールを実行するものがあると思います。システムコールはOSの一部の機能ということですので、WindowsとLinuxとでは当然その機能は違ってくると思います。 つまり、WindowsでANSIライブラリを利用して実装したプログラム(コンパイルもとおる)がLinux上で正常に機能するのか(そもそもコンパイルがとおるか)がわかりません。 どなたかご教授いただけましたら幸いです。 宜しくお願いします。
- 締切済み
- C・C++・C#
- Linuxのトラブルを解決するのに役立つソフトウェアを探しています。
現在、Linuxを勉強している者です。 Linuxでトラブルに遭遇した時に、 その原因を調査したり、解決するのに役立つソフトウェアを探しています。 現在動作しているプロセスが、 どのファイルを操作しているのか等が分かるようなソフトウェアは無いでしょうか。 あるいは、設定ファイルの変化を監視や比較をしたり、 ファイル内に特定の文字列を含むテキストを調査したり等、 トラブルの解決に役立ちそうなソフトウェアなら何でも結構ですので、 ご存知の方がおられましたらお教え頂けないでしょうか。 それ以外でも、トラブルを解決するのに役立つ方法や情報など、 何でも結構ですので、何卒よろしくお願い致します。
- ベストアンサー
- Linux系OS
- LinuxのDMA転送でのメモリ操作について
Linux初心者です。 ユーザモードで動作しているプロセスからデバイスドライバに対してDMA転送要求を行った場合、ドライバでDMAバッファ用のメモリを確保すると思います。 ドライバはDMA転送用バッファとして、GFP_DMA指定でkmallocし、確保されるメモリ領域はZONE_DMAだと思います。 (PCIデバイスドライバの場合は、上記指定は必須ではないみたいですが。) ここで疑問なのですが、カーネルモードでしかアクセスできないZONE_DMA領域を、ユーザモードのプロセスがどのように扱うのでしょうか? ある本で「ユーザモードで動作中でもシステムコールに関してはCPU内でカーネルモードで動作する」というのを見たことがあるのですが、これによってZONE_DMA領域にアクセスできるようになるということでしょうか? ご存知の方がいたら、よろしくお願いします。 また、そもそも質問内容(前提)の間違えなどありましたらご指摘いただきたいです。
- 締切済み
- Linux系OS
お礼
さっそくのご返事ありがとうございます。 manなのですが英語の部分のページがあったもので、調べる事ができませんでした(自分の知識不足なのですが…)。 書かれている物は自分なりに解釈はしました。 質問に対して、無理を言ってすみませんでした。