The PC structure

<Memory Structure <Memory Structure
"System Boot"  "Bios"   "Boot"  "XP"  "Vista"  "Windows 7"  "Linux"   "Device Drivers"
"General"   "Backend"   "Firmware"    "Frontend"   "Library"   "Script"   "Window Managers" 
"Window Desktops"  "General Support"   "Productivity"  "Browsers"   "Email and Chat"
"Problems"  "Systems"   "Introduction"   "Hardware Compatibility"    "Installation" 
"System setup",  "Protection"
Operational structure
System BIOS
BIOS - The Basic Input / Output System is responsible for starting up the computer system when power is applied. The Bios is a permanent program contained inside the computer and has associated with it a battery driven memory called a cmos. If for any reason the cmos fails to get continuous power from the battery, it forgets the settings stored inside it and the system fails to start-up. The start-up process is called a boot after an old term "bootstrap loader" from back in days when an operator loaded programs manually into the computer then held onto his bootstraps (shoelaces) and prayed the system would start.
To access the cmos and set the settings, you would normally press the DEL key or CTRL+ESC or CTRL+ENTER (depending on the manufacture). The settings are categorized into 4 or more different grouping. The main group is used for setting the time, date, Harddrive defines, video adapter type, and what to do if there is a boot error. The other 3 groups of settings are advanced, peripheral, and I/O. Advanced settings cover such things as enabling/disabling onboard devices (hdd, fdd, pio, sio, usb, audio, video, modem and nic), defining pnp-os's , buss speeds, cpu voltage/timing/temp, shutdown and power management, and memory size/ speed/ refreshing/ timing. The peripherals group governs the control of legacy vs pnp for card slots and irq mapping. The I/O group handles how peripherals are mapped to the irq, dma, and addresses.
Most of the newer motherboards can automatically recognize harddrives and their types. If yours doesn't recognize your Harddrive, look at the drive and read off the sectors/track, tracks per disks, # of heads, landing zone, write pre-compensation and enter these figures as type 47 (user defined) in one of the four possible harddrive locations shown. The locations are primary_0 Slave_0 Primary_1 and slave_1. If you have a cdrom, zipdrive or cd r/w drive these drive also are assigned to one of the four locations even though the bios doesn't normally show them.

BIOS - Main group settings.

1) Press DEL key as system is starting to bring up Bios set-up screen.
2) Select Main Settings
3) Make sure your system date and time are correct (if wrong may mean battery failure, weak battery, motherboard/clock failure, tampering by a virus, or changed by user or program. Change the setting as necessary. Many programs use the system date & time and if it is not correct you may experience programs that fail to run correctly and will have improper date / time stamps on your stored files.
4) Under normal circumstances Hard drives are auto detected and set correctly. If yours is not you can select the correct one(s) from the dropdown type lists, manually define the type as type 47 and provide details as required, or in some Bios versions you can use a "detect Harddisk" option. WARNING: your Harddisk used to boot your computer must be installed as MASTER on IDE-0 cable (some newer bios's allow IDE-1). Serial ATA or SATA drives are now more prevalent in newer systems. These newer drives also follow the Master/Slave Pri/Sec
     thinking described below for IDE-x but you just substitute SATA-0 for IDE-0 etc.

Typical Harddisk connections

Cable Drive Set as (jumper) Bios drive define    
IDE-0 Master PRI-1    
  Slave SEC-1    
IDE-1 Master PRI-2    
  Slave SEC-2    

5) Once the Harddisks are established you need to define the two floppy drive settings. The first is for the a: drive and can be one of :   (none,3.5x750,3.5x1.4,5.25x360,5.25x1.2) 5.25" drives are rare now.
    The disks are next to impossible to find, and unless needed for retrieving old information you probably won't have these. So for most people the choice of none or 3.5x1.4 is correct. Ditto for the second floppy drive. Most systems only have 1 floppy drive if they have one at all.

    Floppy cables come as:
           single header to single header
           single to single + Cardedge
           single to 2xsingle + 2xcardedge
    3.5" drives use the single header, 5.25" drives use the Cardedge and the motherboard uses the single style of header. If you put the connectors on the wrong way the drive light will stay lit. The drive has to be set to the correct type in the bios for it to work and must also be connected correctly. The drives may have a master/slave/ or select jumper on them.

6) The display settings - Ideally the type set for the display settings should be ega/vga since these are the type prevalent on the market. You would only use 40col 80col B&W or CGA if your using these old types which by the way work really bad if at all on new systems.


    Directly linked to the BIOS, the system boot cares not what type of system it will be starting. What it does care about is that the system conforms to a strict standard. Thusly, there is a guaranteed method of using Floppy disk, CD/DVD Disc, Hard disk, USB and
