TEJ2O_Software

include component="page" page="course_tabs_header" include component="page" page="menu_TEJ2O_crumbs"

=SOFTWARE=

Software, is a collection of computer programs and related data that provide the instructions telling a computer what to do and how to do it. It typically **provides a layer of interaction between the hardware and the user**. We can also say software refers to one or more computer programs and data held in the storage of the computer for some purposes. In other words software is a set of programs, procedures, algorithms and its documentation. Program software performs the function of the program it implements, either by directly providing instructions to the computer hardware or by serving as input to another piece of software. The term was coined to contrast to the old term hardware (meaning physical devices). In contrast to hardware, software is intangible, meaning it "cannot be touched". [|Source]

Examples of computer software include:


 * Application software includes end-user applications of computers such as word processors or video games.
 * Middleware controls and co-ordinates distributed systems.
 * Programming languages define the syntax and semantics of computer programs. For example, many mature banking applications were written in the COBOL language, originally invented in 1959. Newer applications are often written in more modern programming languages.
 * System software includes operating systems, which govern computing resources. Today, large applications running on remote machines such as websites are considered to be system software, because the end-user interface is generally through a graphical user interface, such as a web browser.
 * Firmware is low-level software often stored on electrically programmable memory devices. Firmware is given its name because it is treated like hardware and run ("executed") by other software programs.
 * Device drivers control parts of computers such as disk drives, printers, CD drives, or computer monitors.

=Operating Systems=

An operating system (OS) is software, consisting of programs and data, that runs on computers and manages computer hardware resources and provides common services for efficient execution of various application software.

For hardware functions such as input and output and memory allocation, the operating system acts as an intermediary between application programs and the computer hardware, although the application code is usually executed directly by the hardware, but will frequently call the OS or be interrupted by it. Operating systems are found on almost any device that contains a computer—from cellular phones and video game consoles to supercomputers and web servers.

Examples of popular modern operating systems for personal computers are Microsoft Windows, Mac OS X, and GNU/Linux. Slated for release in the fall of 2011, Google will soon turn-out a Google OS ([|Chromium]) for PC's which will prove exciting.

OS ||~ Black- Berry OS ||~ Other || versions ||~ Mac OS ||~ iOS ||~ main- stream ||~ Android ||^  ||^   ||^   ||
 * ~ Source ||~ Date ||||||||~ Microsoft Windows ||||~ Apple ||||~ Linux ||~ Symbian
 * ^  ||^   ||~ 7 ||~ Vista ||~ XP ||~ All
 * = AT Internet Institute ||= Aug. 2010 ||= 17.50% ||= 20.70% ||= 51.30% ||= 90.90% ||= 6.20% ||= 1.40% ||= 0.90% ||= --- ||= --- ||= --- ||= 0.60% ||
 * = Clicky Web Analytics ||= Jan. 2011 ||= 25.18% ||= 14.35% ||= 37.63% ||= 82.65% ||= 12.12% ||= 2.40% ||= 1.19% ||= 0.86% ||= 0.09% ||= 0.37% ||= 0.32% ||
 * = Net Market Share ||= Jan. 2011 ||= 22.31% ||= 11.66% ||= 55.26% ||= 89.70% ||= 5.25% ||= 2.05% ||= 0.95% ||= 0.49% ||= 0.28% ||= 0.12% ||= 1.16% ||
 * = Global Stats ||= Jan. 2011 ||= 26.49% ||= 14.45% ||= 46.68% ||= 88.04% ||= 6.28% ||= 1.50% ||= 0.71% ||= 0.64% ||= 1.30% ||= 0.65% ||= 0.88% ||
 * = StatOwl ||= Jan. 2011 ||= 25.65% ||= 18.65% ||= 41.45% ||= 87.03% ||= 12.29% ||= --- ||= 0.52% ||= --- ||= --- ||= --- ||= 0.16% ||
 * = W3Counter ||= Jan. 2011 ||= 26.66% ||= 14.21% ||= 41.49% ||= 82.94% ||= 8.59% ||= 2.02% ||= 1.38% ||= 0.47% ||= --- ||= 0.41% ||= 4.19% ||
 * = Webmasterpro ||= Jan. 2011 ||= 28.2% ||= 18.5% ||= 41.9% ||= 90.2% ||= 5.6% ||= 2.2% ||= 1.3% ||= 0.3% ||= 0.2% ||= 0.01% ||= 0.19% ||
 * = Wikimedia ||= Jan. 2011 ||= 24.85% ||= 16.41% ||= 40.37% ||= 82.21% ||= 7.56% ||= 3.67% ||= 1.47% ||= 0.91% ||= 0.20% ||= 0.55% ||= 3.43% ||
 * = **Median** ||= **Jan. 2011** ||= **25.42%** ||= **15.43%** ||= **41.70%** ||= **87.54%** ||= **6.92%** ||= **2.05%** ||= **1.07%** ||= **0.57%** ||= **0.20%** ||= **0.39%** ||= **0.74%** ||

