自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 进程 --- (1)

进程1.进程的状态一般来说进程有一下几种状态新生状态 :刚刚被创建出来,还没有完成初始化,不能被调度执行。在被初始化之后,会进入预备状态。预备状态 :该状态表示进程可以被调度执行,但是还没有被调度器选择,由于 CPU 数量可能少于进程数量,在某一个时刻只有部分进程能被调度到 CPU 上运行,此时,系统中其他的可被调度的进程都处于预备状态。在被调度器选择执行厚,进程迁移到运行状态。运行状态 :该进程正在 CPU 上运行,当一个进程执行一段时间后,调度器可以选择中断它的执行并且重新将它放回调度队

2021-11-19 22:31:07 325

原创 物理内存分配与管理

物理内存物理内存分配设计有两个重要的评价维度,一方面,物理内存分配器需要追求更高的内存资源利用率,即尽可能减少资源浪费。这里先介绍内存碎片的概念,内存脆片 : 内存碎片指的是无法被利用的内存,其直接导致内存资源利用率的下降。如何减少内存碎片是内存分配器设计者最关心的一个问题。内存碎片又被分为内部碎片 ( external fragmentation ) 和外部碎片 ( internal fragmentation )一种解决方式是,将物理内存以固定大小( 能够满足最大分配请求 )划分为若干块,然后

2021-11-19 17:12:08 638 1

原创 虚拟内存(3) ---常见应用

共享内存共享内存( shared memory )允许同一个物理页在不同的应用程序间共享。例如,应用程序 A 的虚拟页 V1 呗映射到物理页 P,若应用程序 B 的虚拟页 V2也被映射到物理页 P,则物理页 P 是应用程序 A 和 应用程序 B 的共享内存。应用程序 A 能读取虚拟页 V1 和 应用程序B 读取 虚拟页 V2将得到相同的内容,互相也能看到对方修改的内容。共享内存可以让不同的程序之间互相通信,传递数据。基于这种共享内存的思想,操作系统又从中衍生出诸如写实拷贝和内存去重等功能这里

2021-11-18 20:14:56 369

原创 虚拟内存2--页表置换策略

页替换策略当我们需要分配物理页时,若空闲的物理页已经用完或者小于一个阈值。那么此时操作系统会选择 页替换策略 选择一个或者一些物理页换出到磁盘以便让出空间。当已经被换出的内存页再次被访问时,必须重新从磁盘加载到物理内存,十分耗时!!!页替换策略是根据硬件所提供的页访问信息,来猜测页应该被换出 ( 比如短时间内再次被换入的小概率的页 ),从而最小化缺页异常的发生次数以提升性能。与此同时,操作系统也需要考量 页替换策略本身执行所带来的开销。不同的页替换策略 有其各自适合的应用场景。MIN 策

2021-11-18 19:14:46 910

原创 虚拟内存- MMU 和 TLB - 多级页表

虚拟内存- MMU 和 TLB - 多级页表在计算机中,我们直接操作物理地址,是一种效率底下的的方式,而虚拟内存的出现,则大大加速了程序员的开发能力。(虽然这降低了性能,不过是 Trade off 罢了)。在 CPU 中内存管理单元( Memory Management Unit , MMU ),负责虚拟地址到物理地址的转换。随着计算机的发展,人们发现对于这种方式,不是很高效,于是便引入了 转址旁路缓存 ( Translation Lookaside Buffer , TLB )。分段与分页机制

2021-11-18 15:45:36 3111

原创 AVL 树

AVL树(c++)1.基于前面二叉搜索树(BST)的学习,我们大概知道了二叉搜索树的初步模型,但是但我们用一个有序的数组插入到二叉搜索树的时候,这个树会退化为单链表,他的搜索的时间复杂度会从O(log2(n)) 变为 O (n) ,这对性能影响很大,那么我们该如何阻止这种事情发生呢?,那肯定是在这种树插入删除节点的时候,让他自己平衡了。我觉得发明这个树得人太厉害了。这两位大神是G. M. Adelson-Velsky和Evgenii Landis,好的,话不多说,上代码。2.是这样的,考虑向一个BST

2021-10-27 01:31:15 143

原创 # 二叉搜索树

- 1.二叉搜索树是一种非平衡但自动排序的树,它是一种比较简单的树,通过二叉搜索树的学习,我们可以继续AVL树,红黑树的学习。- 2. 二叉搜索树的优点 : 1.二叉搜索树会对数据自动排序,前提是这个类重载了比较符号,他是不允许重复的值的,当然你也可以自己设计可重复的 2.二叉搜索树虽然会自动排序,但是他不会保证左右子树的高度差,但AVL树每次会自旋,保证左右子树的高度差 <= 1,红黑树则会保证左右子树的高度差 ...

2021-10-25 01:19:32 84

原创 二分查找,迭代与递归的实现

(1)关于二分查找,大家可能还不是很熟悉,二分查找就是在已经有序的顺序表中,通过缩减1/2的形式,来找到目标值(2)其实在实际生活中,电路工程师检查电缆的链接是否正常也检查这种方式,先取一段电线的中点,和另一端链接,观察哪一段是通路,再在剩下的坏的电路中选取中点,不断重复,从而减少判断次数,最终检查出故障(3)话不多说,上代码int binarysearch(int* array, int arraynums, int target){ if (arraynums <= 0) { re

2021-05-30 14:21:41 281

原创 约瑟夫问题.链表与递归的实现

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-05-30 14:08:41 201 3

原创 哈希表的初步理解

关于哈希表,这里采用链表的形式来给大家初步介绍一下#include<iostream>using namespace std;class hashnode {public: int value;//保存数组里面的值 int index;//保存数组的下标 hashnode* next;//行指针 hashnode* pear;//列指针 hashnode() { value = -1; index = -1; next = NULL; pear = NULL;

2021-04-22 14:43:44 127

原创 冒泡排序理解以及算法优化

冒泡排序理解与算法优化冒泡排序为基本内部排序算法(即不借助外部空间,内部自我排序),如上图,冒泡排序经过不断比较相邻的元素的值,进行交换,第一次从第一个元素到最后一个元素的交换,会将该数组的最大值交换到最后一项,以此循环,我们不断地找出剩余元素中的最大值,并将该最大值移动到剩余元素中的最大值.最终排序成功.(本文中语言使用c语言,算法利用函数实现,编译器参考DEV C++)void Bubble_sort(int *a,int len)//函数传递数组名字以及数组长度{ int i,j,k

2021-01-08 18:36:50 916

空空如也

空空如也

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

TA关注的人

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