Network (Diskless boot). The system boot involves doing a power on self test (POST) which checks for resources of video, keyboard, memory, and availability of boot devices.  If the POST fails, the boot will stop until the problem is corrected. But for our case, the POST passes and the system continues the boot.

    Contained on the first sector of each hard disk drive is a partition table that describes the layout of the remainder of the drive and an area that contains the boot loader.  The boot loader is a small program that is run to tell the computer how to continue the boot process beyond the basic BIOS defined start-up. Ideally, Microsoft products define the entire hard drive as one huge partition. Notice to all! it doesn't have to be this way. The partition table can be set up as 4 primary partitions and partitions 2, 3 & 4 can be further defined as extended partitions with up to 16 logical drives per each. This diversity is to allow multiple operating systems & / or data drives to be separated from the operating systems and to provide for extremely large storage media.

     On a new fresh hard disk the boot loader is blank as is the partition table. It is therefore up to the operating system that is going to be used to set up the partition table and store the boot loader program.


The older (obsolete) Microsoft DOS placed a small program here to handle loading io.sys, msdos.sys and then command.com to operate the system as DOS.  Windows 95/98/ME did the same thing but the command.com program was quite different and instead of running DOS which would call the win.com program to open windows 3.11, would run the win.com program directly. Windows 2K/XP would run the NTLoader program on the first drive (c:) which would refer to a boot.ini file to identify which operating systems are present and what partitions they are on. During operating system installation, Windows 2K/XP can both live comfortably on separate partitions and leave the first partition available to Windows 95/98. However, if you try to re-install the windows 95/98 you will loose access to windows 2K & or XP. Windows 95, 98, ME, 2K, and now XP are now all at end of life which means if you try to re-install them, there will be no support and XP is designed to quit working unless you active it at Microsoft 30 days from the install date. Microsoft will no longer allow the package to be reactivated so as to force everyone to use Windows Vista until Windows 7 comes out in November 2009.

     Windows Vista and Windows 7 are loaded just like for Windows XP except that you are no longer allowed to have more than one Microsoft operating system on the computer. Thusly, the first drive (c:) contains either Vista or Windows 7. Any other partitions are presumed data drives.

     For those considering Linux or Linux with Vista or Windows 7,  as in dual boot, there is a somewhat new process. Linux has a boot folder. In this boot folder all versions of the Linux kernels are stored, plus a copy of the boot sector program that loads Windows version (s) and the boot sector is changed to provide either a Lilo boot loader or a Grub boot loader. The Lilo loader provides a text style menu to provide choice of which Linux or Windows version you wish to load. The Grub loader provides a graphical menu offering the choices. With Linux you can have as many different kernels (versions) as you like without much change to the underlying structure and or data files. On the down side, if you have Microsoft products and they screw up needing re-install then they will overwrite the Lilo or Grub loader resulting just as in previous Microsoft systems ... lost access to the other systems.

     A number of Linux and concerned venders have created both DOS based and Windows based methods of saving the boot sector or restoring the boot sector. These utilities are normally used as follows:
         1. Install Windows systems WIN98, WIN2K, WINXP,
                                              or  Vista or Windows 7
         2. Install Linux
         3. run an mbrsave program
            Op systems run or are useable until one Microsoft product fails...
         4. Re-Install the effected Op system
         5. run the mbrrestore program to regain access to all systems

  1. Win98

  2. Win2K/NT

  3. WinXP

  4. WinVista

  5. Linux

  6. Back to Index



Win98 was built on DOS technology meaning that it is a GUI (graphical User Interface) sitting on top of DOS. Dos provides the direct device control for the printers, USB, Harddisk, CDROMS etc. and the low level routines to access the various operations of the system. At Boot time, the boot loader contained in the 'mbr' of the harddisk starts off by telling the cpu where the io.sys msdos.sys and command.com are on the harddisk. The boot loader actually starts by loading the io.sys file into memory and then runs a short program in that file which tells the boot loader to load the msdos.sys file which in turn tells the boot loader to load and run the command.com file. The command.com file informs the system to read any config.sys settings and load/run each setting that calls for additional resources to be loaded. Once complete, the win.com program is loaded and executed which takes over the responsibility of loading all the resources in the form of device drivers, library files, settings, and environment for windows.


