自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(69)
  • 收藏
  • 关注

原创 手写操作系统 - 操作系统内核突破512字节

boot.asmsetup.asmboot.osetup.oboot.odd0磁道0柱面1扇区BIOS例程0x7c00setup.odd0磁道0柱面2扇区boot。

2023-12-29 09:58:50 371

原创 手写操作系统 - 汇编实现进入保护模式

代码地址。

2023-12-29 09:58:08 390

原创 手写操作系统 - CPU段页门

CPU是如何找到数据并读写的?拿到数据段寄存器中的值 ds = 0x10解析段寄存器中的值,0x10->段选择子CPU读自己的gdtr寄存器取到数据段的描述符解析段描述符检查p位 有效位检查dpl位s位、type域type域 数据段取base、limit判断base + offset <= limit返回线性地址。

2023-12-29 09:57:24 958 3

原创 手写操作系统 --汇编执行流(二)

不同于x86有多种调用约定。还是其他编译器,都使用。x86架构(32位)

2023-12-29 09:56:47 877

原创 手写操作系统 --汇编执行流(一)

使用Java、C++写程序,基本单位是类的方法;使用C语言写程序,基本单位是函数;使用汇编写程序,基本单位就称为执行流(CPU执行引擎执行程序也称为执行流);

2023-12-29 09:55:54 437

原创 手写操作系统 -- 微内核

创建一个微内核项目,编写boot.asm使用命令生成boot.o文件。如何生成一个硬盘?使用命令生成。hd.img硬盘如何将内核写入硬盘?使用将内核程序(boot)写入硬盘(hd.img)当中。如何运行起来?利用bochs或qemu来运行。为什么要读到0x7c00位置?查看实时实时模式下内的存布局图可以发现0x7c00为BIOS例程的入口。为什么要调到处?BIOS例程的内存地址。

2023-12-29 09:54:54 454 1

原创 剑指offer常见题 - 链表问题(二)

链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。:链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。:相比于线性表顺序结构(数组),操作复杂。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要O(n)

2022-12-18 15:37:02 370 1

原创 剑指offer常见题 - 链表问题(一)

链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。:链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。:相比于线性表顺序结构(数组),操作复杂。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要O(n)

2022-12-18 15:28:57 419

原创 Reactor 和 Proactor 区别

总结:由此可以看到采用同步的方式可以马上获知操作的结果。总结:io 函数调用后,不能获知 io 的操作结果, 此时 io 操作都由内核完成充电站推荐一个零声学院免费公开课程,个人觉得老师讲得不错,分享给大家:Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等技术内容,立即学习

2022-12-18 14:14:33 482

原创 算法常见技巧 -快速幂及其相关应用

算法题常用技巧,熟练掌握搭配多种题型,是一种很高效的方式

2022-12-04 01:33:12 403

原创 剑指offer常见题 - 位运算问题(二)

二叉树相关性质:计算机中的数在内存中都是以二进制形式进行存储的 ,而位运算就是直接对整数在内存中的二进制位进行操作,因此其执行效率非常高,在程序中尽量使用位运算进行操作,这会大大提高程序的性能。需要掌握的内容:典型题例:示例 :思路核心:代码:不用加减乘除做加法典型题例:示例 :思路代码:充电站推荐一个零声学院免费公开课程,个人觉得老师讲得不错,分享给大家:Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,

2022-12-03 23:40:24 699

原创 剑指offer常见题 - 位运算问题(一)

二叉树相关性质:计算机中的数在内存中都是以二进制形式进行存储的 ,而位运算就是直接对整数在内存中的二进制位进行操作,因此其执行效率非常高,在程序中尽量使用位运算进行操作,这会大大提高程序的性能。需要掌握的内容:典型题例:示例 :思路核心:代码:数组中唯一只出现一次的数字典型题例:示例 :思路代码:充电站推荐一个零声学院免费公开课程,个人觉得老师讲得不错,分享给大家:Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,

2022-12-03 23:34:57 70

原创 DFS - 常见算法题总结

