1 / 63

Every Thing You Should Know About Linux

Every Thing You Should Know About Linux. Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008. Are you sure you have not used Linux already?. Linux runs on …. PDA? Smart Phone? GPS? TiVO? Router? Wireless AP? Wrist watch? Car? Airplane?.

yoshe
Download Presentation

Every Thing You Should Know About Linux

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

  2. Are you sure you have not used Linux already?

  3. Mateti-Everything-About-Linux

  4. Linux runs on … • PDA? Smart Phone? • GPS? • TiVO? • Router? Wireless AP? • Wrist watch? • Car? Airplane? Mateti-Everything-About-Linux

  5. Linux Cell Phones • Motorola Rokr E8 • Quad GSM/GPRS • Multi-codec music player • Full HTML browser • Jan. 10, 2008 Mateti-Everything-About-Linux

  6. Linux Cell Phones • http://openmoko.org • Open source hardware • Free CAD files Mateti-Everything-About-Linux

  7. Linux on iPods • uCLinux + podzilla • www.ipodlinux.org/ • iPOds to 5.5G • iPod Nano 1G Mateti-Everything-About-Linux

  8. One Laptop Per Child • Runs on Linux • Sugar “desktop” promotes sharing and learning. Mateti-Everything-About-Linux

  9. Google Linux Clusters • GFS: The Google File System • thousands of terabytes of storage across thousands of disks on over a thousand machines • 150 million queries per day • Average response time of 0.25 sec • Near-100% uptime Mateti-Everything-About-Linux

  10. Smallest Linux System • Mar. 28, 2005 • DigiConnect ME • RJ-45 Plus • 0.75 x 0.75 x 1.4 in • 18 grams • 2.4.27 uClinux • 32-bit ARM7TDMI Mateti-Everything-About-Linux

  11. Overview of the Rest of theTalk • Linux Internals • Distributions • Desktop Environments • Linux Clusters • Security • Open Source Software • Important Applications Mateti-Everything-About-Linux

  12. Linux Internals

  13. Academic Def: An OS consists of • File Systems • Virtual Memory Management • Process Management • Network Layer • Input/Output Subsystem • User Management • (Booting the OS) • [Collection of System Programs] Mateti-Everything-About-Linux

  14. Academic Definition of Kernel • OS are expected to be implemented as Layers • Kernel is the inner most layer • Layers are architecturally supported by CPU privilege modes. • Micro-kernel architecture Mateti-Everything-About-Linux

  15. “Linux kernel” • The OS as we defined – boot – SysPrgs • Monolithic • As Files • /boot/vmlinuz single file • /boot/initrd single file • /lib/modules/* about 3500 files • 4 Million lines of code • Several thousand contributors Mateti-Everything-About-Linux

  16. Linux Kernels • Numbering Scheme: Major.Minor.Release • 2.2 (1999) • 2.4 (2001) • 2.6 (2003) • Current Source Code Versions: • linux-2.6.25.3.tar.bz2 10-May-2008 46MB • linux-2.4.36.4.tar.bz2 07-May-2008 30MB • linux-2.2.26.tar.bz2 24-Feb-2004 15MB Mateti-Everything-About-Linux

  17. “Linux” as used in this Talk • Linux Kernel • System Programs: /sbin, /usr/sbin • UI • Desktop Env: X11, KDE, Gnome, … • Shells: Bash, csh, ksh, … • Utilities • /bin, /usr/bin, … • Applications • Publishing: TeX, MetaPost, PS, PDF, … • Multimedia: Audio, Video • Sotware Development: Perl, Python, Ruby, • Servers • Web • File • Compute Mateti-Everything-About-Linux

  18. K Desktop Environment (KDE) • 4 Million lines of code • Over 800 contributors help to develop KDE. • The translation team: about 300. • KDE has about 20 official WWW mirrors in 12 countries. • KDE has more than 106 official FTP mirrors in over 39 countries Mateti-Everything-About-Linux

  19. KDE Components • aRts: Analog realtime synthesizer and sound daemon. KDE 4.0 uses Phonon • KDE-Libs: Various run-time libraries • KDE-Base: window-manager, desktop, panel, Konqueror • KDE-Network: KNode, KNewsticker, Kppp, ... • KDE-Pim: KMail, KAddressbook, KOrganizer, KPilot, ... • KDE-Graphics: Graphics applications such as KDVI, KGhostview, KPaint, KFax, ... • KDE-Multimedia: Noatun, KMidi, KSCD, ... • KDE-Accessibility: applications to improve computer access for disabled people... • KDE-Utilities: KEdit, KCalc, KHexEdit, KNotes, ... • KDE-Edu: Edutainment applications • KDE-Games: KAsteroids, KPat, KTetris, ... • KDE-Admin: Various tools to aid system administration • KDE-SDK: Script and tools which simplify development of KDE applications • KOffice: Integrated office suite • KDevelop: C/C++ Integrated Development Environment • KDE-Bindings: bindings for various languages (Python, Ruby, Perl, Java...) • KDEWebdev: Web Development Tool Mateti-Everything-About-Linux

  20. Native Linux File Systems • Extended File System • Ext2 • Ext3 • Ext4 • Other Journaling File Systems • ReiserFS • SGI XFS • IBM JFS Mateti-Everything-About-Linux

  21. Linux Non-Native File Systems • NTFS5: Full read/write operations • Native File Systems of every major OS fully supported: • FAT, FAT16, FAT32 of Windows • MacOS • Solaris • BSD Mateti-Everything-About-Linux

  22. Distributed File Systems • Classic DFS • NFS • AFS • Samba for Windows • Linux is a rich test bed for DFS research • KOSMOS http://kosmosfs.sourceforge.net/ • Ceph http://ceph.newdream.net/ • Many encrypted file systems Mateti-Everything-About-Linux

  23. Linux Distributions

  24. Linux Distributions • Define “distribution”! • Major Distributions • Debian, Ubuntu • RedHat, Fedora • Novell SuSe, Open Suse • Mandriva • Slackware • Minor Distributions • 1000+ Mateti-Everything-About-Linux

  25. How Do Distributions Differ? • What is included in the default installation • Operating System • UI • Shells • GUI • Utilities • Selected Applicatins • Patches provided by the Distro • Installing New Components/Applications • Updates • Security • New versions • Browsing for Available Software • Look and Feel of the Initial Install Mateti-Everything-About-Linux

  26. How Do Distributions Differ? • Versions of installed libraries • /lib/ • /usr/lib/ • Configuration • Location of Files • Syntax • GUI/command line tools • Distributions from Scratch • Build it from Source • Gentoo Mateti-Everything-About-Linux

  27. Ubuntu • Ubuntu is a derivative of Debian • “Ubuntu will always be • “free to download, • “free to use and • “free to distribute to others.” • Desktop Edition • Server Edition • X86-32, x86-64, and Mac • Ubuntu, Kubuntu, Xubuntu, … Mateti-Everything-About-Linux

  28. Linux Live CD/DVD • fully writable root filesystem • hardware auto-detection • can be installed to local hard disk • can be installed on USB MSD • Automated scripts to make a LiveDVD from any distro • http://www.linux-live.org/ Mateti-Everything-About-Linux

  29. Knoppix LiveDVD • General Purpose Linux • Try it without installing on HDD • Excellent hardware detection • Large collection of applications • KDE, …, fluxbox • Open Office, Emacs, gcc, … • Web browsers, … • Uncompresses on the fly • Several GB of software • Relatively Slow Mateti-Everything-About-Linux

  30. Damn Small Linux • About 50 MB • Can run without a HDD • X11 Desktop • Many useful applications • Office • Web surfing • Email • Multimedia Mateti-Everything-About-Linux

  31. Linux on a USB Drive • Install on a USB MSD as a HDD • Install a Live Image on USB MSD • On the fly uncompression • Fast installation • Relatively slow execution • Lab on Installing Linux on a USB Drive • http://www.cs.wright.edu/~pmateti/Courses/233-2008-Spring/Labs/OS-on-USB/OSonUSBLab.htm • http://pendrivelinux.com/ Mateti-Everything-About-Linux

  32. Scientific Linux LiveDVD • By Fermilab, CERN, and other labs and universities • LiveDVD 32bit/64bit with Gnome/KDE/Icewm desktop • 5.1 for i386 and x86_64 released on 2008-02-18 • RedHat Enterprise Linux • Fully writable root filesystem • Hardware auto-detection • http://www.scientificlinux.org Mateti-Everything-About-Linux

  33. Embedded Linux • uCLinux (Micro Controller Linux) • Linux kernels 2.0, 2.4 and kernel 2.6 • collection of user applications • libraries and • tool chains • uCLinux ported widely Mateti-Everything-About-Linux

  34. Linux Clusters

  35. Cluster Characteristics • Commodity off the shelf hardware • Networked • Common Home Directories • Open source software and OS • Support message passing programming • Batch scheduling of jobs • Process migration Mateti-Everything-About-Linux

  36. Why are Linux ClustersGood? • Low initial implementation cost • Inexpensive PCs • Standard components and Networks • Free Software: Linux, GNU, MPI, PVM • Scalability: can grow and shrink • Familiar technology, easy for user to adopt the approach, use and maintain system. Mateti-Everything-About-Linux

  37. Example Clusters • July 1999 • 1000 nodes • Used for genetic algorithm research by John Koza, Stanford University • www.genetic-programming.com/ Mateti-Everything-About-Linux

  38. Largest Cluster System • IBM BlueGene, 2007 • DOE/NNSA/LLNL • Memory: 73728 GB • OS: CNK/SLES 9 • Interconnect: Proprietary • PowerPC 440 • 106,496 nodes • 478.2 Tera FLOPS on LINPACK Mateti-Everything-About-Linux

  39. Message Passing Interface (MPI) • http://www-unix.mcs.anl.gov/mpi/ • MPI-2.0 http://www.mpi-forum.org/docs/ • MPICH: www.mcs.anl.gov/mpi/mpich/by Argonne National Laboratory and Missisippy State University • LAM: http://www.lam-mpi.org/ • http://www.open-mpi.org/ Mateti-Everything-About-Linux

  40. Parallel Virtual Machine (PVM) • PVM enables a heterogeneous collection of networked computers to be used as a single large parallel computer. • Older than MPI • Large scientific/engineering user community • http://www.csm.ornl.gov/pvm/ Mateti-Everything-About-Linux

  41. Kernels Etc Mods for Clusters • Dynamic load balancing • Transparent process-migration • Kernel Mods • http://openmosix.sourceforge.net/ • http://kerrighed.org/ • http://openssi.org/ • http://ci-linux.sourceforge.net/ • CLuster Membership Subsystem ("CLMS") and • Internode Communication Subsystem • http://www.gluster.org/ • GlusterFS: Clustered File Storage of peta bytes. • GlusterHPC: High Performance Compute Clusters • http://boinc.berkeley.edu/ • Open-source software for volunteer computing and grid computing • Condor clusters Mateti-Everything-About-Linux

  42. OS Share of Top 500 OS Count Share Rmax (GF) Rpeak (GF) Processor Linux 426 85.20% 4897046 7956758 970790 Windows 6 1.20% 47495 86797 12112 Unix 30 6.00% 408378 519178 73532 BSD 2 0.40% 44783 50176 5696 Mixed 34 6.80% 1540037 1900361 580693 MacOS 2 0.40% 28430 44816 5272 Totals 500 100% 6966169 10558086 1648095 http://www.top500.org/stats/list/30/osfam Nov 2007 Mateti-Everything-About-Linux

  43. Security of Linux • Security flaws are largely due to • Network protocol design flaws • Sloppy programming by software authors • Poor configuration • Number of exploits, number of advisories similar to those of other OS • Worms, not viruses • Compromised crypto • Buffer overflows • Considerable research analysis of Linux source code Mateti-Everything-About-Linux

  44. Security Hardened Linux • Portions of Linux replaced, re-designed, enhanced for improved security • Stack top randomization • Prevention of data page execution • Linux Security Modules (LSM) • SELinux Mateti-Everything-About-Linux

  45. Security Tools on Linux • Penetration Testing • Network analysis (e.g. nmap, tcpdump) • Password cracking • Disaster recovery (e.g. gparted, gpart, partimage, testdisk, recover) • Virus scanning (Clam Antivirus, the GUI xfprot for F-Prot) • computer forensics (e.g. chkrootkit, foremost, rootkit hunter) • Backtrack3 http://backtrack.offensive-security.com/ • STD http://www.knoppix-std.org/ • INSERT http://www.inside-security.de/insert_en.html Mateti-Everything-About-Linux

  46. Important Applications

  47. A Few Ubuntu/Debian packages • Electric • custom IC layout (ASICs), schematic drawing, hardware description language specifications, and electro-mechanical hybrid layout. • ViPEC • analysis of high frequency, linear electrical networks. ViPEC supports lumped elements as well as distributed networks • Kicad • Electronic schematic and PCB design software • QCad 2 • A professional CAD System with ISO-texts and DXF-files. • PythonCAD • drafting program scriptable with Python Mateti-Everything-About-Linux

  48. Example Applications • Email: kmail, evolution, sylpheed, thunderbird • Surfing: konqueror, firefox, galeon, opera • Software Development: compilers for nearly all known languages • Drawing: dia, graphviz, kchart, inkscape • Music: amarok, gnupod • Games: Sauerbraten, Savage, Doom Mateti-Everything-About-Linux

  49. Applications on Publishing • TeX/LaTeX • Kyle • Lyx • TeXmacs • MetaPost drawing language • GraphViz • Scribus • Office Suites • Abiword • Koffice • OpenOffice Mateti-Everything-About-Linux

  50. Matlab :: Scilab, Octave, Rlab • Not 100% compatible with m-files. • Matrix-based programming languages. • Built-in support for complex numbers. • Powerful built-in math functions and extensive function libraries. • Extensibility in the form of user-defined functions. Mateti-Everything-About-Linux

More Related