WinNT is built on a totally different system than DOS. this gives it the ability to boot to any partition of any drive and provides a superior system level support. While it supposed to be true multi-user/multi-tasking network ready, it still isn't as powerful as it peers under UNIX, and Linux. For the winNT/2K system, the boot loader looks for the boot.ini file which tells the system how many operating systems there are and where they are put in terms of drives and partitions. If winNT/2K isn't on C: then the ntldr.exe is placed on C: and handles loading of the operating system for 2K. If the win98 system is present as an option then the NTLDR.exe will handle loading the io.sys and msdos.sys for win98. If you re-install win98 you will loose the boot loader designed to boot winNT. To avoid such unfortunate circumstances you can use getmbr and putmbr programs available from the web or us to maintain a copy of the boot sector of the drive(s) so you can easily replace them. If you do re-install win2K be forewarned that the boot.ini may end up with multiple entries and you may have to remove the extra's. It is highly important that you don't install Win2K on the same partition as win98, you will end up with both system sharing the settings till eventually both fail. Also, if you are going to use win2K's NTFS filesystem windows 98 won't be able to see the drive. Instead, if using win2k and win98 on same drive and different partitions set both to fat32 file system.


WinXP basically follows the same as for winNT/2K so the win2K explanation will suffice for WinXP as well except it must be installed on an  NTFS file system.


The above Microsoft operating systems explanations are now mute. With the start of Windows Vista systems, the underlying filesystem is built on an NT architecture but the new Operating system of Vista must be the only system present on the Harddisk. Microsoft does let you revert backwards to Windows XP professional as your sole operating system. For all the flashy visible gimmicks, Windows Vista is really just a severely restricted version of XP with some flashy desktop additives. Vista comes in several versions from basic to ultimate.

     The idea seems to be, to offer users different versions based upon what they want to do with the system at equally differing costs. Computers are taking on a whole new role in the Microsoft world. A computer, doesn't care what your primary purpose for having it is. All the computer looks at is what are the resources available to it in terms of hardware. Microsoft on the other hand is solely driven by how much to gouge the public. They realize that kids are more concerned with games, animations, flash, and such so they don't really need network and server features. A business on the other hand rarely needs strong graphics, and multi-media. So our friends at Microsoft came up with 5 different systems tailored to specific uses. If you have a system tailored to one use and need a feature from a different group your either out of luck or will need a new operating system version. This is totally in line with Microsoft's overall world domination plan to make everyone pay to use their own computers.

    Having said all this, Windows Vista boots in the same manor as for the Windows 2K and XP systems other than Vista must be on a NTFS volume and can not have any other Microsoft system present. This is somewhat of a set back in time to when DOS only recognized 1 bootable partition. You may still use Linux if you install it after installing Windows Vista.

    In November 2009, Vista will be on it's way out as Microsoft releases Windows 7 (Blackcomb) essentially, it is Vista with emphasis and fixes to vista ailments. The Vista structure will suffice. Windows 7 is stripped down in some area's. Firstly, it doesn't have Windows Mail (formerly Outlook Express) and finally can have Internet Explorer turned OFF! A second key difference is more emphasis on having an active Internet connection so the operating system can download run libraries as the system gets used. We are entering a world of pay Microsoft for the right to use our own machines!


LINUX can be installed on any partition and can be run from a disk based boot loader or the lilo loader written to the mbr. The lilo loader knows how to call the WinNT, Win2K, WinXP or WinVista multi-loaders as well as how to call DOS or win98. The bad part here is that re-installing any Microsoft product will destroy the lilo loader if it's contained in the mbr of the harddrive and make it necessary to boot the system with the Linux boot disk and restore the lilo loader. Of note, here is that if you re-install Linux, it never destroys the Microsoft systems so why does Microsoft do it to Linux or Unix. My guess is they are that scared of competition that they will do any trick they can get away with to make users of other systems pay.

       During a Linux boot, the lilo boot loader (or grub loader [if your using this style]) provides the user with a menu that lists all versions of Linux kernel and all Microsoft versions currently installed. Upon the user selecting a Microsoft version, the boot loader accesses a copy of the normal Windows boot that it saved when Linux was installed and the normal Microsoft boot takes place. Selecting any of the Linux kernels, runs the appropriate Linux kernel boot.

       In Linux, the kernel of each version resides on the Linux root partition in a boot folder. Each version consists as a single compressed file. The file upon loading auto-uncompresses. Using this method is more efficient than having to have the complete operating system replaced when upgrading or adding more versions. In Linux, the drivers, libraries of routines, and all the numerous settings files can for the most part carry forward from version to version. Each version knows of it's specific driver and library needs by unique file naming so that many versions can co-exist seamlessly. While were on the topic of drivers and libraries, it is important to note that in Linux, no driver or library is loaded into memory until it is required and is always removed when no application still requires it. Windows from Microsoft by the other hand loads all drivers at start-up and loads Libraries (.dll's) as they are needed by applications. If more than one application requires the same dll then multiple copies are loaded. The dll's are not uniquely version named which complicates library management. The strength of Linux stability, and memory control becomes apparent very quickly.

