0 内存管理概述 包括内存管理和虚拟内存管理。 内存管理包括:内存管理概念、交换与覆盖、连续分配管理方式和非连续分配管理方式(分页管理方式、分段管理方式、段页式管理方式)。 虚拟内存管理包括:虚拟内存概念、请求分页管理方式、页面置换算法、页面分配策略、工作集和抖动。 内存管理的概念 操作系统对内存的划分和动态分配 内存管理的功能 内存空间的分配与回收:由操作系统完成主存储器空间的分配和管理,使程序员摆脱存储分配的麻烦,提高编程效率。 地址转换:在多道程序环境下,程序中的逻辑地址与内存中的物理地址不可能一致,因此存储管理必须提供地址变换功能,把逻辑地址转换成相应的物理地址。 内存空间的扩充:利用虚拟存储技术或自动覆盖技术,从逻辑上扩充内存。 存储保护:保证各道作业在各自的存储空间内运行,.互不干扰。 1 存储器的层次结构 CPU 寄存器 寄存器 主存 高速缓存 主存 磁盘缓存 辅存 磁盘 可移动存储介质 寄存器,高速缓存,主存,磁盘缓存属于 继续阅读 >>


刘生玺 18/07/02 23:14:35
1. 无符号数的表示及运算 十进制,二进制,十六进制 注意:十六进制计数法是为了克服二进制计数法书写麻烦而引入的一种进位计数制;在编写汇编语言源程序时,如果一个十六进制数的最高位为A~F中的一个数字符号时,该数前面必须加0,以与变量名区别;不论数据以什么数制表示,最终在计算机内部都将以二进制形式表示。 1. 2 各种数制的相互转换 1. 任意进制数转换为十进制数 2. 十进制数转换成二进制数 (1) 整数部分的转换 除以基数(2)取余数,先为低位 后为 高位 (将余数按照从下到上的顺序书写即可) 显然,该方法也适用于将十进制整数转换为八进制整数(基数为8)、十六进制整数(基数为16)以至于其它任何进制整数。 (2) 小数部分的转换 小数部分乘以基数(2)取整数(0或1),先为高位 后为 低位。 显然,该方法也适用于将十进制小数转换为八进制小数(基数为8)、十六进制小数(基数为16)以至其它任何进制小数。 3. 二进制数与十六进 继续阅读 >>


刘生玺 18/07/02 21:10:02
一、整数反转题目:给定一个 32 位有符号整数,将整数中的数字进行反转。示例1:输入:123输出:321示例2:输入:-123输出:-321示例3:输入:120输出:21注意:假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231,  231 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。思路:弹出(栈)和压入(队列)但是根据题目的要求,我们要在溢出前进行检查。所以弹出每个元素,并且入队列后,要进行检查是否会溢出,就是该元素入队列后会不会发生溢出。因为是整数的反转,所以要首先分离出每个元素。通过x%10的数学方法就可以取出最后的一个元素。此时将(x%10)*10进行累加,但是在这之前要判断之前累加的值是否超过了数值范围。假设之前的累加为rev是否大于INT_MAX/10或是否小于INT_MIN/10 还有一种情况就是之前的rev==INT_MAX rex==INT_MIN了,此时要判断目前拿出来的那个数字是否大于7或者是否小于-8 若大于或者小于都会发生溢出。代码:class 继续阅读 >>


胡佳露 18/07/02 18:14:37
1.1计算机发展概况 第一代:电子管计算机 第二代:晶体管计算机 第三代:集成电路计算机 第四代:大规模、超大规模集成电路计算机 1.2 微型计算机硬件系统 1.2.1 冯.诺依曼体系结构计算机 到目前为止,计算机仍沿用1940年由冯.诺依曼首先提出的体系结构。其基本设计思想为: ① 以二进制形式表示指令和数据。 ② 程序和数据事先存放在存储器中,计算机在工作时能够高速地从存储器中取出指令加以执行。 ③ 由运算器、控制器、存储器、输入设备和输出设备等五大部件组成计算机系统。 1.2.2 总线结构 所谓总线,是计算机中传送信息的公共通道。 三类不同总线:系统总线,片级总线,I/O总线。 根据所传送信息的内容与作用不同,总线可分为三类:地址总线AB(Address Bus); 数据总线DB(Data Bus);控制总线CB(Control Bus) 地址总线AB:在对存储器或I/O端口进行访问时,传送 由CPU提供的要访问存储单元或I/O端口的地址信息, 继续阅读 >>


刘生玺 18/07/01 23:35:37
汪汪汪汪汪汪汪汪汪汪汪汪汪汪汪汪汪汪汪汪汪汪汪汪汪汪汪汪汪汪。 没保存啊,都是泪啊。 前言 心好累啊,又要写一遍。 从去年初次接触Zookeeper到现在,正好一年了,一直没总结,一方面也是因为自己对分布式系统理解很少,没有什么可说的,如果只是描述一下zk提供的几个原语实在没什么意义。(另一方面就是懒)。 感觉自己终于对分布式可以说是有一定的入门了,所以赶紧记录下自己的成长。 正文 我接触zk相对来说是挺缘分的,因为C++出身,对于Hadoop家族了解甚少,只是在项目中对于模糊的“分布式协同”而找到了zk。就像一场仓促的恋爱,摸不准对方的脾气, 闹出了很多尴尬(够了)。 明天继续。。。 什么是zk zk是hadoop全家桶的一员,后来独立为apache的顶级项目,是google的chubby的开源实现。 很高大对吧。。。但是说了好像没说。。。 通俗的理解,在一个分布式系统的开发中,我们会面对很多共同的问题,比如leader选举/分布式锁,集群管理等等等等,就像后台开发 继续阅读 >>


