上一页 1 2 3 4 5 6 7 8 ··· 16 下一页
摘要: 1、协程只是一种思路,并且没有操作系统层面的参与,所以全靠3环的应用开发人员自己实现。市面上有各种协程框架,这里以微信的libco库为例,看看协程到底是怎么落地实现的!libco 是微信后台开发和使用的协程库,号称可以调度千万级协程;从使用上来说,libco 不仅提供了一套类 pthread 的协程 阅读全文
posted @ 2022-03-06 21:34 第七子007 阅读(592) 评论(0) 推荐(0) 编辑
摘要: 1、协程原理阐述 (1)为了提升数据处理的效率,用户的应用程序通常采用多线程的形式,典型的就是生产者-消费者模型:生产者往共享内存块写数据,消费者从共享内存块读数据后处理!这种经典的模型具体落地实现时有两点需要特别注意: 多线程之间的互斥/同步:一般情况下共享内存块同时只能有1个线程写,写线程之间必 阅读全文
posted @ 2022-03-03 12:25 第七子007 阅读(618) 评论(0) 推荐(0) 编辑
摘要: 1、linux提供了好几种IPC的机制:共享内存、管道、消息队列、信号量等,所有IPC机制的核心或本质就是在内核开辟一块空间,通信双方都从这块空间读写数据,整个流程图示如下: 这种通信方式天生的缺陷看出来了么? A进程把数据拷贝到内核,B进程从内核再拷贝走,同一份数据可能在内存存放了3份,同时还复制 阅读全文
posted @ 2022-02-25 11:08 第七子007 阅读(1016) 评论(0) 推荐(0) 编辑
摘要: 众所周知,linux的理念是万物皆文件,自然少不了对文件的各种操作,常见的诸如open、read、write等,都是大家耳熟能详的操作。除了这些常规操作外,还有一个不常规的操作:mmap,其在file_operations结构体中的定义如下: 这个函数的作用是什么了? 1、对于读写文件,传统经典的a 阅读全文
posted @ 2022-02-23 16:47 第七子007 阅读(4500) 评论(1) 推荐(1) 编辑
摘要: 为了确保进程数据的安全,cpu在硬件级别就支持不同进程的内存隔离了,采用的手段分别是:LDT和分页;每个进程都有自己的ldt描述符,严格规定了该进程使用的物理内存!同时还有分页机制,不同进程就算是同样的虚拟地址,也会映射到不同的物理地址!这两项措施严格保证了进程之间的物理内存是严格隔离的,互相无法读 阅读全文
posted @ 2022-02-20 21:25 第七子007 阅读(542) 评论(0) 推荐(0) 编辑
摘要: 1、从网络问世直到10来年前,tcp拥塞控制采用的都是经典的reno、new-reno、bic、cubic等经典的算法,这些算法在低带宽的有线网络下运行了几十年。随着网络带宽增加、无线网络通信的普及,这些经典算法逐渐开始不适应新环境了: 手机、wifi等的无线通信在空口段由于信道竞争等原因导致数据包 阅读全文
posted @ 2022-02-12 21:44 第七子007 阅读(1685) 评论(0) 推荐(0) 编辑
摘要: 网络拥塞的概念大家一定不陌生,肯定都有亲生体会:比如节假日的高速路堵车。本来车流量已经很大了,如果再不限制高速口的车进入,整条路只会越来越堵,所以交管部门可能会临时限流,只允许车辆下高速,不允许上高速!互联网刚发明的那会还没有拥塞的概念,各个节点死命地传输数据,导致网络中各种路由设备的buff瞬间被 阅读全文
posted @ 2022-02-09 19:50 第七子007 阅读(1454) 评论(0) 推荐(0) 编辑
摘要: 前面介绍了用来管理存放网络数据包的sk_buff,以及描述通信协议的socket和sock结构体,现在终于轮到怎么和远程的计算机通信了!从常识上讲,通信之前必须要建立连接,比如有线的键盘给电脑发送信号,需要先让键盘通过usb接口连接到电脑,否则电脑怎么接受键盘的电信号了?同理:我要想使用鼠标,比如先 阅读全文
posted @ 2022-02-04 17:38 第七子007 阅读(757) 评论(0) 推荐(0) 编辑
摘要: linux下的网络编程离不开socket,中文被翻译为套接字。任何网络通信都必须先建立socket,再通过socket给对方收发数据!数据接受的demo代码如下: #include <string.h> #include <sys/socket.h> #include <sys/types.h> # 阅读全文
posted @ 2022-02-02 20:53 第七子007 阅读(1627) 评论(0) 推荐(0) 编辑
摘要: 1、时至今日,已经找不到单机设备了,所有的IT硬件设备都会联网和其他的IT设备通信。设备之间传递数据总要遵守特定的协议规范吧,避免出现“鸡同鸭讲”的尴尬局面,这个就是至今世界范围内最流行的tcp/ip协议! 为了简化,又被分成了5层,各种体系的对应关系如下图: 看网络原理解析的各种技术文章时,经常会 阅读全文
posted @ 2022-02-01 13:05 第七子007 阅读(1636) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 16 下一页