上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 20 下一页
摘要: 如果想要NAT功能能够正常使用,需要开启Linux主机的核心转发功能。 echo 1 > /proc/sys/net/ipv4/ip_forward 方式一:以wan口ip作为匹配条件 1. 新增一条端口映射规则 将访问wan口的端口转发至内网某个ip上 iptables -t nat -A PRE 阅读全文
posted @ 2020-08-08 15:55 thammer 阅读(2888) 评论(0) 推荐(0) 编辑
摘要: valgrind使用 内存检查工具memcheck valgrind --tool=memcheck yourprogram 多线程工具helgrind valgrind --tool=helgrind yourprogram 其他常用选项 指定log输出文件,有时候不想程序的打印输出和valgri 阅读全文
posted @ 2020-07-03 09:55 thammer 阅读(835) 评论(0) 推荐(0) 编辑
摘要: OPC是什么? OPC是自动化行业及其他行业用于数据安全交换时的互操作性标准。它独立于平台,并确保来自多个厂商的设备之间信息的无缝传输,OPC基金会负责该标准的开发和维护。 OPC标准是由行业供应商,终端用户和软件开发者共同制定的一系列规范。这些规范定义了客户端与服务器之间以及服务器与服务器之间的接 阅读全文
posted @ 2020-05-13 15:10 thammer 阅读(8381) 评论(1) 推荐(5) 编辑
摘要: 在linux中,进程是资源分配的基本单位,而线程才是调度的基本单位。 一个在计算机上运行的程序,需要一些基本的硬件资源才能正常运行起来,包括CPU,内存,存储设备(文件),还有对所有文件进行管理的文件系统。 在linux里面是用 来描述一个进程资源的分配情况(线程也是用这个结构来描述,具体后面介绍) 阅读全文
posted @ 2020-04-25 21:16 thammer 阅读(700) 评论(0) 推荐(1) 编辑
摘要: wireshark要监控eth0,但是必须要root权限才行。但是,直接用root运行程序是相当危险,也是非常不方便的。 解决方法如下: 添加wireshark用户组 sudo groupadd wireshark 将dumpcap更改为wireshark用户组 sudo chgrp wiresha 阅读全文
posted @ 2020-04-09 10:10 thammer 阅读(938) 评论(0) 推荐(0) 编辑
摘要: 为了测试globalmem在不带互斥保护下,多个地方进行IO操作,会引发竞态的问题。写了如下一个测试程序: 会发现依然会出现文件偏移量相互干扰的情况,下图反应了fork调用后,父子进程与文件表,文件inode,vnode之间的关系(参考自APUE): 可以看到fork对父进程打开文件的拷贝只是拷贝了 阅读全文
posted @ 2020-04-01 17:29 thammer 阅读(350) 评论(0) 推荐(0) 编辑
摘要: linux ARM的原子操作源文件位于 linux源码宏展开 最开始由如下宏定义,linux的各种宏太复杂了,分析起来有点费劲 又根据 "GCC内联汇编" 的替换规则,result,tmp,v counter,&v counter,i按照出现的顺序分别替换%0 %4,操作数被逐个替换: 单独提取汇编 阅读全文
posted @ 2020-03-30 00:26 thammer 阅读(932) 评论(0) 推荐(0) 编辑
摘要: 基本内联汇编 基本内联汇编格式比较直观,可以直接这样写: 例如: 扩展内联汇编 前面讨论的基本内联汇编只涉及到嵌入汇编指令,而在扩展形式中,我们还可以指定操作数,并且可以选择输入输出寄存器,以及指明要修改的寄存器列表。对于要访问的寄存器,并不一定要显式指明,也可以留给GCC自己去选择,这可能让GCC 阅读全文
posted @ 2020-03-29 11:29 thammer 阅读(2420) 评论(0) 推荐(0) 编辑
摘要: 1.什么是互斥 在计算机执行过程中,对于多个任务,它们共享着一个资源,要求对该资源的存取过程是排他的。 2.为什么要有互斥 不考虑SMP情况,仅分析单CPU情况,因为SMP只不过是更复杂的一种情况,原理类似。 有如下代码片段,其中share_data是一个全局变量。 2.1线程间 如果两个线程都执行 阅读全文
posted @ 2020-03-27 22:09 thammer 阅读(372) 评论(0) 推荐(0) 编辑
摘要: 下面是一个最简单的字符设备驱动。 其中包含了几个关键的结构体 ,`struct inode struct cdev struct file_operations`。这几个结构体将应用层对设备文件的open,read,write等操作和实际的设备驱动关联起来。下图展示了字符设备驱动和文件系统的关系。 阅读全文
posted @ 2020-03-21 21:59 thammer 阅读(248) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 20 下一页