康艺杰 18/06/30 22:51:57
ArrayList源码分析 ArrayList简介 我们知道,ArrayList是基于数组实现的List类,完全支持List接口的全部功能,底层实质上就是一个Object[]数组。从源码注释的第一行“Resizable-array implementation of the List interface”中,可以看出ArrayList是List接口的可变长数组实现,即这是一个动态数组,与普通的数组相比,它可以实现容量的动态增长。至于其他的特征,我们可以从类的定义中得到: public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable 这是ArrayList的类结构层次图: 由以上信息,我们可以知道: ArrayList:表明ArrayList支持泛型 exten 继续阅读 >>


贺含悦 18/06/29 18:06:53
结构化与非结构化网络 非结构化的P2P网络是指网络节点之间不存在组织关系,节点之间完全是对等的,比如第一代P2P网络Napster。 结构化的P2P网络与非结构化恰好相反,我们认为网络在逻辑上存在一个人为设计的结构,比如Chord假定网络是一个环,Kadelima则假定为一颗二叉树。有了这些逻辑结构,就给我们资源查找引入了更多的算法和思路。 引言 我们在 计算机网络–详解P2P对等网络(一)—BitTorrent协议 这一篇博客中讲述了BT下载的过程:在对等用户拿到种子文件的时候,首先会联系tracker服务器,然后加入用户集群,并在用户集群中寻找自己所需的内容,最后与拥有内容的对等用户进行联系。 从BT下载的过程中引出本节所要讨论的问题:如何高效的从用户集群中找出哪些对等用户拥有你正在寻求的具体内容? 在历史中有三种比较典型的模型来解决这个问题: Napster:使用一个中心服务器接收所有的查询,服务器告知去哪下载其所需要的数据。存在的问题是中心服务器单点失效导致整个网络瘫痪。 继续阅读 >>


董恒毅 18/06/28 21:24:59
从键盘输入一系列字符(以回车结束),按数字,大小写字母分类计数,并在屏幕上打印出来。 DATA SEGMENT INFOR1 DB 0AH,0DH,"Please Press Any Key to input a letter:$" INFOR2 DB 0AH,0DH,"Lowercase Letter : $" INFOR3 DB 0AH,0DH,"Uppercase Letter : $" INFOR4 DB 0AH,0DH,"Digit : $" INFOR5 DB 0AH,0DH,"Other Letter : $" DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: PRINT MACRO STR,RHS ; MACRO 为宏 LEA DX,RHS MOV AH,09H INT 21H 继续阅读 >>


刘生玺 18/06/28 21:03:23
学习总结一下官方发布的C版本客户端 hiredis,了解hiredis 客户端大致实现细节。在理解代码之间需要了解通信协议的特点,我上一篇转载的文章已经有过介绍,大家可以去看一下。 hiredis 提供了同步、异步访问,异步 API 需要与一些事件库协同工作,主要看一下同步API的实现。 hiredis 与服务端通信的API比较简单,主要有这几个步骤: 建立连接 发送命令 等待结果并处理 释放连接 一、相关数据结构 redisContext 保存连接建立后的上下文。 err 保存错误码,如果为0表示没错,如果非0那么错误说明保存在 errstr 中;fd是连接建立后的套接字;flags表示连接的标识;obuf 保存要向 redis-server 发送的命令内容;reader 用来读取从服务端返回的消息,redisReader中的buf成员用来保存内容;connection_type 表示连接类型,有两种分别是REDIS_CONN_TCP 和 REDIS_CONN_UNIX;timeou 继续阅读 >>


杜肖孟 18/06/28 21:03:07
期末考试即将到来,赶在人机界面考试之前,先把 HTML 复习一下。 一、HTML 概述 1. HTML的基本概念 1.1 HTML 介绍 HTML是Hyper Text Markup Language(超文本标记语言)的缩写,是构成Web页面的基本元素,是一种规范,一种标准。 HTML不是一种编程语言,而是一种描述性的标记语言,通过标识符来标识网页中内容的显示方式,例如图片的显示尺寸、文字的大小、颜色、字体等。 浏览器能够对这些标记进行解释,按照要求显示出文字、图像、动画、媒体等网页内容。 HTML文件的后缀名是 .html 或 .htm ,由于HTML是一个纯文本格式的ASCII文件,可以用任何文本编辑器编写HTML网页文件。 主要功能: 格式化文本:设置文本字体、字号、颜色以及文本段落、对其方式等。 创建列表:把信息用一种易读的方式表现出来。 建立表格:表格为浏览者提供快速找到所需信息的显示方式,还可以用表格来布局网页。 插入图片:还可以设置图像的各种属性,如大小、边 继续阅读 >>


李猛 18/06/28 17:42:47