プロセスのsleepと起動

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
栗熊

プロセスのsleepと起動

#1

投稿記事 by 栗熊 » 12年前

Windows 7とvisual studio2010 VC++ を利用しています.
プロセスもsleepにさせることができるのでしょうか。
もしできるなら、
threadのwakeupとプロセスのwakeupに所要時間に一般論として大きな差があるのでしょうか。

それから、プロセスがアイドル状態になる時、sleepにさせないで、
繰り返しあるflagの値をチェックさせるためにCPU時間が多く使われるのでしょうか。

ご教授お願い致します。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: プロセスのsleepと起動

#2

投稿記事 by softya(ソフト屋) » 12年前

栗熊 さんが書きました:Windows 7とvisual studio2010 VC++ を利用しています.
プロセスもsleepにさせることができるのでしょうか。
どういう意味のsleepでしょうか? 
Sleep()関数とは違う意味で聞かれていますか?
栗熊 さんが書きました: もしできるなら、
threadのwakeupとプロセスのwakeupに所要時間に一般論として大きな差があるのでしょうか。
プロセスの切り替えとスレッド切り替えのコストは違いますが、それとSleep状態からの復帰を同列には論じれません。
答えとしては状況次第って所でしょうか。
栗熊 さんが書きました: それから、プロセスがアイドル状態になる時、sleepにさせないで、
繰り返しあるflagの値をチェックさせるためにCPU時間が多く使われるのでしょうか。
これは質問自体が意味不明です。
> 繰り返しあるflagの値をチェックさせるためにCPU時間が多く使われるのでしょうか。
これはOS内部?あるいはユーザープログラム側の話でしょうか?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

栗熊

Re: プロセスのsleepと起動

#3

投稿記事 by 栗熊 » 12年前

さっそくお返答有難うございます。
私の質問の中にいろいろ不明確な点がありまして、ご迷惑でした。

どういう意味のsleepでしょうか? 
Sleep()関数とは違う意味で聞かれていますか?

A: そうですね。具体関数名は分かりませんが、消滅されていないが、下記状態ではない状態。
  runnning状態 / executing状態 /active状態 (ここでは同等の概念を表します)

  要は依然生きているが、システムリソースを消耗しないという状態。
  勿論、使いたい時に最速にwake upできればと思います。
  これは通常sleep状態と言うでしょう------具体的な関数名として(恐らく) sleep() のようなもんと思います。 

プロセスの切り替えとスレッド切り替えのコストは違いますが、それとSleep状態からの復帰を同列には論じれません。
答えとしては状況次第って所でしょうか。
A: 私が聞きたいのはSleep状態からの復帰のコストですね。 
  プロセスの休眠状態から とスレッドの休眠状態からどっちがもっと素早く仕事状態になれるのでしょうか。

> 繰り返しあるflagの値をチェックさせるためにCPU時間が多く使われるのでしょうか。
これはOS内部?あるいはユーザープログラム側の話でしょうか?

A: 自分が作ったプログラム(プロセス)の中であるI/Oポートのあるbitの値を絶えず繰り返しチェックします。
これで、他のthreadやprocessの処理速度に相当な影響を与えるのでしょうか。


ご教授お願い申し上げます。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: プロセスのsleepと起動

#4

投稿記事 by softya(ソフト屋) » 12年前

> 勿論、使いたい時に最速にwake upできればと思います。

WindowsOSとしては、プロセスの優先順位を上げるくらいしか手がないです。
リアルタイムOSではないので、時間保証は困難ですね。
実時間保証したいときは一般的にRTOS(リアルタイムOS)を使います。

> 私が聞きたいのはSleep状態からの復帰のコストですね。 
>  プロセスの休眠状態から とスレッドの休眠状態からどっちがもっと素早く仕事状態になれるのでしょうか。

特に資料を探せてないですがプロセスからの休眠回復のほうが原理的には遅そうです。
ただ、スレッドの休眠回復はプロセスの休眠回復を兼ねる可能性が高いので大差はないかもしれません。

>A: 自分が作ったプログラム(プロセス)の中であるI/Oポートのあるbitの値を絶えず繰り返しチェックします。
>これで、他のthreadやprocessの処理速度に相当な影響を与えるのでしょうか。

全力でSleepもせずにチェックしていたらCPUコアを1つ100%で専有します。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

栗熊

Re: プロセスのsleepと起動

#5

投稿記事 by 栗熊 » 12年前

よく分かりました。
有難うございました。

閉鎖

“C言語何でも質問掲示板” へ戻る