02 2023 档案
摘要:c语言的灵魂就是指针 函数指针可以提供一定的灵活性 回调函数顾名思义就是回调传参时给出的函数,凸显灵活性 一些运算符的优先级可以关注:http://c.biancheng.net/view/285.html
阅读全文
摘要:多个虚拟页可以映射到同一个物理页框。 简化链接:独立的内存空间允许每个进程的内存映像使用相同的基本格式而不管代码和数据的实际存放在内存的何处。 简化加载:虚拟内存还使得容易向内存中加载可执行文件和共享对象文件。要把.text和.data段加载到一个进程空间中,加载器为代码和数据分配虚拟页,把他们标志
阅读全文
摘要:设计特点:分区段管理以1MB为粒度(方便归还group给操作系统),bitmap应用,多对双向链表负责不同大小内存块管理,嵌入式指针,缓式回收。 初始化,会向操作系统拿一块内存作为malloc管理内存的基本数据结构,比如header和region等数据结构。 malloc初始设有16个header,
阅读全文
摘要:动态链接重要的特性就是共享,地址无关码,延迟绑定。 动态链接本质上进行的是装载时重定位,同时完成了代码的不同进程之间共享。 装载时重定位是解决动态模块中有绝对引用的方法之一,但是它有一个很大的缺点是指令部分无法在多个进程之间共享。其实我们的目的很简单,希望程序模块中共享的指令部分在装载时不需要因为装
阅读全文
摘要:链接的主要任务:符号解析和重定位 可重定位文件的特质:通过文件头--》探测到段表,字符串表等(结构体数组)--》从而解析整个目标文件的各个section。 符号类型:定义在本目标文件的全局符号;在本目标文件引用的未定义在该目标文件的全局符号;段名,static局部符号等; 符号解析(涉及到强弱符号解
阅读全文
摘要:汇编层次:高级语言与机器语言之间。 汇编需要理解的重点: 程序分段,段机制。8086寻址方式。 CPU的寄存器进行操作的指令 例如:寻址,运算,跳转指令等 CPU的一些寄存器 例如标志寄存器,CS等 BIOS的中断响应,包括内中断和外中断等。 端口的读写指令 in out指令 等 书籍推荐:王爽《汇
阅读全文
摘要:TCP概述: 点对点 可靠的,按序的字节流 流水线机制 发送方接受方缓存 全双工 面向连接 TCP流量控制:上层应用肯定会为每一个TCP连接分配buffer,每次将buffer的余量作为头部信息传给接受方,起到匹配速度的作用。 TCP连接管理: 三次握手:
阅读全文
摘要:拥塞--群体,博观思考(堵车) 拥塞的代价: 会造成资源的浪费(重传); 当一跳的传输被浪费,其上游的传输能力全被浪费; 拥塞控制 1.端到端拥塞控制,TCP采用; 2.网络辅助的拥塞控制:路由器简单的反馈网络信息,简单指示; 网络辅助: 发送方发送,交换机设置RM cell位(网络辅助位),RMc
阅读全文
摘要:可靠的数据传输: 网络top 10 问题之一就是解决网络的可靠的数据传输。 什么是可靠:即不丢,不错,不乱; rdt : reliable data transfer rdt 1.0 : 独立 sender receiver rdt 2.0 :引入的新机制:重传,差错检测,NAK,ACK。 解决的问
阅读全文
摘要:概述: 网络应用的体系结构: 1.Client/Server 客户机服务器结构,服务器运行服务器软件。(web) 2.peer to peer 点对点结构:没有永远在线的服务器,结点可以间接性接入网络,结点可以更换IP地址,结点间可以直接通信。 3.混合结构 同一主机上运行的程序:进程间通信机制,由
阅读全文
摘要:阅读 较深入 的书籍: 《C和指针》 《Accelerated C++》 《数据结构与算法分析 C++实现》 《程序员的自我修养》 《汇编语言》 《操作系统真象还原》 《Effective C++》 《C++ Primer》 《linux 内核设计与实现》 浅读: 《STL源码解析》 《代码整洁之道
阅读全文
摘要:优先级队列(完全二叉树) 体会优先级的概念,优先级的作用。比如getMax() delMax() insert() 的高效需求。 思考:为什么不用向量实现优先级队列?查询效率,摘除的效率低。O(n)。 思考:为什么不用有序向量实现优先级队列?插入效率低。O(n)。 可以用AVL,伸展树,红黑树实现优
阅读全文
摘要:程序的局部性原理 主存和缓存按块存储,块的大小相同 块的命中率 主存块到cache的映射关系 直接映射(主存中的一个块对应了唯一的一个cache块):模运算映射,将主存中的块取模映射到cache中。在cache中查找时做一些比较即可。缺点:容易冲突 全相联映射(主存中的一个块可以随意放在cache中
阅读全文
摘要:存储的信息可能会发生翻转等错误。 编码的检测能力和纠错能力和 任意两组合法代码之间二进制位的最小差异数(编码最小距离) 有关 汉明码 采用奇偶校验 采用分组校验 汉明码的分组是一种非划分方式 汉明码的纠错
阅读全文
摘要:CPU和内存的速度不匹配(存储墙) 提高访存速度: 单体多字:CPU读写存储体一次性多个字 多体并行:多个存储体并行运作 高位交叉 高位交叉还不能实现多体并行,由于程序的局部性原理,会导致某一个存储体访问频率更高。 2.低位交叉 实现了类似流水线的机制,提高了速度。 3.缓存的思想真是无处不在。
阅读全文
摘要:字扩展,位扩展(注意高位地址线作为片选线) CPU和存储器的连接
阅读全文
摘要:主存储器概述: 半导体存储芯片的简介: 地址线的位数和数据线的位数确定了芯片的容量。如:14位地址线,4位数据线,容量 2的10次方*4 1k*4。 主存储器中芯片是有多片的 译码驱动方式: RAM:主存一般用静态RAM,Cache可以用动态RAM。 静态RAM 用的触发器电路保存 01 重合法怎么
阅读全文
摘要:存储器的分类: 半导体存储器,磁存储器,光盘存储器(按存储介质分类) 随机访问存储器(存取时间与物理地址无关如:随机存储器,只读存储器),串行访问存储器(存取时间与物理地址有关如:磁带,磁盘) 主存储器(如:RAM,ROM),Cache(CPU和主存间的缓冲),Flash Memory(主存辅存的缓
阅读全文