System Drivers

are a program module built into a device that knows exactly how to control the actual hardware. The BIOS in a PC for example knows how to run the hardware to start an Operating System and thusly start the computer. Firmware exists in many devices like Hard drives, CDROM drives, scanners, printers, and video cards to name a few. You will often come across upgrades to firmware for devices which expand or otherwise improve the units ability to work.

Device Drivers
         Device Drivers enable the operating system to work with  a device. A device driver acts as the link between the firmware in the device and the Operating System. Your Application gains the use of the device by asking the Operating System to talk for you. the operating system gains it's access by talking to the device driver and the driver talks with the device.

         General Drivers: Ideally, the general drivers perform operations with very little change in the way they handle operations over the years. For example, the printer port / parallel port, com port, floppy drive, memory, and hard drives have stayed the same over the years. A note here is that with the hard disk drive, it did undergo major improvements of S.M.A.R.T and LBA technology but this essential affected it's firmware rather than the actual drivers.
         Motherboard Drivers: Today's Motherboards have a common feature section which every BIOS and operating system is familiar with, and a custom section that depending on the model may include bridges, NIC ports, Modems, USB's, Firewire, Audio and a whole host of optional system components. As a result the first thing a person must do, after a Windows operating system is installed, is to install the Motherboard drivers CD. Once installed, all on-board extra features will be known by the operating system. Linux users may find their current version may need upgrading to access newer motherboards.
         Video Drivers: Adding a Video card to a system usually will require a special drivers CD so the system will know how to work with the new features of the card.
         Network Interface Card: Adding a Network card often requires installing drivers from a CD for the card. 
         USB Special: special USB devices for Webcams, Scanners, Printers, CD/DVD writers, CD/DVD printers (Ink & Litescribe), Video Transfer,
             Flashdrives, Digital Camera's, and many others, usually require special driver CD's to provide the required driver modules. These devices usually also provide all kinds of Application software to highlite the advanced features of the new devices.

       The programs used to access the devices in a Windows system are provided by the various hardware developers. They are common .exe files which are stored usually in the windows/system folder or system32 folder but actually can be stored anywhere in the system such as in folder that contains supplied applications for the device. With naming of the driver files being carried out by so many hardware developers there is real risk of a single filename existing for more than one device, library, or feature resulting in compatibility issues.
Everything to Linux is a file. Device drivers are no exception. Unlike windows, everything has a proper place in the Linux system. Devices reside in the /dev folder and are referred to only by the kernel. While kernel's usually are configured to handle Motherboards without need for additional drivers, when you change your Motherboard, or system unit, you may need to upgrade the kernel to use the features of the new motherboard.

         Backends        : are a special device driver. The backend typically takes a general request from the operating system and breaks that request into a series of steps. Each step performs a specific direct control of the hardware.

         Frontends       : are a special user driver. The front end usually allows the user to define or set specific defaults and settings for a specific device. A user may be able to adjust the scan region on a scanner or change it's resolution using such a driver. Ex: Scanner Frontend

System Libraries

    Modules         : are small dll's and comx programs that perform specific tasks for an application. With modules, many applications can use the same features which reduce the overhead in creating new applications.

    Scripts           : are a short interpreted set of instructions that usually do only a very limited job.

