文章目录
- 1. 进程间内存是否共享?如何实现通讯?
- 2. 请聊聊进程队列的特点和实现原理?
- 3. 死锁
- 4. Linux查看tcp连接状态
- 5. 统计httpd协议连接数
- 6. 统计80端口连接数
- 7. 查看CPU负载
- 8. find和grep命令的区别?
- 9. 线上服务可能因为种种原因导致挂掉怎么办?
- 10. 常用Linux命令:
- 11. select,poll和epoll
- 13. 调度算法
- 14. 虚拟内存技术
- 15. 分页和分段
- 16. 页面置换算法
- 17. 边沿触发和水平触发
- 18. 你了解生产者模型消费者模型么?如何实现?
- 19. 从你的角度说说进程在计算机中扮演什么角色?
- 20. 什么是IPC,请简述你了解的IPC机制
- 21. 孤儿进程
- 22. 僵死进程
1. 进程间内存是否共享?如何实现通讯?
进程之间的内存是相互隔离的,因此数据也是相互隔离的。
实现:
- 1.基于文件(队列,管道+锁)
- 2.基于网络(第三方工具,socket)
2. 请聊聊进程队列的特点和实现原理?
特点:
- 1.进程安全,
- 2.数据量不宜过大,
- 3.放取值阻塞
实现原理:
- 基于管道+锁的原理,让不同进程对共享数据的修改有序化,从而保证了数据的安全。
3. 死锁
原因:
- 竞争资源
- 程序推进顺序不当
必要条件:
- 互斥条件
- 请求和保持条件
- 不剥夺条件
- 环路等待条件
处理死锁基本方法:
- 预防死锁(摒弃除1以外的条件)
- 避免死锁(银行家算法)
- 检测死锁(资源分配图)
- 解除死锁
- 剥夺