技术复习总结

来源:互联网 发布:水冶豫广网络 编辑:程序博客网 时间:2024/05/17 08:04

1)写时拷贝机制 创建新进程(子进程)时,先直接拷贝当前进程,当前或子进程任何一方有写入的变化时再真正新建进程

2)零拷贝机制 内核态与用户态的切换由四次减少为两次

3)infiniband技术 将现有的总线传输改进为类网络路由交换的io技术。单路光纤的传输带宽可达6g/s。

4)内核态与用户态  两种'态'在切换的时候需要做类似于汇编中的子程序跳转的工作。

5) epoll 相对于轮询,改进了三个缺点,一是减少了从用户态和内核态之间的拷贝fd的开销,二是取消了fd的轮询开销,三是突破了select支持有限的fd的限制。但也不是没有缺点,如果epoll中的epoll_ctl被频繁调用估计会产生新的问题

6)apache三种模式,从进程与线程的关系上比较好理解 。

     (1)prefork的主要特征是一进程一线程,采用多进程模式。

     (2)worker模式 是一进程可多线程。

      (3)event 对worker模式的进一步改进,内部采用了epoll,单个进程下的多线程管理采用epoll,避免了长期空闲keep-alive的线程的资源浪费问题。

7)nginx的优点 受启发于操作系统设计中基于“事件”的高级处理机制,nginx采用了模块化、事件驱动、异步、单线程及非阻塞的架构,大量采用了多路复用及事件通知机制。连接请求由为数不多的几个仅包含一个线程的进程worker以高效的回环(run-loop)机制进行处理,而每个worker可以并行处理数千个的并发连接及请求。

8)总结第7、8,apache相对比较稳定成熟,nginx则适用于海量连接、高并发的场景。

9)rpc框架的原理。

10)常见并发设计模式

    (1) future 模式 常用的几个类callable、future、futureTask

      (2) 多线程环境下的回调驱动 回调的执行比较孤立,与正常流程的汇合比较困难,适用于业务逻辑比较简单的场景。

    (3)基于消息、事件驱动的并发设计模式 流程比较细碎,增加了开发的复杂性,程序的可维护性降低。



0 0
原创粉丝点击