一种用于遍历或搜索树或图的算法。沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当节点v的所在边都己被探寻过或者在搜寻时结点不满足条件,搜索将回溯到发现节点v的那条边的起始节点。整个进程反复进行直到所有节点都被访问为止。属于盲目搜索,最糟糕的情况算法时间复杂度为O(n!)。

2022-11-20 00:56:42 485

原创 BFS - 常见算法问题

层序遍历:最短路径。

2022-11-20 00:43:20 332

原创 深度学习-虚拟机当服务器的安装环境

将下载好的文件放在系统文件夹下,然后输入bash Anaconda3-5.3.1-Linux-x86_64.sh进行安装。删除conda remove -n your_env_name --all。安装完毕 激活环境 : source activate yuyin。查看已经安装的虚拟环境 conda info --envs。将下载好的文件放在系统文件夹下,然后输入。选择yes在虚拟环境中进行安装所需要的包。选择yes在虚拟环境中进行安装所需要的包。换成清华源 速度增加 还是不行。查看已经安装的虚拟环境。

2022-11-14 11:57:29 516

原创 剑指offer常见题 - 二叉树问题(三)

在二叉树的第i层上至多有2^(i-1)个结点(i>=1):深度为k的二叉树至多有2^(k-1)个结点(k>=1):对任意一颗二叉树T,若终端结点数为n0​,而其度数为2的结点数为n2​,则n0​=n2​+ 1。:具有n个结点的完全二叉树的深度为 ⌊log n⌋+1(以2为底)满二叉树:深度为k,且有2^(k-1)个结点的二叉树。在满二叉树中,每层结点都是满的,即每层节点都具有最大结点数。完全二叉树:深度为k,结点数为n的二叉树,如果其结点1n的位置序号一一对应,则为完全二叉树。

2022-11-06 23:26:52 175

原创 剑指offer常见题 - 二叉树问题(二)

在二叉树的第i层上至多有2^(i-1)个结点(i>=1):深度为k的二叉树至多有2^(k-1)个结点(k>=1):对任意一颗二叉树T,若终端结点数为n0​,而其度数为2的结点数为n2​,则n0​=n2​+ 1。:具有n个结点的完全二叉树的深度为 ⌊log n⌋+1(以2为底)满二叉树:深度为k,且有2^(k-1)个结点的二叉树。在满二叉树中,每层结点都是满的,即每层节点都具有最大结点数。完全二叉树:深度为k,结点数为n的二叉树,如果其结点1n的位置序号一一对应,则为完全二叉树。

2022-11-06 23:17:06 84

原创 剑指offer常见题 - 二叉树问题(一)

在二叉树的第i层上至多有2^(i-1)个结点(i>=1):深度为k的二叉树至多有2^(k-1)个结点(k>=1):对任意一颗二叉树T,若终端结点数为n0​,而其度数为2的结点数为n2​,则n0​=n2​+ 1。:具有n个结点的完全二叉树的深度为 ⌊log n⌋+1(以2为底)满二叉树:深度为k,且有2^(k-1)个结点的二叉树。在满二叉树中,每层结点都是满的,即每层节点都具有最大结点数。完全二叉树:深度为k,结点数为n的二叉树,如果其结点1n的位置序号一一对应,则为完全二叉树。

2022-11-06 23:09:04 77

原创 动态规划-状态压缩、树形DP问题总结

通过额外的空间将已经搜索过的相似的结果(指某些具有相同性质解的集合)用一个数组存起来,所以DP中的状态转移看上去是某两三个值之间的推导,

2022-10-23 11:50:35 859

原创 动态规划-区间、计数类DP问题总结

通过额外的空间将已经搜索过的相似的结果(指某些具有相同性质解的集合)用一个数组存起来,所以DP中的状态转移看上去是某两三个值之间的推导,

2022-10-23 11:41:31 794

原创 动态规划-线性DP问题总结(二)

