自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 KMP算法实现(绝对通俗易懂)

KMP算法实现(绝对通俗易懂)博主是一个软件专业的学生,在学习KMP算法这里也是遇到了很多的麻烦,主要集中在next数组这里。为什么要用到next数组,怎么求next数组以及怎么用next数组…… 关于这些问题博主会给大家带来一些自己的心得。KMP的概念是:利用匹配失败的信息尽量减少模式串与主串的匹配次数,从而达到快速 匹配的过程。因此,在具体了解KMP算法之前我们先熟悉一下简单的模式匹配算...

2018-12-05 12:24:01 1232 10

原创 内存管理专题03 引导内存分配器原理

内存管理专题之引导内存分配器原理

2023-02-08 20:19:06 344

原创 内存管理专题02 内存映射原理

内存管理专题,内存映射原理

2023-02-06 18:02:46 510

原创 页回收机制(一)

页回收机制(一)当我们申请分配页的时候,页分配器首先尝试使用低水线分配页。如果使用低水线分配失败,说明内存轻微不足,页分配器将会唤醒内存节点的页回收内核线程,异步回收页,然后尝试使用最低水线分配页。如果使用最低水线分配失败,说明内存严重不足,页分配器会直接回收。针对不同的物理页,采用不同的回收策略:交换支持的页和存储设备支持的文件页。1.根据什么原则选择回收物理页Linux内核使用LRU(Least Recently Used,最近最少使用)算法选择最近最少使用的物理页。回收物理页的时候,如果物理

2022-03-23 16:59:23 840

原创 linux内核学习笔记015 页表缓存于巨型页

一、页表缓存(TLB)处理器厂商在内存管理单元(MMU)里增加一个TLB(Translation Lookaside Buffer)的高速缓存,TLB直译为转译后备缓冲器,也被翻译为页表缓存。TLB为CPU的一种缓存,由存储器管理单元用于改进虚拟地址到物理地址的转译速度。TLB 用于缓存一部分标签页表条目。TLB可介于 CPU 和CPU缓存之间,或在 CPU缓存和主存之间,这取决于缓存使用的是物理寻址或是虚拟寻址。1.地址空间标识符区分不同进程的页表项,虚拟机标识符区分不同虚拟机的页表项地址空间标

2022-03-21 17:17:44 1380 1

原创 linux内核学习笔记014 用户空间缺页异常

在实际需要某个虚拟内存区域的数据之前,虚拟和物理内存之间的关联不会建立。如果进程访问的虚拟地址空间部分尚未与页帧关联,处理器自动地引发一个缺页异常,内核必须处理此异常。缺页处理的实现因处理器的不同而有所不同。由于CPU采用了不同的内存管理概念,生成缺页异常的细节也不太相同。因此,缺页异常的处理例程在内核代码中位于特定于体系结构的部分。1.缺页异常CPU通过地址总线可以访问连接在地址总线上的所有外设,包括物理内存、IO设备等等,但是从CPU发出的访问地址并非是这些外设在地址总线上的物理地址,而是一个虚拟

2022-03-16 17:11:00 1475

原创 linux内核学习笔记013 不连续页分配器及页表

一、不连续页分配器1.系统接口不连续页分配器所提供的接口如下:void *vmalloc(unsigned long size);分配不连续的物理页,并且把物理页映射到连续的虚拟地址空间。void vfree (const void * addr);释放vmalloc分配的物理页和虚拟地址空间。void *vmap(struct type **pages,unsigned int count,unsigned long flags,pgprot_t prot);把已经分配的不连续物理页映射到

2022-03-14 16:33:39 384 1

原创 【无标题】

不连续页分配器及页表一、不连续页分配器1.系统接口不连续页分配器所提供的接口如下:void *vmalloc(unsigned long size);分配不连续的物理页,并且把物理页映射到连续的虚拟地址空间。void vfree (const void * addr);释放vmalloc分配的物理页和虚拟地址空间。void *vmap(struct type **pages,unsigned int count,unsigned long flags,pgprot_t prot);把已经分

2022-03-14 16:18:46 2861

原创 内存管理专题05 slab分配器

内存管理专题05 slab分配器原理

2022-03-10 17:58:57 1763

原创 内存管理专题04 伙伴分配器原理

伙伴分配器

2022-03-08 16:21:09 692 3

