linuxϵͳÏÂNS 2£¨ÍøÂç·ÂÕæ¿ªÔ´Èí¼þ£©µÄ°²×°
Ò».ʲôÊÇNS 2
NS 2ÊÇÒ»ÖÖÕë¶ÔÍøÂç¼¼ÊõµÄÔ´´úÂ빫¿ªµÄ¡¢Ãâ·ÑµÄÈí¼þÄ£ÄâÆ½Ì¨£¬Ñо¿ÈËԱʹÓÃËü¿ÉÒÔºÜÈÝÒ׵ĽøÐÐÍøÂç¼¼ÊõµÄ¿ª·¢£¬¶øÇÒ·¢Õ¹µ½½ñÌ죬ËüËù°üº¬µÄÄ£¿é·Ç³£·á¸»£¬¼¸ºõÉæ¼°µ½ÁËÍøÂç¼¼ÊõµÄËùÓз½Ãæ¡£
NS 2£¨Network Simulator, version
2£©ÊÇÒ»ÖÖÃæÏò¶ÔÏóµÄÍøÂç·ÂÕæÆ÷£¬±¾ÖÊÉÏÊÇÒ»¸öÀëɢʼþÄ£ÄâÆ÷¡£ÓÉUC
Berkeley¿ª·¢¶ø³É¡£Ëü±¾ÉíÓÐÒ»¸öÐéÄâʱÖÓ£¬ËùÓеķÂÕæ¶¼ÓÉÀëɢʼþÇý¶¯µÄ¡£Ä¿Ç°NS2¿ÉÒÔÓÃÓÚ·ÂÕæ¸÷ÖÖ²»Í¬µÄIPÍø£¬ÒѾʵÏÖµÄһЩ·ÂÕæÓУºÍøÂç´«ÊäÐÒ飬±ÈÈçTCPºÍUDP£»ÒµÎñÔ´Á÷Á¿²úÉúÆ÷£¬±ÈÈçFTP,
Telnet, Web CBRºÍVBR£»Â·ÓɶÓÁйÜÀí»úÖÆ£¬±ÈÈçDroptail ,
REDºÍCBQ£»Â·ÓÉËã·¨£¬±ÈÈçDijkstraµÈ¡£NS2ҲΪ½øÐоÖÓòÍøµÄ·ÂÕæ¶øÊµÏÖÁ˶ಥÒÔ¼°Ò»Ð©MAC
×Ó²ãÐÒé¡£
¶þ.NS 2µÄ°²×°
1.ÎÒʹÓõÄÊÇubuntu9.04£¬ÎªÈ·±£linuxϵͳÒѾ°²×°gcc .makeÖ®ÀàµÄÈí¼þ
¿ÉÒÔʹÓà sudo apt-get install build-essential
2.³ýÁËÕâЩ»¹Òª°²×°Ò»Ð©±ØÒªµÄÒÀÀµÈí¼þ
sudo apt-get install g++ patch perl gnuplot
sudo apt-get install tcl8.4
sudo apt-get install tcl8.4-dev
sudo apt-get install tk8.4
sudo apt-get install tk8.4-dev
sudo apt-get install libxmu-dev
3.ÏÂÔØNS 2°²×°Èí¼þ°ü
£¨1£©µÇÈëhttp://www.isi.edu/nsnam/ns/ns-build.html
ÏÂÔØ°²×°Èí¼þ°ü£¬ÎÒϵÄÊÇns-allinone-2.34.rar.gz,ÓÉÓÚns-allinoneÌ×¼þÒѾÓÐNS 2ÔÚÖ´ÐÐʱ»áÓõ½µÄÆäËûÄ£×飬Ӧ´Ë°²×°¹ý³Ì½ÏΪ¼òµ¥¡£
£¨2£©ÒÔrootµÇ¼ubuntu£¬ÔÚ/home/velkan(velkan ÊÇÎÒµÄÓû§Ãû)Ͻ¨Á¢ns2Îļþ¼Ð£¬½«ns-allinone-2.34.tar.gz·ÅÔÚ¸ÃÎļþ¼ÐÏ£¬ÔÚÖÕ¶ËÔËÐÐcd
/home/velkan/ns2£¬Ê¹ÓýâѹÃüÁîtar
xvfz
ns-allinone-2.34.tar.gz£¬¼´Éú³É/home/ns2/velkan/
ns-allinone-2.34¡£
&n
Ïà¹ØÎĵµ£º
ÔÎijö´¦£ºhttp://www.svn8.com/shouce/Linux/kernel_options.html×ðÖØÔ´´£¡
Code maturity level options
´úÂë³ÉÊì¶ÈÑ¡Ïî
Prompt for development and/or incomplete code/drivers ÏÔʾÉÐÔÚ¿ª·¢ÖлòÉÐδÍê³ÉµÄ´úÂëÓëÇý¶¯.³ý·ÇÄãÊDzâÊÔÈËÔ±»òÕß¿ª·¢Õß,·ñÔòÇëÎðÑ¡Ôñ
General setup
³£¹æÉèÖÃ
Local version - append ......
ËùÐèÎļþhello.c, main.c, hello.h, Makefile£¬ÔÚͬһ¸öĿ¼ÏÂ
hello.c:
#include <stdio.h>
void hello(char name[])
{
printf("Hello %s!\n", name);
}
main.c:
#include "stdio.h"
#include "hello.h"
// The second
int main()
{
hello("GCC");
printf("Haha Linux Ubuntu!\n");
......
ÔÚ½øÈëÕýÎÄǰÏÈ¿´Ò»ÏÂÎÒÔÚÍøÉÏ¿´µ½µÄÌû×Ó£º
ÎÊ£ºatomic_set(v,i)µÄ¶¨ÒåÊÇÕâÑùµÄ:
#define atomic_set(v,i) v->counter=i
µ«ÊÇ£¬ÔÚi386Ìåϵ½á¹¹ÖУ¬²»ÄÜÖ±½Ó°ÑÒ»¸öÄÚ´æ²Ù×÷Êýͨ¹ýÒ»ÌõmovÖ¸Áî´æµ½ÁíÒ»¸öÄÚ´æ²Ù×÷ÊýÖУ¬
±ÈÈçÒª°Ñint32ÀàÐ͵ıäÁ¿ i ÉèÖÃ³É j£¬±ØÐë¾¹ýÁ½ÌõÖ¸Áî:
mov eax,j
mov i,eax
Èç¹ûÕâÑùÀ ......
googleÔõÑùʹÓÃlinux£¨Äںˣ©
½ñÄêµÄlinuxÄں˿ª·¢´ó»áÉÏ£¬googleµÄ¿ª·¢ÈËÔ±Ò²ÉĮ̈×öÁËÃûΪ“how google use linux"µÄÑݽ²¡£ÎÒ¶·µ¨·Òë×¢½âÒ»·¬——À¨ºÅÄÚΪע½â£¬»¶Ó¶ÁÕ߸«Õý¡£
£¨Ç°Ã漸¶Î½²google¶Ôlinux kernel´úÂëµÄ¹ÜÀí¼°¸ú½ø£¬Æ«Ï¸Ë飬²»·ÒëÁË£©
ÔÚgoogleΪlinux¼ÓÈëµÄ´úÂëÖУ¬3/4ÊǶÔÄں˺ËÐÄ ......
Ê×ÏÈ,·þÎñÆ÷GCCÒªÓÐ,²»È»Ê²Ã´¶¼²»ÄÜ×ö.Äܹ»ÓÃgcc -vÀ´²é¿´ÊÇ·ñ°²×°ÁËGCC,
#gcc -v
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.2.3/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info
--enable-shared --enable-threads=posix --disable-checki ......