随笔分类 -  Other

摘要:如果逻辑控制流在时间上重叠,那么它们就是并发的。 使用应用级并发地应用程序称为并发程序。现代操作系统提供了三种基本的构造并发程序的方法: 进程。用这种方法,每个逻辑流都是一个进程,由内核来调度和维护。因为进程有独立的虚拟地址空间,想要和其他流通信,控制流必须使用某种显式的进程间通信(IPC)机制。 阅读全文
posted @ 2022-03-31 21:43 Pannnn 阅读(203) 评论(0) 推荐(0) 编辑
摘要:IP地址 一个IP地址就是一个32位无符号整数。 struct in_addr { uint32_t s_addr; }; TCP/IP为任意整数数据项定义了统一的网络字节顺序(大端字节序)。Unix提供了函数在网络和主机字节顺序间实现转换。 #include <arpa/inet.h> uint3 阅读全文
posted @ 2022-03-30 19:54 Pannnn 阅读(514) 评论(0) 推荐(0) 编辑
摘要:Unix I/O 一个Linux文件就是一个m个字节的序列。所有的I/O设备都被模型化为文件,所有的输入和输出都被当做相应文件的读和写来执行。 打开文件。一个应用程序通过要求内核打开相应的文件,来宣告它想要访问一个I/O设备。内核返回一个小的非负整数,叫做描述符,它在后续对此文件的所有操作中标识这个 阅读全文
posted @ 2022-03-29 21:14 Pannnn 阅读(416) 评论(0) 推荐(0) 编辑
摘要:动态内存分配 造成堆利用率很低的主要原因是一种成为碎片的现象。 内部碎片是在一个已分配块比有效载荷大时发生的。一个分配器的实现可能对已分配块强加一个最小的大小值,而这个大小要比某个请求的有效载荷大。在任何时刻,内部碎片的数量只取决于以前请求的模式和分配器的实现方式。 外部碎片是当空闲内存合计起来足够 阅读全文
posted @ 2022-03-29 15:50 Pannnn 阅读(661) 评论(0) 推荐(0) 编辑
摘要:最简单的控制流是一个平滑的序列,而平滑流的突变通常是由诸如跳转、调用和返回这样一些程序指令造成的。此外系统还必须能够对系统状态的变化做出反应,这些系统状态不是被内部程序变量捕获的,而且也不一定要和程序的执行相关。如,一个硬件定时器定期产生信号、当子进程终止时,创造这些子进程的父进程必须得到通知。 现 阅读全文
posted @ 2022-03-28 21:50 Pannnn 阅读(374) 评论(0) 推荐(0) 编辑
摘要:链接是将各种代码和数据片段收集并组合成为一个单一文件的过程,这个文件可被加载(复制)到内存并执行。链接可以执行于编译时、加载时、运行时。 链接器使得分离编译成为可能。当改变模块时,只需简单地重新编译它,并重新链接应用,而不必重新编译其他文件。 编译器驱动程序 GCC驱动程序命令: linux> gc 阅读全文
posted @ 2022-03-24 22:08 Pannnn 阅读(213) 评论(0) 推荐(0) 编辑
摘要:链接是将各种代码和数据片段收集并组合成为一个单一文件的过程,这个文件可被加载(复制)到内存并执行。链接可以执行于编译时、加载时、运行时。 链接器使得分离编译成为可能。当改变模块时,只需简单地重新编译它,并重新链接应用,而不必重新编译其他文件。 编译器驱动程序 GCC驱动程序命令: linux> gc 阅读全文
posted @ 2022-03-22 19:09 Pannnn 阅读(163) 评论(0) 推荐(0) 编辑
摘要:对齐 计算机系统对基本数据类型的可允许地址做出了一些限制,要求某种类型的对象的地址必须是某个值k的倍数。这种对其限制简化了处理器和存储器系统之间的接口的硬件设计。无论数据是否对齐,x86-64硬件都能正确工作。不过,Intel还是建议要对齐数据以提高内存系统的性能。对齐原则是任何K字节的基本对象的地 阅读全文
posted @ 2022-03-18 17:38 Pannnn 阅读(304) 评论(0) 推荐(0) 编辑
摘要:打印程序对象的字节表示 使用强制类型转换来规避类型系统。 #include <stdio.h> typedef unsigned char *byte_pointer; void show_bytes(byte_pointer start, size_t len) { size_t i; for ( 阅读全文
posted @ 2022-03-18 11:14 Pannnn 阅读(233) 评论(0) 推荐(0) 编辑
摘要:过程 一个过程调用包括将数据(以过程参数和返回值的形式)和控制从代码的一部分传递到另一部分。另外,它还必须在进入时为过程的局部变量分配空间,并在退出时释放这些空间。 程序用程序栈来支持过程调用。栈用来传递过程参数、存储返回信息、保存寄存器以供以后恢复之用,以及用于本地存储。为单个过程分配的那部分栈称 阅读全文
posted @ 2022-03-17 17:52 Pannnn 阅读(299) 评论(0) 推荐(0) 编辑
摘要:信息就是位+上下文 系统中所有的信息,包括磁盘文件、存储器中的程序、存储器中存放的用户数据以及网络上传送的数据,都是由一串比特表示的。区分不同数据对象的唯一方法是我们读到这些数据对象时的上下文。 程序被其他程序翻译成不同的格式 翻译的过程是分为四个阶段完成的。执行这四个阶段的程序(预处理器、编译器、 阅读全文
posted @ 2022-03-17 15:46 Pannnn 阅读(333) 评论(0) 推荐(0) 编辑

-->
点击右上角即可分享
微信分享提示