僵死进程:
(1)概念: 进程实体已经释放,但进程对应的PCB进程控制块(进程描述符)还在.
(2)产生的条件: 子进程比父进程结束的早,且父进程没有调用 wait() 获取子进程的退出码,这时子进程就变为僵死进程.
(3)若子进程比父进程结束的晚,则在父进程结束后,子进程的父进程会变成pid为1 的进程.
关于malloc:
(1)在申请内存时,比如申请2G内存,如果剩余内存足够则申请成功,如果不够,则看当前虚拟内存和当前物理内存之和是否
足够,两者只和足够则成功,否则失败
(2)申请内存时要考虑4G虚拟内存空间,用户空间为3G,堆区小于3G,所以申请内存为3G时,程序会崩溃
(3)malloc调用成功,只会分配虚拟内存,用的时候(例如写操作时)才会实际分配物理内存.
(4)虚拟内存在磁盘上