Skip to main content

Linux Basics for NS2

At many places, I happen to see researchers and students wanted to use Windows for NS2 rather than Linux. The reason may be,

  • Linux is tough

  • It occupies more space and more memory in my Computer

  • Linux uses lot of commands and i am not aware of it

  • Tough to handle dual boot OS (windows and Linux)

  • always wanted to be in the cakewalk. (never try a new thing)

  • etc


But here are some basic tips for using NS2 under a Linux Machine.

  • It is enough to know some basic Linux commands to work with NS2 (hardly not more than 20 commands)

  • One should have a basic knowledge of how tree structure in Linux/Unix look like

  • Finally, where to set the PATH information in Linux


With all the above three, one can confidentally work on Linux. As for as windows is concerned, upto NS2.27 version is tested under windows and recent versions there is no hope (however it will work fine, but "Use at your Own Risk")
Please see this post to install Fedora 12 in your Computer
Now we will see some basic Linux commands that are needed for NS2.

  1. ls => listing the file contents

  2. ls -l => listing the file in long format, it tells you about the ownership and permissions

  3. chmod => Changing the mode of the file (syntax is chmod 755 <filename>

  4. echo => it echo the value to the screen


    1. Example: echo name

    2. echo $SHELL (it will print the name of the shell)

    3. echo $USER (it will print the name of the user)

    4. echo $PATH (it display the values contained in the PATH variable)

    5. echo $HOME (it displays the home folder of the user) (Now you can understood that the variable names are denoted using a $ symbol)


  5. pwd => it is just present working directory

  6. make => (it executes the instructions given in the Makefile which is available under that directory)

  7. gcc filename.cxx => A command to run the gcc compiler (This is not necessarily needed for NS2, but as a developer, you should know)

  8. ./install  => (See a dot in the beginning, it is just executing the install file which is available under a folder, any executable can be executed with the help of this ./)

  9. passwd => changing the password of the current user

  10. cd => change the directory

  11. mkdir => make a directory

  12. gedit => it is similar like a notepad editor in windows(syntax is gedit filename)

  13. vi => it is vi editor


Path setting
The path can be set in a file which is available for each user of the Linux OS.  For example, a user called  "pradeep" will have the home folder as /home/pradeep and another user "kumar" has home folder as /home/kumar
Each user "pradeep" and "kumar" will have a file called .bash_profile (in case of redhat and fedora) and .bashrc (Ubuntu, etc) in their home folder. This file is a hidden file which can be opened using a vi or gedit editor
The command being
vi /home/pradeep/.bash_profile
vi /home/pradeep/.bashrc

or
gedit /home/pradeep/.bash_profile
gedit /home/pradeep/.bashrc
Similarly the same for user "kumar" (if you set the path for "pradeep" and running under "kumar", it will not work, for that to work, there is a separate customisation is available), for beginners, these steps are enough.

Comments

  1. sir i need a patch of RSVP-TE for my project "fault recovry on mpls based networks" and can you suggest me a website for online command learning of network simulator

    ReplyDelete
  2. Dear satish,
    I dont have any knowledge on MPLS and GMPLS. But there are some modules in NS2 for you to work with.
    Please look into it,
    Regarding the documentation for NS2, read the manual given in the website and for programs refer the ns2 package itself.
    ~ns-2.35/mpls/
    ~ns-2.35/tcl/ex

    ReplyDelete

Post a comment

Popular posts from this blog

Installing TexLive 2019 in Ubuntu 18.04

Installation of TexLive 2019 in Linux (Ubuntu 18.04 LTS)
TeX (Tech)

Installation of TexLive 2019

Please watch the video for full installation



I used .iso file to download, the Total size is 3.3GB for Linux,

and i used the torrent file to download, it took me just 20 min to download the entire .iso file

Extract the .iso file to a folder and open a terminal

$] sudo ./install-tl
(it goes into a terminal mode, which is faster compared to the GUI Mode)

$] sudo ./install-tl -gui
after the installation, set the PATH, MANPATH and INFOPATH as suggested by LATEX

export PATH=$PATH:/usr/local/texlive/2019/bin/x86_64-linux
export MANPATH=/usr/local/texlive/2019/texmf-dist/doc/man
export INFOPATH=/usr/local/texlive/2019/texmf-dist/doc/info

put these lines in to the /home/pradeepkumar/.bashrc

$] gedit /home/pradeepkumar/.bashrc
We have installed TexLive 2019 and texstudio.

To install texstudio

$] sudo apt install texstudio
The look and feel of TexStudio looks like this image.


texlive, it install everyt…

Implementing a new system call in Kernel version 2.6.32

A system call is used by application or user programs to request service from the operating systems. Since the user programs does not have direct access to the kernel whereas the OS has the direct access. OS can access the hardware through system calls only.The following files has to be modified for implementing a system call/usr/src/linux-2.6.32.5/arch/x86/kernel/syscall_table_32.S/usr/src/linux-2.6.32.5/arch/x86/include/asm/unistd_32.h/usr/src/linux-2.6.32.5/include/linux/syscalls.h/usr/src/linux-2.6.32.5/MakefileNew set of files to be createdCreate a new directory newcall/ inside the path “/usr/src/linux-2.6.32.5/” Create new files Makefile, newcall.c and put them in the /usr/src/linux-2.6.32.5/newcall/ folder Create new user files (in any folder of Linux) to test the system call
testnewcall.c, testnewcall.h (created in /home/pradeepkumar) syscall_table_32.S Find the file /usr/src/linux-2.6.32.5/arch/x86/kernel/syscall_table_32.S and add the following line at the end
"…

Electrical Machine Design (equations)

FactorsDC Machine Transformers Induction Machines Synchronous MachinesOutput EquationPa=CoD2Ln, where Pa=P/h for generators, Pa=P for motorsFor Single Phase
Q=2.22 f Bm Ai Kw Aw d10-3
For Three Phase
Q=3.33 f Bm Ai Kw Aw d 10-3Q=CoD2 L ns
KVA Input Q=
HP * 0.746 / Cos f * hQ=CoD2 L ns
KVA Input Q=
HP * 0.746 / Cos f * h
For Turbo alternators
Q=1.11Bavac KwsVa2 L 10-3/nsOutput CoefficientCo=Bav ac* 10-3where Bav-magnetic loading and ac - electric loadingDNACo=11 Kws Bav ac 10-3Co=11 Kws Bav ac 10-3 Choice of Magnetic LoadingFlux Density in Teeth Frequency of Flux Reversals Size of machineDNAMagnetizing current, Flux Density, Iron lossIron loss, Stability, Voltage Rating, Parallel Operation, Transient ShortCircuit current Choice of Electric LoadingTemperature rise,
speed of machine, Voltage, Armature reaction, CommutationDNAOverload Capacity, Copper losses, Temperature rise, Leakage ReactanceCopper loss, Synchronous reactance, Temperature rise, Stray Load losses,
Voltage rating Flux …