A series of Dynamically linked libraries (dll's), scripts, batch files (.bat), activeX (.com) and a host of others make up the support system for the operating system. Unfortunately, Windows support files are created by numerous vendors besides Microsoft so identically named ones can cause havoc in the system. Infections having access to the system folders if they get through the firewall can shut down or destroy the system.

          In a Linux system, all support is through libraries which reside in a section of the system that only the root user and system have access to. Infections can't install or run anything without the root user enabling them. All libraries of routines are strictly versioned so that programs always use the correct library version.


  1. Physical - Usually, self determined by the system to match physically installed memory. The total available memory may be less than actual if you have the BIOS set to shadow ROMs or share some of the memory with an onboard Video adapter. Shadowing ROMS means that instead of reading from the ROMS which is much slower than direct memory access, the ROM will be copied into RAM memory where it can be accessed faster. Sharing memory with an onboard Video Adapter is a technique used to accommodate video adapters built onto the motherboard that do not have their own exclusive memory.
              In Windows, the memory structure is normally seen without any difficulty. However, it is known that at times, windows will not see the true memory limits. Most of the time this is due to onboard video sharing memory and not having the motherboard drivers correctly installed.

              In the Linux world, you may encounter memory reporting errors on newer motherboards especially if there are onboard Video sharing memory blocks or if memory blocks of different types and sizes are mixed. Linux has an easy fix for this. You simply specify the correct memory size excluding shared blocks in the boot initialization file. When Linux boots it then adjusts the memory to the right values.

  2. L1, L2 cache - These types of memory allow for memory pre fetch as a method of speeding up many memory related operations. Cache memory is much faster than RAM memory. When a program is running, if the instruction and associated data are in the Cache, execution is very
    fast. If on the other hand, an instruction refers to memory not in the cache there is a slight slowdown in speed as the cache is reloaded from the new location. So a program that jumps outside the cache often will run much slower than one where most of the instructions reside
    with-in the cache. Windows versions before Win2K do not recognize the cache size and assume it to be zero unless you specifically set the L1,L2 cache sizes with an after market windows optimizer. Linux does support recognition of the L1,L2 cache sizes but includes features to manually set the limits.

  3. Virtual - Also known as a page file or swap space, comes into play when programs, data, and processes exceed the physical limits of installed memory. The virtual memory is therefore the sum of physical memory plus the defined size of the swap file/partition. Ideally, you want to keep swap files use to a minimum as it takes time to move data into and out of the swap space. The swap space should be 4 times the size of physical memory but on a windows system it should not exceed 8Gb. Therefore, if you have 2Gb or more memory in your system you should set the swap space to 8Gb. The windows default for swap space is 0 at the low end to 90% of free hard disk space for the maximum. Today's hard disks being
    20GB or more means that windows will try and use 16.2Gb or more which results in bad fragmentation of the hard disk. Linux defines a separate partition for the swap space. This results in high efficiency and low fragmentation. Linux can use up to 8 times installed memory so instead of an upper virtual memory limit of 1022Mb as it is for win95/98/ME and 8192Mb for winNT/2K/XP, Linux can adequately handle 32768Mb.

  4. File Cache - Windows attempts to maintain a listing of all files and folders encountered as it runs.
        The File cache starts out at 0 but can grow quite quickly as the system is called to fetch files from the hard disk. Having the file cache speeds access and loading times, but it also wastes valuable system memory. The windows Internet Explorer is greedy and can kill 60% of total  memory, then the file Cache comes along and steals another 90% of the balance. This means that right off the hop, it is not too far fetched to see 96% of resource wasted. If you only have 128Mb of RAM, it is not uncommon to see 122Mb used leaving 6Mb for your programs and data. By comparison, Linux builds a temporary cache file which it uses to quickly refer to files and folders. Memory use in Linux is typically only 4Mb. You can alter how Windows works with the cache by going to system tools and in the 386Enh section setting the Vcache to 4096Mb
     as both the lower and upper limits. Increment this setting up by 4096Mb until the system performs at it's best level.


    The Desktop is the main workspace of your computer. It contains the Toolbar with the start button, the Launch buttons, the Taskbar, and the system tray. In Linux it also includes the virtual desktop switch buttons. The balance of the desktop is home to the Icons which link to programs in your system. In
windows your desktop is part of Internet Explorer and you really only have 1 desktop design with some customizable style features like coloring,  backgrounds, and textures. In Linux, you have 100's of desktop designs and can even create your own personalized ones. The desktops each have scads of styles and custom  style features. Another important point is that Linux doesn't use an internet browser to control the desktop. It uses a window manager that is compact and feature rich. With no predefined browser,
Linux Xwindow system is open for you to choose the browser that meets your needs.

Microsoft Windows Model

Linux Model

Every Operating system employs a certain model that defines it's method of existence.

  1. Hard disk layout, Files and folders
  2. The File Cache
  3. Swap space
  4. Memory
  5. Look and Feel
  6. Internet
  7. Updates
  8. Package less Miss management
  9. Re-Install or Upgrade
  10. Resolves

Hard disk layout, Files and Folders
      Windows thrives on the concept that everyone has the same desires and needs. While this is great for end user support, it is disastrous for individuality and system security. No where is this prevalent than when you install windows for the first time on a clean new hard disk.
      The default for all windows systems is the C: partition. All folders and files are pre-determined and configured to this partition. If no partition exists ( as would be the case on a new hard disk) the installer will create 1 huge partition, format it, and call it C:.
      Every Virus, worm, trojan, adware, or other infection also knows this structure
making it so easy to plan an attack on a Microsoft system.

Windows Default Windows Optional (preferred)
    ├windows (winNT)
    ├program files
    │    ├Microsoft based
    │    ├System tools
    │    ├User Applications
    ├Anything else
     ∟swap space file
    ├windows (winNT)
    ├program files
    │    ├Microsoft based
    │    ├System tools
          *** If the whole system fails rebuild job is easy
     ∟swap space file
          *** Reduce fragmentation also cookies favorites
          history etc can go here for easy fast removal

     ├User Applications each in own folder
        *** See at a glance what apps you installed with
          no worry about messing with Windows

    ├Anything else
       *** With Data out of harms way, you can ease the job
       for doing backups and should the op system need to be
      replaced your data is more secure.






The File Cache
      The file cache (list of all folders and files they contain) is preset to always be held in memory, start with a size of 0 at each fresh reboot, and be allowed to grow to 90% of available memory. Available memory is defined as the amount of memory that remains after the main operating system (windows) has been fully started. The intension of the cache is to speed up access to files on the hard disk by keeping the locations in memory where they can be accessed more rapid than from disk.
      With current disk access times being so fast, is there any point to Windows
still wasting valuable space for a huge Cache? Definitely not!

Swap space
      When available memory is insufficient to handle applications being started or during application operation, windows will attempt to swap out unnecessary programs, data, and or modules to a swap file to make more memory available. If there still is not enough memory the application will fail. For some GOD forsaken reason, Microsoft has chosen to set the swap size to 0 at each reboot and let it grow up to 95% of available hard disk free space. On a 20 GB hard disk, this means that windows will allow 18.5 GB, however, windows 95/98/ME can only  use a swap
size of 511MB maximum and windows 2K/XP have an upper limit of 4GB. Thusly,
allowing windows to do it's default has been known to lead to operational problems since it may become confused as to just how much swapping can still occur. Also,
Windows prefers swap or page file to be on drive C: but this also is problematic.
Many upgrades will change this back to the C: drive without your permission.

      On a windows based system physical memory must not exceed 511MB  for windows 95/98/ME and 4GB for windows 2K/XP. Vista is supposed to have an upper limit of 4 TB but in fact turned out to be 8GB. All current versions of windows past and present are bloated with device drivers, helper apps, modules and plug-ins and main registry. During start-up, all this bloat ware  loads into memory even if you will not be using the device or application that refers to an item. Supposedly with .NET and Web aware Vista many of these items will be obsolete but I have yet to see any evidence of this. The registry, grows very fast and can become so bloated with applications being added and removed and settings being changed that all systems right to the end of Vista experience major slowdowns. The registry is in need of constant cleaning and compaction.

Look and Feel
        In keeping with the Microsoft tradition, each version of windows has a singular look and feel. While there are small customizable changes you can do to individualize your installation, believe me they are minor.

       How you are intended to browse the web, and work with Emails has been hardwired into the operating system. Internet explorer is integrated directly into windows and it not only controls your browsing but also controls the windows explorer, desktop, and Outlook express Mail Client. Microsoft still puts in this browser in it's operating systems right up to the Windows Vista and Windows 7 (soon to be released). However, in Europe and Asia, due to recent court ruling, Microsoft will not be supplying Internet Explorer or WebMail (outlook) in the overseas versions. IE comes with a huge assortment of features that occupy memory but for most of us we would not ever use even a fraction of them, so why have them loaded all the time! You can choose to use Opera, Netscape, Firefox etc which offer much needed security and smaller foot print but the underlying IE still is there to rob you of precious memory.

      The Microsoft concept of updates and security is pretty loose. Each windows version is claimed to be a complete operating system, however, as soon as you install the product, it's first function is to see if it can connect to the internet in the most insecure manor possible and fetch a huge list of updates, fixes and patches.
A lot of these require the system to reboot. Then at scheduled intervals the system will, without your consent check the internet for new updates and patches. It can be noted that you can expect your system to slow as you add more patches and fixes.

Package less miss management
      Microsoft does not use package management. If it did, you would have a far more capable system. Under Add/Remove programs, windows allows you to see and uninstall third party software applications. You can even add or remove windows optional components. What you cannot do is review what files belong  to which apps, see which files are shared, obtain a description of what an app is for, or see at a glance what apps are installed and what apps can be installed. This has led to what is known as Registry Farting, and dll hell.
       A registry fart occurs when an application which doesn't know about, and can never know about, changes made by other installed apps and it modifies the registry thereby effecting current apps in a negative way. Dll hell happens because an app contains a dll file by the same name as an existing one. The dll may be an older version of the existing one, may be a newer version but lacking some of the original functionality or may be used for a totally new purpose. If a newly installed app replaces an existing dll and the dll does not do the same things as the one previously installed, then you can expect to have troubles.

Re-Install or Upgrades
       When you upgrade or re-install a windows system you are replacing the entire set of system files, drivers and components. If you have Linux on your system it will be destroyed! If you have win2K/XP on your system as well as win98 and upgrade or re-install win98, win2K/XP will be destroyed. Win2K/XP has no problem if
Win98 exists. It will offer to remove it or co-exist with it. Windows Vista must be
the only system on the computer although you can install Linux with same above warning.

Problem Resolves

  1. Creation of a single hard disk partition
          - If you need to replace windows you may loose your precious data
          - If you get hacked into, the hacker will have a very easy time
          - Hard disk fragmentation will be high and will defrag slowly.
               Fix: Install windows normally with one huge partition
                     Reboot using Emergency boot disc created during install
                     Use Fdisk to delete all partitions
                     Use Fdisk to recreate the primary partition at around 4GB
                     Use Fdisk to create a secondary partition and make 2 logical
                          drive d: and e: (one for programs and one for data)
                     Format C: & Re-install windows on drive c:
                     Format other created drives
  2. Fragmentation too high
         FIX: Make a swap file a fixed size, preferably on another partition.
                 Move Temp, History, Cookies, Cache, favorites, Mydocuments
                    and MyDownloads off the C: drive.
                 Never store your personal files on the C: drive use the data drive
                 Install all third party apps onto a programs drive
  3. Windows hogs resource
          FIX: In system.ini add two entries to the vcache section
                      MinFileCache = 4096
                      MaxFileCache = 4096
                      ** change the 4096 to higher values until optimum performance
                           is attained.
                  Stop seldom used items from starting with windows, loading to
                      the system tray or quick launch bar.
  4. Updates & Security
          Resolve: Never Install windows while your PC has any type of connection  which can be used to connect to the net.
                        Do the Install then install a firewall and anti virus immediately
                        Connect the PC to the net both physically and by set-up.
                        Allow windows to search for updates.
  5. Registry Bloat and dll hell
           A Resolve: Use a product like System Safe Gold to maintain a backup
                  of important system files so you can restore them if something stops
                  working after a new app is installed.

                 Use a registry cleaner to keep crap from building up.

  1. Hard disk layout, Files and folders
  2. The File Cache
  3. Swap space
  4. Memory
  5. Look and Feel
  6. Internet
  7. Updates
  8. Package less Miss management
  9. Re-Install or Upgrade
  10. Resolves

Hard disk layout, Files and Folders
      Linux is open source, considers every installation will be unique and users will have a multitude of needs. Right from the start you will see you aren't at Microsoft anymore. All Linux distributions must have at least 2 partitions consisting of a root and a swap. Partitions are labeled in a manor that define what type of drive they are and their partition number. Hence IDE/ATAPI Hard drives and CDROMS all begin with hd followed by the logical drive letter and the partition number. All SCSI drives
start with sd and All Floppy drives start with fd.

    Every Virus, worm. trojan or other infection knows it can't get past this type of structure unless someone who is Root user deliberately lets them in, so they don't bother developing attacks for Linux, Unix, Minux, Xenix etc.

Linux Structure

       black = Root system available to Root user only
       blue   = Regular User and Root can access
       red    = System & Root user can access
           /                                       main system tree
boot                               system startup
bin                                 system & admin Programs
dev                                devices available
etc                                 setup & control
home                             where all users files are
│    ├User1                       only user1 can access
│    ├User2                       only user2 can access
lib                                 operating libraries
mnt                               other drives and partitions
│    ├CDR/W
│    ├USB_Flash
│    ├Windows_C             **root must grant user access
│    ├Windows_D             **root must grant user access
│    ├Windows_E             **root must grant user access
         root                               the root users files
sbin                               secondary programs
user                               programs for users to use
         │    ├bin                          **root must grant user access
         tmp                               runtime files

      swap                                 Linux swap space
  Since drives and partitions can be anywhere in the Linux tree and access to them can't be determined from the tree the system is ridiculously hard to compromise.

The File Cache
     In Linux the  file cache (list of all folders and files they contain) is stored in a file on the hard disk  rather than in memory . This keeps as much memory available as possible.


Swap space
      When available memory is insufficient to handle applications being started or during application operation, Linux will attempt to swap out unnecessary programs, data, and or modules to a swap file to make more memory available. If there is still not enough memory Linux will not load the application or will stop the application but will not crash the system. Swap space should be 3 to 8 times total available memory to a maximum of 4GB.




      On a Linux  based system physical memory has a limit of 4TB. Linux versions past and present are NOT bloated with device drivers, helper apps, modules and plug-ins or registries. As modules are required they are loaded into memory. If a module is used by more than one app it is shared. When a module is no longer in use by any app, it is removed. The setting files for applications currently being used are loaded into memory and removed from memory when done. These setting files are totally removed from the system when you remove the application  from the system.
As a result, Linux runs faster than an Microsoft system and with more memory available to do work.


Look and Feel
        In keeping with the foundations of Unix, you have a huge assortment of window styles and customizations. A window manager is used to define which window skins you like and how you want each configured. You can upgrade the kernel or any component and not lose your desired windows Look and feel. There are many desktops available for Linux so you can choose the one or ones you like.

       How you browse the web, and work with Emails is totally open. You choose what application  you prefer. The browser and Email Client are totally independent of system operations.  Browsers are many like konqueror, Firefox, Opera, etc. Mail handlers include: kmail, etc.





    I hear all the time from windows users on a Microsoft machine that they don't know what apps are on their machine and what files belong to these apps. The reply can only be "I'm sorry Microsoft doesn't use package management". RPM  is your friend. An acronym for RedHat Package Manager, RPM builds and maintains a list of apps, description of the apps, and files belonging to the apps. With RPM you can see at a glance what programs you have installed, and what programs are available but not installed. You are capable of installing or uninstalling apps at will. If you download new RPMS of apps the manager auto updates the  RPM database.

    Included with-in the database of apps are libraries, scripts, updated drivers, and a
 whole host of needed features that improve your system. At a glance you can see in
 most cases when something exists that you can add that improves something already
on your system. The strict library and resource naming used keeps the chance of conflict out of system. Should you ever find a conflict you can send a report about the conflict to the author (s) and obtain a work-around.





Re-Install or Upgrades
       Linux is capable of doing a non-destructive install &/or upgrade. Ideally you would use the RPM or gnomerpm or drakerpm to add or remove apps or features but you can also just install over top of your old version non-destructively by not changing the partitions and their identities or destructively by changing the size and reformatting or just reformatting the existing size.

Problem Resolves

  1. Creation of hard disk partitions
    When you install you are given the choice of what partitions to make and for what.
          - Existing partitions used for other operating systems need not be affected.
          - Commands providing root access and programs with root privileges
             must be kept away from all users especially guests. This will always
             keep hackers out.
          - Users of a Linux system are restricted to their own home folder, the rest
             of the system (except for applications they have rights to) are
          - Linux uses active file management. What this means is that each time a
             file is resaved, it is placed in a space big enough for the full file. The
             released space is then filled with files that can use the space. Poof! no
            more fragmentation.
  2. Fragmentation too high
         not a issue Linux is fragmentation free. Files are always kept together as
         complete blocks. Gaps are compacted as the system works. The swap
         system resides totally independant so as not to increase disk activity.
  3. Linux takes resource hogging seriously. It's model is based upon serving the needs of many users securely and using a minimal resource overhead. As such, the file cache resides as a file on the hard drive. When a file operation is required, it is far easier to refer to the file than to waste a large amount of memory with seldom used tables.
          Let's take for example 5 users each running 5 programs while preparing a presentation. Through the course of working on the presentations, Each of the users may utilize the file system for saving portions of their work 4 times per hour at 20ms each time for a total of 400ms. So which is more efficient, to waste 4MB to 800MB of memory and use 8ms to access file operations as in a single user windows system, or use 1 to 4KB of memory temporarily and handle the requests of 5 users at less than a .5 second access time?
  4. Updates & Security
          Resolve: Linux does not make attempts to initiate internet access during installation until local firewall with strong blocking is active. Viruses are prevented from infecting the system since they need root user access which is never enabled by the system.

  5. Registry Bloat and dll hell
           Program settings in a Linux system are stored in files specific to the application they belong to. When an application is called into service it and it's settings are loaded and remain until the application is no longer active. As such registry bloat is non-existent.
           In Linux, Libraries exist which are specific to programs and program groups which require the features of specific libraries. Each Library is specifically named complete with version information to reduce any likelihood of conflict between software with differing needs.