No.1ベストアンサー
- 回答日時:
> 必要な処理を、なぜ他の方法ではなく、割り込みを通してOSに行ってもらうのか?
他の方法ってどんなのがあるのでしょうか?
それに、割り込みとOSって必ずしも連動してるわけじゃないし関係の無い割り込みもあります。
それぞれに用途と必要性が有って生じたモノとしか言いようが無いです。
「この世の割り込みの存在意義」を問われているような広義の質問は、本一冊でも解説が困難な事項なので簡潔に説明は不可能かと思います。
8ビットのマイコンキット+OS制作から勉強した方が理解が早いかも知れません。
例外処理なんて言う類の割り込みじゃなくて、ハード関連の制作を少しでも行って直に触れてみればその有用性が多少なりとも理解でき視野も広がると思います。
No.2
- 回答日時:
> 必要な処理を、なぜ他の方法ではなく、割り込みを通してOSに行ってもらうのか?
誤解されている様に感じました。
そして、割り込みにも種類がありますし、状況に依ってかなり違います。
例えば、カーネルでポーリングする事もできるし割り込みによる動作にもできるディスクコントローラ使う場合の事を考えるとデバイスからカーネルへの部分がハードウェア割り込みになるかソフトウェアによるポーリングになるかの違いはあります。それとは別に、ユーザプログラムから見るとシステムコール・カーネルコールの割り込み(ソフトウェア割り込み)になります。
※ 表現が変な気も。別の2つの処理が関係します。リング0で動いてないとデバイス(ハードウェア)へのアクセスはできません。
http://ja.wikipedia.org/wiki/%E3%83%AA%E3%83%B3% …
まず、ハードウェアへのアクセスは利用者権限ではできません。
※ PC-DOS/MS-DOS/古いDOSを基盤に使っていたWindows(-WIndows3.1,95,98,Me)では正しくないです。NT系のWindowsや多くのOSでは正しいです。
そのためハードウェアへのアクセスが必要となった場合には割り込みを使ってシステム(OS)に作業を依頼します。
> ・システムコール/カーネルコール
あるいは、ハードウェアが検出する場合もあります。
> ・ページフォールト/アドレス変換例外 (CPUもしくはMMU回路のハードウェア割り込み)
> ・外部信号割り込み (ハードウェア[割り込みコントローラ])
> ・ハードウェアの誤り検出 (誤り検出をするデバイス)
不明なのも。
> ・ソフトウェアの誤り検出 (色々な場合が考えられる)
> ・入出力処理終了の報告 (??? 例えば、ディスクをアクセスするシステムコールの終了もその一種だろうし)
> ・タイマ (??? ソフトウェアタイマ・ハードウェアタイマ・………)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 教育ソフト・学習ソフト vbsで分割した値をそれぞれの変数に 1 2022/10/17 19:52
- ノートパソコン ハードディスクが壊れたPCのオークションへの出品の仕方を教えてください 9 2022/11/16 08:13
- 車検・修理・メンテナンス 車のバンパー破損、走行可能ですか? 8 2023/04/08 21:50
- 減税・節税 80歳越え高齢父の医療費負担についてご相談 追加 3 2022/12/17 15:13
- Visual Basic(VBA) 1つの入力フォルダの値を読み込み、3分割をして新しい変数に代入する方法を教えていただきたいです。 読 4 2022/10/17 20:52
- Word(ワード) 漢字変換候補が出てきません 3 2023/01/27 16:32
- その他(悩み相談・人生相談) 皆さんに質問です! 皆さんならどちらを雇いますか? (少し長いかもです!) ◯Aさん(男性) 容姿: 2 2022/08/30 22:11
- Windows 10 インストールしたてのVirtualBoxの仮想マシンにDHCPで割り振られるIPアドレスにつきまして 1 2023/05/03 14:46
- Word(ワード) wordの差し込み印刷で困っています。助けてください。word2019です。 エクセルで作ったデータ 3 2023/03/17 13:51
- Windows 10 Windowsのショートカットキーの割り当てについて質問です。 Ctrl+Shift+Rという入力を 1 2022/11/07 09:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
最近、よくOpenWall という言葉...
-
パフォーマンスモニタの%Proces...
-
「ブロックデバイスが...」HDの...
-
/dev/nvme0n1p2 clean と表示さ...
-
割り込み不可能?なプロセスを...
-
カーネルアップグレード後、una...
-
rcp,rshのタイムアウトについて
-
Linuxの頻繁なバージョンアップ...
-
CentOS5.2でNICが認識されない。
-
UNIXからLINUXへのデータ移行に...
-
Linux 32Bitと64Bitのメモリー...
-
非線形SVM(サポートベクターマ...
-
*長文となっております、予めご...
-
Windowsのソースコードって非公...
-
SolarisとLinuxの違い
-
マザーボード用ドライバ
-
virtual boxにインストールした...
-
ubuntu 初期化について
-
M.2 NVME SSDがWindowsからはア...
-
gccのインクルードパスの確認
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パフォーマンスモニタの%Proces...
-
UNIXとBSDとLinuxの違いを小学...
-
/dev/nvme0n1p2 clean と表示さ...
-
/proc/sys/net/ipv4/route/flus...
-
割り込み不可能?なプロセスを...
-
カーネルバッファとは何でしょうか
-
Linuxの頻繁なバージョンアップ...
-
カーネルアップグレード後、una...
-
SolarisとLinuxの違い
-
どうしてwindowsはMacと比べ動...
-
魔改造版Windows 2000をインス...
-
UNIXからLINUXへのデータ移行に...
-
違いを教えください!!
-
エラー”Illegal seek”はどんな...
-
Dockerコンテナ(centos7.9)の...
-
Linuxでダイナミックディスクっ...
-
Linux 32Bitと64Bitのメモリー...
-
linuxカーネルのダウングレード...
-
kernel32.DLL のCDでの場所...
-
romfsってなんですか?
おすすめ情報