linux内核数据结构之链表1、前言最近写代码需用到链表结构,正好公共库有关于链表的。第一眼看时,觉得有点新鲜,和我之前见到的链表结构不一样,只有前驱和后继指针,而没有数据域。后来看代码注释发现该代码来自linux内核,在linux源代码下include/Lish.h下。这个链表具备通用性,使用非常方便。只需要在结构定义一个链表结构就可以使用。2、链表介绍链表是非常基本的数据结构,根据链个数分为单链表、双链表,根据是否循环分为单向链表和循环链表。通常定义定
系统 2019-08-12 01:32:41 2648
无名套接口套接口并不总是需要有一个地址。例如,socketpair函数创建了两个彼此相连的两个套接口,但是却没有地址。实际上,他们是无名套接口。想像一下冷战期间美国总统与苏联之间的红色电话。他们任何一端并不需要电话号码,因为他们是直接相连的。同样,socketpair函数也是直接相连的,也并不需要地址。匿名调用有时在实际上,连接中的两个套接口中的一个也没有地址。对于要连接的远程套接口,他必须要有一个地址来标识。然而,本地套接口是匿名的。建立起来的连接具有一
系统 2019-08-29 23:23:32 2647
音频处理介绍(Linux手机)转载时请注明出处和作者联系方式作者联系方式:李先静昨天从整体上介绍了一下音频处理流程,让大家对音频处理有个大致的概念,以便进行深入的研究。整个音频处理可以分为三个部分:用户空间Mplayerservice它是一个独立的服务进程,其主要作用有;首先是充当一个抽象层,隔离下层的软件和硬件平台,让应用程序不受下层变化的影响,比如以前我们用mplayer,现在改为用gstreamer
系统 2019-08-12 01:32:43 2647
linux下tomcat无法启动文章分类:操作系统引用错误:NeithertheJAVA_HOMEnortheJRE_HOMEenvironmentvariableisdefinedAtleastoneoftheseenvironmentvariableisneededtorunthisprogram先看Tomcat的startup.bat,它调用了catalina.bat,而catalina.bat则调用了setclasspath.bat。只要在setc
系统 2019-08-12 01:33:59 2646
1、赋值是等号两边不能有空格,为了看清楚我用两个4个空格代表一个空格str=“Hello”会报错,str:commandnotfound,很明显如果有空格str将会被认为是一个命令。str=“Hello”echo$str输出为Hello;2、中括号的使用,在shell中中括号多用于正则表达式,为了与其区分,shell编程中要注意,比如str="Hello"if[$str=="Hello"];thenecho$str;fi还是提醒为没招到命令Hello==H
系统 2019-08-12 01:33:32 2646
对于在Linux下通过rpm方式的mysql,我们能够通过移除这些rpm包以及删除项目的文件夹来达到卸载的目的。本文演示了在SUSELinux10下下载MySQL5.5.37。详细见下文。1、环境#OS环境SZDB:~#cat/etc/issueWelcometoSUSELinuxEnterpriseServer10SP3(x86_64)-Kernel\r(\l).#查看已安装的安装包SZDB:~#rpm-qa|grep-imysqlMySQL-devel
系统 2019-08-12 01:32:36 2646
一、权限的基本概念权限:访问计算机资源或服务的访问能力。Linux中,每一个资源或者服务的权限,分别定义了三组用户的使用能力。文件的属主(u)文件的属组(g)其他用户(o)对于每一类用户来说,可以对某个文件有三种权限:r:可读,可以使用类似cat,more,less等命令查看文件内容。w:可写,可以编辑或者删除此文件。x:可执行,可以在命令提示符下,当做命令提交给内核运行,一般对文件默认没有此权限,否则可能执行恶意代码。对于目录来说,r:可以对此目录执行l
系统 2019-08-12 01:33:20 2645
对消息队列的操作无非有以下三种类型:1、打开或创建消息队列消息队列的内核持续性要求每一个消息队列都在系统范围内相应唯一的键值,所以,要获得一个消息队列的描写叙述字,仅仅需提供该消息队列的键值就可以;注:消息队列描写叙述字是由在系统范围内唯一的键值生成的,而键值能够看作相应系统内的一条路经。2、读写操作消息读写操作很easy,对开发者来说,每一个消息都相似例如以下的数据结构:structmsgbuf{longmtype;charmtext[1];};mtyp
系统 2019-08-12 01:33:43 2644
PuppyLinux是另外一种Linux发行。它的不同之处在于,Puppy是格外的小,然而又充满了特性。Puppy能从64M的存储设备启动,并且,整套系统都能在内存中运行。有很多自启动运行光盘的Linux发行,它们需要不停地从光盘读取数据才能运行,Puppy与它们不一样,Puppy整个装载在内存中。这意味着,所有的应用程序一眨眼的功夫就能启动,并且立即对用户的输入作出响应。PuppyLinux能从flash卡或者是任何的USB存储设备启动(这是flash-
系统 2019-08-12 01:32:45 2644
1.磁盘使用情况du-h查看当前用户每个文件的大小,格式化显示du-h--max-depth=1当前各个目录下的总大小du-sh查看总的大小df-h磁盘使用情况iostat-xm3磁盘的读写情况2.VI常用命令esc切换文件读写状态,I键插入,O键追加:q!强制退出:wq保存后退出:x保存后退出G到文件尾部1G到文件首或者gg0行首$行尾ctrl+f向文件尾翻一页ctrl+b向文件首翻一页/patten从光标开始处,向文件尾搜索patten?patten从
系统 2019-08-12 01:33:26 2643
ZevenOS5.0发布了,更新软件包括:Linuxkernel3.5,X.Org7.7和PulseAudio2.1、Audacity2.0,Claws-Mail3.8.1,Firefox17,GIMP2.8,Inkscape0.48.下载地址:zevenos5-desktop.iso(700MB).ZevenOS是一份基于Ubuntu的GNU/Linux发行,它的主旨是提供一份快速易用的系统,并带有类似BeOS的用户界面和对老旧硬件的支持。该发行构建于一
系统 2019-08-12 01:32:44 2643
本文主要记录下linux的引导流程(实例采用centOS5.5)。内容主要如下:引导流程、解析下GRUB的作用。一、引导流程1.1主要的流程图如下:1.2每一步的作用1)第一步firmware固件自检,主要是进行CMOS/BIOS对硬件进行POST加电自检,在物理层次上对硬件进行检测是否正常。2)读取硬盘中MBR的BootLoader(自启动程序,Linux下常用的自启动程序是GRUB)。这一步主要的功能是载入内核。3)载入的内核Kernel主要功能是:1
系统 2019-08-12 01:32:55 2642
http://blog.linux.org.tw/~jserv/archives/001954.html因为评论也很精彩,我一道转来了深入理解Linux2.6的initramfs機制(上)日前結束一個消費性電子產品的開發工作,稍有心得,試著整理採取Linuxkernel2.6initramfs機制以加速系統開發的經驗,同時也談論對fast-booting設計的重要性,順便解決某些像是「kinit/klibc為何被提出?」等疑難雜症。進入主題前,先看看所謂的
系统 2019-08-12 01:32:30 2642
Linux开发人员继续以快速的步伐推出新内核,但根据Linux基金会最近发布的一份报告显示,在过去的一年里,新代码的提交步调明显变慢了。该报告还指出,Linux内核开发的杰出贡献者也在发生变化,越来越多的移动开发人员加入到Linux内核开发队伍,这是Linux基金会第三次年度“谁在写Linux”报告(报告PDF下载地址),总结了过去一年来Linux内核的进展情况。根据2010年“谁在写Linux”报告显示,提交给2.6.35内核的代码量比去年发布的2.6.
系统 2019-08-12 01:32:27 2640
本安装环境为:opensuse12.1所需安装包:httpd-2.4.3.tar.gzsubversion-1.7.6.tar.gzopenssl-1.0.1c.tar.gzneon-0.29.6.tar.gzpcre-8.20.tar.gz注:其中红色字体标识的为必须要,蓝色字体标识的为一些扩展包或者依赖包(要试情况下载安装)当前我所用的是普通用户安装,并不是用的root用户第一部分:安装①.安装apache:1.tar-zxvfhttpd-2.4.3.
系统 2019-08-29 23:13:16 2639