Everything Penguin

Focusing on Linux-based Operating Systems
Search this Site:

Local Sources
  • /pub

  • Linux OS
  • /pub/OS/Linux

  • Networking
  • /pub/Networking

  • Network Services
  • /pub/NetworkServices

  • Clustering
  • HA
  • DRM

  • Encryption
  • Keytool/OpenSSL
  • Java Samples

  • Development
  • Design
  • C/C++
  • Java
  • Perl
  • Python
  • Shell
  • Web / J2EE

  • Storage
  • Filesystems
  • HPC
  • /pub/Storage

  • Not Linux ?
  • BSD
  • HP-UX
  • Solaris
  • VM
  • Windows
  • /pub/OS

  • Security
  • /pub/Security
  • The Linux Kernel

    Linux is the kernel source code that is delivered by Linus via kernel.org. Being the kernel, it controls the operating of the system, but it is *not* the Operating System (OS). In fact, the kernel does not even know about the OS; it has a limited set of kernel functions that it (and only it) can run, and it has an API that we mortals think of as the "System Calls." A few of the details are provided in these notes; the rest can be obtained as Linus suggests: reading the source code. :)

  • The x86 CPU and System Calls
  • Linux Kernel Objects
  • CPU Scheduling, Part 1
  • CPU Scheduling, Part 2
  • CPU Affinity
  • IO Scheduling
  • IRQ Assignment
  • Linux Kernel Hacking
  • Kernel Panic

  • The Operating System

    An Operating System (OS) is typically delivered by a vendor and then customized further by the system administrator. The OS contains a kernel, some vendor-specific utilities, a bunch of stuff from Open Source Software (OSS) developers (such as GNU), and maybe even some propriatary packages as well. What a change from 20 years ago !!

    While not as powerful as the kernel, by a twist of fate it is the OS that *drives* the kernel and puts it to work. Thus, it is hard to describe the functionality of the OS without bringing in specifics of the kernel. My notes below reflect that.

  • Process Priorities
  • Return (Exit) Codes

  • System Tuning

    It is said that System Tuning is not a science but an art; I think of it as a bit of both.

  • Tuning Overview - System
  • Tuning Cheat Sheet
  • Establishing the Baseline
  • SAR, Part 1
  • SAR, Part 2
  • IOstat
  • MPstat
  • VMstat

  • Application Tuning

    A good coder not only knows the language, but also knows the OS they are writing for. Once the application is functional and maintainable, now is the time to make it faster. These notes contain the lessons learned from the experts:

  • Tuning Overview - Applications
  • Low Latency Optimizations
  • Application Profiling

  • I/O & File Systems

    Real memory is still not unlimited. Until the time comes when that is not true, applications still need to rely upon other forms of *slower* media for storage. As storage is such a well known bottleneck, you're probably thinking that there must be billions (trillions?) spent trying to minimize the I/O latency; and you'd be right:

  • Linux Storage & File Systems
  • Filesystem - Inodes
  • Filesystem - Permissions
  • Tuning Selected File Systems
  • High Performance (Parallel) File Systems

  • Networking

    Much as Linux is made of chained, efficient programs, Networking consists of chained, efficient protocols that allow data to be sent and received. Among the many protocols, Internet Protocol version 4 (IPv4) is certainly the most prevalent as a carrier for the higher level Unix Network Services.

  • Network Congestion
  • TCP Dump
  • Ethereal
  • ARP Cache
  • Packet Routing
  • Spanning Tree
  • Ethernet/IPv4/TCP/UDP - OSI Model

    Although Linux is best known for being a server, it's ability to be both a Desktop client and also a Router are well respected. With regard to the latter, its trivial to enable routing on Linux ( "echo 1 > /proc/sys/ipv4/ip_forward" ), but not so when determining which packets to route and which to filter. The current method is to use "iptables." The Netfilter project contains most everything you should need to know on the topic. Netfilter builds upon the earlier "ipmasq" and "ipchains" work in using "iptables."

    Need *real* router functionality, like running BGP, OSPF or RIP? Linux has it, and has had it for years in Quagga (formerly Zebra). Yep, Linux makes a pretty good "basic" router.

  • Sample NAT firewall using iptables

    There are a number of high speed protocols that run over Fiber, with Fibre Channel being the most prevalent in the Linux community. Fiber Channel is able to carry other protocols, most notably the SCSI suite of protocols. Of course, with GigE, Ten GigE and potentially 40 and 100 GigE, you will certinly hear more about Fibre over Ethernet. But while some look at how to improve Fibre Channel, Ethernet and even TCP (iWARP), others have changed the playing field with Infiniband. Whether it's RDMA, iSER, or just plain old IPoIB, it seems pretty clear that there's another gorilla in the house.

  • HPC Interconnects
  • Infiniband
  • Fibre Channel
  • SAS
  • SCSI

  • Network Services

    It's great to have a Network, but it's reason for existing is to provide access to something. That's where setting up Network Services comes in. Services (like DNS, HTTP, SMTP) may be accessable by the whole Internet, or they may be available to a select set of subnets.

  • DHCP
  • DNS
  • HTTP
  • NFS
  • SMTP
            EZ qmail (Local  || SourceForge)
            Sendmail
  • XDMCP


  • Other Sites

    RFC's
  • FAQ's
  • IETF
  • RFC Sourcebook

  • Linux
  • Linux - Intro
  • Linux Kernel
  • Linux Kernel (LKML)
  • Bash - Intro
  • Bash - Advanced
  • Command Line
  • System Administration
  • Network Administration
  • Man Pages (& more)
  • More Guides
  • Red Hat Manuals
  • HOWTO's

  • Reference/Tutorials
  • C++ @ cppreference
  • C++ @ cplusplus
  • CSS @ echoecho
  • DNS @ Zytrax
  • HTML @ W3 Schools
  • Java @ Sun
  • LDAP @ Zytrax
  • Linux @ YoLinux
  • MySQL
  • NetFilter
  • Network Protocols
  • OpenLDAP
  • Quagga
  • Samba
  • Unix Programming


  • Sponsors:
  • BrettLee.com
  • TheFrontOffice.BIZ
  • ScubaNavigator.com
  • Nitrox.net

  • Now well into my second career, the first being Exercise Science (see: http://brettlee.com/prof/), I have once again found that the amount of information necessary to be successful in the field is more that the mind of a mere mortal can retain. Thus, my notes in this field began.

    This site contains some of the notes from the many deep dives I have done on selected topics in this area. In many cases, it has several dives, each one deeper than the last. Since the subject of diving is at hand, it now seems appropriate to plug yet another one of my websites, http://scubanavigator.com.

    The notes here are yours to use. They are far from being completely accurate, however, they are my on-going attempt at understanding this complex field.

    Should you wish to report any errors or suggestions, please use the contact link below. I would appreciate it.

    If you find these materials of use, please consider making a small donation to the ASPCA.

    Brett Lee, President
    Everything Penguin

    Finally, one last plug: For data encryption and passphrase protection, try Professional Data Security (see: http://crypto.brettlee.com).

    **** Contact Page for Brett Lee****


    "We left all that stuff out. If there's an error, we have this routine called panic, and when it is called, the machine crashes, and you holler down the hall, 'Hey, reboot it.'"     - Dennis Ritchie


    Google
    [ Powered by Red Hat Linux ] [ Powered by Apache Server] [ Powered by MySQL ]

    [ Statistics by AWStats ]