Operating system 在操作系统关闭过程中会发生什么?

Operating system 在操作系统关闭过程中会发生什么?,operating-system,Operating System,我希望这是编程相关的足够 在操作系统关闭过程中到底发生了什么,让我们把Linux作为它的开放源码,可能会有更多关于这方面的知识 (如何)终止内核线程 当计算机处于“清除”状态时,电源是否停止供电(很明显)?我对clear state的意思是,CPU中不再发生任何事情,等等 为什么大多数操作系统需要这么长时间才能关闭?我的意思是,他们不需要初始化某些东西,甚至不需要将资源加载到内存中 为什么操作系统不像“嘿,别担心,让我们终止所有进程,关掉电源” 好吧,有时候操作系统只是拔掉插头。为“rebo

我希望这是编程相关的足够

在操作系统关闭过程中到底发生了什么,让我们把Linux作为它的开放源码,可能会有更多关于这方面的知识

  • (如何)终止内核线程
  • 当计算机处于“清除”状态时,电源是否停止供电(很明显)?我对clear state的意思是,CPU中不再发生任何事情,等等

  • 为什么大多数操作系统需要这么长时间才能关闭?我的意思是,他们不需要初始化某些东西,甚至不需要将资源加载到内存中

  • 为什么操作系统不像“嘿,别担心,让我们终止所有进程,关掉电源”

  • 好吧,有时候操作系统只是拔掉插头。为“reboot”提供正确的控件参数,然后单击splat

  • 如果对文件的修改在内存中,而不是刷新到磁盘,该怎么办?你可能想先把他们弄出来

  • 如果某个守护进程在某个复杂的文件更新过程的中途发生了什么情况呢?你可能希望它结束

  • 如果一个守护进程需要告诉网络上的其他东西它将离开以安排有序的离开,该怎么办

  • 为了处理所有这些问题,操作系统都有有序的关机程序。在linux上,通过在/etc/rcN.d中查找N=0,1,2,3,4,可以看到香肠被拆开

    以“K”开头的符号链接是关闭过程


    无论如何,在进程结束时,在现代硬件上,操作系统会关闭电源。当然,这意味着什么取决于硬件

    我相信操作系统会调用ACPI或类似的电源管理功能来执行最终的关闭命令。如果计算机不支持这一点,Linux将停止执行,并禁用所有网络

    不进行突然断电的原因是:

  • 某些硬件需要完全关闭-例如,停放硬盘
  • 用户可能有未保存的数据-最好让所有应用关闭

  • 最新的Mac OS X Show Leopard实际上做了一件相当有趣的事情:应用程序应该保持自己处于“稳定”状态,可以在没有警告的情况下终止。如果不是这样(在写入磁盘期间),他们必须让操作系统知道。然后,当你要求它关闭,并且所有应用程序都处于“稳定”状态时,操作系统实际上只是拔掉了插头(在明显的硬件相关关闭完成后,例如将所有脏页写入磁盘,确保硬盘驱动器停止并停驻等)

    大多数操作系统有时需要很长时间才能关闭的另一个原因是:你可能有很多应用程序在一段时间内没有使用,因此被替换掉了。要彻底关闭它们,操作系统会向它们发送终止消息。但为了让他们对此做出反应并安全地退出,他们必须再次交换。这发生在磁盘因其他进程正在向其写入数据而忙碌的同时

    • 当计算机处于“清除”状态时,电源是否停止供电(很明显)?我对clear state的意思是,CPU中不再发生任何事情,等等
    一旦所有进程停止并卸载文件系统,内核将向BIOS发送一个ACPI信号,关闭电源

    • 为什么大多数操作系统需要这么长时间才能关闭?我的意思是,他们不需要初始化某些东西,甚至不需要将资源加载到内存中
    关闭时,许多应用程序必须将其当前状态存储在文件系统上,以备将来执行,并且文件系统必须将更改从RAM刷新到硬盘驱动器

    • 为什么操作系统不像“嘿,别担心,让我们终止所有进程,关掉电源”
    因为您可能会面临应用程序无法正确存储其数据甚至损坏其数据的风险。即使这不是问题,也可能会有数据从文件系统的缓存错误地刷新到硬盘驱动器,从而导致系统的文件系统不一致


    您可以阅读最近的一篇文章,其中ext4在将文件内容写入磁盘之前刷新了文件的元数据,kde4正在读写大量的小文件。如果您在写入过程中碰巧硬关机,那么您的所有配置文件都将损坏/FUBAR。

    将其保存到SF,而不是进行任何编程。更多superuser.com对我来说是值得的。我已经在这方面工作了一段时间。虽然我只是好奇一些你不知道的东西,但我的问题或多或少被称为“家庭作业”。我认为这可能是这里的拖拉形式。“对我来说听起来像是……”“我希望这不是你的家庭作业”。。。(是的,我指的是你)这显然是关于“如何编程一个操作系统”,所以绝对适合so。也许你并不是真的要建造一个,但在我看来,这确实是一个有趣的问题。