Hardware and Software Components for Data Integrity
Hardware Devices for Safety Information: UPS, Disk Mirroring
Many systems provide hardware and software resources to multiple users. Therefore, the integrity of the information they contain and work with must be protected against physical shortcomings: power outages, heat, dust, electromagnetic fields, viruses, etc.
UPS (Uninterruptible Power Supply)
A UPS is a high-power device that acts as a bridge between AC power and the computer. It protects against voltage spikes and power cuts that can damage hardware. In a power outage, a UPS allows continued computer operation for a short period (5 to 45 minutes), providing enough time to shut down properly and avoid data loss. It also filters electrical surges and protects against voltage fluctuations, including those over telephone lines.
A UPS should have enough plugs to connect all devices needing protection and communicate with the system software. This allows for configurable decisions in case of power failure, such as saving work in progress. This prevents issues like corrupted files, premature hardware failures, and malfunctions. UPS models range from those serving a single computer to larger units protecting an entire internal electrical network.
Disk Mirroring
A mirror disk system uses two disks storing identical information simultaneously. If one disk fails, the system continues operating with the other.
Logical Components (Data and Software)
Two primary types of information are essential for computer operation:
- Data: The characters and values representing the information itself.
- Instructions: Operations performed on the data.
Logically, a computer receives input data, processes it following program instructions, and produces output data or results.
Data Types
Three basic data types are handled by computers:
- Input Data: From input units (keyboard, optical readers, scanners) or storage drives (CD-ROM, hard disk, floppy disks).
- Intermediate Data: Obtained during processing but not final output results.
- Output Data: Results of processing, obtained through output units (printer, plotter) and potentially stored for later use.
Computers represent data internally as bits in memory locations. Legible data on the screen is represented internally as a set of bits. The computer encodes input data (letters and numbers) into bytes using specific alphanumeric codes. It also represents output data in a readable format while maintaining its internal bytecode representation.
Information Measures
Computer data storage capacity is measured in bytes, with one byte equivalent to one character. A byte consists of 8 bits. A bit is a binary digit (0 or 1).
- Byte: 8 bits (usually represents one alphanumeric character).
- Nibble: Half a byte (4 bits).
- Kilobyte (KB): 1,024 bytes.
- Megabyte (MB): 1,024 KB (approximately one million bytes).
- Gigabyte (GB): 1,024 MB.
- Terabyte (TB): 1,024 GB.
The byte is the basic unit for measuring both RAM and storage capacity. A word is the size of information (in bits) processed in parallel by the computer. Word size depends on the microprocessor (8, 16, 32, or 64 bits). Larger sizes are multiples of these.
Coding Systems
Computers use electronic circuits, representing voltage presence with 1 and absence with 0 (positive logic). Negative logic (0 for voltage presence, 1 for absence) is less common.
We use decimal numbers and alphabetical characters, but computers recognize only digital signals. Encoding methods represent information and instructions internally using the binary system.
Characters used for input include:
- Alphabetic: (a, b,…, z, A, B,…, Z)
- Numeric: (0, 1,…, 9)
- Special: ((, ), *, +, -, ?, …)
- Control: (end of line, sync, page advance, beep, …)
- Graphic: (¬, ,¶,§,?,?,?,?,…, …)
Alphanumeric characters combine alphabetic and numeric characters. Text characters include alphabetic, numeric, and special characters.
Coding assigns a unique sequence of zeros and ones to each character. This input/output code mapping is arbitrary, but standard codes are internationally recognized.
Coding maps an initial set of characters (a,…, z, A,…, Z, 0,…, 9, *, +, …) to a set of binary sequences (0, 1)n, where n is the length needed to represent all initial symbols.