windows 操作系统崩溃的常见原因
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/114081/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Common Causes of Operating System Crashes
提问by devinmoore
I am interested to learn: what are the most common technical causes (from the perspective of operating system programming) of an operating system crash (not limited to Windows crashes)? I'm looking for an answer not like "too many apps open", but what specifically happens when too many apps are open that causes the crash.
我有兴趣了解:操作系统崩溃(不限于 Windows 崩溃)最常见的技术原因(从操作系统编程的角度来看)是什么?我正在寻找的答案不是“打开的应用程序太多”,而是当打开的应用程序太多导致崩溃时会发生什么。
回答by Sklivvz
In my opinion
在我看来
- Bad drivers
- Kernel bugs
- Hardware failure
- End of resources
- 坏司机
- 内核错误
- 硬件故障
- 资源结束
A modern operating system will not let a mere application crash it.
现代操作系统不会让单纯的应用程序崩溃。
回答by Nils Pipenbrinck
It's Buggy Drivers that cause OS crashes. Only the OS itself and drivers are able to harm the system.
是导致操作系统崩溃的错误驱动程序。只有操作系统本身和驱动程序能够损害系统。
To your suggestions:
对您的建议:
No OS has problems if an application accesses the same memory as the OS. Either the memory is accessible or it is not. If an application tries to access memory that it should not the CPU generates a segmentation-fault. The OS hands this over to the application and the problem is solved. (in 99% the app will crash afterwards, but that's not the fault of the OS).
You're suggesting that slower programs are more safe. That's not true. The OS does not need to know what exactly your program is doing.
如果应用程序访问与操作系统相同的内存,则操作系统不会出现问题。内存可访问或不可访问。如果应用程序尝试访问它不应该访问的内存,CPU 会生成分段错误。操作系统将其移交给应用程序,问题就解决了。(在 99% 的情况下,应用程序会在之后崩溃,但这不是操作系统的错)。
您建议较慢的程序更安全。这不是真的。操作系统不需要知道你的程序到底在做什么。
回答by Kramii
In modern OS, application code and OS code run in separate address spaces. The application code cannot crash the operating system. See here:
在现代操作系统中,应用程序代码和操作系统代码在不同的地址空间中运行。应用程序代码不能使操作系统崩溃。看这里:
http://en.wikipedia.org/wiki/Ring_(computer_security)
http://en.wikipedia.org/wiki/Ring_(computer_security)
The most common readon for a crash is code that is acting as part of the OS interfearing with other code that is acting as part of the OS. A common cause is poorly written device drivers that live in the OS's address space.
最常见的崩溃原因是作为操作系统一部分的代码与作为操作系统一部分的其他代码相互干扰。一个常见的原因是存在于操作系统地址空间中的设备驱动程序编写不当。
Less often, crashes are caused by hardware faulures.
在少数情况下,崩溃是由硬件故障引起的。
回答by Akil Adeshwar
Any OS crashcan occur due to either of the two main reasons:
由于以下两个主要原因之一,可能会发生任何操作系统崩溃:
- Hardware Problem.
- Software Problem.
- 硬件问题。
- 软件问题。
HARDWARE PROBLEMS:
硬件问题:
Power Related problems: Improper functioning of the System Power Supply can lead to immediate shutting down of the System.
Overheating of RAM: Overheating RAM could lead to corruption of data in it.This can lead to definite crash where reset is a must.
Improper Overclocking: Causes Overheating. Certain Hardware Components are sensitive to heat. When Overheating occurs automatically the system shuts down.
Bad Sectors in Hard Drive: The Hard disk is divided into sectors where data is stored. Some sectors become Bad sectors. Reasons: a. Prolonged usage - many writes and reads. b. Manufacturing defect. If sectors in the hard disk, where important system information is stored, becomes a bad sector then it is difficult to load those files, thus leading to a crash.
- RAM Issues: Cause: Data retrieval not possible. This is very important as this leads to Fatal Exception Error
电源相关问题:系统电源的不当运行会导致系统立即关闭。
RAM 过热:RAM过热可能导致其中的数据损坏。这可能导致必须重置的明确崩溃。
不正确的超频:导致过热。某些硬件组件对热敏感。当发生过热时,系统会自动关闭。
硬盘驱动器中的坏扇区:硬盘被划分为存储数据的扇区。一些扇区变成坏扇区。 原因: a.长时间使用 - 多次写入和读取。 乙。制造缺陷。如果硬盘中存储重要系统信息的扇区变成坏扇区,则很难加载这些文件,从而导致崩溃。
- RAM 问题:原因:无法检索数据。这非常重要,因为这会导致致命异常错误
Major Misconception: An application crash in your system does not always lead to a system crash. Generally "Nothing" happens to the OS. It just sends you a report saying so and so application has crashed.
主要误解:系统中的应用程序崩溃并不总是导致系统崩溃。通常“没有”发生在操作系统上。它只是向您发送一个报告,说某某应用程序崩溃了。
SOFTWARE PROBLEMS:
软件问题:
- Corrupt Registry: Before starting any application, the OS looks into its registry. Registry is a small Database where all the information about kernel, drivers and information about applications are stored. Registry can get corrupted due to improper uninstallation of applications, careless editing of registry, too many installed applications etc. More causes of Corrupt Registry. This leads to routine applications refusing to start thus causing the Blue Screen of Deathto be displayed.
- Improper Drivers: In order to use additional hardware, we need drivers, generally downloaded from the internet. These drivers might contain bugs. These bugs cause the OS to crash. Modern operating systems are released with the option of "Safe Mode Boot". Safe Mode Boot loads only important drivers (minimum) and not all. Safe Mode Boot is used for diagnostic purposes to find the driver with bugs.
- Virus and Trojan: Common reasons for OS crash. Viruses and Trojans corrupt the system files, "eat up" the memory not allowing OS to retrieve it when a programs stops, changes administrative settings, frequent rebooting without any sign etc
- Thrashing: Deadlock occurs when two programs running require control over a particular resource. Sometimes during a deadlock, the OS tries to switch back and forth between the two programs. This eventually leads to Thrashing where the hard drive is being overworked by moving information between the system memory and virtual memory excessively causing a system crash.
- 损坏的注册表:在启动任何应用程序之前,操作系统会查看其注册表。Registry 是一个小型数据库,其中存储了有关内核、驱动程序和应用程序信息的所有信息。由于应用程序卸载不当,注册表编辑不小心,安装的应用程序过多等 ,注册表可能会损坏。损坏注册表的更多原因。这会导致常规应用程序拒绝启动,从而导致显示蓝屏死机。
- 不正确的驱动程序:为了使用额外的硬件,我们需要驱动程序,通常从互联网上下载。这些驱动程序可能包含错误。这些错误会导致操作系统崩溃。现代操作系统发布时带有“安全模式启动”选项。安全模式启动仅加载重要的驱动程序(最少)而不是全部。安全模式启动用于诊断目的,以查找有错误的驱动程序。
- 病毒和木马:操作系统崩溃的常见原因。病毒和特洛伊木马会破坏系统文件,“吃掉”内存不允许操作系统在程序停止时检索它,更改管理设置,频繁重启而没有任何迹象等
- 颠簸:当两个正在运行的程序需要控制特定资源时,就会发生死锁。有时在死锁期间,操作系统会尝试在两个程序之间来回切换。这最终会导致 Thrashing,其中硬盘驱动器因在系统内存和虚拟内存之间过度移动信息而导致系统崩溃而过度工作。
回答by CAD bloke
If we use Vista as an example - drivers ... NVidia in particular http://arstechnica.com/news.ars/post/20080325-vista-capable-lawsuit-paints-picture-of-buggy-nvidia-drivers.html. It's the OS that dictates memory allocation, not applications. Well, that's the theory.
如果我们以 Vista 为例 - 驱动程序 ... 特别是 NVidia http://arstechnica.com/news.ars/post/20080325-vista-capable-lawsuit-paints-picture-of-buggy-nvidia-drivers.html. 决定内存分配的是操作系统,而不是应用程序。嗯,这就是理论。
回答by M.anvesh
os crash may also cause due to some sectors crash in harddisk this is because i all pcs os presents in primary drive in the hardidsk.
由于硬盘中的某些扇区崩溃,操作系统崩溃也可能导致这是因为我所有的电脑操作系统都存在于硬盘的主驱动器中。
回答by Vargen
Two different sources trying to access a locked area is one problem. Getting all mutexes, monitors and locks to work 100% is not trivial.
尝试访问锁定区域的两个不同来源是一个问题。让所有互斥锁、监视器和锁 100% 工作并非易事。
回答by 1800 INFORMATION
No you are way off. Typically there is nothing an application can do that can cause the OS to crash. OS crashes are generally caused by buggy device drivers and hardware failures.
不,你离得很远。通常,应用程序无法执行导致操作系统崩溃的任何操作。操作系统崩溃通常是由错误的设备驱动程序和硬件故障引起的。