作者:lvyilong316
绿色代表进程(进程的性质)橙色代表文件(文件的性质)。当进程试图打开文件时,内核会进行如下权限测试:
0. 若进程的有效用户ID是0(超级用户),则允许访问。
1. 若进程的有效用户ID等于文件的所有者ID,那么进行文件所有者访问权限的测试(与open的参数对比),对应图中的1。
2. 若进程的有效组ID或进程的附加组ID之一等于文件的...
分类:
系统相关 时间:
2014-05-15 14:43:28
阅读次数:
514
进程间的通信(2)
有三种IPC我们称为XSI IPC,即消息队列、信号量以及共享存储器,它们之间有很多相似之处。
标识符和键
每个内核的IPC结构(消息队列、信号量或共享存储段)都用一个非负整数的标识符加以引用。例如,为了对一个消息队列发送或取消息,只需要知道其队列标识符。与文件描述符不同,IPC标识符不是小的整数。当一个IPC结构被创建,以后被删除时,与这种结果相关的标识符连续加1,知道...
分类:
系统相关 时间:
2014-05-15 07:16:02
阅读次数:
454
1、背景图合并和CSS Spirit
2、PS基本快捷键
3、hack技术基本书写,为什么不用?
4、内核前缀
5、伪类afterbefore
1、背景图合并和CSS Spirit
背景图合并在使用时有两种方法:
①一种就是你会PS,可以自己PS实现背景图合并成一张图片,再用background-position实现背景图的定位。
②如果你不会PS,那可...
分类:
其他好文 时间:
2014-05-15 06:00:07
阅读次数:
579
最近安装好了MySQL之后,在启动MySQL服务时无法正常启动MySQL。提示没有更新/var/lib/mfailedZDB.pid并退出。该MySQL与Oracle位于同一主机。有些内核参数进行过调整应该也是使用与MySQL。下面是该问题的具体描述。1、故障现象SZDB:/usr/src/mysql_src # /etc/init.d/mysql startStarting MySQL...Th...
分类:
数据库 时间:
2014-05-15 05:41:43
阅读次数:
534
用select实现的并发服务器,能达到的并发数,受两方面限制
一个进程能打开的最大文件描述符限制。这可以通过调整内核参数。
select中的fd_set集合容量的限制(FD_SETSIZE) ,这需要重新编译内核。...
分类:
其他好文 时间:
2014-05-15 05:19:35
阅读次数:
390
2.6内核
1>修改linux-source-2.6.31/kernel/sys.c文件,在文件末尾添加系统响应函数。函数实现如下:
asmlinkage int sys_mycall(int number)
{
printk("这是我添加的第一个系统调用");
return number;
}
2>在linux-source-2.6.31...
分类:
系统相关 时间:
2014-05-15 02:51:56
阅读次数:
382
做一件事情首先应该知道它的目的是什么。
container_of的目的:如何通过结构中的某个变量获取结构本身的指针。
总体思路:假想一下,你的结构体中有好几个成员,你如何通过里面的“任一成员”获取
整个结构体的首地址呢。container_of的做法就是通过typeof定义一个与“任一成员”同类型
的指针变量pvar_a(假设变量名就是pvar_a),并让指针变量pvar_a指向这个“...
分类:
系统相关 时间:
2014-05-14 19:56:15
阅读次数:
494
(一)main函数调用
main函数作为程序运行时的入口函数,它是如何被调用的呢?首先必须清楚一点,main函数也是一个函数,它只有被调用才能够执行。其实,在执行可执行程序时,在调用main函数之前,内核会先调用一个特殊的启动例程,将此启动例程作为可执行程序的起始地址。启动例程是如何作为可执行程序的起始地址的?这是由链接编译器设置的,而链接编译器则是由C编译器(如gcc编译器)调用的。启动例程作...
分类:
系统相关 时间:
2014-05-14 19:43:53
阅读次数:
479
今天来了解下Linux的启动过程,以及内核的组成,让我们动手制作一个小linux。启动过程:POST-----Bootloader(这里分为两段1、磁盘的前446字节,2、/boot/grub)------kernerl--------挂载根文件系统为只读--------/sbin/init------inittab设定默认级别-------/etc/init/rcS.co..
分类:
系统相关 时间:
2014-05-14 17:34:43
阅读次数:
395
1.uname-r查询系统内核版本2.cat/etc/issue查看所使用系统版本3.
分类:
其他好文 时间:
2014-05-14 17:20:16
阅读次数:
279