TEJ2O
Computer Systems
Computer Systems
Make an entry on your Google Site Computer Systems page under the header Assignment 4. You are to create a Canva, slideshow or Kahoot etc.. that addresses some aspect of each question below. Link/insert the project to that Google Site webpage and submit the link to your webpage to Classroom
Who invented the Difference Engine and the Analytical Engine?
What is the name of the first electronic computer?
Besides being considered the first computer programmer, find out who designed a flying machine while still a teenager?
What technological change did the transistor replace?
Who invented the first binary computer?
When was the first counting machine used? and what country is credited for its development?
What contribution did Herman Hollerith make?
What problems did the first mechanical calculator have?
What does the networking technology 'sneakernet' mean? What replaced it?
What relatively new concept in computing will make computers more efficient and smaller, but works well specifically on problems with more than 1 answer?
Computers appear to becoming more human. What new steps are being taken to further this idea? Are any safeguards in place?
Is Moore's Law dead?
Before the 1880s
The abacus: Early counting device. Invented by the Babylonians. Appeared in modern form in China about 1300 A.D.
Pascal: In 1642 developed the first arithmetic machine: The Pascaline
Jacquard: In 1801 used punch cards to determine pattern of cloth on a loom. Punch cards ran a machine
Babbage: English mathematician, often recognized as the Father of Computers Designed two mechanical calculators, the Difference Engine (1823) and the Analytical Engine (1833). Machines were never built (until recently)
Lady AdaByron Lovelace (Countess of Lovelace): Daughter of Lord Byron and an accomplished mathematician. With Babbage worked on a paper to explain how the Analytical Engine worked. Recognized as the first programmer, even though only her initials were included in the paper when it was published.
1880s through WW II
Herman Hollerith: Without Herman's invention the 1890s census data would not have been tabulated until well after the 1900 census had been taken. Invented an automatic electrical tabulating machine which read punch cards (like used in Jaquard's loom) representing the census data and then collated this data. In 1924 Hollerith's company changed its name to IBM
WW II spurred advancements in technology:
Mark I, an electomechanical device. Developed in early 40s and introduced in 1944
ABC (Atanasoff-Berry Computer) built at Iowa State. First electronic digital computer
ENIAC (Electronic Numerical Integrator and Calculator. Most famous of the early computers started in 1943 and completed in 1946. Had 18,000 vacuum tubes and was the size of a gymnasium and weighed 30 ton. Each tube lasted about 20 minutes, employed about 15 men to replace tubes. To change a program had to rewire the hand-wired plug boards and set over 6000 switches.
Followed by the EDSAC and the EDVAC. No longer hand-wired, but programmed by an interally stored set of instructions.
Vacuum tube generation - 1951 to 1958
UNIVAC: First general purpose computer designed for alphabetic as well as for numerical uses. First commercially available computer. Punch cards formed the input and programming done in machine language
Transistor generation - 1959 to 1964
Size of transistor reduced the size of computers and increased the speed
Programming with English-like commands: FORTRAN and COBOL
Integrated circuit generation - 1965 to 1970
Instead of large boards, circuits were developed on single chips of silicon
IBM 360 series mainframe computers introduced
Smaller minicomputers debut. Less memory and slower processing, but made computers available to smaller businesses
Microprocessor generation - 1971 to ?
Microprocessors derived from the integrated circuits - computer on a chip
Silicon Valley becomes world renowned for manufacture of integrated circuit chips
Microcomputers on desks in offices and at home
1981 - IBM PC
1987 - IBM PS/2
Post-microprocessor generation - 2013 to ?
Optical computing - circa 2008 - where photons produced by lasers or diodes for computation. Photons promise to allow a higher bandwidth than the electrons used in conventional computers. Functional Human-level AI? Transistor limits
Quantum computing - circa 2012 - using quantum relativity effects, entangled photons of light can compute functions in parallel thus increasing processor capacities by orders of magnitude.
Wetware computing - c. 2011 - using biological components to act as the components of a circuit such as AND/OR/NOT gates. While not as fast as optical or quantum computing, due to multiple connections may have globally higher relative CPU cycles.
Hardware comprises all of the physical part of the computer such as Monitor, CPU, motherboard, RAM, CD-Rom, printer, scanner, hard disk, flash drive, processor, PCI buses, floppy disk, power supply, VGA card, sound card, network interface card, peripherals, joystick, mouse, keyboard, camera, headset and others.
On the other hard software is a logical part of a computer and is used to carry out the instructions, storing, executing and developing other software programs. A typical PC consists of a case or chassis in the desktop or tower case and these components.
Motherboard
• CPU
• Computer Fan
• RAM
• BIOS
• Digital Circuitry
• Computer Fan
• PCI Slots
PC Buses
• PCI
• USB
• Hyper-transport
• AGP
• ISA
• EISA
• VLB
Media
optical drives
Joystick
Internal storage
Hard disk (IDE & SATA)
SSD (uses SATA)
M.2 (uses NVMe/PCIe)
Data array controller (RAIDs)
External storage
floppy disk
optical disk
USB
Other Peripheral Devices
Mouse
Modems
Digital Camera
Sound, Video Cards
Printer
Output Devices
Printer
Scanner
Monitor
Speakers
Headset
Video output devices
VR?
CPU (Central Processing Unit): CPU or central processing unit relates to a specific or processor. The performance of the computer is determined by the CPU chip (processor speed) and the other computer circuitry. Currently, the Pentium chip (processor) is the most popular even though there are other chips available in the market today such as AMD, Motorola and others. Cores have taken over clock speed as the most important factor in determining the performance of a computer. The motherboard contains the hardware circuitry and connections that allow the different hardware components of the PC to interact and communicate with each other. Most computer software is being developed for the latest processors so it would be difficult to use the older systems.
Technologies to address:
Hard Disk Drives (vs. SSD)
Monitors (CRT/LCD/Organic)
Video Cards (PCI, AGP, PCIe)
Network adapters
Keyboards (QWERTY, Dvorak etc..)
Memory (DRAM, Nand, PCM etc...)
Mice and other graphical trackers (modern optical, trackball, stylus)
Printers
Scanners
Cases
For each of the computer parts listed below, record the following information on Canva and share it as a link in Classroom:
a) its purpose/function
b) a company that manufactures it
c) an approximate price
d) a picture of the component/device
1. Hard drive/solid state drive
2. Random access memory (RAM)
3. Monitor
4. Central processing unit (CPU)
5. Power Supply
6. Video card(GPU)
7. Sound card
8. Optical drive
10. Motherboard
11. Printer
12. Case/Chassis
13. Mouse
14. Keyboard
15. Network interface card (NIC)
Concept Check
Build a virtual computer capable of running Elden Ring. You must list the exact component name, the price (CDN$) and provide a link to where you bought it. You must also provide the total including tax. You may use https://ca.pcpartpicker.com/, but aren't allowed Amazon as a source for parts because they may be counterfeited from resellers.
Feel free to use the website CanYouRunIt to find the minimum requirements. Record the total price of your computer on a google sheet. Share the link to classroom when done. The winner will be the person who builds the least expensive computer that meets all of the requirements.
Here are the components:
1. Hard drive/SSD/M.2 (max 2)
2. Random access memory (RAM) (max 4 sticks)
3. Monitor (max 1)
4. Central processing unit (CPU)
5. Video card (max 1)
6. Sound card
7. there is no number 7
8. Motherboard
9. Case and power supply
10. Mouse
11. Keyboard
12. Network interface card (NIC)
Notes: some of the components may be integrated onto the motherboard
Evaluation includes Quiz #2 mark
Link in Classroom
Like any machine, when it doesn't work properly it can be frustrating. There are some basic troubleshooting steps to follow though that will help you get past the issue
Gather Information:
What exactly is happening?
When did the problem start?
What were you doing when the problem occurred?
Are there any error messages?
Has there been any recent hardware or software changes?
Can you replicate the issue?
Define the Symptoms:
Is the computer slow, crashing, or not turning on?
Is it a software issue, a hardware issue, or a network issue?
Is the problem consistent or intermittent?
Check obvious issues:
Check basic connections (power, cables, components all seated securely).
Check peripherals in case they're the issue (switch monitors, swap cables)
Ensure the device is powered on.
Look for LED power indicators. Are fans spinning? Will the machine POST?
Consider recent changes
Try power cycling. (an old IT addage, "have you tried turning it off and on again").
Research:
Search online for error messages or similar symptoms.
Consult online forums or support websites.
Review any relevant documentation.
Formulate a Hypothesis:
Based on the information gathered, what are the most likely causes?
Test One Thing at a Time:
Avoid making multiple changes simultaneously. This helps isolate the root cause.
Verify Obvious Issues:
Confirm power supply, cable connections, etc.
Test hardware components, if possible.
Prioritize Solutions:
Start with the easiest and most likely solutions (ie: turn it off and on again).
Implement the Solution:
Follow the steps needed to fix the problem.
If dealing with software issues, ensure you are downloading any fixes from trusted sources.
Test Thoroughly:
Ensure the problem is completely resolved.
Test all relevant functions.
Implement Preventive Measures:
Update software and drivers regularly.
Back up important data.
Obtain a computer from the teacher and complete the following:
1. Initial Observations: 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.)
2. Disassembly: Take apart computer and record the make and model number of each of the components (and the computer itself if it is prebuilt). (Do not remove fan/heat sink from CPU. Do not remove CPU from motherboard. Do not remove motherboard from case.)
3. Reassembly: Reassemble computer and test. Record observations.
4. Installation: We're going to use Rufus and Ventoy for USB OS installations. Ensure you get the drivers from the manufacturer's website. Install (at least) the following software: SuperPi, CPU-Z, a browser other than IE (e.g. FF), LibreOffice, VLC, Sumatra PDF. Does all the software work? Any problems? Other software/games you installed?
5. Benchmarking and Conclusions: Briefly describe any issues you had with the entire process. Is the computer slow? Did you do any upgrades?, Did you have fun?, etc. Be sure to include your SuperPi benchmark for 1 million decimal places and record it on the spreadsheet attached in Classroom.
Your final report will include the data gathered from each of the sections above.
NOTE: You may work in pairs, but the each user is to submit the report individually
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".
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.
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.
Market share of OS's
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.
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)
Desktop Browsers
Mobile Browsers
Mobile Device
Adds to Assignment #7 expectation
Go to linux distro chooser and complete the linux distribution chooser.
Instructions: Obtain a USB with Ventoy. Download "Live USB" and install it to your computer in the back of the lab
On a google doc record:
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).
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:
[user@localhost ~]$
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, and display the results to you, they will look something like this:
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 69
model name : Intel(R) Core(TM) i5-4210U CPU @ 1.70GHz
stepping : 1
microcode : 0x1c
cpu MHz : 1700.062
cache size : 3072 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm epb tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts
bugs :
bogomips : 4788.92
clflush size : 64
cache_alignment : 64
address sizes : 39 bits physical, 48 bits virtual
This tells you that the Processor is an Intel, i5 with a Coppermine core, equipped with a 3GB Cache, and running at 1700Mhz. The 'flags' section of cpuinfo tells you what extensions your CPU has.
For example, this is the /proc/cpuinfo output for an older AMD Athlon64 3200+:
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
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.
2. Once you've finished writing down the CPU make, speed and cache size, it's time to move on to the next command.
Type the following into the terminal:
[user@localhost ~]$ free -m
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:
total used free shared buffers cached
Mem: 2010 1993 16 0 8 640
-/+ buffers/cache: 1344 665
Swap: 4188 81 4107
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:
[user@localhost ~]$ uptime
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:
13:31:59 up 13 days, 3:55, 14 users, load average: 1.43, 0.99, 0.47
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.
5. Use the internet to find 10 more “useful” terminal commands used in Linux and record their purpose.
Answer the following questions on the software webpage of your Google Site. Submit the link to that page in classroom.
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
Prepare a list of 15 more technology-related acronyms and state their meaning.
Software layers and considerations when programming