
linux系统
huanny2005
这个作者很懒,什么都没留下…
展开
-
等待队列wait_queue_head_t使用
当你在用户空间需要读写一大片数据的时候,这个就用上了。以下来自:http://www.yuanma.org/data/2006/1207/article_1916.htm假设我们在 kernel 里产生一个 buffer,user 可以经由 read,write 等 system call 来读取或写资料到这个 buffer 里。如果有一个 user 写资料到 buffer 时,此转载 2015-02-08 15:20:39 · 506 阅读 · 0 评论 -
关于Linux系统调用,内核函数
早上听人说到某个程序的一部分是内核态,另一部分是用户态,需要怎么怎么。当时突然想知道,用户的程序可以直接调用内核函数吗?(现在突然发觉这问题有点可笑,若是可以随便调,那系统岂不是乱套了)从网上找到下面这篇文章,讲的还算透彻。现在自己的理解是,用户程序不可用直接调用内核函数,除非通过系统调用接口。如果想调用哪个内核函数(或自己写的内核函数),怎么办?增加一个系统调用就行了。原文如下:转载 2015-02-14 11:02:04 · 510 阅读 · 0 评论 -
CFLAGS参数详解(Desktop cflags)
CFLAGS 是决定 Gentoo 系统效能与稳定的关键之一。恰当的 CFLAGS 能在效能、编译时间、与系统稳定度中取得平衡,失败的 CFLAGS 可能导致编译失败,甚至系统损毁。那么,在茫茫 CFLAGS 海中,如何才能捞到命中注定那根针呢? 此文件的 CFLAGS 针对 x86 与 x86-64 平台上的 GCC 3.4 (GNU Compiler Collections - htt转载 2015-01-05 11:51:22 · 3102 阅读 · 0 评论 -
makefile 中 $@ $^ %< 使用
这篇文章介绍在LINUX下进行C语言编程所需要的基础知识。在这篇文章当中,我们将会学到以下内容:源程序编译Makefile的编写程序库的链接程序的调试头文件和系统求助1.源程序的编译在Linux下面,如果要编译一个C语言源程序,我们要使用GNU的gcc编译器。 下面我们以一个实例来说明如何使用gcc编译器。假设我们有下面一个非转载 2015-01-05 20:18:10 · 260 阅读 · 0 评论 -
嵌入式 NtpClient 选项用法详解
用法:程序NtpClient[选项]选项:-c count count时间计数后停止(默认为0意味直到永远)-d 打印诊断(功能可以在编译时关闭)-g 选项会导致程序NtpClient后得到的结果更准确,而不仅仅是(微秒,默认为0意味直到永远停止)-h 主机名(ip地址)(强制)NTP服务器,对系统时间来衡量-i 间隔时间 每隔一定时间检查时间(默认值为600)转载 2015-01-05 19:39:49 · 5606 阅读 · 0 评论 -
嵌入式 ntp国内可用校时服务器地址
time-b.timefreq.bldrdoc.gov 132.163.4.102 NIST, Boulder, Colorado time.asia.apple.comtime-c.timefreq.bldrdoc.gov 132.163.4.103 NIST, Boulder, Coloradoutcnist.colorado.edu 128.138.140.44 Un转载 2015-01-05 19:43:08 · 1901 阅读 · 0 评论 -
android NDK的android.mk文件的详解
[xhtml] view plaincopyLOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := tun LOCAL_SRC_FILES := tunemu.c tun.c LOCAL_CFLAGS := / -I/ho转载 2015-01-06 09:47:07 · 344 阅读 · 0 评论 -
linux c字符测试篇
isalnum(测试字符是否为英文或数字)相关函数 isalpha,isdigit,islower,isupper表头文件 #include定义函数 int isalnum (int c)函数说明 检查参数c是否为英文字母或阿拉伯数字,在标准c中相当于使用“isalpha(c) || isdigit(c)”做测试。返回值 若参数c为字母或数字,则返回TRUE,否则返回NUL转载 2015-04-09 13:12:22 · 404 阅读 · 0 评论 -
Linux内核调试方法总结
目录[-]一 调试前的准备二 内核中的bug三 内核调试配置选项1 内核配置2 调试原子操作四 引发bug并打印信息1 BUG()和BUG_ON()2 dump_stack()五 printk()1 printk函数的健壮性2 printk函数脆弱之处3 LOG等级4 记录缓冲区5 syslogd/klog转载 2015-07-01 11:16:52 · 581 阅读 · 0 评论 -
Linux中变量$#,$@,$0,$1,$2,$*,$$,$?的含义
我们先写一个简单的脚本,执行以后再解释各个变量的意义 # touch variable# vi variable 脚本内容如下: #!/bin/shecho "number:$#"echo "scname:$0"echo "first :$1"echo "second:$2"echo "argume:$@"转载 2015-07-09 10:52:57 · 312 阅读 · 0 评论 -
linux SD卡驱动分析
1. 硬件基础:SD/MMC/SDIO 概念区分概要SD (Secure Digital )与 MMC (Multimedia Card )SD 是一种 flash memory card 的标准,也就是一般常见的 SD 记忆卡,而 MMC 则是较早的一种记忆卡标准,目前已经被 SD 标准所取代。 SDIO 是目前我们比较关心的技术,SDIO 故名思义,就是 SD转载 2015-07-03 14:18:30 · 378 阅读 · 0 评论 -
基于linux-2.6.38.8内核的SDIO/wifi驱动分析
转自:http://blog.youkuaiyun.com/wh_19910525/article/details/73925181、sdio接口层解析SDIO总线 SDIO总线 和 USB总线 类似,SDIO也有两端,其中一端是HOST端,另一端是device端。所有的 通信 都是 由HOST端 发送 命令 开始的,Device端只要能解析命令,就可以相互通信。 C转载 2015-07-03 14:20:35 · 572 阅读 · 0 评论 -
如何快速对系统重启问题进行归类
原文:http://xiaobai.m.blog.chinaunix.net/uid-29728680-id-5567130.html[DESCRIPTION] 当手机发生系统重启,即导致kernel重启的异常时,会在手机中的/data/aee_exp目录下保存异常重启的db。工程师可以通过GAT的bug report功能,或者直接通过adb pull,把对应的db从手机中抓转载 2017-02-04 17:50:49 · 729 阅读 · 0 评论 -
LINUX SCSI I/O分析
2012-12-11 21:30 5187人阅读 评论(1) 收藏 举报 分类:网络存储(9) 概述LINUX 内核中 SCSI 子系统由 SCSI 上层,中间层和底层驱动模块 [1] 三部分组成,主要负责管理 SCSI 资源和处理其他子系统,如文件系统,提交到 SCSI 子系统中的 IO 请求。因此,理解 SCSI 子系统的 IO 处理机制对理转载 2017-03-01 11:07:28 · 971 阅读 · 0 评论 -
Linux多线程编程 - sleep 和 pthread_cond_timedwait
摘要:多线程编程中,线程A循环计算,然后sleep一会接着计算(目的是减少CPU利用率);存在的问题是,如果要关闭程序,通常选择join线程A等待线程A退出,可是我们必须等到sleep函数返回,该线程A才能正常退出,这无疑减慢了程序退出的速度。当然,你可以terminate线程A,但这样做很不优雅,且会存在一些未知问题。采用pthread_cond_timedwait(pthread_cond_t转载 2015-02-05 16:58:14 · 534 阅读 · 0 评论 -
pthread_cond_signal
pthread_cond_signal函数的作用是发送一个信号给另外一个正在处于阻塞等待状态的线程,使其脱离阻塞状态,继续执行.如果没有线程处在阻塞等待状态,pthread_cond_signal也会成功返回。但使用pthread_cond_signal不会有“惊群现象”产生,他最多只给一个线程发信号。假如有多个线程正在阻塞等待着这个条件变量的话,那么是根据各等待线程优先级的高低确定哪个线转载 2015-02-05 16:56:40 · 346 阅读 · 0 评论 -
你需要知道的16个服务器监控命令
你需要知道的16个服务器监控命令如果你想知道你的服务器正在做干什么,你就需要了解一些基本的命令,一旦你精通了这些命令,那你就是一个 专业的 Linux 系统管理员。有些 Linux 发行版会提供 GUI 程序来进行系统的监控,例如 SUSE Linux 就有一个非常棒而且专业的工具 YaST,KDE 的 KDE System Guard 同样很出色。当然转载 2014-11-01 16:05:35 · 516 阅读 · 0 评论 -
ubuntu 11.04 samba 服务器设置
ubuntu 11.04 samba 服务器设置安装 SAMBA 组件sudo apt-get install samba smbfs smbclient配置相关参数sudo gedit /etc/samba/smb.conf文件中相关属性如下1.全局设置部分security = user 这行设置了samb转载 2014-11-03 16:35:00 · 317 阅读 · 0 评论 -
Android移植busybox
http://www.cnblogs.com/cslunatic/p/3196014.htmlAndroid 的toolbox没有自动补齐,命令少,对于开发人员还是需要busybox,直接移植官方的busybox会有很多问题,主要是因为基于Android的交叉编译工具并没有采用glibc作为C库,而是采用了Google自己开发的Bionic Libc,它的官方Toolchain也是基于转载 2015-01-07 09:20:10 · 421 阅读 · 0 评论 -
在Linux和Android中用C语言写系统日志
写程序难免需要用到调试信息,由于某些原因,有的调试信息想把它放到系统日志中去。因此今天试验了一下分别在Linux和Android中用C语言写系统日志。首先是在Linux中尝试写系统日志,关于这方面的资料网上已经很多了,我先把我的代码贴到下面吧。/****************************** syslog.c *****************************转载 2015-01-06 11:48:02 · 494 阅读 · 0 评论 -
浅谈Android系统开发中LOG的使用
在程序开发过程中,LOG是广泛使用的用来记录程序执行过程的机制,它既可以用于程序调试,也可以用于产品运营中的事件记录。在Android系统中,提供了简单、便利的LOG机制,开发人员可以方便地使用。在这一篇文章中,我们简单介绍在Android内核空间和用户空间中LOG的使用和查看方法。 一. 内核开发时LOG的使用。Android内核是基于Linux Kerne 2.36的,因此,Linux Ker转载 2015-01-08 14:51:37 · 360 阅读 · 0 评论 -
Android日志系统驱动程序Logger源代码分析
我们知道,在Android系统中,提供了一个轻量级的日志系统,这个日志系统是以驱动程序的形式实现在内核空间的,而在用户空间分别提供了Java接口和C/C++接口来使用这个日志系统,取决于你编写的是Android应用程序还是系统组件。在前面的文章浅谈Android系统开发中LOG的使用中,已经简要地介绍了在Android应用程序开发中Log的使用方法,在这一篇文章中,我们将更进一步地分析Logger转载 2015-01-08 14:53:55 · 566 阅读 · 0 评论 -
Android应用程序框架层和系统运行库层日志系统源代码分析
在开发Android应用程序时,少不了使用Log来监控和调试程序的执行。在上一篇文章Android日志系统驱动程序Logger源代码分析中,我们分析了驱动程序Logger的源代码,在前面的文章浅谈Android系统开发中Log的使用一文,我们也简单介绍在应用程序中使Log的方法,在这篇文章中,我们将详细介绍Android应用程序框架层和系统运行库存层日志系统的源代码,使得我们可以更好地理解Andr转载 2015-01-08 14:59:39 · 370 阅读 · 0 评论 -
如何使用SecureCRT连接vmware下ubuntu
(一)配置SecureCrt 和 ubuntu1. 首先要明白什么是ssh?可以把ssh看做是telnet的加强版,telnet的密码和信息都是不加密的,而ssh则加密。2. 开启ubuntu上的ssh功能先安装,安装后就自动开启了.sudo apt-get install openssh-server openssh-client3. 安装secureCRT4. 查看转载 2014-12-07 16:13:58 · 437 阅读 · 0 评论 -
用c实现HASH表创建、插入、查找、删除、打印
[cpp] view plaincopy/************************************************************************ 用c实现HASH表创建、插入、查找、删除、打印,实现并不是最完美的,欢迎指正补充!后续还有更多类似的实现放上来, 欢迎关注!!! 对本贴有更好的方法或建议可以给本人留言转载 2014-12-08 14:12:41 · 1048 阅读 · 0 评论 -
如何增加虚拟机ubuntu的硬盘
一前言:我们刚开始在虚拟机上安装ubuntu的时候,总是舍不得分配太多的硬盘空间。但用着用着时间久了硬盘就不够了。一种最笨的方法就是重装系统,但却费时费神。如果能够在不重装系统的情况下增加硬盘就好了。下面就来实现它。二.1.首先把ubuntu shutdown.2.在VMware里点击菜单VM——>Settings3.在Hardware里面单击底下的Add按钮,然后转载 2015-02-02 17:58:12 · 424 阅读 · 0 评论 -
LwIP源码分析2-ARP
一、ARP:从功能上来说,arp可以简单的分成两个部分:a. 当我要向目的ip发送一个数据包的时候,需要通过arp实现ip到物理地址(一般为mac地址)的映射(ethernet_output函数)b. 处理输入包,更新arp缓存,如果是ip包后递交给ip层,如果是arp包,对于不同的arp操作做相应的响应(etharp_input函数)LwIP源码分析2-ARP - LinusRush - Lin转载 2014-12-08 18:16:52 · 453 阅读 · 0 评论 -
网络数据包收发流程(一):从驱动到协议栈
一、硬件环境intel82546:PHY与MAC集成在一起的PCI网卡芯片,很强大bcm5461: PHY芯片,与之对应的MAC是TSECTSEC: Three Speed Ethernet Controller,三速以太网控制器,PowerPc 架构CPU里面的MAC模块 注意,TSEC内部有DMA子模块 话说现在的CPU越来越牛转载 2014-12-09 15:37:38 · 468 阅读 · 0 评论 -
grep用法
grep一般格式为:[Copy to clipboard] [ - ]CODE:grep [选项]基本正则表达式[文件]这里基本正则表达式可为字符串。单引号双引号在g r e p命令中输入字符串参数时,最好将其用双引号括起来。在调用模式匹配时,应使用单引号。例如:“m y s t r i n g”。这样做有两个原因,一是以防被误解为s h e l l命令转载 2014-12-11 11:55:04 · 487 阅读 · 0 评论 -
linux下目录详解
linux下目录详解分类: linux系统管理2013-07-28 11:32 314人阅读 评论(0) 收藏 举报linux 目录linux基础/:根目录,一般根目录下只存放目录,不要存放文件,根目录相当于最大的目录/bin:/usr/bin:可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。/boot:放置linux系统启动时用到转载 2014-11-01 13:35:43 · 475 阅读 · 0 评论