Linux

2010年度报告:是谁在编写Linux内核?

Linux开发人员继续以快速的步伐推出新内核,但根据Linux基金会最近发布的一份报告显示,在过去的一年里,新代码的提交步调明显变慢了。该报告还指出,Linux内核开发的杰出贡献者也在发生变化,越来越多的移动开发人员加入到Linux内核开发队伍,这是Linux基金会第三次年度“谁在写Linux”报告(报告PDF下载地址),总结了过去一年来Linux内核的进展情况。根据2010年“谁在写Linux”报告显示,提交给2.6.35内核的代码量比去年发布的2.6.

系统 2019-08-12 01:32:27 2429

Linux

Linux中subversion(SVN)整合apache安装及配置

本安装环境为: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 2428

Linux

《Linux内核修炼之道》精华分享与讨论(12)—

推荐博文:Linux内核“问题门”——学习问题、经验集锦推荐下载:《Linux内核修炼之道》精华版之方法论设备模型拍得再玄幻,它也只是个模型,必须得落实在具体的子系统,否则就只能抱着个最佳技术奖空遗恨。既然前面已经以USB子系统的实现分析示例了分析内核源码应该如何入手,那么这里就仍然以USB子系统为例,看看设备模型是如何软着陆的。内核中USB子系统的结构我们已经知道了USB子系统的代码都位于drivers/usb目录下面

系统 2019-08-29 21:57:40 2428

Linux

Linux系统编程--进程

进程请点评目录1.引言2.环境变量3.进程控制3.1.fork函数3.2.exec函数3.3.wait和waitpid函数4.进程间通信4.1.管道4.2.其它IPC机制5.练习:实现简单的Shell1.引言请点评我们知道,每个进程在内核中都有一个进程控制块(PCB)来维护进程相关的信息,Linux内核的进程控制块是task_struct结构体。现在我们全面了解一下其中都有哪些信息。进程id。系统中每个进程有唯一的id,在C语言中用pid_t类型表示,其实

系统 2019-08-12 01:33:41 2428

Linux

Linux动态链接库.so文件的创建与使用

From:http://blog.csdn.net/sunboy_2050/article/details/73461461.介绍使用GNU的工具我们如何在Linux下创建自己的程序函数库?一个“程序函数库”简单的说就是一个文件包含了一些编译好的代码和数据,这些编译好的代码和数据可以在事后供其他的程序使用。程序函数库可以使整个程序更加模块化,更容易重新编译,而且更方便升级。程序函数库可分为3种类型:静态函数库(staticlibraries)、共享函数库(

系统 2019-08-12 01:33:32 2428

操作系统

unix文件编程(1)

这是一小段代码,关于STDIN_FILENO,STDOUT_FILENO的。#include#includeintmain(void){if(lseek(STDOUT_FILENO,0,SEEK_CUR)==-1)printf("lseekerror\n");elseprintf("lseeksuccessed\n");return0;}结果都是“lseekerror",由此可知,无法对标准输入、标准输出、标准错误输出

系统 2019-08-12 01:33:01 2428

Linux

:Linux 内存管理 重要结构体

虚拟内存地址与实际内存地址之间的关系,是如此转换的,逻辑地址-->线性地址-->物理地址。也是从分段单元到分页单元的转换。在linux中,用户程序所使用的地址与硬件使用的物理地址是不等同的。虚拟内存引入一个间接层,它使得许多操作成为可能。在引入虚拟内存这个概念和方法后,在系统中运行的程序可以分配比物理内存更多的内存。而linux的地址有分下面几个类型:用户虚拟地址:用户空间所能看到的常规地址物理地址:在处理器和系统内存之间使用总线地址:在外围总线和内存之间

系统 2019-08-12 01:33:00 2428

Linux

Linux用户CPU时间、系统CPU时间、时钟时间

所谓的时钟时间又叫做墙上时钟时间,它是进程运行的时钟总量,其值与系统中同时运行的进程数有关,不过一般在讨论时钟时间的时候都是在系统中没有其他活动进行时度量的。用户cpu时间:就是执行用户指令所用的时间。系统CPU时间:所谓的系统,我们知道就是在内核中执行的时间,没错滴,就是该进程执行内核程序所经历的时间。查看一个进程的这三个时间并不难,只要执行命令time即可Linux用户CPU时间、系统CPU时间、时钟时间

