Tuesday, 14 January 2020

MS--Windows Vs Linux

WINDOWS OS
LINUX OS
The Windows operating system, does not provides the users access to the programming code that forms the basis for foundation of this OS.
Linux OS belongs to the GNU Public License. It provides the access of code to the users of all categories. That code is basis for foundation of Linux OS.
The user must and should belong to some special category to get access to the code,that forms the basis for foundation of this OS.
The user need not belong to some special category to get access to the coding part, which formsthe basis for foundation of the operating system.
The users must and should be bounded to the number of licenses he/she purchases, in case of the Microsoft license policy. Here,no such facility is provided to permit installation of a single application on multiple machines.
In Linux GPL-licensed OS, users are free to modify that software and use and even republish or sell it. GPL helps users to download a single copy of a Linux application and permits to install it on many machines.
The Windows operating system provides some easy methodology. In this,the users do not need to have installation disk for installing it. But the users can buy the 10-cent Ethernet to install it.
If you need to install Linux operating system on a machine, we must hand-pick each piece of hardware or else your installation won’t be up to the mark of expectation.
The users can run the Windows installed machines for numerous years and it even provides various types of help to the users via command line.
We can run a machine running on the Linux OS also for many years without help of the command line[2].
In Windows, we need to know where to find software and install it,by running executable files (.exe files) related to it.
In Linux,we have a centralized location where we can search for, add or remove software co-related to packet management system.
In the case of Windows, the users are needed to connect to internet to install an application.
In linux, the users can install an application without using internet support.
In earlier days the installation of apps on Windows was simpler.
Due to the modifications in the features of OS,the linux supports easy installation of apps.
In Windows, if users want to change the desktop appearance, they have to pay and install a third party application[1].
In case of Linux, users are free to make their desktop appearance in the way they desire.
Windows provides a greater facility for its users by providing various drives like C:, D:,E: and so on. In windows, all the drives are not mounted on a single tree.
Users won’t find "My Documents" on Ubuntu, nor will you find "Program Files" on Fedora. There are no C: or D: drives. But, there is only one single file tree and all our drives are mounted on the tree.
In Windows the users have an “installation package”. In this,the users can install a program only after running the .exe file related to it.
In Linux OS, there exists “package manager”, which acts as a center for browsing, installing, and removing program packages.
Microsoft created the Windows OS, but allows other computer manufacturers to distribute their own computers with Windows pre-installed.
Linux kernel is developed by the community. Linus Torvalds oversees things.
The Windows OS can be installed on PC's desktops, laptops, servers and recently even on some mobile phones.
Linux can be installed on various types of computer hardware, starting from mobiles, tablet computers andvideo game consoles, to mainframes and supercomputers.
The file systems that are supported by Windows are “FAT, FAT32, NTFS, exFAT.”[4]
File systems supported by Linux are “Ext2, Ext3, Ext4, Jfs, ReiserFS, Xfs, Btrfs, FAT, FAT32, NTFS”.
The Windows GUI (Graphical User Interface)is an integral component of OS and it cannot be replaceable[5] .
The Linux mainly provides two GUI’s,KDE and GNOME .But there are many alternatives like LXDE, Xfce , Unity, Mate, twm etc.
Windows uses a command shell and each Windows version has a single command interpreter with DOS, recently an optional PowerShell has been added that mostly supports Unix commands.
In the context of Text mode interface, the Linux OS has default shell called “BASH” (Bourne Again Shell). This BASH can support multiple command interpreters.
The price of the Windows OS ranges from $50-$450.
The price of Linux is free, but the help is provided for a certain price.

Unix Vs Linux

Features of Unix OS
  • Multi-user, multitasking operating system
  • It can be used as the master control program in workstations and servers.
  • Hundreds of commercial applications are available
  • In its heydays, UNIX was rapidly adopted and became the standard OS in universities.
Features of Linux

  • Support multitasking
  • Programs consist of one or more processes, and each process have one or more threads
  • It can easily co-exists along with other Operating systems.
  • It can run multiple user programs
  • Individual accounts are protected because of appropriate authorization
  • Linux is a replica of UNIX but does not use its code
Limitation of Linux
  • There's no standard edition of Linux
  • Linux has patchier support for drivers which may result in misfunctioning of the entire system.
  • Linux is, for new users at least, not as easy to use as Windows.
  • Many of the programs we are using for Windows will only run on Linux only with the help of a complicated emulator. For example. Microsoft Office.
  • Linux is best suitable for a corporate user. It's much harder to introduce in a home setting.
