GNU/Linux
GNU/Linux
@HDS
NULL
展开
-
time命令
time命令:计算测试程序的执行时间类unix系统中都自带了time命令,time命令可以计算一个程序的执行耗时。real表示程序执行的墙上时间,这段时间是程序开始执行到执行结束所花费的时间,既包括进程的执行时间,也包括等待IO完成的阻塞时间,还包括在抢占下,其他进程所占用的时间片。因为如果分配给这个进程的时间片到期了,还没有执行完,进程就会被调度下CPU,等待下次执行,然后其他进程会占用CPU,所以程序的执行时间里可能会包含其他进程的时间片。所以real不能准确地表示程序的执行时间。user表示真原创 2021-04-21 17:05:41 · 817 阅读 · 0 评论 -
system V ABI
x86_64寄存器调用约定在x64中(从现在开始,x64是x86_64的缩写),机器使用16个通用寄存器来操纵数据。这些寄存器是RAX,RBX,RCX,RDX,RDI,RSI,RSP,RBP和R8至R15。在x64中调用函数时,寄存器的方式和使用遵循非常特定的约定。这表明函数的参数应该去哪里以及函数完成时函数的返回值将在哪里。这一点很重要,因此可以将一个编译器编译的代码与另一个编译器编译的代码...翻译 2020-03-22 19:47:32 · 2263 阅读 · 0 评论 -
Linux的编程模型ILP32和LP64
Linux的编程模型编程模型64位Linux采用的是LP64模型,这意味着Long, Pointer都是8字节。32位Linux采用的是ILP32模型,也就是Int Long Pointer均为4字节。Windows下32位是ILP32,64位是LLP64。标准没有规定 long 长度,这是编译器和系统选择的。在OS的ABI中应当有数据类型大小的定义。以下引自维基 64位数据模型...原创 2020-03-22 12:16:33 · 2985 阅读 · 0 评论 -
system V 和POSIX
system V 和POSIX很多类unix系统,包括linux和system v系统,支持system v的进程间通信(ipc)对象。实际上,system v的ipc是open group的单一unix规格版本2[open group 1997]所要求的。引自System V IPC当我们在 Linux 系统中进行进程间通信时,例如信号量,消息队列,共享内存等方式,会发现有System...转载 2020-03-21 19:14:56 · 193 阅读 · 0 评论 -
POSIX是什么有什么用
POSIX是什么 有什么用文章转载于:POSIX解决什么问题POSIX解决什么问题一般情况下,应用程序通过应用编程接口(API)而不是直接通过系统调用来编程(即并不需要和内核提供的系统调用来编程)。一个API定义了一组应用程序使用的编程接口。它们可以实现成调用一个系统,也可以通过调用多个系统来实现,而完全不使用任何系统调用也不存在问题。实际上,API可以在各种不同的操作系统上实现给应用...转载 2020-03-16 16:20:09 · 1157 阅读 · 0 评论