linux内核中创建文件 filp_open/sys_open



linux内核中创建文件 filp_open/sys_open。以为在内核中不能创建文件,其实不是这样子的,只要文件系统跑起来之后就可以像在用户空间一样操作文件.
用户空间 内核
open() sys_open(), filp_open()
close() sys_close(), filp_close()
read() sys_read(), filp_read()
write() sys_write(), filp_write()
—————————————————-

在内核模块中有时会用不了 sys_x[......]

Read more

如何获取linux用户和系统信息



如何获取linux用户和系统信息 ?linux相关命令介绍。

TABLE
1. 获取用户信息
1.1 获取用户名和uid
1.2 getuid与getlogin实例
1.3 获取详细的用户信息
1.4 getpwuid, getpwnam函数实例
1.5. getpwuid简单实现
2. 获取系统信息
2.1 相关函数
2.2 实例
本文简单的对linux中获取用户信息和系统相关信息进行学习。

1. 获取用户信息

1.1 获取用户名和uid

[code]
#include <sys/types.h>
#include <unis[......]

Read more

linux如何修改rpm制作包的默认路径

linux如何修改rpm制作包的默认路径。

~/.rpmmacros文件用以修改rpm打包的默认路径
更改默认路径的方法是,在用户目录下添加一个.rpmmacros文件
例:
电脑登录用户名是sysadm
则在/sysadm/
目录下新建.rpmmacros文件
文件内容:
%_topdir /home/aa
这样,默认路径就改为/home/aa
当然,你自己需要在/home/aa目录下(mkdir)新建BUILD,SOURCES,SPECS,RPMS,SRPMS几个文件夹,用于rpm的打包。
**********其他方法*****************
#rpm[......]

Read more

linux如何下查看cpu是否支持64位

linux如何下查看cpu是否支持64位。查看cpuinfo中是否有lm,如果有lm表示支持64位,lm的意思是long mode,具体命令如下:

cat /proc/cpuinfo | grep flags 检查输出里面是否有 lm 字符 或 cat /proc/cpuinfo | grep flags | grep lm | wc -l 输出结果大于 0 表示支持64位

[linux]查看机器有几个cpu,是否支持64位
1. 查看物理CPU的个数
#cat /proc/cpuinfo |grep “physical id”|sort |uniq|wc -l

2. 查[......]

Read more

linux下查看硬件的信息(BIOS\CPU\MEM\主板命令dmidecode实例介绍

linux下查看硬件的信息(BIOS\CPU\MEM\主板命令实例介绍,服务器的cpu型号,和主板型号,我就纳闷了,cpu型号可以看,主板怎么看呀!只好google了,发现一很给力的命令dmidecode
我大致看了一下man手册,我把我用到的部分贴出来
-t, –type TYPE
Only display the entries of type TYPE. TYPE can be either a DMI type number, or a comma-separated list of type numbers, or a keyword from the fol-
lowin[......]

Read more

vmware 安装 报错number does not match怎么解决

vmware 安装 报错number does not match怎么解决?

kevin@kevin-desktop:~$ sudo sh VMware-Workstation-6.5.0-118166.i386.bundle 
[sudo] password for kevin: 
magic number does not match
kevin@kevin-desktop:~$ sudo chmod +x VMware-Workstation-6.5.0-118166.i386.bundle
kevin@kevin-desktop:~$ sudo ./VMware-Work[......]

Read more

linux RedHat命令查看机器型号内核CPU数量硬盘信息

linux RedHat命令查看机器型号内核CPU数量硬盘信息。

一、硬件:
1、查看机器型号:dmidecode | grep “Product Name”
2、查看当前操作系统内核信息:uname -a
cat /proc/version
3、查看当前操作系统发行版信息:cat /etc/issue | grep Linux
4、查看CPU详细信息:dmidecode | grep ‘Processor Information’
more/less /proc/cpuinfo |grep model
查看CPU型号、主频:逻辑情况:cat /proc/cpuinfo |[......]

Read more

Linux网络配置命令实例介绍

Linux网络配置命令实例介绍,Linux下网卡命名规律:eth0,eth1。第一块以太网卡,第二块。lo为环回接口,它的IP地址固定为127.0.0.1,掩码8位。它代表你的机器本身。

1、ifconfig是查看网卡的信息
ifconfig [Interface]
Interface是可选项,如果不加此项,则显示系统中所有网卡的信息。如果添加此选项则显示所指定的网卡信息.
例如:ifconfig eth0
eth0 Link encap:Ethernet
HWaddr 00:0C:29:F3:3B:F2
inet addr:192.168.0.10 Bcast:192.16[......]

Read more

Workqueue机制原理

Workqueue机制原理,什么是workqueue?

Linux中的Workqueue机制就是为了简化内核线程的创建。通过调用workqueue的接口就能创建内核线程。并且可以根据当前系统CPU的个数创建线程的数量,使得线程处理的事务能够并行化。
workqueue是内核中实现简单而有效的机制,他显然简化了内核daemon的创建,方便了用户的编程,

Workqueue机制的实现
Workqueue机制中定义了两个重要的数据结构,分析如下:
1、 cpu_workqueue_struct结构。该结构将CPU和内核线程进行了绑定。在创建workqueue的过程中,Linux根据[......]

Read more

linux内核系统调用函数do_execve()解析实例源码

linux内核系统调用函数do_execve()解析,彻底解析内核调用用户空间代码入口函数do_execve()

sys_execve() –> do_execve()
/usr/src/linux/fs/exec.c

int do_execve(char * filename,
char __user *__user *argv,
char __user *__user *envp,
struct pt_regs * regs){
struct linux_binprm *bprm;
struct file *file;
int retval;
int i[......]

Read more