![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深入理解计算机系统
文章平均质量分 75
sanwu2010
这个作者很懒,什么都没留下…
展开
-
《深入理解计算机系统》第八章 (五)非本地跳转 setjmp longjmp
/* $begin restart */ #include "csapp.h" sigjmp_buf buf; void handler(int sig) { siglongjmp(buf, 1); } int main() { Signal(SIGINT, handler); if (!sigsetjmp(buf, 1))原创 2013-12-04 19:01:32 · 686 阅读 · 0 评论 -
《深入理解计算机系统》第八章 (二)程序的加载与运行
/* $begin shellmain */ #include "csapp.h" #define MAXARGS 128 /* function prototypes */ void eval(char *cmdline); int parseline(char *buf, char **argv); int builtin_command(char **argv);原创 2013-12-03 09:42:52 · 1178 阅读 · 0 评论 -
《深入理解计算机系统》第八章 (一)关于子进程创建函数fork的理解
今天读到了《深入理解计算机系统》第八章关于进程控制的描述,对fork函数有一定的认识,特做此博文,做一记录。 例程: /** * @file fork_try.c * @brief * * * @author Ma Hao (Alex), mahao@hust.edu.cn * * @blog http://blog.csdn.net/sanwu201原创 2013-11-30 16:32:48 · 845 阅读 · 0 评论 -
《深入理解计算机系统》第八章 (四)信号
信号是软件层面上的异常 (一)Linux信号 可以通过man 7 signal 查看Linux提供的标准信号。其中描述的信号的编号在不同的处理器体系结构的差异有所不同。 (二)信号传送的步骤 传送一个信号到目的进程通常由两个不同的步骤组成: (1)原创 2013-12-04 17:24:26 · 873 阅读 · 0 评论 -
深入理解计算机系统第七章读书笔记
/**1.可重定位目标文件 */ ELF可重定位目标文件主要包括一下部分: (1)ELF头: 生成文件的系统的字的大小和字节序列 链接器语法分析和目标文件的信息 (2).text 已编译程序的机器代码 (3).rodata 只读数据 (4).data 已初始化的全局变量C变量 (5).bss 未初始化的原创 2013-11-23 21:10:34 · 1402 阅读 · 0 评论 -
现代操作系统笔记
要将设备驱动程序装入操作系统,有三种途径: (1)将内核中的原创 2014-04-12 21:23:42 · 764 阅读 · 0 评论 -
《深入理解计算机系统》第八章 (三)回收子进程
进程总是处在下面三种状态的一种: (1)运行(2)停止(3)终止。 进程终止的原因: (1)收到一个默认行为是终止进程的信号 (2)从主程序中返回 (3)调用exit函数 一个终止了但是没有被回收的进程成为僵死进程。进程一般是通过父进程进行回收,如果父进程没有回收它的僵死的子进程就终止了,那么内核就安排init进程来回收它们。init进程的PID为1,并且实在系统初始化的时候原创 2013-12-03 11:33:05 · 780 阅读 · 0 评论