- 博客(16)
- 收藏
- 关注
转载 由cache"引起"的内存问题——记录Linux的Cache Memory(缓存内存)机制
当前一个项目中需要用到音频,用到的音频芯片是CS4344,驱动是从linux内核自带的AT73C213音频IC驱动移植过来的。 在用自己写的应用程序播放音频文件的时候,发现随着播放不同的音频文件,内存的使用越来越多,甚至高达27或28M(总共内存是32M)。由于在这之前没有关注过linux的cache机制,判断内存是用top命令的used的值来判断的,因此将这个问题判断为内存问题。
2015-08-07 09:46:36
698
转载 ioctl在socket中的一些用法及示例
ioctl在socket中的一些用法及示例函数 : ioctl(int fd, int request, void * arg)定义 : 功能 : 控制I/O设备, 提供了一种获得设备信息和向设备发送控制参数的手段.参数 : int fd 文件句柄. 用于socket时, 是socket套接字.int request 函数定义的所有操作. 关于socket的操作, 定义在文
2015-07-15 09:31:43
349
转载 ioctl在socket中的一些用法及示例
ioctl在socket中的一些用法及示例函数 : ioctl(int fd, int request, void * arg)定义 : 功能 : 控制I/O设备, 提供了一种获得设备信息和向设备发送控制参数的手段.参数 : int fd 文件句柄. 用于socket时, 是socket套接字.int request 函数定义的所有操作. 关于socket的操作, 定义在文
2015-07-12 13:02:42
328
转载 netif_receive_skb 函数注解
//当网络设备收到网络数据包时,最终会在软件中断环境里调用此函数 [cpp] view plaincopyint netif_receive_skb(struct sk_buff *skb) { //ptype_all 用于sniffer这样的程序 // 发送一份拷贝给这些注册的sniffer程序
2015-07-03 20:22:25
528
转载 玩转ptrace
在第一部分中我们已经看到ptrace怎么获取子进程的系统调用以及改变系统调用的参数。在这篇文章中,我们将要研究如何在子进程中设置断点和往运行中的程序里插入代码。实际上调试器就是用这种方法来设置断点和执行调试句柄。与前面一样,这里的所有代码都是针对i386平台的。 附着在进程上 在第一部分钟,我们使用ptrace(PTRACE_TRACEME, …)来跟踪一个子进程,
2015-06-28 12:48:45
557
转载 linux 分析 ptrace()
描述Ptrace 提供了一种父进程可以控制子进程运行,并可以检查和改变它的核心image。它主要用于实现断点调试。一个被跟踪的进程运行中,直到发生一个信号。则进程被中止,并且通知其父进程。在进程中止的状态下,进程的内存空间可以被读写。父进程还可以使子进程继续执行,并选择是否是否忽略引起中止的信号。Request参数决定了系统调用的功能:PTRACE_TRACEME本
2015-06-28 12:47:50
371
转载 Linux系统串口接收数据编程
之前基于IBM deveplopworks社区的代码,做了串口初始化和发送的程序,今天在此基础上添加了读取串口数据的程序。首先是最简单的循环读取程序,第二个是通过软中断方式,使用信号signal机制读取串口,这里需要注意的是硬件中断是设备驱动层级的,而读写串口是用户级行为,只能通过信号机制模拟中断,信号机制的发生和处理其实于硬件中断无异,第三个是通过select系统调用,在没有数据时阻塞进程,串口
2015-06-14 09:42:01
880
原创 Linux系统中/dev/mtd与/dev/mtdblock的区别,即MTD字符设备和块设备的区别
1. /dev/mtdN 是Linux 中的MTD架构中,系统自己实现的mtd分区所对应的字符设备,其里面添加了一些ioctl,支持很多命令,如MEMGETINFO,MEMERASE等。而mtd-util中的flash_eraseall等工具,就是以这些ioctl为基础而实现的工具,实现一些关于Flash的操作。比如,mtd 工具中的 flash_eraseall中的:if (io
2015-06-07 21:23:13
542
转载 查看文件系统类型的Linux命令
不需挂载就能查看的命令: 1. file [root@localhost dev]# file -s /dev/sda1/dev/sda1: Linux rev 1.0 ext4 filesystem data (extents) (huge files) 2.parted[root@localhost dev]# parted /dev/sdaGNU Par
2015-05-31 20:08:28
377
转载 Linux-dd命令详解
Linux-dd命令详解 dd 是 Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。名称: dd 使用权限: 所有使用者dd 这个指令在 manual 里的定义是 convert and copy a file 使用方式: dd [option] 如果你想要在线看 manual, 可以试试:
2015-05-31 20:05:17
313
转载 linux 下route命令
为了让设备能访问另一个子网,需要在设备里增加路由到子网络,下面是一些资料。基本操作如下:一般来说,都是为了能访问别的子网才设置路由的,比如说,你的主机处于192.168.10.0/24,而你想访问192.168.20.0/24网的主机,当然你知道一个网关IP,例如192.168.10.1(必须和你主机处于同一子网),那么,你可以这样配置路由。添加路由route add -n
2015-05-31 19:56:22
417
转载 Linux的sysctl 命令参数详解
Linux内核通过/proc虚拟文件系统向用户导出内核信息,用户也可以通过/proc文件系统或通过sysctl命令动态配置内核。比如,如果我们想启动NAT,除了加载模块、配置防火墙外,还需要启动内核转发功能。我们有三种方法:1. 直接写/proc文件系统# echo 1 > /proc/sys/net/ipv4/ip_forward2. 利用sysctl命令# sysctl
2015-05-31 19:53:39
1085
转载 linux syslogd服务
介绍syslog是一种工业标准的协议,可用来记录应用程序或者设备的日志,日志一般都存储在/var/log目录下。可以通过查看日志记录,随时掌握系统状况。日志是通过syslogd这个进程记录系统有关事件记录,也可以记录应用程序运作事件。通过适当的配置,我们还可以实现运行syslog协议的机器间通信,通过分析这些网络行为日志,藉以追踪掌握与设备和网络有关的状况。配置文件sysl
2015-05-31 19:49:58
694
转载 linux tune2fs命令详解
一.简介:tune2fs是调整和查看ext2/ext3文件系统的文件系统参数,Windows下面如果出现意外断电死机情况,下次开机一般都会出现系统自检。Linux系统下面也有文件系统自检,而且是可以通过tune2fs命令,自行定义自检周期及方式。二.用法:tune2fs [ -l ] [ -c max-mount-counts ] [ -e errors-behavior
2015-05-31 19:47:20
331
转载 Linux 技巧:重定向 stderr 和 stdout 输出到 gdb 窗口
问题为了调试基于 Eclipse 的 Java 和 C++ 混合的应用程序时,通常同时使用 Eclipse 和 gdb 来分别调试 Java 和 C++ 代码。此时,被调试程序的标准输出( stdout )和标准错误输出( stderr )取决于这个该程序的启动方式。如果程序是在 Eclipse 的 IDE 环境下启动的,那默认情况下 stderr 和 stdout 都会输出在 Eclip
2015-05-31 14:07:23
928
转载 Linux中ramdisk,tmpfs,ramfs的介绍
测试手段:dd if=/dev/zero of=tmp bs=1M count=10用dd命令测试瞬间写的能力。新增利用iozone命令测试内存盘性能:iozone -a -i 1 -i 0 -c -g 5M -n 1M 测试项包括写入,重复写入,读出,重复读出横坐标是测试的时候写入读出的快文件大小,纵坐标是每秒的
2015-05-31 14:03:12
402
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人