While the vast majority of the populace uses Windows as an operating system, when you get into the mobile computing market, OS's include Symbian, Android, iOS and Blackberry's OS (based on QNX)
 * ~ Source ||~ Year ||~ [|Symbian] ||~ [|Android] ||~ [|RIM] ||~ [|iOS] ||~ [|Microsoft] ||~ Other OSs ||
 * Gartner || 2010 || 37.6% || 22.7% || 16.0% || 15.7% || 4.2% || 3.8% ||
 * Gartner || 2009 || 46.9% || 3.9% || 19.9% || 14.4% || 8.7% || 6.1% ||
 * Gartner || 2008 || 52.4% || 0.5% || 16.6% || 8.2% || 11.8% || 10.5% ||
 * Gartner || 2007 || 63.5% || N/A || 9.6% || 2.7% || 12.0% || 12.1% ||
 * Gartner || 2008 || 52.4% || 0.5% || 16.6% || 8.2% || 11.8% || 10.5% ||
 * Gartner || 2007 || 63.5% || N/A || 9.6% || 2.7% || 12.0% || 12.1% ||

**Table 1** **Worldwide Mobile Device Sales to End Users in 2010 (Thousands of Units)** **Units** || **2010Market Share (%)** || **2009** **Units** || **2009 Market Share (%)** ||
 * **Company** || **2010**
 * Nokia || 461,318.2 || 28.9 || 440,881.6 || 36.4 ||
 * Samsung || 281,065.8 || 17.6 || 235,772.0 || 19.5 ||
 * LG Electronics || 114,154.6 || 7.1 || 121,972.1 || 10.1 ||
 * Research In Motion || 47,451.6 || 3.0 || 34,346.6 || 2.8 ||
 * Apple || 46,598.3 || 2.9 || 24,889.7 || 2.1 ||
 * Sony Ericsson || 41,819.2 || 2.6 || 54,956.6 || 4.5 ||
 * Motorola || 38,553.7 || 2.4 || 58,475.2 || 4.8 ||
 * ZTE || 28,768.7 || 1.8 || 16,026.1 || 1.3 ||
 * HTC || 24,688.4 || 1.5 || 10,811.9 || 0.9 ||
 * Huawei || 23,814.7 || 1.5 || 13,490.6 || 1.1 ||
 * Others || 488,569.3 || 30.6 || 199,617.2 || 16.5 ||
 * **Total** || **1,596,802.4** || **100.0** || **1,211,239.6** || **100.0** ||



Assignment#6 - Operating Systems
Answer the following questions in a word-processed document:

1. What is an Operating System? What are the basic functions of an operating system? 2. What is a GUI? 3. What is multitasking? 4. What is your favourite operating system? Why?

5. Choose one of the operating systems listed below (or another one of your choosing) for your virtual computer and answer the following questions (include a screenshot of your OS):

a) What are the minimum hardware requirements for your OS? b) How much does the OS cost? c) Describe the OS. eg. Does it multitask? Does it have a GUI? Who makes it? Anything else?

OS Examples

Unix Linux Microsoft Windows NT Microsoft Windows 98 Microsoft ME Microsoft Windows 2000 Microsoft Windows XP Microsoft Vista Microsoft Windows 7 Microsoft Windows 8 IBM OS/2 OS X iOS Android



Assignment #7 - Linux Distributions
Go to [] and complete the linux distribution chooser. Create an email to me (JMcIntyre@SouthCarletonHS.OCDSB.ca) with the name of the distro of your choice.

Instructions: Obtain a "Live CD" from the teacher and answer the following questions in an email message and send them to JMcIntyre@SouthCarletonHS.OCDSB.ca (Ensure your name and the assignment # is in the subject title of the email.) 1. Can you access the internet? Can you access your email account? 2. What is Linux? Who created Linux? What is a Linux distribution? 3. There is no number 3. 4. What distribution are you running with your "Live CD"? (If you have used a linux distro in the past, please choose a distro that you haven't used before) 5. What word processor is included with your distribution? 6. What internet browser(s) is included with your distribution? 7. Is there an image manipulation program included with your distribution? Name it. 8. Name 3 other applications (not games) included with your distribution and their purpose. 9. Are there any games included with your distribution? Name 5. 10. Choose a piece of software included with your distribution and write two or three paragraph review on it (Include a comparison, if you can, to a similar Windows program).

 =Assignment #8 – Linux Terminal=

Answer the following questions in a text document and save them to the D drive. Submit them via. mydocs.ocdsb.ca. Be sure to include the terminal command you used for each question.

Boot up a Live CD and find an Application called the 'Terminal' in the Application menu. The Terminal's location will vary from distribution to distribution. Once the terminal has started, you should see something like this:

code [user@localhost ~]$ code In linux there are a variety of commands that are used to navigate. They can be found [|here]. Get used to navigating the linux command structure as there are a myriad of times in a programmer's/engineer's life they need to play around with terminal access.


 * 1. You are going to find out the dirty details on what type of CPU your computer has, so type the following command, followed by ENTER:**

[user@localhost ~]$ cat /proc/cpuinfo

The terminal will look at the information file located at /proc/cpuinfo, a nd display the results to you, they will look something like this:

code processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 8 model name : Pentium III (Coppermine) stepping : 3 cpu MHz : 596.123 cache size : 256 KB div_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 2 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse bogomips : 1193.61 code

This tells you that the Processor is an Intel, Pentium III with a Coppermine core, equipped with a 256KB L2 Cache, and running at 596Mhz. The 'flags' section of cpuinfo tells you what extensions your CPU has.

For example, this is the /proc/cpuinfo output for an AMD Athlon64 3200+:

code processor : 0 vendor_id : AuthenticAMD cpu family : 15 model : 47 model name : AMD Athlon(tm) 64 Processor 3200+ stepping : 0 cpu MHz : 2000.000 cache size : 512 KB fpu : yes fpu_exception : yes cpuid level : 1 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt lm 3dnowext 3dnow up pni lahf_lm bogomips : 4002.56 TLB size : 1024 4K pages clflush size : 64 cache_alignment : 64 address sizes : 40 bits physical, 48 bits virtual power management: ts fid vid ttp tm stc code

MMX, SSE, SSE2, and PNI (SSE3) are used for multimedia purposes, such as rendering video, audio, and a host of other functions. As you can see from the Pentium III and Athlon64 flags, many CPUs share similar instruction sets, while each brand of CPU (AMD and Intel) have their own custom flags like 3DNow!


 * 2. Once you've finished writing down the CPU make, speed, cache size, and bogomips, it's time to move on to the next command.**

Type the following into the terminal:

code [user@localhost ~]$ free -m code

This command will display how much memory your system has, in MegaBytes. If your system has virtual memory, or swap, enabled, it will also display how much is available and how much is used.

The output from 'free -m' should look similar to this:

code total used free shared buffers cached Mem: 2010 1993 16 0 8 640 -/+ buffers/cache: 1344 665 Swap: 4188 81 4107 code

This tells the user that the computer they're on has 2010MB of RAM (2048MB), and 4188MB of swap/virtual memory (4096MB).


 * 3. After you've finished writing down how much memory your system has, it's time to move on to the next command.**

Type the following command into the terminal:

code [user@localhost ~]$ uptime code

This command will tell the user the current time, how long the computer has been running without a reboot, how many users are logged on, and the load.

The output from 'uptime' should look similar to this:

code 13:31:59 up 13 days, 3:55, 14 users, load average: 1.43, 0.99, 0.47 code

This tells the user that the time is 1:31PM, the computer has been running for 13 days and 4 hours without a reboot, that 14 users are logged on, and that the load is 1.43. The three numbers listed as load average is for the past one minute (1.43), the average over the past 5 minutes (0.99), and the average over the past 15 minutes (0.47).


 * 4. Record the uptime.**

If you want more detailed information about the processes currently running, type the command 'top' followed by the ENTER key. When you're finished looking at the processes running, hold the CTRL key while pressing the C key.

If you want more detailed information about the users currently logged onto the system, type the command 'w' followed by the ENTER key.

If you want more detailed information about the previous users on the system, type the command 'last' followed by the ENTER key. This will display from what computer(s) the users were logged in from, how long they were logged in or if they're still logged in, and what terminal they logged into.

Each linux computer has a TTY, a TTY is a text terminal that starts after the computer boots. There are multiple TTYs, and you can access them by pressing CTRL + ALT + F1 -> 6 and F9 -> 12. F7 is used by the X server to display the window manager, which is a large GUI similar to that of Finder or the Windows Vista Aero Interface. F8 is sometimes used by a login manager like GDM, but can be unused as well, it varies from system to system.

Although it is not necessary to become root - also known as System Administrator, Super User, and Admin - on a Live CD, you can become root by typing 'su -' followed by the ENTER key, and typing in the password of the Super User account.


 * 5.Type "uname –a". Record the output.**


 * 6. Use the internet to find 10 more “useful” terminal commands used in Linux and record their purpose.**

 =Assignment #9 - Major Computer Assembly=

Test assigned computer and record observations (eg. Does it turn on? Does the monitor turn on? Do the mouse and keyboard work? Does it boot into an OS? Error messages?, etc.) Take apart computer and record the make and model number of each of the components. (Do not remove fan/heat sink from CPU. Do not remove CPU from motherboard. Do not remove motherboard from case.) Reassemble computer and test. Record observations. Install OS and drivers. Install (__at least__) the following software: SuperPi, CPU-Z, Firefox, Open Office, VLC, Sumatra PDF. Be sure to include your SuperPi benchmark for 1 million decimal places in your final observations.

Include all observations in a notepad document and submit it as an attachment in an email to me. **I MUST see your computer before you disassemble it.**

 =Assignment #10 - Computer Hardware Related Acronyms=

Answer the following questions in a document to be submitted into the handin folder.

__PART A__
For each of the following, state what each acronym stands for AND categorize it as STORAGE, INTERFACE, NETWORKING, OTHER

CPU RAM SCSI PCI ROM MP3 HDD CDROM DVD AGP FSB ATX HDMI PS2 USB BIOS AVI SATA AMD IDE RAID NIC WIFI CRT LCD DIMM DDR VGA DVI FAT P2P NTSC

__PART B__
Prepare a list of 15 more technology-related acronyms and state their meaning.