=====hpc2 Keywords=====
====Partion====
===Definition===
A **partition** is a logical division of storage space on a hard drive. In essence, partitioning your hard drive is like turning your one drive in to multiple, as far as the computer is concerned. Of course, this is only logical-- the physical drive is treated as multiple logical drives.
===Demonstration===
Below, is a graphical representation of the partitioning of a hard drive, shown through the program GParted.
{{:opus:spring2012:tgalpin2:gparted_ex.png}}
There is a ext4 filesystem partition, on which the shown OS is installed, a linux swap partition, and unallocated space.
====Kernel====
===Definition===
The **kernel** is generally the main component of the operating system. It acts as the middleman between the hardware (cpu, memory, etc.) and the software applications being run on the OS by managing the system's resources and letting the software being run to use those resources.
===Demonstration===
Simply:
[Hardware] <---> [Kernel] <---> [Software]
On an OS with unix, you can check your current kernel version like so:
tyler@aleron ~ $ uname -a
Linux aleron 3.0.0-1-amd64 #1 SMP Sun Jul 24 02:24:44 UTC 2011 x86_64 GNU/Linux
====Kernel Module====
===Definition===
A **kernel module** is code that can be loaded in to a kernel at any time. In doing so, the functionality of the kernel is expanded accordingly. Without kernel modules, the kernel would have to be rebuilt every single time new functionality is added, which obviously is not efficient or convenient.
===Demonstration===
Behold, a part of the list of the kernel modules on my system--
{{:opus:spring2012:tgalpin2:modulelist.png}}
...and the long version. Use the "lsmod" command to list all of your modules.
tyler@aleron ~ $ lsmod
Module Size Used by
arc4 12458 2
brcmsmac 528689 0
brcmutil 13419 1 brcmsmac
mac80211 182631 1 brcmsmac
cfg80211 132564 2 brcmsmac,mac80211
crc_ccitt 12347 1 brcmsmac
pci_stub 12429 1
vboxpci 19059 0
vboxnetadp 13202 0
vboxnetflt 23595 0
vboxdrv 194054 3 vboxpci,vboxnetadp,vboxnetflt
powernow_k8 17688 1
mperf 12453 1 powernow_k8
cpufreq_conservative 13147 0
cpufreq_userspace 12576 0
cpufreq_stats 12862 0
...
====modprobe====
===Definition===
modprobe is a program in Linux that allows the user to manage the kernel modules that are loaded. As is such, using modprobe on the command line allows one to add or remove a module from the kernel. It can be useful when certain functionality on the system is not working like it should, as sometimes reloading a module will fix a problem.
===Demonstration===
tyler@aleron ~ $ man modprobe
tyler@aleron ~ $ modprobe [module name to be added]
tyler@aleron ~ $ modprobe -r [module to be removed]
tyler@aleron ~ $ modprobe -a [module to be added] [module to be added] [module to be added]
====Synaptic Package Manager====
===Definition===
**Synaptic Package Manager** is a graphical Linux program that lets one manage the software packages installed on the system. It is the graphical version of the package managing program //apt//. As is such, it is an important program that most every Linux user should be familiar with, as it is key to maintaining one's system in a desirable manner.
===Demonstration===
Behold, Synaptic running on my system.
{{:opus:spring2012:tgalpin2:synaptic.png?direct|}}
You can see the list of packages here. They can be searched through and categorized based on type.
====Dedicated vs. Integrated Graphics Processing Units====
===Definition===
Every modern computer has some sort of graphical display processing unit as one of its many components. As one might imagine, there are different types to suit the needs of different users. This keyword serves as a general definition of the two general types one will find.
**Dedicated GPUs** work independently of the computer's CPU and/or motherboard. They are most often hooked in to PCI Express (modernly, that is. In the not too distant past, AGP and PCI interfaces were the norm) buses on the motherboard, and feature their own board and chipset. Dedicated cards are used for more resource intensive processes, such as gaming and computer aided design (or, CAD). As is such they are much more powerful than integrated chipsets, typically, and require greater cooling solutions, such as a large fan and heatsink specifically for the card.
**Integrated GPUs**, on the other hand, are either found on the motherboard, or, in recent times, within the main processor (seen in Intel's Core iX series and AMD's Fusion line). This usually means a weaker graphics processing experience, but it comes with the advantage of less space and power used. These solutions are suitable for general use, but not for more demanding processes.
===Demonstration===
==Dedicated Card==
Nvidia's stock model Geforce GTX 560 Ti
{{http://www.geforce.com/Active/en_US/shared/images/products/geforce-gtx-560-ti/GeForce_GTX_560_Ti_3Qtr_gallery_preview.png}}
==Integrated Chipset==
An Asus motherboard with Nvidia's ION Graphics chipset
{{http://www.nvidia.com/docs/IO/72770/ASUS_Mobo_new.jpg}}
====System Cooling Solutions====
===Definition===
Simply put, being that a computer runs on electricity, it is bound to get warmer and warmer as the system does work (requiring more electricity). Performance will suffer proportionately to how hot the system's components become. That is why it is necessary to utilize proper **system cooling solutions**, generally listed below.
One cooling solution would be //air cooling//. We know this simply as the fans that run within our cases. They blow air on to and or away from system components in order to maintain lower temperatures.
Another cooling solution that is commonly used would be //heat dissipation//. This takes the form of //heat-sinks// which are pieces of various metallic materials attached to components that are designed in such a way to absorb heat and spread it across itself, which keeps heat from building up in a concentrated area.
Finally, a less common, yet very effective and expensive solution is //water cooling//, which uses tubes to circulate cooled water on to components' surfaces to keep cool. As is such, it is highly effective, but is not very practical in the sense that it is quite expensive, comparatively.
===Demonstration===
==Heatsink + Fan for a CPU==
{{http://img.ehowcdn.com/article-page-main/ehow/images/a06/fh/vk/replace-computer-fan-heatsink-800x800.jpg}}
[Source: eHow]
==A System with Watercooling==
{{http://cache.gawkerassets.com/assets/images/4/2011/11/69f1aa68cb826818eee68e36048badc7.jpg?direct&400}}
[Source: [[http://gizmodo.com/5507384/build-a-kick+ass-liquid-cooling-system-in-6-simple-steps|Gizmodo]]]
====Advanced Packaging Tool====
===Definition===
**Advanced Packaging Tool**, or //APT// is a program for Linux that lets you manage the packages on a system. It is a command line driven program. As with Synaptic, this is a program that Linux users should be familiar with, as packages can be installed simply with the use of a command. This is, of course, very useful if you know what packages you want to install already. Another terminal based program, //aptitude// provides a higher level interface to the package manager, but operates much like apt in many cases.
===Demonstration===
==Updating packages==
tyler@aleron ~ $ sudo apt-get update
[sudo] password for tyler:
Ign http://ftp.us.debian.org squeeze InRelease
Hit http://ftp.us.debian.org squeeze Release.gpg
Hit http://ftp.us.debian.org squeeze Release
Get:1 http://security.debian.org testing/updates InRelease [87.8 kB]
Hit http://debian.linuxmint.com testing InRelease
Hit http://ftp.us.debian.org squeeze/main amd64 Packages
Hit http://ftp.us.debian.org squeeze/contrib amd64 Packages
Hit http://ftp.us.debian.org squeeze/non-free amd64 Packages
Ign http://ftp.us.debian.org squeeze/contrib TranslationIndex
Hit http://ftp.us.debian.org squeeze/main TranslationIndex
Hit http://debian.linuxmint.com testing/main amd64 Packages/DiffIndex
Ign http://ftp.us.debian.org squeeze/non-free TranslationIndex
Ign http://www.debian-multimedia.org testing InRelease
Hit http://debian.linuxmint.com testing/contrib amd64 Packages/DiffIndex
Hit http://debian.linuxmint.com testing/non-free amd64 Packages/DiffIndex
Ign http://debian.linuxmint.com testing/contrib TranslationIndex
Hit http://debian.linuxmint.com testing/main TranslationIndex
Ign http://debian.linuxmint.com testing/non-free TranslationIndex
Get:2 http://security.debian.org testing/updates/main amd64 Packages [14 B]
Get:3 http://www.debian-multimedia.org testing Release.gpg [198 B]
Get:4 http://security.debian.org testing/updates/contrib amd64 Packages [14 B]
Get:5 http://security.debian.org testing/updates/non-free amd64 Packages [14 B]
Ign http://security.debian.org testing/updates/contrib TranslationIndex
Ign http://security.debian.org testing/updates/main TranslationIndex
Get:6 http://www.debian-multimedia.org testing Release [32.1 kB]
Ign http://security.debian.org testing/updates/non-free TranslationIndex
Ign http://ftp.us.debian.org squeeze/contrib Translation-en_US
Ign http://ftp.us.debian.org squeeze/contrib Translation-en
Ign http://ftp.us.debian.org squeeze/non-free Translation-en_US
Ign http://ftp.us.debian.org squeeze/non-free Translation-en
Get:7 http://www.debian-multimedia.org testing/main amd64 Packages/DiffIndex [2,023 B]
Ign http://debian.linuxmint.com testing/contrib Translation-en_US
Ign http://debian.linuxmint.com testing/contrib Translation-en
Ign http://debian.linuxmint.com testing/non-free Translation-en_US
Ign http://debian.linuxmint.com testing/non-free Translation-en
Get:8 http://www.debian-multimedia.org testing/non-free amd64 Packages/DiffIndex [2,023 B]
Ign http://www.debian-multimedia.org testing/main TranslationIndex
Ign http://www.debian-multimedia.org testing/non-free TranslationIndex
Get:9 http://www.debian-multimedia.org testing/main amd64 Packages [72.7 kB]
Ign http://security.debian.org testing/updates/contrib Translation-en_US
Ign http://security.debian.org testing/updates/contrib Translation-en
Ign http://security.debian.org testing/updates/main Translation-en_US
Get:10 http://www.debian-multimedia.org testing/non-free amd64 2012-03-03-1139.41.pdiff [361 B]
Get:11 http://www.debian-multimedia.org testing/non-free amd64 2012-03-03-1139.41.pdiff [361 B]
Ign http://security.debian.org testing/updates/main Translation-en
Ign http://security.debian.org testing/updates/non-free Translation-en_US
Ign http://security.debian.org testing/updates/non-free Translation-en
Ign http://www.debian-multimedia.org testing/main Translation-en_US
Ign http://www.debian-multimedia.org testing/main Translation-en
Ign http://www.debian-multimedia.org testing/non-free Translation-en_US
Ign http://www.debian-multimedia.org testing/non-free Translation-en
Ign http://packages.linuxmint.com debian InRelease
Get:12 http://packages.linuxmint.com debian Release.gpg [197 B]
Get:13 http://packages.linuxmint.com debian Release [12.2 kB]
Get:14 http://packages.linuxmint.com debian/main amd64 Packages [12.6 kB]
Get:15 http://packages.linuxmint.com debian/upstream amd64 Packages [5,192 B]
Get:16 http://packages.linuxmint.com debian/import amd64 Packages [20.2 kB]
Ign http://packages.linuxmint.com debian/import TranslationIndex
Ign http://packages.linuxmint.com debian/main TranslationIndex
Ign http://packages.linuxmint.com debian/upstream TranslationIndex
Ign http://packages.linuxmint.com debian/import Translation-en_US
Ign http://packages.linuxmint.com debian/import Translation-en
Ign http://packages.linuxmint.com debian/main Translation-en_US
Ign http://packages.linuxmint.com debian/main Translation-en
Ign http://packages.linuxmint.com debian/upstream Translation-en_US
Ign http://packages.linuxmint.com debian/upstream Translation-en
Fetched 248 kB in 6s (39.4 kB/s)
Reading package lists... Done
tyler@aleron ~ $
==Installing packages==
tyler@aleron ~ $ sudo apt-get install [package to be installed]
=====hpc2 Objective: Apply Improved Troubleshooting Skills=====
===Definition===
While I think the objective's meaning is self-evident, I will try to elaborate. Simply put, one should be able to be more efficient and effective of a troubleshooter. Issues should be identified sooner, with possible solutions researched and attempted. Ultimately, the problem should be solved much sooner than it would have if the course was not taken.
===Method===
Well, the only way to find out if I achieved this objective is to solve problems. Solving a major problem with any system on my own should prove that I have met this objective.
===Measurement===
I can list a couple different examples of why I have met (or will meet) this objective--
* **Wireless Troubleshooting**: If you've read my opus, you know I have had issues recently with my LMDE installation's wireless connection. After considerable research and trial and error (which will be detailed in my portfolio soon), I was able to come to a solution.
* **Basic troubleshooting at work**: I work as an intern at Hilliard Corporation. They have me do basic things such as setting up and repairing systems. This is an outlet where improved troubleshooting skills come in handy, as I can be more productive.
===Analysis===
There's always room to improve when it comes to troubleshooting, so that will come in time. I think I am a decent troubleshooter as is. The measurement process could stand to be a little more objective, but the actual objective is a little subjective. I'm not entirely sure how to improve upon the objective, though.