原创 设计一个算法使元素递增有序

考研例题:有一个带头结点的单链表L,设计一个算法使元素递增有序思想:采用直接插入排序的思想,先构成只含有一个数据结点的有序单链表,然后依次扫描单链表中的剩下结点p(直至p==NULL)为止,在有序表通过比较查找插入p的前驱结点pre,然后将p插入到*pre之后。本题代码:void Sort(LinkList &L){ LNode *p=L->next,*pre...

2020-04-19 17:34:53 2277

原创 机试代码day6

因为循环部分的基础代码已经写完了,小博最近这两天整理复习数组方面的代码,所以停更了几天接下来就是数组部分代码,emmmmmm…… 有点难度 加油例题1 计算,保存和输入yi的值 yi=2sin ^2xi+ 5sinxi^2;i=1,2,…,10,xi由键盘输入思想:定义X[10]存储由键盘输入的10个数,定义Y[10]存储最后的结果,首先键盘输入10个数存到数组x[10]中,然后for循环...

2019-08-29 14:21:29 190

原创 机试代码day5

例题1 某工厂1990年的年产值为2千万元,计划以后增长率为9%,编写程序计算并且输出其后任意一年的产值思想:年产值计算公式 2000x(1+rate)^(year-1990)代码如下:#include <stdio.h>#include <math.h>#define rate 0.09//增长率void main(){ int year;//年...

2019-08-24 17:22:39 121

原创 机试代码day4

例题1 打印所有的“水仙花数”,所谓水仙花数 就是指一个三位数,各位数字立方和等于该数,例如 153= 1立方+5立方+3立方思想:100——999中每一个数字是否是水仙花数,采用for循环,定义循环变量i,使其从100——999,对于每一个i,求出个位,十位,百位,然后判断是否满足。代码如下:#include <stdio.h>#include <math.h>...

2019-08-24 17:01:00 122

原创 机试代码day3

例题1 编写程序,计算N!的值,要求N由键盘输入。思想:我们可以用循环结构进行处理,定义循环变量i,另外一个变量x记录每次循环的结果,如果最后x==0,说明计算值过大,已经溢出。参考程序:#include <stdio.h>#include <math.h>void main(){ int n;//输入值 double x=1.0;//记录累计值...

2019-08-22 10:43:43 197

原创 机试基础代码DAY2

例题1 编写一个程序,将20个数读入计算机,统计正数 负数 0的个数。思想:没读入一个数字,就用if判断是否正数 负数 0,然后对其进行相应的统计.由于 处理20个数字的方式相同,因此采用for循环结构,次数为20。代码如下:#include <math.h>#include <stdlib.h>void main(){ float a;//输入数 ...

2019-08-21 12:32:48 167

原创 考研机试基础代码day1

9月份了 小博要开始看代码了,考纲范围内的程序我也不知道我能坚持更新多久,但是我会尽力坚持下去的,一来为了监督自己坚持消化代码,二来呢大家也可以看看,万一用上了呢?例题1 给出一个不多于5位数的正整数,要求:(1)求出它是几位数;(2)分别输出每一位数字;(3)按照逆序输出每一位数字。(例如 原来是321,输出为123)先说一下思想:举个例子 输出5位数字,比如说12345,我们用取%的思想,...

2019-08-20 21:49:54 212

原创 最短路径 Dijkstra算法

小博今天又给大家更新了,最近学习过程中在最短路径问题上被两个比较……我们暂且认定比较恶心的算法难倒了好一会,不过最后还是攻克了,在这里小博写下自己的心得和大家分享一下**最短路径:**网路中两个不同顶点之间的所有路径中边的权值之和最小的那一条...

2019-05-31 22:31:48 1099

原创 线索二叉树的构造和遍历

线索二叉树在学习的过程中还是比较重要的,然后小博自己再学习过程中遇到了一些难题,在攻克之后小博还是想给大家分享一下自己遇到的问题和心得小博学习方式属于那种循序渐进的,所以由浅入深,由简单到复杂,希望大家耐心看下去基本概念指向前驱结点和后继结点的指针空指针修改为线索的过程称为线索化经过线索化的二叉树称为线索二叉树线索二叉树的结点结构线索二叉树的储存结构描述如下typedef...

2019-01-21 21:18:47 963

空空如也

空空如也

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

TA关注的人

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