[オペレーティングシステム]プロセス構造-(6)
IPCテクノロジーのように使用できる信号とスロットについて説明します.
信号はアクティブ. 特定信号はカスタマイズ可能 unixが30年以上使用している伝統技法 カーネルまたはプロセス内の他のプロセスで発生したイベントを通知する フロー関連コードに関連信号処理プログラムを登録し、対応する信号処理を実行する 信号無視: 信号ブロック:一定時間非活動 登録した信号ハンドルで特定動作を行う 登録された信号処理プログラムがなければカーネルで基本動作を実行する SIGKILL:キラープロセス(スーパー管理者が使用する信号) SIGALARM:アラーム発生 SIGSOP:プロセス中止(CTRL+z) SIGCONT:運転停止のプロセス SIGINT:プロセスへの割り込み送信によりプロセスを殺す(CTRL+C) SIGSEGV:プロセスが異なるメモリ霊億を侵す kill -l
信号処理プログラム登録・実施 SIG IGN
PCBは、当該プロセスブロックまたは処理により信号に関する情報を管理する signpending:信号が出た場合、PCBに処理が必要な信号があることを通知する pending:信号待ち状態 ブロック:ブロック状態の信号通知 sig:信号ごとにどのような操作を行うべきかの通知 スロットはネットワーク通信用技術 基本的に2台の異なるコンピュータ間でネットワークベースの通信を行うための技術
/457917、ネットワークデバイスのシステムを使用することを考えてみてください.
画像ソース1台のコンピュータ内で2つのプロセス間で通信技術を使用する
Signal
しゅしんごう
信号関連コードの例
static void signal_handler(int signo) {
printf("Catch SIGINT!\n");
exit(EXIT_SUCCESS);
}
int main (void) {
if(signal(SIGINT, signal_handler) == SIG_ERR) {
printf("Can't catch SIGINT!\n");
exit(EXIT_FAILURE);
}
for(;;)
pause();
return 0;
}
int main(void) {
if(signal(SIGINT, SIG_IGN) == SIG_ERR){
printf("Can't catch SIGINT!\n");
exit (EXIT_FAILURE);
}
for(;;)
pause();
return 0;
}
信号とプロセス
Socket
/457917、ネットワークデバイスのシステムを使用することを考えてみてください.
ソケットとIPC
画像ソース
Reference
この問題について([オペレーティングシステム]プロセス構造-(6)), 我々は、より多くの情報をここで見つけました https://velog.io/@zero_mountain/운영체제-프로세스-구조-6テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol