自从多线程编程的概念出现在Linux中以来,Linux多线应用的发展总是与两个问题脱不开干系:兼容性、效率。本文从线程模型入手,通过分析目前Linux平台上最流行的LinuxThreads线程库的实现及其不足,描述了Linux社区是如何看待和解决兼容性和效率这两个问题的。一.基础知识:线程和进程按照教科书上的定义,进程是资源管理的最小单位,线程是程序执行的最小单位。在操作系统设计上,从进程演化出线程,最主要的目的就是更好的支持SMP以及减小(进程/线程)上
系统 2019-08-29 22:23:04 2492
一、权限的基本概念权限:访问计算机资源或服务的访问能力。Linux中,每一个资源或者服务的权限,分别定义了三组用户的使用能力。文件的属主(u)文件的属组(g)其他用户(o)对于每一类用户来说,可以对某个文件有三种权限:r:可读,可以使用类似cat,more,less等命令查看文件内容。w:可写,可以编辑或者删除此文件。x:可执行,可以在命令提示符下,当做命令提交给内核运行,一般对文件默认没有此权限,否则可能执行恶意代码。对于目录来说,r:可以对此目录执行l
系统 2019-08-12 01:33:20 2492
Linux的命令行方式有着强大的功能,对于熟练的Linux系统管理员来说,往往只需要通过各种技巧,组合构成一条复杂的命令,从而完成用户任务。那么一条复杂的Linux命令怎样构成呢?下面来介绍几个技巧。利用输入/输出重定向在Linux命令行模式中,如果命令所需的输出不是来自键盘,而是来自指定的文件,这就是输入重定向。同理,命令的输出也可以不显示在屏幕上,而是写入到指定文件中,这就是输出重定向。接下来看看标准输入/输出重定向在构造一条Linux命令中的实际应用
系统 2019-08-12 01:33:25 2491
对于在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 2491
无名套接口套接口并不总是需要有一个地址。例如,socketpair函数创建了两个彼此相连的两个套接口,但是却没有地址。实际上,他们是无名套接口。想像一下冷战期间美国总统与苏联之间的红色电话。他们任何一端并不需要电话号码,因为他们是直接相连的。同样,socketpair函数也是直接相连的,也并不需要地址。匿名调用有时在实际上,连接中的两个套接口中的一个也没有地址。对于要连接的远程套接口,他必须要有一个地址来标识。然而,本地套接口是匿名的。建立起来的连接具有一
系统 2019-08-29 23:23:32 2489
问:在makemenuconfig配置完之后(选的默认配置),然后就make出现如下错误:root@org:/usr/src/linux-2.6.32.27#makeCHKinclude/linux/version.hCHKinclude/linux/utsrelease.hSYMLINKinclude/asm->include/asm-x86CALLscripts/checksyscalls.shCHKinclude/linux/compile.hVDS
系统 2019-08-12 01:33:52 2489
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 2488
如何查看linux命令源代码用linux一段时间了,有时候想看看ls、cat、more等命令的源代码,在下载的内核源码中用cscope没能找到,在网上搜索了一下,将方法总结如下:以搜索ls命令源码为例,先搜索命令所在包,命令如下:lpj@lpj-linux:~$whichls/bin/ls用命令搜索该软件所在包,代码如下:lpj@lpj-linux:~$dpkg-S/bin/lscoreutils:/bin/ls从上一步中可以知道ls命令的实现在包core
系统 2019-08-12 01:32:50 2487
PuppyLinux是另外一种Linux发行。它的不同之处在于,Puppy是格外的小,然而又充满了特性。Puppy能从64M的存储设备启动,并且,整套系统都能在内存中运行。有很多自启动运行光盘的Linux发行,它们需要不停地从光盘读取数据才能运行,Puppy与它们不一样,Puppy整个装载在内存中。这意味着,所有的应用程序一眨眼的功夫就能启动,并且立即对用户的输入作出响应。PuppyLinux能从flash卡或者是任何的USB存储设备启动(这是flash-
系统 2019-08-12 01:32:45 2487
linux内核数据结构之链表1、前言最近写代码需用到链表结构,正好公共库有关于链表的。第一眼看时,觉得有点新鲜,和我之前见到的链表结构不一样,只有前驱和后继指针,而没有数据域。后来看代码注释发现该代码来自linux内核,在linux源代码下include/Lish.h下。这个链表具备通用性,使用非常方便。只需要在结构定义一个链表结构就可以使用。2、链表介绍链表是非常基本的数据结构,根据链个数分为单链表、双链表,根据是否循环分为单向链表和循环链表。通常定义定
系统 2019-08-12 01:32:41 2486
Linux开发人员继续以快速的步伐推出新内核,但根据Linux基金会最近发布的一份报告显示,在过去的一年里,新代码的提交步调明显变慢了。该报告还指出,Linux内核开发的杰出贡献者也在发生变化,越来越多的移动开发人员加入到Linux内核开发队伍,这是Linux基金会第三次年度“谁在写Linux”报告(报告PDF下载地址),总结了过去一年来Linux内核的进展情况。根据2010年“谁在写Linux”报告显示,提交给2.6.35内核的代码量比去年发布的2.6.
系统 2019-08-12 01:32:27 2485
作者:华江从目前的情况来看,Syslog(系统日志)这一历史悠久的日志系统仍旧占据着最主流的地位。由于与类UNIX平台之间的渊源,Syslog是在实际应用环境中最容易获得的日志系统。同时,还有很多的基于Syslog的扩展产品存在,这其中也包括大量基于UNIX平台构建内核的网络硬件设备,这些设备往往都内置了Syslog功能支持,例如Cisco路由器就是如此。一、配置syslog守护进程syslog是Linux系统默认的日志守护进程。默认的syslog配置文件
系统 2019-08-29 23:40:03 2484
下面是一个简单全面的使用NdisWrapper的指南.这是从BeginningUbuntuLinux,SecondEdition中提炼出来的.这份指南是第8章的一部分.该章给出了在Ubuntu下配置硬件(包括网络设备,打印机,扫描仪,3D显卡等等)的详细说明.除了详细介绍怎样安装/删除NdisWrapper驱动,这份3500多字的指南还包括了精确匹配正确的硬件驱动,从Windows驱动文件中提取必要的文件等关键步骤.这些步骤在其他的指南中往往被忽视了,但它
系统 2019-08-12 09:30:02 2484
[user@user~]$sqlplus/nologSQL>connsys/pwd123assysdbaSQL>startup[user@user~]$lsnrctlstart创建临时表空间createtemporarytablespaceuser01_temptempfile'/opt/oracle/oradata/user01/user01_temp.dbf'size128m;创建数据表空间createtablespaceuser01loggingda
系统 2019-08-12 01:52:10 2484
经常使用top命令了解进程信息,其中包括内存方面的信息。命令top帮助文档是这么解释各个字段的。VIRT,VirtualImage(kb)RES,Residentsize(kb)SHR,SharedMemsize(kb)%MEM,Memoryusage(kb)SWAP,Swappedsize(kb)CODE,Codesize(kb)DATA,Data+Stacksize(kb)nFLT,PageFaultcountnDRT,DirtyPagescount尽
系统 2019-08-12 01:33:02 2484