2011年7月7日

摘要: 功能:首先创建用户组,然后创建30个用户个用户目录,并赋予相应权限#!/bin/bash i=1 groupadd testgroup while [ $i -le 30 ];do if [ $i -le 9 ];then USENAME=STU0${i} else USENAME=STU${i} fi useradd $USENAME mkdir /home/$USENAME chown $USENAME:testgroup /home/$USENAME let i+=1 done 阅读全文
posted @ 2011-07-07 22:14 yming0221 阅读(104) 评论(0) 推荐(0)
摘要: 功能:判断输入的用户名是否存在与/etc/passwd中#!/bin/bash if [ $# -le 0 ];then echo "Please input the right arg" else i=`cat /etc/passwd | cut -f1 -d':' | grep -w "$1" -c ` if [ $i -le 0 ];then echo "User $1 is not in the passwd" else echo "User $1 is in the passwd" fi 阅读全文
posted @ 2011-07-07 22:12 yming0221 阅读(138) 评论(0) 推荐(0)
摘要: Linux下进程通信的八种方法:管道(pipe),命名管道(FIFO),内存映射(mapped memeory),消息队列(message queue),共享内存(shared memory),信号量(semaphore),信号(signal),套接字(Socket).(1) 管道(pipe):管道允许一个进程和另一个与它有共同祖先的进程之间进行通信;(2) 命名管道(FIFO):类似于管道,但是它可以用于任何两个进程之间的通信,命名管道在文件系统中有对应的文件名。命名管道通过命令mkfifo或系统调用mkfifo来创建;(3) 信号(signal):信号是比较复杂的通信方式,用于通知接收进程 阅读全文
posted @ 2011-07-07 21:55 yming0221 阅读(168) 评论(0) 推荐(0)
摘要: 1.Buddy算法linux对空闲内存空间管理采取buddy算法,Buddy算法:把内存中所有页面按照2^n划分,其中n=0~5,每个内存空间按1个页面、2个页面、4个页面、8个页面、16个页面、32个页面进行六次划分。划分后形成了大小不等的存储块,称为页面块,简称页块,包含一个页面的页块称为1页块,包含2个页面的称为2页块,依次类推。每种页块按前后顺序两两结合成一对Buddy“伙伴”。系统按照Buddy关系把具有相同大小的空闲页面块组成页块组,即1页块组、2页块组……32页块组。 每个页块组用一个双向循环链表进行管理,共有6个链表,分别为1、2、4、8、16、32页块链表。分别挂到free_ 阅读全文
posted @ 2011-07-07 21:41 yming0221 阅读(336) 评论(0) 推荐(0)
摘要: 1.原理Linux的伙伴算法把所有的空闲页面分为10个块组,每组中块的大小是2的幂次方个页面,例如,第0组中块的大小都为20(1个页面),第1组中块的大小为都为21(2个页面),第9组中块的大小都为29(512个页面)。也就是说,每一组中块的大小是相同的,且这同样大小的块形成一个链表。我们通过一个简单的例子来说明该算法的工作原理。假设要求分配的块其大小为128个页面(由多个页面组成的块我们就叫做页面块)。该算法先在块大小为128个页面的链表中查找,看是否有这样一个空闲块。如果有,就直接分配;如果没有,该算法会查找下一个更大的块,具体地说,就是在块大小为256个页面的链表中查找一个空闲块。如果存 阅读全文
posted @ 2011-07-07 21:33 yming0221 阅读(151) 评论(0) 推荐(0)

导航