计算机基础
哈哈哈哈哈哈士奇
这个作者很懒,什么都没留下…
展开
-
Linux的IO系统调用函数open、read、write、stat
今天我们来看一下几个系统调用函数,以及他们的基本用法。一、open intopen(char *filename , int flags , mode_t mode ); open 函数将filename转换为一个文件描述符,并且返回描述符数字。返回的描述符总是...原创 2019-11-30 12:28:54 · 826 阅读 · 0 评论 -
wait和waitpid的用法
首先,wait是waitpid函数的简单版本,接下来我们对二者进行比较和实验。一、waitpid waitpid函数原型 pid_t waitpid ( pid_t pid , int *statusp , int options ); 1、pid — 判定等待集合的成员pid>0 指定一个单独的子进程,他的进...原创 2019-11-13 21:30:00 · 813 阅读 · 0 评论 -
fork()应用
fork()函数用于父进程创建一个新的运行的子进程一、父进程与子进程的关系 子进程几乎但是不完全与父进程相同。 子进程得到与父进程用户级虚拟地址空间相同的(但是独立)的一份副本,包括代码、数据段、堆、共享库和用户栈。 子进程还获得与父进程任何打开文件描述符相同的副本,这意味着,当父进程调用fork()时,子进程...原创 2019-11-03 01:50:32 · 1153 阅读 · 0 评论 -
如何计算直接映射高速缓存和组相联高速缓存
一、通用的高速缓存存储器组织结构 首先让我们了解一下基本结构、 考虑一个计算机系统,其中每个存储器地址有m位,形成M=2^m个不同的地址。 ·高速缓存被组织成一个有S=2^s个高速缓存组的数组。(即一共有S个组) ·每个组包含E个高速缓存行。(即一组里有E行) ·每一行是包括...原创 2019-09-15 17:00:34 · 2608 阅读 · 1 评论 -
详解链接下的ELF可重定位目标文件结构
一、什么是链接? gcc编译器读取源程序文件(.c文件)并把它翻译成一个可执行目标文件,翻译过程中就包括了链接。 在现代系统中,链接是由叫做链接器的程序自动执行的。 链接是将各种代码和数据片段收集并组合成为一个单一文件的过程,这个文件可被加载到内存并执行。也就是将所有的文件汇总为一个文件。二、静态链接 ·静态连接器以一组可重定位目标文件和命令...原创 2019-09-28 14:44:41 · 713 阅读 · 0 评论 -
链接下的符号解析规则和符号表
一、什么是符号? 每个可重定位目标模块m都有一个符号表,它包含m定义和应用的符号的消息。那么什么是符号呢? 简单来讲,符号氛围三种: 1、全局符号:没有用static修饰的函数和全局变量 2、局部符号:用了static修饰的函数和全局变量 3、外部符号:在模块A中定义,并被模块B引用的全局符号二、符号定义...原创 2019-09-28 18:02:31 · 3552 阅读 · 2 评论