2019年3月6日

摘要: 一、网络问题 如果世界都是像童话中描述的那样,那我们就真的和谐了,但是事实上往往是残缺不全。当我们在分析网络协议的时候,如果网络都是想美帝那样流畅,那报文的发送就没有问题了。但是现在如果不幸的是如果网络质量很差,那么此时就会出现TCP的丢包问题,此时大家都觉得网络很卡,比方说,WAR3就没法玩了。 阅读全文
posted @ 2019-03-06 20:51 tsecer 阅读(647) 评论(0) 推荐(0) 编辑
摘要: 一、基本结构 内核中网络模块有眼花缭乱的数据结构,而且从名字和功能上看还没啥差别,所以对代码的理解还是有不小影响的。这里就是一个网络的开始阶段,然后尝试以这个为入口,看看系统中的网络的相关模块和功能实现。 1、socket 根据 毛德操 《linux情景分析》下册863页有一个比较合理的解释:“so 阅读全文
posted @ 2019-03-06 20:50 tsecer 阅读(496) 评论(0) 推荐(0) 编辑
摘要: 一、说明 在linux下,这个pthread_mutex是posix多线程编程的一个规范,从名字上看,它也是一个线程间的同步机制。狭义上理解就是一个任务内部的多个线程之间的一个同步机制,这一点对于Linux系统下的futex机制实现可以产生很大影响。因为如果是同一进程的线程,那么所有线程使用的都是相 阅读全文
posted @ 2019-03-06 20:49 tsecer 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 一、问题 在Linux下,使用mmap是操作文件内容的一个非常方便的方法,它可以将相对受限的文件操作接口转换为大家喜闻乐见的内存操作。这个本身可以引申出很多方便的操作,比如,我们可以将这个内存地址(也就是对应的文件的某个部分)转换为一个特定的数据结构指针,从而可以方便的进行结构的读取和修改。 大部分 阅读全文
posted @ 2019-03-06 20:48 tsecer 阅读(3865) 评论(0) 推荐(0) 编辑
摘要: 一、概述 题目有些绕,因为不知道这两种信号的学名是什么。我想表达的意思就是两种不同来源的信号:一种是实实在在发生的信号,例如程序运行的过程中遇到了一个非法地址访问,最为典型的就是 *(int *) 0 = 0; 此时程序一定会收到一个SIGSEGV信号的,因为此时程序不能再继续运行下去了。用拟人的语 阅读全文
posted @ 2019-03-06 20:47 tsecer 阅读(543) 评论(0) 推荐(0) 编辑
摘要: 一、引言 在嵌入式系统中,串口几乎是系统操作的唯一途径,所以串口的使用在嵌入式系统中有着重要作用。因为嵌入式是一个爹不亲,娘不爱的苦命娃,它一般成本比较低,当它被制造出来之后,人们就希望它这么安安静静、平平安安、兢兢业业的运行一辈子。也就是这些设备和人(human being)的交互机会比较少,但是 阅读全文
posted @ 2019-03-06 20:46 tsecer 阅读(603) 评论(0) 推荐(0) 编辑
摘要: 一、键盘输入 根据大量资料的描述,最早的IBM XT PC标准键盘是有83个按键,键盘按键被按下的时候它们向键盘控制器发送的扫描码是合这些按键在键盘上的物理位置相联系的(从左到右,从上到下,ESC扫描码为1,Del为0x53)。我们现在的键盘外观和当时的键盘已经有较大区别,所以这些位置看起来可能不那 阅读全文
posted @ 2019-03-06 20:45 tsecer 阅读(674) 评论(0) 推荐(0) 编辑
摘要: 一、伪终端的意义 在计算机中,有很多的虚拟技术,使用纯软件的技术来模拟一个硬件设备。例如,使用一个qemu来模拟一个计算机系统、使用tun来模拟一个网卡。归根到底,这些虚拟的原因在于兼容,兼容就是后来的实现要以不修改已有实现为前提。就像intel的指令集和windows的API一样,这里的内容就只能 阅读全文
posted @ 2019-03-06 20:45 tsecer 阅读(649) 评论(0) 推荐(0) 编辑
摘要: 一、虚拟终端模拟的问题 前面曾经说过,所谓控制台是对tty设备的一种模拟。tty和主机之间就一根线,所有的交互都在这条串行线上一个bit一个bit的交互,可以看做是“竹筒倒豆子”--直来直去的模式。进一步说,主机不能(也没有义务)直接控制tty设备上的显示设备(比如显示设备对应的内存、显示控制寄存器 阅读全文
posted @ 2019-03-06 20:44 tsecer 阅读(532) 评论(0) 推荐(0) 编辑
摘要: 一、主题 当定位一个问题的时候,最为直观和简单的方法就是在代码的特定位置加上对我们感兴趣的特定数据的打印,这是不依赖其它外部工具(调试器类工具)最简单和直观的方法,这个方法在用户态和内核态调试中都是适用的,就连最经典的C语言程序也是一个printf(“Hello World\n”),可见这个prin 阅读全文
posted @ 2019-03-06 20:43 tsecer 阅读(379) 评论(0) 推荐(0) 编辑

导航