Linuxがそうでないのに、Windowsが絶えずリブートする必要があるのはなぜですか?[複製]


21

多くの人々と同様に、私は自分のコンピューターでデュアルシステムを実行しています。重要な更新プログラムでは、Windowsで継続的に再起動する必要がありますが、Linuxでこれが起こることはないと思います。各OSのどのプロパティが、これが可能かどうかを決定しますか?


5
カーネルアップデートをインストールするには、Linuxシステムを再起動する必要があります。それを回避する方法もありますが、そのような極端なアップタイムを必要としません。サーバーのカーネルアップデートや長期サポートのインストールはめったにありませんが、最新のシステムでは時々カーネルアップデートが行われます。LinuxとWindowsの違いはあまりありません。ただし、Linuxの更新は、再起動を待機中のゲームに変えないため、Windowsの更新よりも邪魔になりません。
アモン

1
まあ、実際に ... 1.これは、以前のWindowsよりも今日のWindowsの問題ではありません。通常、Windowsが更新する必要があるファイルをロックしているアプリケーションを閉じるのを誰かが忘れたためであり、インストールに失敗するのではなく、Windowsは単にそれらのファイルの変更を次のブートのために登録します。2. Windows 10を実行している現在のマシンでのコールドリスタートには約15秒かかります。その半分はPOST時間です。
ロバートハーヴェイ

@ Robert-スタートアップの仕上げの定義は何ですか?ログイン/デスクトップ画面へのアクセスはそれほど悪くありません。すべてのサービスが開始されるのを待っているので、苦痛なコンピューターを実際に使用できます。時間にサービスの開始が含まれる場合、設定は何ですか?確かに私は最新で最高のコンピューターを持っていませんが、十分なコンピューターがあり、仕事用のコンピューターは約3分かかります。
ダンク

@Dunk:SSDを購入します。
ベンフォークト

@ Ben-私は新しいコンピューターのために私の家の次の行ではありませんが、私の息子はそうです。それで、私はクリスマスのために彼を作り、それを直接チェックします。ただし、私が読んだベンチマークテストレポートでは、ロバートが私のシステムで見たような1000%ではなく、約50%の速度向上が示されています。1000%は間違いなくアップグレードの手間をかけるだけの価値があります。それほど多くない。
ダンク

回答:


49

それはエンジニアリングの決定の結果です。

Linuxシステムでは、まだ使用中のファイルを削除することができます。ファイルシステムは、基本的に参照カウントの形式を使用します。ファイルを開くことは、それに対する単なる別の参照です。閉じると、ファイルはクリーンアップされます。この結果、コアOSコードとデータファイルをシャットダウンして再起動(再起動)することなく、それらを置き換えることができます。

Windowsでは、ファイルを開くとファイルシステムでロックされ、削除できません。つまり、現在実行中のコードは、再起動しないと更新できません。ただし、これは、システムで実行されているバージョンを常に正確に把握できることも意味します。Linuxモデルでは、重要なシステムソフトウェアアップデートを受け取り、それを正常に適用しても、システム上で動作しないままにすることができます。これは、古い未アップデートバージョンがまだ実行されているためです。

これは、コンピューティングのほとんどのものと同様に、エンジニアリング上のトレードオフです。


6
@Ianいいえ、サービスを再起動して更新を適用できます。または、カーネルの場合、ksplice、kpatchなど、またはLinux 4.0の新機能を使用できます。
乳母

2
@Deduplicator、確かに。採用率については悲観的です。私が協力している開発チームの1つは、十分に古いsystemdリリースのnotify-socket-based-watchdogサポートのバグがデーモンの新しいコピーをもたらした後、オプションのsystemd機能のサポートを追加するパッチを受け入れないことを発表しました(古いものに加えて)1秒に1回スピンアップされます。
チャールズダフィー

1
@krlmlr:開いているファイルを削除することはできません。以下からのドキュメント:「DeleteFileを機能マーク近くの削除用ファイルのファイルへの最後のハンドルが閉じられるまでそのため、ファイルの削除は行われません。」あなたはまだそれを置き換えることができます使用して、MoveFile道の古いものを出すために。
ベンフォークト

1
@Ian、「些細な」ことで、Linuxディストリビューションの更新システムを構築する責任者は誰でも頭の中でそれを実現する方法を知っていることを意味するので、質問は自動的に実行するのが良いアイデアかどうか(または公開する方法)ユーザーに)、可能かどうかではありません。
チャールズダフィー

2
@CharlesDuffyそれが内部でどのように機能するかはわかりませんが、Debian needrestartパッケージはあなたが説明している仕事、すなわち実行可能ファイル/ライブラリが更新されたばかりのサービスを自動的に再起動します。
zwol

3

これは、予測されるユーザーの期待の結果です。

Linuxシステムは、サーバー上でUNIXを実行した後にモデル化されます。これらのコミュニティでは、稼働時間が自慢のポイントでした。アップタイムを短縮するものはすべて悪かった。これは、コンピューターに複数のユーザーがいて、スケジューリングダウンタイムを複数のユーザーと調整する必要があるという期待の副作用です。

Windowsは、PC市場向けに設計されました。導入された時点で、あるプログラムを終了して再起動せずに別のプログラムを起動できるという認識は、経験豊富なコンピューターユーザーのサインでした。このため、ntfsの設計時にファイル名をプライマリ識別子として使用しない理由はありませんでした。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.