王道操作系统笔记-内存内存(25)– 内存管理7 非连续分配管理方式(2)基本分段存储管理 每一个进程都有一个自己的段表 这个其实说回来和分页差不多。只不过分段机制是按照自身逻辑来划分的。每一个段有一个段名。每段从0开始编址。 进程的地址空间:按照程序自身的逻辑关系划分为若干个段,每个段都有一个段名(在低级语言中,程序员使用段名来编程),每段从0开始编址。 内存分配规则:以...
王道操作系统笔记-内存(24)– 内存管理6 TLB 页表保存在主内存中。 Page-table base register (PTBR) points to the page table.(页表基址寄存器指向页表) Page-table length register (PRLR) indicates size of the page table.(页表限长寄存器表明页表...
拷贝构造 调用的是拷贝构造函数还是赋值运算符,主要是看是否有新的对象实例产生。 如果产生了新的对象实例,那调用的就是拷贝构造函数;如果是对已有的对象赋值,调用的是拷贝赋值。 比如 P a = P(10); //这是拷贝构造。因为a还不存在。 //------------------------------------------------------ P a; a = P(1...
C++ 杂记 拷贝初始化,拷贝构造 直接初始化。 1 #include <iostream> 2 #include <cstring> 3 using namespace std; 4 class ClassTest 5 { 6 public: 7 ClassTest() 8 { 9 c[0] = '\0'...
计算机网络 - 数据链路层1 数据链路层 功能概述 为网络层提供服务。无确认无连接服务,有确认无连接服务,有确认面向连接服务。有连接一定有确认! 链路管理,即连接的建立、维持、释放(用于面向连接的服务)。 组帧 流量控制。 差错控制。(帧错、位错) 封装成帧 封装成帧就是在一段数据的前后部分添加首部和尾部,这样就构成了一个帧。接收端在收到物理层上交的比...
计算机网络 - 传输层1 传输层 传输层的功能 传输层提供进程与进程之间的逻辑通信。使用网络层的服务为应用层提供通信服务 复用和分用 复用:应用层所有的应用进程都可以通过传输层传输到网络层。 - 分用:传输层从网络层收到的数据可以交付给不同的应用进程。 对收到的报文进行差错检测 TCP 三次握手 ACK不...
C++ STL - 2 - 迭代器设计思路。萃取。 什么是萃取? 三个字:中间层 我们这里先以侯捷老师的iterator_traits做为例子。 我们知道,iterator迭代器本身有五个属性。我们也知道迭代器是一个class。所以也就是迭代器类有五个typedef。分别是: namespace std { template <typename T> ...
imgtemp
C++ STL - 1 - List List G2.9 List自己本身只有一个指针指向了一个节点。它的数据__list_node和数据结构list是分开设计的。 数据本身不做过多叙述。一个指针指向前一个节点,一个指针指向下一个节点,一块数据区域。 List的迭代器 注意i++和++i的重载区别 在C++中,由于++i和i++都只有一个参数,那么...
Linux 内存管理 侯捷老师的视频G2.9std alloc部分我们可以理解内存分配器是如何管理内存的。也就是维护一些具有固定内存大小的自由链表。如有分配需求就将其取下链表分配出去。如果不够就再调用malloc进行申请。然后进行切割。 这里的内存管理依旧是比较上层的。我们后来也提到了malloc会使用libc的C运行时库里面的mmap系统调用和brk系统调用进行分配内存分配。大内存使用...