是什么使Windows需要不断重启,而Linux却不需要重启?[重复]


21

像许多人一样,我在计算机上运行双系统。重要更新需要Windows上不断重启,而我认为Linux上从来没有发生过这种情况。每个操作系统的哪些属性决定了是否可行?


5
我仍然必须重新引导Linux系统才能安装内核更新。我知道即使有这种方法也可以解决,但我不需要这么长的正常运行时间。尽管很少为我的服务器或长期支持安装提供内核更新,但在更先进的系统上确实偶尔会得到内核更新–我在这里看不到Linux和Windows之间的太大区别。但是,Linux更新比Windows更新的吸引力要小得多,因为它们不会将重新启动变成等待游戏。
阿蒙(Amon)2015年

1
好吧,实际上 ... 1.与以前相比,今天的Windows不再是一个问题。发生这种情况时,通常是因为有人忘记关闭某个应用程序,该应用程序锁定了Windows需要更新的某些文件,并且Windows并没有注册失败,而是只是注册了这些文件更改以供下次启动。2.我当前运行Windows 10的计算机上的冷重启大约需要15秒,其中一半是POST时间。
罗伯特·哈维

@ Robert-您对完成启动的定义是什么?进入登录/桌面屏幕并不是很糟糕,它正在等待所有这些服务开始,因此您实际上可以使用这台计算机感到很痛苦。如果您的时间包括启动服务,那么您的设置是什么?当然,我没有最新,最先进的设备,但我确实有足够的电脑,工作的电脑大约需要3分钟,而我的家大约需要2 1/2分钟才能开始使用它们。
2015年

@Dunk:购买SSD。
Ben Voigt 2015年

@ Ben-我现在不在家里排队买一台新计算机,但我儿子却在排队。因此,我将在圣诞节期间为他建造一个,并将第一手检查出来。但是,我阅读的基准测试报告显示速度提高了约50%,而不是Robert在我的系统上看到的1000%。绝对值得升级的麻烦是1000%。50%没那么多。
2015年

Answers:


49

这是工程决策的结果。

在Linux系统上,可以删除仍在使用的文件。文件系统使用实质上是引用计数的形式,而打开文件只是对该引用的另一种引用。当您关闭它时,该文件将被清理。因此,可以替换核心OS代码和数据文件而无需关闭它们并重新启动(也称为重新启动)。

在Windows上,打开文件会将其锁定在文件系统中,并且无法删除。这意味着当前正在运行的代码如果不重新启动就无法更新。但是,这也意味着您始终可以确切了解系统上正在运行的版本。在Linux模式下,由于旧的未更新版本仍在运行,因此可能会收到重要的系统软件更新,成功应用它,但仍无法在您的系统上运行。

就像大多数计算中的事情一样,这是工程上的折衷。


6
@Ian不,您可以重新启动服务以应用更新。或者,对于内核,您可以使用ksplice,kpatch等,或Linux 4.0中的新功能。
保姆2015年

2
@Deduplicator,确定;我只是对收养率感到悲观。与我合作的一个开发团队宣布,在足够古老的systemd发行版的基于notify-socket-watch-watchdog的错误导致了守护进程的新副本之后,他们不再接受任何补丁,不再支持对systemd功能的支持。每秒旋转一次(除了旧的!)。
Charles Duffy 2015年

1
@krlmlr:不允许您删除打开的文件。从文档中:“ DeleteFile函数将文件标记为在关闭时要删除。因此,在关闭文件的最后一个句柄之前,不会发生文件删除。”您仍然可以替换它,MoveFile用来摆脱旧的文件。 。
Ben Voigt

1
@Ian,“琐碎”是指负责构建Linux发行版更新系统的任何人都将知道如何使它浮出水面,因此问题就变成了自动运行是否是一个好主意(或如何公开它)给用户),而不是是否有可能。
查尔斯·达菲

2
@CharlesDuffy我不知道它是如何工作的,但是Debian Needrestart软件包可以完成您正在描述的工作,即自动重启其可执行文件/库已被更新的服务。
zwol

3

这是预期用户期望值的结果。

Linux系统是在服务器上运行unix之后建模的。在这些社区中,正常运行时间是自吹自point的时刻。减少正常运行时间的任何事情都是不好的。这是期望计算机具有多个用户并且计划停机时间必须与多个用户协调的副作用。

Windows是为个人计算机市场设计的。在引入它的时候,知道您可以退出一个程序并启动另一个程序而无需重新启动,这是有经验的计算机用户的标志。因此,在设计ntfs时没有理由不使用文件名作为主要标识符。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.