Hardware and Software (Information via CCSU)
Chapter 1 | Introduction to Computer Systems
Hardware vs. Software
Hardware: Physical parts of a computer.
Examples include the CPU and the Hard Disk
Software: Programs and data used by a physical computer.
Examples include the Operating System and Downloaded Programs
Components of a Computer System
There are many hardware components for computer systems
- Processor
- Does fundamental computing tasks
- Controls all other components
- Sometimes known as the Central Processing Unit (CPU)
- \
| Main Memory | Secondary Memory |
|---|---|
| Connected directly with the processor | Connected to the main memory through the bus |
| Easy and fast data changes | Easy but slow data changes (slow in comparison) |
| Holds active programs and data | Stores inactive programs and data |
| Needs electric power to keep information | Does not need electric power to keep information |
| Low Capacity | High Capacity |
- Input Devices
- Examples include a Keyboard, Mouse, or Microphone
- Output Devices
- Examples include a Monitor, Printer, or Speaker
- Motherboard
- Power Supply
A bus is a group of wires on the circuit board that creates a path for data to be transported around a computer. It carries data between many of the components listed above.
Embedded System: A computer system that is part of a larger machine and controls how the machine operates.
Software
Software includes both programs and data. They are stored in the same way on the computer.
Programs
- Application Programs (Applications)
- Programs used by people to get work done.
- An example is a word processor
- Systems Programs
- Programs used by the computer to keep the hardware and software running together smoothly
- Operating System
- A type of system program that starts up applications, runs them, and manages their resources.
- Keeps the hardware and software coordinated
- Examples include MacOS, Windows, and iOS.
Starting any program is known as booting the program.
Networks
Networks are groupings of 2 or more computers that exchange data and programs. The programs and data a network-connected computer uses can be stored on a hard disk of another computer on the same network. All computers in a network have a network interface card which sends and receives data across the network.
A server is a powerful computer that holds apps and data for other computers.
Networks can be Local-Area Networks (LAN) or Wide-Area Networks (WAN). LAN connects only a few close-together computers, usually in the same building. WAN can connect thousands of computers together over a large distance through fiber optic cable, telephone lines, radio frequencies, and satellites. All computers in both network types have a network address to identify it.
To prevent networks from becoming muddled between computers, all computers on a network must have the same protocol or agreement about how to represent and transmit data. A common protocol is Internet Protocol (IP).
Chapter 2 | Analog and Binary Signals
Binary
Binary means 2 states. These two states are programmed by a 1 and a 0, and are also referred to as “true and false” or “on and off.” A bit is a single 0 or 1 value. Something digital is something that stores and processes data in terms of these 2 states. Binary is advantageous because:
- Binary devices are simple and easy to build.
- Binary signals are unambiguous.
- Flawless copies can be made of binary data.
- Anything that can be represented with some sort of pattern can be represented with patterns of bits.
Analog
An Analog Signal is a signal that may continuously change its value. By using a threshold at a particular signal value, the analog signal can be considered a binary signal. Noise can affect an analog signal, but if the signal is read as a binary signal on the receiving end, all of the information needed is received exactly as needed.
Changes in the binary signal value are designed to occur only between measurements of binary value. Computer systems have a clock to synchronize time and ensure that binary value changes occur only between measurements. This clock is part of the processor and is measured in hertz (Hz). One hertz means 1 clock tick per second. A 2 GHz processor has 2 billion clock ticks per second or 2 billion binary checks per second.
Bit Patterns
Computer memory holds bit patterns and nothing else. What those bit patterns represent depends on how they are used. A bit pattern can be used to represent anything.
Chapter 3 | Computer Memory
Copied Information
Information stored in binary does not change when it is copied. Unlimited copies can be made without changing the information in any way. Even if the data is transformed to be delivered as radio waves rather than an electrical signal, the actual information itself is not altered.
Information stored as analog signals always loses some part of the information when it is copied.
Bytes
Information is usually stored in bytes rather than bits. One byte is eight bits. This is roughly the amount of memory required to hold one specific character. A kilobyte is 1024 bytes, or 2^10. A megabyte is 1048576 bytes, or 2^20. This continues for gigabytes, terabytes, and so on.
Because these are in powers of 2, it is common to multiply these powers. To multiply, add the exponents and keep the base of 2.
Each byte of data will be written at a unique address to allow it to be found again by the computer. New bytes can be written to addresses when modifying contents, or bytes can just be read without modifying the contents.
Hard Disks
Hard disks are used for secondary storage. They consist of a disk and a read/write head. Because both the disk and read/write head must mechanically move, reading and writing data in secondary storage is much slower than in the main memory.
Chapter 4 | The Processor
Machine Instructions
A machine instruction consists of bytes in the memory that tell the processor to perform one machine operation. A collection of these machine instructions is called a machine language program or an executable program.
In most desktop computers, the processor can execute more than 1 billion machine instructions each second.
Source Program
A source program is a text file that contains instructions in a high-level language. It requires additional instructions to be run be a processor. It is usually translated from this high-level language into a machine language program. The translation is done by an application known as a translator or compiler.