操作系统合集
·
giftia
僵尸进程 孤儿进程
- 僵尸:子进程挂了,但没有被父进程正常回收,会消耗资源
- 孤儿:父进程挂了,子进程仍在允许,会交由 init 进程管理,无害
select poll epoll
- select: 用位图传 fd 集合,每次调用全量拷贝进内核并线性扫描,受 FD_SETSIZE(默认 1024)限制,连接多了就慢。
- poll: 用 pollfd 结构体数组替代位图,取消了 1024 上限,但仍需全量拷贝和线性扫描,连接多了照样慢。
- epoll: fd 只注册一次,底层用红黑树管理全量 fd、用就绪链表存放活跃 fd,epoll_wait 直接取就绪链表返回,适合大量连接但活跃少的场景(仅 Linux)。
死锁条件
互斥、持有并等待、循环等待、不可剥夺