C语言中的运算符
运算符
在C语言中运算符分为:算法运算、逻辑运算、位运算、赋值更新、内存访问。
算术运算
加减乘除
对CPU来说,加减法的运行速率比乘除要快。CPU进行运算主要依赖算术逻辑单元(ALU)和浮点运算单元(FPU),ALU主要负责整数的加减乘除,而FPU主要负责浮点数的运算。乘除法有时候会转换成加减法或者移位操作。随着计算机的发展,现在已经有了“乘法器”的硬件支持。
在C语言中运算符分为:算法运算、逻辑运算、位运算、赋值更新、内存访问。
对CPU来说,加减法的运行速率比乘除要快。CPU进行运算主要依赖算术逻辑单元(ALU)和浮点运算单元(FPU),ALU主要负责整数的加减乘除,而FPU主要负责浮点数的运算。乘除法有时候会转换成加减法或者移位操作。随着计算机的发展,现在已经有了“乘法器”的硬件支持。
关键字大体上分为三大类:数据类型关键字、修饰关键字、逻辑关键字。
sizeof(x):编译器给我们查看内存空间容量的工具,在编译时计算并确定x在内存中所占用的字节数。
C语言是面向过程的编程语言,其核心概念之一就是函数。函数是组织代码的基本单位,它将一组相关的语句封装在一起,以实现特定的功能。通过函数,程序员可以提高代码的可读性、可维护性和重用性。简单来说,函数就是将重复使用的代码块进行封装,方便调用和管理。
本文译自 OSDev Wiki 上的一篇文章,原文链接为 Page Tables。
页面表(或页映射层级)用于将每个虚拟页映射到对应的物理页。零个或多个虚拟页可以对应同一个物理页。页的大小取决于处理器模式(保护模式、兼容模式或长模式)、所使用的扩展(如 PAE)以及处理器所支持的虚拟地址位数(当前 AMD64 处理器最多支持 48 位虚拟地址)。
本文译自 OSDev Wiki 上的一篇文章,原文链接为 Page Frame Allocation。
这些算法用于在需要时向你提供新的页帧(page frame)。该算法的调用者通常并不关心返回的是哪一帧,特别是当请求 n 个页时,也不需要返回连续的页帧(除非你要为网络包缓冲等 DMA 操作分配内存)。
本文本文参考OSDev Wiki上关于内存管理单元(MMU)的介绍,原文地址:https://wiki.osdev.org/Memory_Management_Unit