上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 22 下一页
摘要: 网络拥塞的概念大家一定不陌生,肯定都有亲生体会:比如节假日的高速路堵车。本来车流量已经很大了,如果再不限制高速口的车进入,整条路只会越来越堵,所以交管部门可能会临时限流,只允许车辆下高速,不允许上高速!互联网刚发明的那会还没有拥塞的概念,各个节点死命地传输数据,导致网络中各种路由设备的buff瞬间被 阅读全文
posted @ 2022-02-09 19:50 第七子007 阅读(1894) 评论(0) 推荐(0)
摘要: 前面介绍了用来管理存放网络数据包的sk_buff,以及描述通信协议的socket和sock结构体,现在终于轮到怎么和远程的计算机通信了!从常识上讲,通信之前必须要建立连接,比如有线的键盘给电脑发送信号,需要先让键盘通过usb接口连接到电脑,否则电脑怎么接受键盘的电信号了?同理:我要想使用鼠标,比如先 阅读全文
posted @ 2022-02-04 17:38 第七子007 阅读(977) 评论(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 阅读(2120) 评论(0) 推荐(0)
摘要: 1、时至今日,已经找不到单机设备了,所有的IT硬件设备都会联网和其他的IT设备通信。设备之间传递数据总要遵守特定的协议规范吧,避免出现“鸡同鸭讲”的尴尬局面,这个就是至今世界范围内最流行的tcp/ip协议! 为了简化,又被分成了5层,各种体系的对应关系如下图: 看网络原理解析的各种技术文章时,经常会 阅读全文
posted @ 2022-02-01 13:05 第七子007 阅读(2975) 评论(0) 推荐(0)
摘要: 定时器都知道吧?个人认为是linux最核心的功能之一了!比如线程sleep(5000),5s后再唤醒执行,cpu是怎么知道5s的时间到了?还有nginx这种反向代理每隔一段时间都要检测客户端的是否还在,如果掉线了就没必要再分配资源维护连接关系啦。那么间隔固定时间检测心跳的定时机制是怎么实现的了? 1 阅读全文
posted @ 2022-01-28 19:42 第七子007 阅读(1697) 评论(1) 推荐(0)
摘要: 1、简单介绍一下epoll的出现的背景:这里以java代码为例,最原始的server代码如下: while(true){ ServerSocket ss = new ServerSocket(8888); System.out.println("启动服务器...."); Socket s = ss. 阅读全文
posted @ 2022-01-21 21:57 第七子007 阅读(2369) 评论(0) 推荐(0)
摘要: 1、linux内核中利用红黑树增删改查快速、稳定的特性来管理的还有另一个非常重要的功能:虚拟内存管理!前面介绍了buddy和slab算法是用来管理物理页面的。由于早期物理页面远比虚拟页面小很多,而且只需要分配和回收合并,所以也没用树形结构来组织,简单粗暴地用链表来管理!但是虚拟内存不一样了:以32位 阅读全文
posted @ 2022-01-19 20:19 第七子007 阅读(2170) 评论(0) 推荐(0)
摘要: 1、在现代的操作系统中,进程调度是最核心的功能之一;linux 0.11的调度算法简单粗暴:遍历task_struct数组,找到时间片counter最大的进程执行;显然这种策略已经不适合越来越复杂的业务场景需求了,所以后来逐步增加了多种调度策略,目前最广为人知的调度策略有5种:cfs、idle、de 阅读全文
posted @ 2022-01-15 21:29 第七子007 阅读(1783) 评论(1) 推荐(0)
摘要: 1、红黑树是一种非常重要的数据结构,有比较明显的两个特点: 插入、删除、查找的时间复杂度接近O(logN),N是节点个数,明显比链表快;是一种性能非常稳定的二叉树! 中序遍历的结果是从小到大排好序的 基于以上两个特点,红黑树比较适合的应用场景: 需要动态插入、删除、查找的场景,包括但不限于: 某些数 阅读全文
posted @ 2022-01-13 21:42 第七子007 阅读(2628) 评论(0) 推荐(0)
摘要: 要想在计算机里干点事,权限肯定是越高越好的。正常情况下,cpu硬件层面保证了运行在0环的操作系统和运行在3环的用户app互相隔离,3环app要想进入0环执行代码只能通过中断或系统调用的形式,执行最多代码的应该就是硬件的驱动了,常见的屏幕打印、磁盘读写、网卡/wifi收发数据都要执行硬件驱动。因为需要 阅读全文
posted @ 2022-01-08 17:13 第七子007 阅读(1806) 评论(0) 推荐(1)
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 22 下一页