| elenna's profile๑۩ﺴ 猪猪艾美丽的学习乐园BlogListsGuestbook | Help |
๑۩ﺴ 猪猪艾美丽的学习乐园 |
|||||
|
March 11 grub4dos---加载双系统中的linux!1.进windows,下载、解压grub for dos。 2.安装grub4dos。复制grldr到c:\,修改boot.ini文件,在最后一行添加c:\grub="GRUB"。引号里面的内容可以随便写,它的作用主要是开机后windows引导菜单里显示的内容。如果看不到boot.ini文件,去掉查看->文件夹选项->隐藏系统保护文件和选中“显示所有文件”。 3.重启系统,在windows的启动引导菜单里,选择“GRUB”,系统完全交由grub控制。grub的功能还是很强的,可以直接从FAT、minix、FFS、ext2或ReiserFS分区读取Linux内核。这就意味着无论怎样它总能找到内核。这时会出现一个grub>提示符(进入grub后选择command line),其实它引导内核的步骤跟GNU grub是一样的。 4.手动加载Linux(所有命令均在grub>提示符下输入,使用tab键自动填补命令) help命令可用于查看grub的所有命令格式。 cat (hd[0-n],y)/etc/fstab用于查看分区情况,以找到linux所在分区即分区类型为ext2。输入(hd0,2)意味着linux在第一个硬盘的第三个分区上。 首先键入root(hd0,2)用于设置包含操作系统内核的根设备。 然后键入kernel /boot/vmlinuz-xxx ro root=/dev/hda3(或root=LABEL=/)。kernel命令用于装载内核映像文件,vmlinuz-xxx是你内核文件的名字。后面的root=/dev/hda3表示内核文件所在的磁盘分区,ro表示以只读方式打开内核文件。 然后键入initrd /boot/initrd.img-xxx。initrd.img-xxx是一个镜像文件,类似ramdisk,把一段程序打包到img里。它的作用是在没有mount /分区以前,虚拟出一个/,然后执行其根目录下的一个脚本"linuxrc",做一些挂载scsi驱动类似的事情,如果你的磁盘并不是scsi磁盘的话,这步并不是必须的。 最后键入boot,引导进入linux。 5.将新的grub装入mbr。以root的身份登录,运行grub-install /dev/hda3,或者键入grub,然后在提示符下键入root (hd0,2),setup (hd0),把mbr的控制权抢回来了! 6.将windows加入grub启动菜单。root权限,修改/boot/grub/menu.lst。加入以下内容: title Microsoft Windows XP Professional 参考:http://hi.baidu.com/opthome/blog/item/09ef04124bd18e55f919b80c.html grub命令行用法 http://hi.baidu.com/realxfliu/blog/item/f6fe14e96463b83fb90e2d35.html
PS:另一种方案---windows下安装grubfordos后, 拷贝原linux系统/boot/grub/menu.lst到c:\下(需要在重新安装windows前保存)。但我采用这种方案时,在kernel、initrd后的savedefault命令出错,估计要修改menu.1st,去掉savedefault命令。 August 11 《NS与网络模拟》学习13——完整例子通过MFlood协议的添加,可以总结出以下的大概流程: 1.添加协议类: 1)添加自己的Agent类,重载recv()、command()等函数 2)创建对应的TclClass类 3)当添加的是无线自组网下的路由协议时,需要修改NS的系统Tcl代码,使得当设定路由协议时会调用我们新增加的Agent/NewAgent类。(~ns/tcl/lib/ns-lib.tcl) 2.增加包头类型: 1)定义自己的hdr_newhdr结构 2)通过PacketHeaderClass类绑定 3)修改~ns/tcl/lib/ns-packet.tcl使得新加入的包头类型被激活 4)如果想要创建新的包类型,修改~ns/common/packet.h,将名字与包类型绑定 3.修改~ns/Makefile文件,增加对新类的编译。编译代码->调试。。。 4.初步测试:编写简单的场景文件,研究trace文件 5.可以利用setdest和cbrgen工具编写复杂的测试场景文件,并多次测试;应用gawk等对trace文件进行分析;利用画图软件绘测出所需图像;利用nam查看运行过程。 《NS与网络模拟》学习12——ns中的小工具一.cbrgen(~ns/indep-utils/cmu-scen-gen) cbrgen用来生成传输负载,可以产生TCP流或者CBR流。 使用方法如下: ns cbrgen.tcl [-type cbr|tcp] [-nn nodes] [-seed seed] [-mc connections] [-rate rate] -type tcp流或cbr流 -nn 节点数 二.setdest(~ns/indep-utils/cmu-scen-gen/setdest/) 用来随机生成无线网所需的节点运动场景,使用前需make。使用方法如下: ./setdest -v <1> -n <nodes> -p <pause time> -M <max speed> 或:./setdest -v <2> -n <nodes> -s <speed type> -m <min speed> -M <max speed> 其中,speed type为uniform/normal,pause type为constant/uniform 以上两个工具产生的文件均可采用source命令加入到tcl文件中,注意产生的文件用到了诸如node_数组变量和god_变量,需要在tcl脚本中预先建立。 三.threshold工具(~ns/indep-utils/propagation) 用来在无线网络中,计算在某种传播模型下,如何设定接收功率阈值来控制无线传输的范围。 先编译得到可执行文件:g++ threshold.cc -o threshold 命令如下:threshold -m <propagation-model> [other-options] distance common parameters: -Pt <transmit-power> -fr <frequency> -Gt <transmit-antenna-gain> 四.nam(Network Animater) nam的功能是根据网络模拟软件或真实环境里的特定格式的trace输出文件来运行动画,例如,trace文件常常来自NS模拟器或者Tcpdump软件的输出。 NS中控制nam动画显示的命令如下: 1.节点:$node color [color] ;#设定节点的颜色 2.链路和队列:$ns duplex-link <attribute> <value> 3.Agent: 使用下面的命令就可以使想要显示的Agent以AgentName出现在节点附件的方框内:$ns add-agent-trace $Agent AgentName 《NS与网络模拟》学习11——gawkgawk是一种程序语言,对于资料的处理具有很强的功能,可以使用很短的代码轻易地完成对文本档案做修改、分析、提取和比较等处理。在NS的模拟结果分析中,经常用到gawk来进行数据分析和统计等。命令如下: gawk 'program' input-file1 input-file2 ... 程序代码较短 gawk程序是由很多的pattern和action所组成的:pattern {action}。功能是针对文件的每一行搜寻指定的模式(pattern),当一行里有符合指定的模式时,gawk就会在此一行执行指定的动作(action)。 一些系统变量:RS——记录分割符(默认:\n) FNR——目前的输入档案已经被读取的记录个数 Pattern包括: /regular expression/——正则表达式,如exp~/regexp/,exp!~/regexp/ /expression/——单一表达式,值不为0或字串不空时视为匹配 pat1,pat2——指定记录的范围 BEGIN、END——gawk在开始执行或要结束时会分别执行BEGIN或END指定的action null——对于每个输入记录皆视为符合Pattern Action包括: Expression——算术运算、比较运算、布尔运算、条件运算等 控制语句——if、while、do-while、for、break、continue、next(next file)、exit 内建函数——数值方面的函数(sqrt、exp、log、sin、rand、srand) 字串方面的函数(index、length、match、sprintf、sub、gsub、substr、tolower、toupper) 输入输出的内建函数(close、system) 使用者定义的函数 August 10 《NS与网络模拟》学习9——代理和应用一.Agent agent代表了网络层分组的起点和终点,创建新型Agent: 1)确定继承结构 比较熟知的两个agent协议分别是UDP和TCP,介绍见书。 二.应用层 应用层程序建立在运输层代理(transport agent)之上,分为两大类:流量发生器(traffic generator)和应用模拟器(simulated application)。流量发生器一般用在UDP代理之上,应用模拟器一般用在TCP代理之上。 运输层代理的API函数:NS通过一系列预先定义的API函数来模仿sockets API的功能。运输层代理和应用层程序是如何通过API通信并相互配合进行工作的? 1)将运输层代理绑定到节点上,如: 四个主要的流量发生器为(Application/Traffic/~):Exponential(按照指数ON/OFF分布产生数据)、Pareto(按照Parento ON/OFF分布产生数据)、CBR(按照一个确定的速率产生数据)、Trace(按照一个trace文件产生数据)。Traffic/Trace类使用attach-tracefile方法将一个Traffic/Trace对象和一个特定的Tracefile对象结合起来。 应用模拟器包括:Applicaiton/FTP(attach-agent、start、stop、produce、producemore、send n) |
|||||
|
|