アカウント名:
パスワード:
Android や iOS では、ガイドライン的に、アプリ側でそういう対応を要請してますね。いつ終了しても、再起動したら終了直前の画面に復帰するのが、アプリのあるべき姿。
アプリはいつ終了しても大丈夫なはずだから、OSは再起動時だけでなく、メモリが足りなくなった時は適宜未使用のアプリを容赦なく終了させてくようになっている。どちらかというと「メモリが足りてる時は終了させずに残しといてあげますから、アプリの切り替えレスポンスが良いですよ」ぐらいの立場。
良くも悪くも Windows は、昔からあるアプリがそのまま使えるというのが売りですから、そういうアプリ側の改修を強制するのは無理でしょうね。
常用する100のアプリのうちたとえ99個がレジュームに対応しても、残る1つが「強制再起動するとデータが失われる」ようなものだとしたら、それだけでもう「勝手に強制再起動されると困る」ことになりますし。
ストアアプリやUWPもそんな感じの作り。
レガシーアプリ用にそういうことをするのって不毛で無駄でしょ?動作環境側で対応してほぼ今までどおり作ってマイクロソフトのツールでビルドすれば自然とコンテナの中で動作するようにするほうがいいでしょう。今あるもので何とかする。なおかつバイナリには手を入れない。という条件をつけるならUWPコンバーターとかいう例のあれを拡張すればあなたがいうような機能も実現できますが。或いはインストール時にコンテナにインストールするか直接インストールするかユーザが選べるようにするとか?
OOM Killer「よんだ?」
vm.swappiness=1先生!出番はまだっす!!
メモリが足りなくなった時は適宜未使用のアプリを容赦なく終了させてくようになっている。
それはアンドロイドとiOSがそうなっていてウィンドウズがそうなっていないと言うより組み込み向けのOSがそうなっていてパソコン向けがそうなっていないと言うべきでしょう。今は知らんが前のスマホ向けウィンドウズはそういうように作ってあった。ストレージ交換が困難なスマホやタブレットでは二次記憶の破損=端末の破損だから一次記憶の中身を二次記憶に待避させるなんてやってたらあっという間にフラッシュメモリが寿命を迎えてしまう。=あっという間に端末が寿命を迎えてしまう。最近のパソコンの内ストレージがフラッシュメモリオンリーのものはストレージ交換が困難なものが多いのでパソコンだって二次記憶の破損=端末の破損だったりするけれどそういうのはきにする人だけが設定を変えればいい。
https://msdn.microsoft.com/en-us/library/windows/desktop/dd877200(v=vs... [microsoft.com]
登録しておけばアップデート時の再起動後に再開してくれる奴はありますが…アプリケーションがいろいろしないといけないので手間が
High DPIもWin32で何とかしようとするとなかなか死ねるし。まあMSの夢想としては今ごろみんなUWPになっててこの手の問題はアプリ側で考えなくても済むようになっているはずだったんでしょうな。
んなわけねーだろ。
Creators Updateまで来てようやく現実を認識し始めたか、gdiScaling互換性オプションとか再起動オプションの復活とか始めたと。
A 「ただいまー」B (まずっ。えーとえーと、とりあえず再起動!)「おかえりー」PC 「再起動完了。アプリを再開するよー」A 「なにこれ?」
# 電源OFFでも同じ目にあいそうな気がする
ただの再起動ではなくて、OSアップデートはOSの機能が変わる可能性があるからなあ。セキュリティフィックスだって、脆弱性のある機能を利用していたアプリにとっては機能変更になるわけだし。一般的な解決策は難しそうな。
現状でもウィンドウズはアプリのデータを保存せずにシャットダウンしようとすると警告を出してくるわけで本来なら席を離れていたらワードの文書が再起動のせいで消えたなどということはおきないのだが…シャットダウン時にウィンドウズが安全にシャットダウンできるかをアプリケーション側とやりとりしている。だからシャットダウンされると困ると返してきたアプリケーションだけサスペンドすればいい。OSの更新によるOSの機能変更を気にするならアプリケーションのサスペンドが発生した時点で当該のアプリケーションが呼び出していたAPIやABIのリストを保存して当該のアプリケーションが要求してきた時だけ古い方にリダイレクトするようにすりゃいい。機能毎にアクセスしているアプリケーションを管理して古いバージョンを使うアプリケーションが全て終了したらOSの古いファイル類は削除するようにする。問題点?実装が非常に面倒だってこと。脆弱性のある機能を掴み続けるアプリケーションがあると更新の意味がないこと。悪意を持ったアプリケーションは常にサスペンドを要求するからゼロデイ攻撃に却って脆弱になってしまうこと。こんなものか。Windowsが頻繁に(個人の感想です)不要と思えるような場面(個人の感想です)で一々(個人の感想です)再起動を行うのは全てのプロセスが更新の必要なライブラリやらなんやらにアクセスしていない状況を創りだすには再起動をするのが確実かつ最も簡単だから。/*zyper ps -ssudo reboot*/
>脆弱性のある機能を掴み続けるアプリケーションがあると更新の意味がないこと。悪意を持ったアプリケーションは常にサスペンドを要求するからゼロデイ攻撃に却って脆弱になってしまうこと。
これってつまり無理ってことなんでは…。他のアップデートはともかく、セキュリティフィックスは仕方ないんだから、みんなあきらめて再起動しよう(提案)。
暇で情強なひとならそのようなプロセスの稼働時間を適宜監視して長時間生きているプロセスを適切に終了できるので問題ありません。まあアップデートしたら再起動するというのは情弱と忙しい人のような普通の人向け。急がば回れ。
テレビの録画とかの絶対に止めることが許されない処理があるので無理
テレビの録画は専用機使った方がいいよ。
ペイントですら可能なことがいまだに出来ないのって開発者の怠慢でしょ
http://www.atmarkit.co.jp/ait/articles/1611/29/news016.html [atmarkit.co.jp]
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
あつくて寝られない時はhackしろ! 386BSD(98)はそうやってつくられましたよ? -- あるハッカー
アプリケーション層レベルのレジューム (スコア:2)
強制的に再起動する前に、アプリケーションが作業用に確保しているメモリだけをdiskに書き込む(本体のメモリは保存しない)。これを A と呼ぶ。
再起動完了後に、アプリケーションは最初に自分の ID を使って OSに自分が以前確保したメモリとbind してもらう。
A については、ただのデータであり、Windowsの構成ファイルに依存しない。
一定時間を超えると自動的に掃除される。
うーん。やっぱりアプリ側での対応も必要か・・・。アプリ自身が再起動イベントの受け取り時に、「ファイルに保存」の特別版でシリアライズ出力する。
Re:アプリケーション層レベルのレジューム (スコア:3, 参考になる)
Android や iOS では、ガイドライン的に、アプリ側でそういう対応を要請してますね。
いつ終了しても、再起動したら終了直前の画面に復帰するのが、アプリのあるべき姿。
アプリはいつ終了しても大丈夫なはずだから、OSは再起動時だけでなく、
メモリが足りなくなった時は適宜未使用のアプリを容赦なく終了させてくようになっている。
どちらかというと「メモリが足りてる時は終了させずに残しといてあげますから、アプリの切り替えレスポンスが良いですよ」ぐらいの立場。
良くも悪くも Windows は、昔からあるアプリがそのまま使えるというのが売りですから、
そういうアプリ側の改修を強制するのは無理でしょうね。
常用する100のアプリのうちたとえ99個がレジュームに対応しても、
残る1つが「強制再起動するとデータが失われる」ようなものだとしたら、
それだけでもう「勝手に強制再起動されると困る」ことになりますし。
Re: (スコア:0)
ストアアプリやUWPもそんな感じの作り。
Re: (スコア:0)
Re: (スコア:0)
レガシーアプリ用にそういうことをするのって不毛で無駄でしょ?動作環境側で対応してほぼ今までどおり作ってマイクロソフトのツールでビルドすれば自然とコンテナの中で動作するようにするほうがいいでしょう。今あるもので何とかする。なおかつバイナリには手を入れない。という条件をつけるならUWPコンバーターとかいう例のあれを拡張すればあなたがいうような機能も実現できますが。或いはインストール時にコンテナにインストールするか直接インストールするかユーザが選べるようにするとか?
Re: (スコア:0)
OOM Killer「よんだ?」
Re: (スコア:0)
OOM Killer「よんだ?」
vm.swappiness=1
先生!出番はまだっす!!
Re: (スコア:0)
メモリが足りなくなった時は適宜未使用のアプリを容赦なく終了させてくようになっている。
それはアンドロイドとiOSがそうなっていてウィンドウズがそうなっていないと言うより組み込み向けのOSがそうなっていてパソコン向けがそうなっていないと言うべきでしょう。今は知らんが前のスマホ向けウィンドウズはそういうように作ってあった。
ストレージ交換が困難なスマホやタブレットでは二次記憶の破損=端末の破損だから一次記憶の中身を二次記憶に待避させるなんてやってたらあっという間にフラッシュメモリが寿命を迎えてしまう。=あっという間に端末が寿命を迎えてしまう。最近のパソコンの内ストレージがフラッシュメモリオンリーのものはストレージ交換が困難なものが多いのでパソコンだって二次記憶の破損=端末の破損だったりするけれどそういうのはきにする人だけが設定を変えればいい。
すでにAPIはあります (スコア:1)
https://msdn.microsoft.com/en-us/library/windows/desktop/dd877200(v=vs... [microsoft.com]
登録しておけばアップデート時の再起動後に再開してくれる奴はありますが…
アプリケーションがいろいろしないといけないので手間が
Re:すでにAPIはあります (スコア:2)
参考になります。
Re: (スコア:0)
High DPIもWin32で何とかしようとするとなかなか死ねるし。まあMSの夢想としては今ごろみんなUWPになっててこの手の問題はアプリ側で考えなくても済むようになっているはずだったんでしょうな。
んなわけねーだろ。
Creators Updateまで来てようやく現実を認識し始めたか、gdiScaling互換性オプションとか再起動オプションの復活とか始めたと。
Re: (スコア:0)
A 「ただいまー」
B (まずっ。えーとえーと、とりあえず再起動!)「おかえりー」
PC 「再起動完了。アプリを再開するよー」
A 「なにこれ?」
# 電源OFFでも同じ目にあいそうな気がする
Re: (スコア:0)
ただの再起動ではなくて、OSアップデートはOSの機能が変わる可能性があるからなあ。
セキュリティフィックスだって、脆弱性のある機能を利用していたアプリにとっては機能変更になるわけだし。
一般的な解決策は難しそうな。
Re:アプリケーション層レベルのレジューム (スコア:1)
現状でもウィンドウズはアプリのデータを保存せずにシャットダウンしようとすると警告を出してくるわけで本来なら席を離れていたらワードの文書が再起動のせいで消えたなどということはおきないのだが…
シャットダウン時にウィンドウズが安全にシャットダウンできるかをアプリケーション側とやりとりしている。だからシャットダウンされると困ると返してきたアプリケーションだけサスペンドすればいい。OSの更新によるOSの機能変更を気にするならアプリケーションのサスペンドが発生した時点で当該のアプリケーションが呼び出していたAPIやABIのリストを保存して当該のアプリケーションが要求してきた時だけ古い方にリダイレクトするようにすりゃいい。機能毎にアクセスしているアプリケーションを管理して古いバージョンを使うアプリケーションが全て終了したらOSの古いファイル類は削除するようにする。
問題点?実装が非常に面倒だってこと。脆弱性のある機能を掴み続けるアプリケーションがあると更新の意味がないこと。悪意を持ったアプリケーションは常にサスペンドを要求するからゼロデイ攻撃に却って脆弱になってしまうこと。こんなものか。
Windowsが頻繁に(個人の感想です)不要と思えるような場面(個人の感想です)で一々(個人の感想です)再起動を行うのは全てのプロセスが更新の必要なライブラリやらなんやらにアクセスしていない状況を創りだすには再起動をするのが確実かつ最も簡単だから。
/*zyper ps -s
sudo reboot
*/
Re: (スコア:0)
>脆弱性のある機能を掴み続けるアプリケーションがあると更新の意味がないこと。悪意を持ったアプリケーションは常にサスペンドを要求するからゼロデイ攻撃に却って脆弱になってしまうこと。
これってつまり無理ってことなんでは…。
他のアップデートはともかく、セキュリティフィックスは仕方ないんだから、みんなあきらめて再起動しよう(提案)。
Re: (スコア:0)
暇で情強なひとならそのようなプロセスの稼働時間を適宜監視して長時間生きているプロセスを適切に終了できるので問題ありません。
まあアップデートしたら再起動するというのは情弱と忙しい人のような普通の人向け。急がば回れ。
Re: (スコア:0)
テレビの録画とかの絶対に止めることが許されない処理があるので無理
Re: (スコア:0)
テレビの録画は専用機使った方がいいよ。
Re: (スコア:0)
ペイントですら可能なことがいまだに出来ないのって開発者の怠慢でしょ
http://www.atmarkit.co.jp/ait/articles/1611/29/news016.html [atmarkit.co.jp]
Re: (スコア:0)
そこでやってることって Windows95 以降、一度も削除されてない機能だよね。昔はデフォルトOn だったのが、XP からは OFF になったけど、Windows 10 でも ON にできるし機能してる。