当前位置: 首页 > news >正文

网站开发展示做简历的网站都有哪些

网站开发展示,做简历的网站都有哪些,做信息浏览的网站策划案,个人网站 摄影展示现在的服务器大部分都是运行在Linux上面的#xff0c;所以#xff0c;作为一个程序员有必要简单地了解一下系统是如何运行的。对于内存部分需要知道#xff1a;地址映射内存管理的方式缺页异常先来看一些基本的知识#xff0c;在进程看来#xff0c;内存分为内核态和用户态…现在的服务器大部分都是运行在Linux上面的所以作为一个程序员有必要简单地了解一下系统是如何运行的。对于内存部分需要知道地址映射内存管理的方式缺页异常先来看一些基本的知识在进程看来内存分为内核态和用户态两部分经典比例如下从用户态到内核态一般通过系统调用、中断来实现。用户态的内存被划分为不同的区域用于不同的目的当然内核态也不会无差别地使用所以其划分如下下面来仔细看这些内存是如何管理的。地址在Linux内部的地址的映射过程为逻辑地址–线性地址–物理地址物理地址最简单地址总线中传输的数字信号而线性地址和逻辑地址所表示的则是一种转换规则线性地址规则如下这部分由MMU完成其中涉及到主要的寄存器有CR0、CR3。机器指令中出现的是逻辑地址逻辑地址规则如下在Linux中的逻辑地址等于线性地址也就是说Inter为了兼容把事情搞得很复杂Linux简化顺便偷个懒。内存管理的方式在系统boot的时候会去探测内存的大小和情况在建立复杂的结构之前需要用一个简单的方式来管理这些内存这就是bootmem简单来说就是位图不过其中也有一些优化的思路。bootmem再怎么优化效率都不高在要分配内存的时候毕竟是要去遍历buddy系统刚好能解决这个问题在内部保存一些2的幂次大小的空闲内存片段如果要分配3page去4page的列表里面取一个分配3个之后将剩下的1个放回去内存释放的过程刚好是一个逆过程。用一个图来表示可以看到0、4、5、6、7都是正在使用的那么1、2被释放的时候他们会合并吗static inline unsigned long__find_buddy_index(unsigned long page_idx, unsigned int order){ return page_idx ^ (1 order);// 更新最高位01互换}从上面这段代码中可以看到0、1是buddy2、3是buddy虽然1、2相邻但他们不是。内存碎片是系统运行的大敌伙伴系统机制可以在一定程度上防止碎片~~另外我们可以通过cat /proc/buddyinfo获取到各order中的空闲的页面数。伙伴系统每次分配内存都是以页4KB为单位的但系统运行的时候使用的绝大部分的数据结构都是很小的为一个小对象分配4KB显然是不划算了。Linux中使用slab来解决小对象的分配在运行时slab向buddy“批发”一些内存加工切块以后“散卖”出去。随着大规模多处理器系统和NUMA系统的广泛应用slab终于暴露出不足复杂的队列管理管理数据和队列存储开销较大长时间运行partial队列可能会非常长对NUMA支持非常复杂为了解决这些高手们开发了slub改造page结构来削减slab管理结构的开销、每个CPU都有一个本地活动的slab(kmem_cache_cpu)等。对于小型的嵌入式系统存在一个slab模拟层slob在这种系统中它更有优势。小内存的问题算是解决了但还有一个大内存的问题用伙伴系统分配10 x 4KB的数据时会去16 x 4KB的空闲列表里面去找这样得到的物理内存是连续的但很有可能系统里面有内存但是伙伴系统分配不出来因为他们被分割成小的片段。那么vmalloc就是要用这些碎片来拼凑出一个大内存相当于收集一些“边角料”组装成一个成品后“出售”之前的内存都是直接映射的第一次感觉到页式管理的存在:D 另外对于高端内存提供了kmap方法为page分配一个线性地址。进程由不同长度的段组成代码段、动态库的代码、全局变量和动态产生数据的堆、栈等在Linux中为每个进程管理了一套虚拟地址空间在我们写代码malloc完以后并没有马上占用那么大的物理内存而仅仅是维护上面的虚拟地址空间而已只有在真正需要的时候才分配物理内存这就是COWCOPY-ON-WRITE:写时复制技术而物理分配的过程就是最复杂的缺页异常处理环节了下面来看!缺页异常在实际需要某个虚拟内存区域的数据之前和物理内存之间的映射关系不会建立。如果进程访问的虚拟地址空间部分尚未与页帧关联处理器自动引发一个缺页异常。在内核处理缺页异常时可以拿到的信息如下cr2访问到线性地址err_code异常发生时由控制单元压入栈中表示发生异常的原因regs发生异常时寄存器的值处理的流程如下发生缺页异常的时候可能因为不常使用而被swap到磁盘上了swap相关的命令如下如果内存是mmap映射到内存中的那么在读、写对应内存的时候也会产生缺页异常。来源WsztRush链接http://wsztrush.github.io/%E7%BC%96%E7%A8%8B%E6%8A%80%E6%9C%AF/2015/05/13/Linux-Memory.html
http://www.pierceye.com/news/306936/

相关文章:

  • 网站服务器连接被重置为什么高德地图没有外国位置信息
  • 帝国cms 仿站 wordpress天津新亚太工程建设监理有限公司网站
  • 精品网站导航 做最好的导航网站建设数据库选择
  • 蓝杉网站建设公司贵阳网站建设公司排名
  • 苏州专业高端网站建设机构建网站公司下载快手
  • 中堂仿做网站个人网站设计论文道客巴巴
  • 怎么用ps做网站效果图24什么网站建设
  • 网站开发技术有网站建设方案 pdf
  • 网站建设教程浩森宇特福州医院网站建设公司
  • 怎样在网站上做超链接网站商城是用什么框架做的
  • 网站建设增城wordpress新文章类型
  • 广州市招投标中心官网上海网站关键词优化
  • 很多网站开发没有框架如何制作的长沙旅游景点大全排名
  • 云南网站推广的目的做动画的网站有哪些
  • 网站建设公司在哪里找资源模拟建设网站
  • 如何盗用网站模板哈尔滨公告
  • 管理咨询网站焦作专业做网站公司哪家好
  • 在国内做跨境电商怎么上外国网站网站不收录
  • 网站介绍ppt怎么做屏蔽网站ip
  • it公论 是建立在什么网站wordpress搬迁数据库连接失败
  • 南县建设局网站营销型网站开发流程包括
  • 有关应用网站申请免费网站空间
  • 二手书交易网站开发现状营销型网站建设推荐乐云seo
  • 山西网站建设怎么样seo优化网站多少钱
  • 网站建设设计模板磁力链最佳的搜索引擎
  • 单位外部网站建设价格哪些网站可以做视频直播
  • 广州黄埔网站建设公司国外做调灵风暴的网站
  • 珠海附近交友平台软件广州网站优化推广方案
  • cgi做网站如何将网站加入百度图 推广
  • 小贷做网站深圳手机app软件开发