系统 2019-08-12 01:32:53 2428

Linux

Linux(BASH)命令搜索机制

From:http://www.mike.org.cn/articles/linux-linux-bash-command-search-mechanism/本文假设的环境是GNU/Linux,且shell是BASH;注意:另外,我们讨论的前提是当你键入一个命令时并没有指定该命令的路径,举例来说就是我们键入的命令是以commandname的形式而不是/path/commandname或./path/commandname的形式来运行的.一旦我们指定了命令(

系统 2019-08-12 01:33:33 2427

Linux

《鸟哥的Linux私房菜》学习笔记(4)——用户和组

一、用户和组的基本概念1、用户用户:用于获取计算机资源或服务的标识符,比如用户名。计算机处理的是UID,用户名和UID的关系存储在/etc/passwd文件中,每个用户都有权限访问这个文件。影子口令:用户的密码存储在/etc/shadow中用户类别:管理员。管理员的UID为0普通用户(系统用户和一般用户)。普通用户的UID1-65535,一般用户500-60000。系统用户。系统用户1-499。一登陆就运行的后台进程(服务)以普通用户的身份来运行,叫做系统

系统 2019-08-12 01:33:21 2427

Linux

在 Linux 下用户空间与内核空间数据交换的方式

发布日期:2006年2月16日燚杨(yang.y.yi@gmail.com),计算机科学硕士简介:本系列文章包括两篇,它们文详细地地介绍了Linux系统下用户空间与内核空间数据交换的九种方式,包括内核启动参数、模块参数与sysfs、sysctl、系统调用、netlink、procfs、seq_file、debugfs和relayfs,并给出具体的例子帮助读者掌握这些技术的使用。本文是该系列文章的第二篇,它介绍了procfs、seq_file、debugfs

系统 2019-08-12 01:33:02 2427

Linux

linux 忘记root密码

转自http://jingyan.baidu.com/article/7e440953f87f4a2fc0e2ef90.htmlLinux忘记root密码的解决办法?这种情况虽然不是很常见,但是有些粗心的管理员长时间没有登录系统,还真会忘记密码。这时候,如果是远程管理,那就真没辙了。如果linux主机就在你身边,那还是有救的。只要你按以下步骤来操作:解决方法重启系统后出现GRUB界面在引导装载程序菜单上,用上下方向键选择你忘记密码的那个系统键入“e”来进入

系统 2019-08-29 22:50:53 2426

Linux

Linux 流量监控软件 NetHogs

Linux流量监控软件NetHogs消息发布人:IMCN发布时间:2012年5月16日|3条评论Nethogs是一个终端下的网络流量监控工具,它的特别之处在于可以显示每个进程的带宽占用情况,这样可以更直观获取网络使用情况。它支持IPv4和IPv6协议、支持本地网卡及PPP链接。Ubuntu软件中心版本刚刚更新到0.8.0ubuntu-nethogs080安装:Ubuntu官方源中就有这个程序sudoapt-getinstallnethogs#使用:sudo

系统 2019-08-12 01:33:24 2426

Linux

在Linux使用GCC编译C语言共享库

在Linux使用GCC编译C语言共享库对任何程序员来说库都是必不可少的。所谓的库是指已经编译好的供你使用的代码。它们常常提供一些通用功能,例如链表和二叉树可以用来保存任何数据,或者是一个特定的功能例如一个数据库服务器的接口,就像MySQL。大部分大型的软件项目都会包含若干组件,其中一些你发现可以用在其他项目中,又或者你仅仅出于组织目的将不同组件分离出来。当你有一套可复用的并且逻辑清晰的函数时,将其构建为一个库会十分有用,这样你就不将这些源代码拷贝到你的源代

系统 2019-08-12 01:33:02 2426

Linux

linux shell 数组的长度计算、修改、循环输出等

From:http://blog.csdn.net/snrqtdhuqf/article/details/7242309在shell中,数组变量的赋值有两种方法:(1)name=(value1...valuen)此时下标从0开始(2)name[index]=valueexample:#!/bin/sh#arrayTestname=(yunixyhxyfj)echo"arrayis:${name[@]}"echo"arraylengthis:${#name[

系统 2019-08-12 01:32:52 2426