我今天注意到了这一点 - 我的整个系统完全冻结,时钟冻结,点击和按键均无响应,时间机器动画停止运行。在重新分区启动驱动器时。我还打开了 iTunes,它一直在播放音乐。如果整个操作系统完全冻结,iTunes 如何继续播放媒体?我见过的其他 OS X 媒体播放器都无法做到这一点,我很想知道这是如何实现的。
谢谢。
答案1
答案2
我的猜测是,当您选择在 iTunes 中播放一首歌曲时,iTunes 会将歌曲的几乎所有原始数据推送到 DMA。由于 I/O 设备与 CPU 通信的方式,每个设备都有自己的内存地址。一旦 CPU 将数据推送到该地址,I/O 设备就可以使用那里的数据,而无需 CPU 照看它。因此,iTunes 将歌曲的数据移动到声音设备的内存地址,然后声音设备开始播放它。当您播放歌曲时 CPU 锁定时,声音设备还没有意识到 CPU 已停止,只是继续使用其内存地址中的数据播放歌曲。