Limitations of Unix
  • The unfriendly, terse, inconsistent, and non-mnemonic user interface
  • Unix OS is designed for a slow computer system, so you can't expect fast performance.
  • Shell interface can be treacherous because typing mistake can destroy files.
  • Versions on various machines are slightly different, so it lacks consistency.
  • Unix does not provide any assured hardware interrupt response time, so it does not support real time response time systems.
Basis of Difference
Linux
Unix
Cost
Linux is freely distributed, downloaded through magazines, Books, website, etc. There are paid versions also available for Linux.
Different flavors of Unix have different pricing depending upon the type of vendor.
Development
Linux is Open Source, and thousands of programmer collaborate online and contribute to its development.
Unix systems have different versions. These versions are primarily developed by AT&T as well as other commercial vendors.
User
Everyone. From home users to developers and computer enthusiasts alike.
The UNIX can be used in internet servers, workstations, and PCs.
Text made interface
BASH is the Linux default shell. It offers support for multiple command interpreters.
Originally made to work in Bourne Shell. However, it is now compatible with many others software.
GUI
Linux provides two GUIs,viz., KDE and Gnome. Though there are many alternatives such as Mate, LXDE, Xfce, etc.
Common Desktop Environment and also has Gnome.
Viruses
Linux has had about 60-100 viruses listed to date which are currently not spreading.
There are between 80 to 120 viruses reported till date in Unix.
Threat detection
Threat detection and solution is very fast because Linux is mainly community driven. So, if any Linux user posts any kind of threat, a team of qualified developers starts working to resolve this threat.
Unix users require longer wait time, to get the proper bug fixing patch.
Architectures
Initially developed for Intel's x86 hardware processors. It is available for over twenty different types of CPU which also includes an ARM.
It is available on PA-RISC and Itanium machines.
Usage
Linux OS can be installed on various types of devices like mobile, tablet computers.
The UNIX operating system is used for internet servers, workstations & PCs.
Best feature
Kernel update without reboot
Feta ZFS - next generation filesystem DTrace - dynamic Kernel Tracing
Versions
Different Versions of Linux are Redhat, Ubuntu, OpenSuse, Solaris, etc.
Different Versions of Unix are HP-UX, AIS, BSD, etc.
Supported file type
The Filesystems supported by file type like xfs, nfs, cramfsm ext 1 to 4, ufs, devpts, NTFS.
The Filesystems supported by file types are zfs, hfx, GPS, xfs, vxfs.
Portability
Linux is portable and is booted from a USB Stick
Unix is not portable
Source Code
The source is available to the general public
The source code is not available to anyone.

Overview of Linux based Utilities

Understanding UNIX/Linux Utilities

•UNIX/Linux utilities let you
–Create and manage files
–Run programs

–Produce reports

–Monitor and maintain the system

–Recover from a range of errors
•New utilities are continually being added in order to make UNIX/Linux run more efficiently
•Classified into eight major areas:
–File processing
–System status
–Networking
–Communications
–Security
–Programming
–Source code management
–Miscellaneous


File processing
Command     Brief description of functions
·         awk- Processes files
·         cat- Displays files(and is used with other tools to concatenate files.)
·         cmp- Compares two files
·         comm- Compares sorted files and shows differences.
·         cp- Copies files
·         cut- Selects characters or fields from input lines.
·         dd- Copies and converts input records
·         diff- Compares two text files and shows differences
·         dump- Backs up files
·         file- Displays the file type.
grep, Less,head, in lpr, tailman,mkdir,mount,mv,pste,pr,pwd,rm,rmdir,sort, tar, touch,wc etc.
System Status Utilities
Command     Brief description of function
·         date    Sets and displays date and time
·         df         Displaces the amount of free space remaining on disk.
·         du       Summarizes file space usage
·         finger  Displays detailed information about user who are logged in.
·         free     Displays amount of free and used memory in the system
·         kill       Terminates a running process
·         ps        Displays process status by process identification number and name
·         sleep  Suspends process execution for a specific time.
Top, uname, w, who,date,df,du,file,etc.
Network Utilities
•         ifconfig – sets up a network interface card
–        Can be used to troubleshooting networking
•         netstat – shows network connection information
•         ping – establishes connectivity to a remote device
•         route – displays routing table information
ftp,rcp,rlogin,rsh,showmount,telnet,wvdial
Communications Utilities
•         mail – sends e-mail
•         mesg n – denies any real-time messages
•         mesg y – accepts any real-time messages
•         talk – allows users to simultaneously ‘chat’ with other logged in users.
•         wall – sends a message to all logged-in users.
•         write – sends a message to a user
Security Utilities
•         chgrp – changes the default group associated with a file
•         chmod – changes the access permissions of a file or directory
•         chown – changes the owner of a file or directory
•         Ipchains-manages a firewall and packet filtering
•         passwd- changes a password.
Programming and Source Code Management Utilities
·         Configure- configures program source code automatically.
·         g++- compiles a c++ program
·         gcc- compiles a c program
·         make- maintains a program source code
·         patch- update source codes.
·         Ci, co, cvs, rcs, rlog etc.
Miscellaneous Utilities
·         at- executes a command or script at a specific time
·         atq- Shows the jobs already scheduled to run.
·         cal- displays the calendar of a month or a year.
·         cd- changes to a directory.
·         tr- replaces specific characters
atrm,batch,expr,fsck,tee,tty, xargs etc.















