系统挂起是一种进程或系统进入暂停执行但保留内存状态的管理状态,具体可分为以下两种模式:
一、系统级挂起模式
挂起到内存(STR/Suspend to RAM) 系统将当前工作环境保存到内存中,关闭CPU及除内存外的其他硬件电源,仅保留内存供电。这种模式类似于电脑的待机状态,但响应速度更快,可立即恢复工作环境。
挂起到硬盘(STD/Suspend to Disk)
系统将工作环境保存到硬盘(生成Hiberfil.sys文件,大小与内存容量一致),完全关闭硬件电源。这种模式类似于休眠状态,系统重启后需从硬盘恢复数据。
二、进程级挂起
指单个进程因特定原因暂停执行,但保留内存中的运行状态,等待外部事件(如信号、资源释放等)后恢复执行。例如:
资源不足: 内存或CPU不足时暂停进程 父进程控制
系统调度:操作系统为优化资源分配暂停进程
三、挂起与休眠的区别
挂起:进程暂停但保留内存,响应中断后快速恢复
休眠:系统或进程保存到硬盘,完全断电后需重新启动
四、Linux中的挂起命令
rtcwake:可手动挂起系统或进程。例如:
```bash
sudo rtcwake -m mem 60 挂起60秒后唤醒
sudo rtcwake -s 20 挂起20秒后唤醒
```
该命令对应操作系统的S3电源管理状态(挂起到内存)。
总结
系统挂起是操作系统或进程主动暂停执行的状态,分为内存挂起和硬盘挂起两种模式,主要用于资源管理及进程协调。与休眠状态不同,挂起保留内存以便快速恢复。