通过额外的空间将已经搜索过的相似的结果(指某些具有相同性质解的集合)用一个数组存起来,所以DP中的状态转移看上去是某两三个值之间的推导,

2022-10-23 11:18:18 666

原创 贪心算法 - 常见的问题总结(三)

贪心在解决问题上是目光短浅的,仅仅根据当前的已知信息就做出选择,并且一旦做了选择,就不再更改。

2022-10-07 23:23:04 726

原创 贪心算法 - 常见的问题总结(二)

贪心在解决问题上是目光短浅的,仅仅根据当前的已知信息就做出选择,并且一旦做了选择,就不再更改。

2022-10-07 22:57:14 741

原创 贪心算法 - 常见的问题总结(一)

贪心在解决问题上是目光短浅的,仅仅根据当前的已知信息就做出选择,并且一旦做了选择,就不再更改。

2022-10-07 22:16:40 400

原创 动态规划-线性DP问题总结(一)

通过额外的空间将已经搜索过的相似的结果(指某些具有相同性质解的集合)用一个数组存起来,所以DP中的状态转移看上去是某两三个值之间的推导,

2022-09-25 15:54:58 854

原创 动态规划- 背包问题总结(一)

通过额外的空间将已经搜索过的相似的结果(指某些具有相同性质解的集合)用一个数组存起来,所以DP中的状态转移看上去是某两三个值之间的推导,

2022-09-24 22:25:28 1178

原创 动态规划- 背包问题总结(二)

通过额外的空间将已经搜索过的相似的结果(指某些具有相同性质解的集合)用一个数组存起来,所以DP中的状态转移看上去是某两三个值之间的推导,

2022-09-24 21:29:01 1101

原创 LeetCode 1345、1371

给你 n 笔订单,每笔订单都需要快递服务。请你统计所有有效的 收件/配送 序列的数目,确保第 i 个物品的配送服务 delivery(i) 总是在其收件服务 pickup(i) 之后。由于答案可能很大,请返回答案对 10^9 + 7 取余的结果。

2022-09-11 18:26:41 520

原创 协程知识点总结

以客户端与服务器连接时为例

2022-09-09 18:47:06 435

原创 LeetCode 1359、1360

leetcode 刷题记录

2022-09-04 14:53:27 605

原创 Tcp/ip 定时器与滑动窗口(持续更新)

1.服务器主动告诉2.客户端主动咨询tcp 客户端主动轮询,window = 0时,启动探测计时器。tcp已经实现 Keepalive,为什么应用层还要实现心跳包?不建议利用tcp 自带的 Keeplive,应用层无法知道其是否超时,应用实现可以根据不同策略进行设计。......

2022-08-28 20:35:29 599

原创 LeetCode 3、28、1351

LeetCode 3、28、1351。

2022-08-28 20:24:00 59

原创 LeetCode 1224、654

【代码】LeetCode 1224、654。

2022-08-22 14:35:10 543

原创 C/C++常见的易模糊知识点(结构体、指针、STL)

结构体、指针、STL

2022-08-15 19:50:59 388

原创 RPC、算法题等知识学习总结

RPC远程的通信问题。

2022-08-11 19:15:28 1399

原创 关于Linux学习中的诸多问题

如果上传服务器·.tmux.conf但是并没有配置tmux,可能是因为.tmux.conf只会在tmux第一次创立的时候加载,所以只要清除所有tmux,再创建tmux即可。即然后再tmux。配置目录都在~/下。

2022-08-09 21:21:44 316

原创 中间件Redis的学习记录

它是 RPOP 的阻塞版本,因为这个命令会在给定list无法弹出任何元素的时候阻塞连接。

2022-08-09 21:20:30 266

原创 c++11左值引用与右值引用

对左值引用与右值引用的整体总结以及需要掌握的知识点!

2022-07-26 21:01:49 795

原创 静态库与动态库

利用具体操作去理解静态库与动态库的区别

2022-07-25 19:10:44 628

原创 c++11 关键字 override 与 final

重载重写隐藏。

2022-07-23 20:09:00 630

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除