pdf 下载地址

点击下载

linux系统I/O模型

阻塞I/O: 依次排队等待,直到获取到IO事件的执行权限
非阻塞I/O: 等待期间可以处理其它任务,需要主动检查IO事件是否就绪
I/O多路复用: 等待期间可以处理其它任务,等待广播通知IO事件是否就绪

进程与线程的区别

对比维度 进程 线程 总结
包含关系 一个进程包含一个或多个线程 线程是进程的一部分 进程包含线程
资源开销 拥有独立的程序上下文和内存地址空间,切换开销大 共享程序上下文和内存地址空间,切换开销小 线程占优
可靠性 一个进程崩溃不会影响其它进程 一个线程崩溃将导致整个进程挂掉 进程占优
通信实现 IPC(Inter-Process Communication) 全局变量+锁 线程占优

进程间通信的实现原理

进程通信

  1. 共享存储(通过共享内存):
    共享存储

  2. 消息传递(通过消息中间件):
    消息传递

  3. 管道通信(通过共享文件):
    管道通信

死锁的产生和处理方式

  1. 死锁产生的条件:

    1. 互斥条件:一个资源每次只能被一个进程使用。
    2. 不可剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。
    3. 请求和保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。
    4. 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。
  2. 死锁的处理方式:
    死锁的处理方式

文档更新时间: 2024-04-20 10:57   作者:lee