Day5-UFS总结
UFS
传输协议的本质:两个收发器件,对需要传输的数据,一层一层的封装和解析,利用封装增加的额外信息,做一些数据处理,完成源地址到目标地址的数据传输功能。
应用协议的本质:基于某种传输协议之上,完成一组业务,来对外提供一组服务。
UFS测试程序的本质:测试对外服务的可靠性,对UFS设备做一系列操作,来验证设备功能是否正确。
UFS器件:提供各种描述符,标签和属性,用来控制器件的不同功能。
C++
1.new的深层底层原理?malloc?
学习链接1:深度剖析C++的new、delete和placement new
学习链接2:C++内存管理
内存四区:栈、堆、静态区、常量区。
new是在堆上动态分配内存并初始化对象。
栈分配地址是从大到小,静态区和常量区、堆是从小到大。
const变量的存储位置主要分为静态存储区(全局const变量)、栈区(局部const变量)和常量存储区(字符串常量)。
无论是全局静态变量还是局部静态变量,它们都在静态存储区中分配内存。
2.构造函数剖析?
学习链接1:C++构造函数实战
学习链接2:拷贝构造函数和移动构造函数
拷贝构造函数(浅拷贝)
拷贝构造函数用于从另一个已存在的对象创建新对象。它通常用于复制另一个对象的属性值,而不共享原始对象的数据。
移动构造函数(右值引用)
移动构造函数用于从即将销毁的临时对象转移资源到新对象。它通常用于避免不必要的资源复制,并提高性能。
3.std::move的作用?
学习链接1:std::move
学习链接2:move详解
移动语义是C++11引入的一个重要特性,允许资源的所有权从一个对象转移到另一个对象,而不是进行深拷贝。std::move 是实现移动语义的关键。
4.c/c++代码运行的4个阶段?
预处理:#include、#define、#ifdef
编译:编译器将代码转换成汇编语言,并生成汇编代码文件
汇编:汇编代码转换成机器语言
连接:链接器将一个或多个目标代码文件以及所需的库文件合并成一个可执行文件。
Linux
学习资料:鸟哥的Linux私房菜(基础学习篇)第四版
1.CPU架构分为:RISC(精简指令集,典型–ARM)、CISC(复杂指令集,典型–AMD、Intel)
2.32、64表示CPU一次数据读取的最大量,能从内存中读写的最大数据量一般为4GB左右