摘要: 网络基础 一、模型 1.物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后再转化为1、0,也就是我们常说的数模转换与模数转换)。这一层的数据叫做比特。2.数据链路层:定义了如何让格式化 阅读全文
posted @ 2017-11-17 15:54 rainbow1122 阅读(521) 评论(0) 推荐(1) 编辑
摘要: 线程(二) 1.线程终止方式 如果需要只终止某个线程而不终止整个进程,可以有三种方法: 从线程主函数return。这种方法对主控线程不适用,从main函数return相当于调用exit。 一个线程可以调用pthread_cancel终止同一进程中的另一个线程。 线程可以调用pthread_exit终 阅读全文
posted @ 2017-11-15 22:59 rainbow1122 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 线程 1.线程的概念 线程和进程的关系 轻量级进程(light-weight process),也有PCB,创建线程使用的底层函数和进程一样,都是clone。 从内核里看进程和线程是一样的,都有各自不同的PCB,但是PCB中指向内存资源的三级页表(下图)是相同的 进程可以蜕变成线程。(若进程只有一个 阅读全文
posted @ 2017-11-15 16:46 rainbow1122 阅读(437) 评论(0) 推荐(0) 编辑
摘要: 进程(四) 1.终端 在UNIX系统中,用户通过终端登录系统后得到一个Shell进程,这个终端成为Shell进程的控制终端(Controlling Terminal),在讲进程时讲过,控制终端是保存在PCB中的信息,而我们知道fork会复制PCB中的信息,因此由Shell进程启动的其它进程的控制终端 阅读全文
posted @ 2017-11-14 22:15 rainbow1122 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 信号(二) 1.信号捕捉设定 当执行捕捉函数时,默认执行的是,当前信号的屏蔽字自动置1,当执行完后,会自动恢复,响应之前在捕捉函数执行时,发生的信号。信号产生后并不一定是第一时间被响应。 信号捕捉 练习: 2.利用SIGUSR1和SIGUSR2实现父子进程同步输出 注意:子进程继承了父进程的信号屏蔽 阅读全文
posted @ 2017-11-14 21:55 rainbow1122 阅读(369) 评论(0) 推荐(0) 编辑
摘要: 信号 1.信号的概念 信号编号kill -l 2.信号产生种类 终端特殊按键 发送给进程,可以练习编写一个程序,运行练习。 note:jobs显示进程,ps aux 详细显示,fg %编号 将后台信号切换到前台显示。 硬件异常* 除0操作* 访问非法内存 kill函数或kill命令 不过,kill向 阅读全文
posted @ 2017-11-13 22:16 rainbow1122 阅读(244) 评论(0) 推荐(0) 编辑
摘要: shell 用讲过的各种C函数实现一个简单的交互式Shell,要求:1、给出提示符,让用户输入一行命令,识别程序名和参数并调用适当的exec函数执行程序,待执行完成后再次给出提出符2、识别和处理以下符号: 简单的标准输入输出重定向:仿照例 “wrapper”,先dup2然后exec。管道(|):Sh 阅读全文
posted @ 2017-11-13 17:41 rainbow1122 阅读(213) 评论(0) 推荐(0) 编辑
摘要: gdb 1.gdb介绍 本章介绍一种很强大的调试工具gdb,可以完全操控程序的运行,使得程序就像你手里的玩具一样,叫它走就走,叫它停就停,并且随时可以查看程序中所有的内部状态,比如各变量的值、传给函数的参数、当前执行的代码行等。 有了gdb以后,即使调试手段丰富了,调试的基本思想仍然是“分析现象-> 阅读全文
posted @ 2017-11-13 15:11 rainbow1122 阅读(477) 评论(0) 推荐(0) 编辑
摘要: Makfile 1.用途 项目代码编译管理 节省编译项目时间(在编译的时候之编译修改过的.c文件,并和之前编译好的.o链接使用) 一次编写终身受益 阶段一:先至上而下建立关系树 阶段二:自下而上执行命令 阶段三阶段四都是让变得通用。 只要知道makefile怎么工作就好。 2.基本规则 三要素: 目 阅读全文
posted @ 2017-11-13 14:59 rainbow1122 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 进程之间的通信 每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进行之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷贝到内核缓冲区,进程2再从内核缓冲区把数据读走,内核提供的这种机制称为进程之间通信(IPC) 进程间通信 1.pipe管 阅读全文
posted @ 2017-11-10 22:32 rainbow1122 阅读(217) 评论(0) 推荐(0) 编辑