Overview of Linux based Tools


list of tools, by alphabetic order
    1. Anonymizers
    2. Backup
    3. Browsers
    4. Chat
    5. Converters
    6. Emulators
    7. Live CD/DVDs
    8. Media manipulation
      1. Encoders
    9. Media Players
    10. Partitioning
    11. Rescue
    12. Security tools
      1. Anti-rootkits
      2. Firewalls
      3. Intrusion prevention
      4. Malware control
List of tools, by alphabetic order
Anonymizers is a tool that attempts to make activity on the Internet untraceable. It is a proxy server computer that acts as an intermediary and privacy shield between a client computer and the rest of the Internet.
Vidalia
Vidalia is a cross-platform GUI controller for Tor anonymizing proxy.
Backup
Simple Backup Solution.This tool is intended for backup of files, using a desktop GUI.
Partimage
Partimage is a Linux partition backup utility. It allows you to save partitions in many files formats to image files, compress the image files, split image files for burning, and even save them across network. NTFS support is under development.

Browsers
Konqueror
Konqueror is a combined browser and file manager for KDE.
Chat

XChat
XChat is a popular multi-platform chat client. It supports multiple channels and file transfers. As said, it is also available for Windows.
Converters

alien
alien is a program that converts between Redhat rpm, Debian deb, Stampede slp, Slackware tgz, and Solaris pkg file formats.
AODC
AODC stands for An OpenDocument Converter. This small tool is intended to convert Open Office documents into html files on machines that do not have Open Office installed. This means you can open your documents on any computer. Now, AODC will run on Windows - but it is a tool well suited for Linux users.
Emulators

Wine
Wine is an open-source implementation of Windows API on top of X and Unix. In other words, it allows you run Windows applications on a Linux machine by creating a simulated environment. Wine is nicely complemented with VMware products, which are also available for Windows.
Live CD/DVDs

Anonym.OS
Damn Small Linux
Damn Small Linux is a versatile 50MB desktop-oriented Debian-based distribution. You can boot with it from CD, USB drive or even run it inside Windows. .
Elive
Elive is a live CD running Enlightenment Windows manager, which is an amazing visual experience while being very low on requirements.
Feather Linux
Gentoo
Helix
Knoppix
Puppy Linux
Puppy Linux is another small desktop-oriented live CD. Puppy Linux comes in a wide range of flavors, including the static live CD but also the multi-session CD/DVD, which allows you to save your live sessions to hard media every time you use Puppy and reload them on the next use, virtually eliminating the need for running an operating system from a hard drive.
SUSE 
Ubuntu 6.06
Ubuntu is a combined live and installation CD. Ubuntu runs with Gnome desktop. 

Media manipulation
Encoders
MP3FS
MP3FS is a read-only FUSE file system which transcodes audio formats to MP3 on the fly when opened and read.

Media Players
MPlayer
MPlayer is a highly versatile media player for Linux, with a very good support of audio and video formats. It will play most MPEG/VOB, AVI, Ogg/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4, RealMedia, Matroska, NUT, NuppelVideo, FLI, YUV4MPEG, FILM, RoQ, and PVA files, supported by many native, XAnim, and Win32 DLL codecs. You can watch VideoCD, SVCD, DVD, 3ivx, DivX 3/4/5, and even WMV movies.
xine
xine is a lightweight, powerful media player, capable of playing AVI, MOV, WAV, and MP3 formats. The player has many guises and is constantly being developed.
XMMS
XMMS is a multimedia player (mainly audio) for UNIX-based systems. It supports MP3, MOD, WAV, and other formats. A variety of plugins is available. XMMS is included on Elive and Knoppix live CDs.

