01 2022 档案

摘要:定时器都知道吧?个人认为是linux最核心的功能之一了!比如线程sleep(5000),5s后再唤醒执行,cpu是怎么知道5s的时间到了?还有nginx这种反向代理每隔一段时间都要检测客户端的是否还在,如果掉线了就没必要再分配资源维护连接关系啦。那么间隔固定时间检测心跳的定时机制是怎么实现的了? 1 阅读全文
posted @ 2022-01-28 19:42 第七子007 阅读(1510) 评论(0) 推荐(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 阅读(2195) 评论(0) 推荐(0) 编辑
摘要:1、linux内核中利用红黑树增删改查快速、稳定的特性来管理的还有另一个非常重要的功能:虚拟内存管理!前面介绍了buddy和slab算法是用来管理物理页面的。由于早期物理页面远比虚拟页面小很多,而且只需要分配和回收合并,所以也没用树形结构来组织,简单粗暴地用链表来管理!但是虚拟内存不一样了:以32位 阅读全文
posted @ 2022-01-19 20:19 第七子007 阅读(1993) 评论(0) 推荐(0) 编辑
摘要:1、在现代的操作系统中,进程调度是最核心的功能之一;linux 0.11的调度算法简单粗暴:遍历task_struct数组,找到时间片counter最大的进程执行;显然这种策略已经不适合越来越复杂的业务场景需求了,所以后来逐步增加了多种调度策略,目前最广为人知的调度策略有5种:cfs、idle、de 阅读全文
posted @ 2022-01-15 21:29 第七子007 阅读(1560) 评论(1) 推荐(0) 编辑
摘要:1、红黑树是一种非常重要的数据结构,有比较明显的两个特点: 插入、删除、查找的时间复杂度接近O(logN),N是节点个数,明显比链表快;是一种性能非常稳定的二叉树! 中序遍历的结果是从小到大排好序的 基于以上两个特点,红黑树比较适合的应用场景: 需要动态插入、删除、查找的场景,包括但不限于: 某些数 阅读全文
posted @ 2022-01-13 21:42 第七子007 阅读(2264) 评论(0) 推荐(0) 编辑
摘要:要想在计算机里干点事,权限肯定是越高越好的。正常情况下,cpu硬件层面保证了运行在0环的操作系统和运行在3环的用户app互相隔离,3环app要想进入0环执行代码只能通过中断或系统调用的形式,执行最多代码的应该就是硬件的驱动了,常见的屏幕打印、磁盘读写、网卡/wifi收发数据都要执行硬件驱动。因为需要 阅读全文
posted @ 2022-01-08 17:13 第七子007 阅读(1653) 评论(0) 推荐(1) 编辑
摘要:中断是整个计算机体系最核心的功能之一,关于中断硬件原理可以参考文章末尾的链接1(https://www.cnblogs.com/theseventhson/p/13068709.html),这里不再赘述;中断常见的种类如下: 硬件中断:键盘、鼠标、网卡等输入 软件中断:int 3、int 0xe(p 阅读全文
posted @ 2022-01-05 20:58 第七子007 阅读(1495) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示