Partitioning
QTParted
QTParted is a clone of Partition Magic. It is capable of handling NTFS partitions.

Rescue
Super Grub Disk
Super Grub Disk is intended to run from a floppy disk or CD and is used for system rescue. Most importantly, it can be used to restore boot loaders, including GRUB, LILO and even Windows boot loader.
TestDisk
TestDisk is a utility specially designed to recover lost partitions and make non-booting disks bootable again. This highly useful tool can be found on a number of live CDs, including Knoppix and GParted. It supports NTFS partitions and also comes in Windows flavor.

Security tools
Anti-rootkits
chkrootkit
This tool allows you to look for unwanted spies on your machine.
rkhunter
rkhunter is another tool for uprooting undesired self-hiding toolkits.

Firewalls
FREESCO
FREESCO is a lightweight, powerful firewall based on CISCO. It supports up to 10 network cards, 10 modems, 5 printers, NAT, a whole lot more, and will run from a single 1.44MB floppy. You can use an antique 386 machine to run it.
SmoothWall
SmoothWall is a powerful firewall with a self-contained operating system and a web-based GUI. It can be installed on a machine as lowly as a 486.

Intrusion prevention
AppArmor
AppArmor is an application security framework, most easily described as heuristically-inclined HIPS. It will run on Linux distributions based on Red Hat. Mastering AppArmor takes knowledge and patience.
Snort
Snort is a very popular open-source network intrusion detection and prevention software. It is intended for experienced users.

Malware control
Truman
Truman is a sandbox-like malware analysis tool, running on native hardware. It is NOT recommended for people who do NOT understand the full implications of using this tool.



Linux based programming languages


  1. Linux, the kernel, is mostly written in C and a little bit of Assembly.
  2. Toolkits and frameworks used to develop the graphical interface (e.g. GTK+, Qt, GNOME, KDE, Unity) are written mostly in C and C++.
  3. Utilities and applications (i.e. programs) that come bundled with the Operating System are usually written in Java, Python, C, C++ and even C#.

Linux provides a complete UNIX programming environment which includes all of the standard libraries, programming tools, compilers, and debuggers which you would expect of other UNIX systems.
                 Standards like POSIX.1 are supported, which allows software written for Linux to be easily ported to other systems. Professional UNIX programmers and system administrators use Linux to develop software at home, then transfer the software to UNIX systems at work. This not only saves a great deal of time and money, but also lets you work in the comfort of your own home.
                With Linux, you have access to the complete set of libraries and programming utilities and the complete kernel and library source code.
                  Within the UNIX software world, systems and applications are often programmed in C or C++. The standard C and C++ compiler for Linux is GNU gcc, which is an advanced, modern compiler that supports C++, including AT&T 3.0 features, as well as Objective-C, another object-oriented dialect of C.
             Besides C and C++, other compiled and interpreted programming languages have been ported to Linux, like Smalltalk, FORTRAN, Java, Pascal, LISP, Scheme, and Ada. In addition, various assemblers for writing protected-mode 80386 code are available, as are UNIX hacking favorites like Perl (the script language to end all script languages) and Tcl/Tk (a shell-like command processing system which has support for developing simple X Window System applications).
                     The advanced gdb debugger can step through a program one line of source code at a time, or examine a core dump to find the cause of a crash. The gprof profiling utility provides performance statistics for your program, telling you where your program spends most of its execution time. As mentioned above, the emacs text editor provides interactive editing and compilation environments for various programming languages. 
                      Finally, Linux supports dynamically linked, shared libraries (DLLs), which result in much smaller binaries. The common subroutine code is linked at run-time. These DLLs let you override function definitions with your own code. For example, if you wish to write your own version of the malloc() library routine, the linker will use your new routine instead of the one in the libraries.
What are these profitable languages best at?
  • Ruby and JavaScript are best suited for the web.
  • Python is fairly well-suited to the web, and very versatile on the back-end.
  • C++, C, and Java are all good low-to-mid-level programming languages (back-end).
  • Java is also best for Android Apps and Embedded Devices.

LINUX KERNEL VS DISTRIBUTION;WHY LEARN LINUX?

 LINUX KERNEL VS DISTRIBUTION                                       When discussing Linux Operating Systems, we mention Whole OS or the Linu...