Input-Process-Output Model | Data |
Input | Processing |
Output | Components |
Input Devices | Processor |
Information that is entered into a computer for processing. | A model used to describe the way data is entered, processed, and transformed into meaningful output. |
The manipulation of data, performed by a computer program or software. | Data that is entered into a computer for processing. |
The individual parts that make up the input-process-output model, including input devices, processors, and output devices. | The result of data that has been processed or transformed into meaningful information. |
The central processing unit (CPU) that performs the processing of data within a computer. | Hardware devices used to input data into a computer, such as a keyboard or mouse. |
Memory | Output Devices |
Examples | Calculator |
Input | Process |
Output | Input-Process-Output Model |
Hardware devices used to output data from a computer, such as a printer or monitor. | The storage space in a computer where data and instructions are stored temporarily while they are being processed. |
A simple example of the input-process-output model, where data is entered, processed, and output as a result. | Instances where the input-process-output model is used, such as a calculator or a search engine. |
The series of actions or steps taken to transform input into output. | Data or information entered into a system, which is then processed to produce an output. |
A model used to describe the flow of data through a system, which involves the input of data, the processing of that data, and the resulting output. | The resulting product or information produced by the system after processing the input. |
Control Unit | Arithmetic and Logic Unit (ALU) |
Primary Memory | Secondary Memory |
Hardware | Software |
Real World Problem-solving | System |
The part of a computer that performs arithmetic and logical operations on the input data. | The part of a computer that manages the execution of instructions. |
The part of a computer that stores data and instructions that are not currently being used by the CPU. | The part of a computer that stores data and instructions that are currently being used by the CPU. |
The programs and instructions that tell the computer what to do, including system software and application software. | The physical components of a computer system, such as the CPU, memory, and input/output devices. |
A collection of components working together to achieve a common goal or purpose. | The process of applying problem-solving skills to real-world situations in order to find a solution. |
Virtualization | Virtual machine |
Hypervisor | Host machine |
Guest machine | Isolation |
Snapshots | Cloning |
A software program or operating system that simulates a physical computer, enabling multiple operating systems to run on a single physical system. | The concept of creating a virtual version of something, such as a virtual machine, operating system or storage device. |
A physical machine that hosts one or more virtual machines. | A piece of software that enables the creation and management of virtual machines. |
The ability of a virtual machine to run independently of the host machine and other virtual machines, providing a high level of security and control. | A virtual machine that runs on a host machine. |
The process of creating a copy of a virtual machine with the same configuration and data as the original. | A feature of virtual machines that enables the capture and restoration of a particular state of the guest machine. |
Hardware emulation | Scalability |
Virtual network | Virtual appliance |
CPU | Main Memory |
Secondary Storage | Input Devices |
The ability of virtual machines to be dynamically provisioned and de-provisioned depending on demand. | The process of simulating hardware in software to enable different operating systems to run on the same hardware. |
A pre-configured virtual machine that is designed to provide a specific service or function, such as a web server or database. | A virtualized network that connects virtual machines and enables communication between them. |
Main memory, also known as RAM (random access memory), is used to temporarily store data and instructions that the CPU needs to access quickly. | The central processing unit (CPU) is the brain of the computer. It performs calculations and instructions that control the other components of the computer. |
Input devices are used to send data and instructions to the computer. Examples include keyboards, mice, and scanners. | Secondary storage refers to devices that can store data for long periods of time, even when the computer is turned off. Examples include hard disk drives, solid-state drives, and flash drives. |
Output Devices | Motherboard |
Power Supply | Expansion Cards |
Cooling System | Bus |
Hard Disk Drive | Solid-State Drive |
The motherboard is the main circuit board that connects all the other components of the computer. It serves as the central hub for communication between the various parts of the computer. | Output devices are used to display or otherwise output data from the computer. Examples include monitors, printers, and speakers. |
Expansion cards are used to add additional functionality to the computer. Examples include graphics cards, sound cards, and network cards. | The power supply is responsible for converting the AC power from the outlet into the DC power needed by the components of the computer. |
The bus is a communication pathway used to transfer data between the various components of the computer. | The cooling system is used to regulate the temperature of the components of the computer, preventing damage from overheating. |
A solid-state drive (SSD) is a type of secondary storage device that uses flash memory to store data. It is faster and more reliable than a traditional hard disk drive. | A hard disk drive (HDD) is a type of secondary storage device that uses magnetic disks to store data. It is a common type of storage device for personal computers and servers. |
Central Processing Unit (CPU) | Main Memory |
Secondary Storage | Input Devices |
Output Devices | Motherboard |
Expansion Cards | Power Supply Unit (PSU) |
Main memory, also known as RAM (Random Access Memory), is the location where the computer stores data that is currently being used. | The CPU is the primary component of a computer system that performs arithmetic, logical, and input/output operations. |
Input devices are used to enter data and commands into the computer system, such as a keyboard, mouse or scanner. | Secondary storage devices are used to store data permanently, such as hard drives, flash drives and CDs. |
The motherboard is a printed circuit board that connects and controls all the components of the computer system. | Output devices are used to display or output data from the computer, such as a monitor, printer or speakers. |
The power supply unit converts AC power from the mains into DC power that can be used by the computer components. | Expansion cards are circuit boards that can be added to the motherboard to provide additional functionality, such as a graphics card or sound card. |
Heat Sink | Fan |
System Bus | Data Bus |
Random-Access Memory (RAM) | Read-Only Memory (ROM) |
Cache Memory | Virtual Memory |
A fan is an active component that circulates air over a computer component, such as the heat sink, to aid in heat dissipation. | A heat sink is a passive component that dissipates heat from a computer component, such as the CPU, to prevent overheating. |
The data bus is a portion of the system bus that carries data between the CPU, main memory and input/output devices. | The system bus is a collection of wires and circuits that connects the CPU, main memory and other components of the computer system. |
A type of computer memory that contains data that cannot be modified. | A type of computer memory that allows data to be read and written in any order. |
A type of computer memory that allows the operating system to use hard disk space to supplement the RAM when the RAM is full. | A type of computer memory that is used to improve data access times by temporarily storing frequently accessed data. |
Main Memory | Secondary Memory |
Flash Memory | Dynamic RAM (DRAM) |
Static RAM (SRAM) | Non-Volatile Memory |
Volatile Memory | Magnetic Storage |
The memory in a computer that is used for long-term storage of data or programs. | The memory that a computer uses to temporarily store data while it is running. |
A type of RAM that needs to be refreshed constantly to retain its data. | A type of non-volatile memory that can be electrically erased and reprogrammed. |
A type of computer memory that retains its data even when the power is turned off. | A type of RAM that does not need to be refreshed constantly to retain its data. |
A type of secondary memory that uses magnetic patterns on spinning disks or tapes to store data. | A type of computer memory that loses its data when the power is turned off. |
Stored program | CPU |
Fetch-decode-execute cycle | CU |
ALU | Registers |
Clock | Address bus |
Central Processing Unit, the part of a computer that performs most of the processing and control. | A concept in computer science that refers to a program that is stored in a computer's memory. |
Control Unit, the part of the CPU that manages the flow of data and instructions within the CPU. | The cycle that the CPU goes through in order to execute instructions: fetching the instruction from memory, decoding it, and then executing it. |
Small amounts of memory within the CPU that are used to store data temporarily during processing. | Arithmetic Logic Unit, the part of the CPU that performs calculations and logical operations. |
The part of the CPU that carries signals from the CPU to the memory in order to fetch data or instructions. | The component of the CPU that sets the pace at which instructions are executed, by generating clock cycles. |
Data bus | Control bus |
Cloud storage | Remote access |
Scalability | Data security |
Data ownership | Data privacy |
The part of the CPU that carries signals that control the operations of the CPU, such as signalling the start of a new clock cycle. | The part of the CPU that carries signals from the memory to the CPU and vice versa, in order to transfer data. |
The ability to access stored data from any location with an internet connection. | A type of secondary storage where data is stored remotely on multiple servers on the internet. |
The protection of data from unauthorized access, use, disclosure, destruction, modification, or disruption. | The ability of cloud storage to easily accommodate changes in storage needs without requiring physical upgrades or changes to individual devices. |
The protection of sensitive data from being accessed or disclosed by unauthorized parties. | The rights and control a user has over the data they store in the cloud. |
Cost savings | Redundancy |
Bandwidth | Latency |
Local storage | External hard drive |
Embedded System | Microcontroller |
The storage of data in multiple locations for increased reliability and fault tolerance. | The reduction in costs associated with physical storage devices and maintenance, as well as the ability to scale storage needs up or down as required. |
The delay between the transmission of data and the receipt of a response. | The amount of data that can be transmitted over an internet connection in a given amount of time. |
A portable device used for backing up and storing data, usually connected to a computer via USB. | The storage of data on physical devices located on a user's premises. |
A small computer on a single integrated circuit containing a processor core, memory, and programmable input/output peripherals. | A dedicated computer system designed for one or a few specific functions. |
Hardware | Software |
Input device | Output device |
Real-time system | Sensor |
Actuator | Interface |
The set of instructions that tells a computer what to do. | The physical parts of a computer system that can be touched and seen. |
Hardware devices that are used to display data or information processed by a computer system. | Hardware devices that are used to enter data and instructions into a computer system. |
A device that detects and responds to some type of input from the physical environment. | An embedded system that must respond to input/outputs instantly within a specified time. |
A device or program that enables communication between a computer system and other devices or users. | A device that converts the output of a computer system into a physical action or movement. |
Mass production | Customized production |
Data storage | Physical devices |
Magnetic devices | Optical devices |
Solid state devices | Hard disk drives |
Production of goods according to the specific needs or requirements of customers or clients. | The production of goods in large quantities using standardization and assembly line techniques. |
Hardware components designed to store electronic data in a persistent form. | The retention of electronic data in a persistent form on a physical device. |
Physical devices that use light to store electronic data. | Physical devices that use magnetic fields to store electronic data. |
Magnetic devices that use spinning platters to store electronic data. | Physical devices that use flash memory to store electronic data. |
Floppy disk drives | Compact disc drives |
Digital versatile disc drives | Blu-ray disc drives |
Flash memory | Advantages of solid state devices |
Disadvantages of solid state devices | AND operator |
Optical devices that use lasers to read and write electronic data on a disc. | Obsolete magnetic devices that use thin magnetic disks to store electronic data. |
Optical devices that use blue lasers to read and write electronic data on a disc. | Optical devices that use lasers to read and write electronic data on a disc. |
Low power consumption, faster access times, and high durability. | Solid state devices that use NAND or NOR gates to store electronic data. |
A logical operator that returns true if and only if both operands are true. | Higher cost per GB compared to magnetic storage, limited write cycles per cell. |
OR operator | NOT operator |
Logic statement | Truth value |
Truth table | Conjunction |
Disjunction | Negation |
A logical operator that negates the value of its operand. | A logical operator that returns true if at least one of the operands is true. |
The value (true or false) that a logic statement evaluates to. | A statement that can be evaluated as either true or false. |
A compound logic statement formed by the AND operator. | A table used to list all possible combinations of inputs and their corresponding truth values for a logic statement. |
A logic statement formed by the NOT operator. | A compound logic statement formed by the OR operator. |
Compound logic statement | Logical equivalence |
Tautology | Contradiction |
Logic statement | Negation |
Conjunction | Disjunction |
Two logic statements are logically equivalent if they have the same truth values for all possible combinations of inputs. | A logic statement formed by combining two or more simple logic statements. |
A logic statement that is always false, regardless of the inputs. | A logic statement that is always true, regardless of the inputs. |
The opposite of a logical statement; the negation of a true statement is false, and vice versa. | A proposition that can be either true or false. |
The logical 'or' operator, which produces a true value if either of the statements being compared is true. | The logical 'and' operator, which produces a true value only if both statements being compared are true. |
Conditional statement | Contrapositive statement |
Inverse statement | Logical equivalence |
Truth table | Tautology |
Contradiction | Logical inference |
A conditional statement in which the antecedent and consequent have been negated and swapped, resulting in a logically equivalent statement. | A statement that asserts a connection between two other statements, often expressed as 'if p then q', where p and q are logical statements. |
Two statements that are true under exactly the same circumstances. | A conditional statement in which both the antecedent and consequent have been negated, resulting in a logically distinct statement. |
A logical statement that is always true, regardless of the truth values of its components. | A table that shows the truth value of a logic statement for every possible combination of values of its components. |
The process of deriving a conclusion from one or more premises, using the rules of logic. | A logical statement that is always false, regardless of the truth values of its components. |
Utility software | File management |
File repair | File conversion |
Compression utility | Defragmentation utility |
Backup utility | Anti-malware software |
The process of organizing and categorizing files on a computer or other storage device. | Software designed to perform specific tasks, usually related to managing, maintaining, and optimizing a computer system. Examples include antivirus software, backup software, disk defragmenter software, compression software, and file conversion software. |
The process of changing one file format to another, usually performed by specialized software. | The process of fixing errors or damage in files, typically performed by specialized software. |
Utility software that reorganizes the files on a hard drive to make them more efficient and easier to access, typically resulting in faster performance. | Utility software that reduces the size of files or collections of files, typically used to save storage space or to make it easier to transfer files over the internet. |
Software designed to protect computer systems against viruses, spyware, and other malicious code. | Utility software that creates copies of files or entire storage devices, typically used to protect against data loss in the event of hardware failure or other disasters. |
Virus | Spyware |
Adware | Firewall |
Operating System | Process Management |
File Management | Hardware Management |
A type of malware that is designed to monitor and collect information from a computer system, often used for nefarious purposes such as stealing personal data or tracking a user's online behavior. | A type of malware that spreads by inserting copies of itself into other programs or files on a computer system, with the goal of causing harm to the system or stealing data. |
A security system that restricts incoming and outgoing network traffic based on a set of configurable rules, typically used to prevent unauthorized access to or from a private network. | A type of malware that displays unwanted advertisements or pop-ups on a user's computer system, often attempting to trick the user into downloading more malicious software or products. |
Process Management is the act of managing multiple processes running on a computer system by scheduling the tasks, allocating resources, and synchronizing the processes. | An Operating System is a software that acts as an interface between the user and the computer hardware. It manages the resources of a computer system and provides common services for computer programs. |
Hardware Management is the act of managing the hardware components of a computer system, including input/output devices, memory, and storage devices. | File Management is the act of managing files in a computer system, including creating, deleting, copying, moving, and organizing files. |
User Interface | Batch Operating System |
Interactive Operating System | Real-time Operating System |
Multi-tasking | Multi-processing |
Multi-user | Graphical User Interface (GUI) |
A Batch Operating System is an operating system that processes a group of similar tasks in batches without user interaction. | A User Interface is the means by which the user interacts with the computer system. This includes graphical user interfaces (GUIs), command-line interfaces (CLIs), and other types of interfaces. |
A Real-time Operating System is an operating system that guarantees a specific response time for critical operations, such as controlling industrial processes or scientific experiments. | An Interactive Operating System is an operating system that allows the user to interact with the computer system through a user interface. |
Multi-processing is the ability of an operating system to utilize multiple processors or cores to run multiple tasks or processes at the same time. | Multi-tasking is the ability of an operating system to run multiple tasks or processes at the same time on a single processor. |
A Graphical User Interface (GUI) is a type of user interface that allows the user to interact with the computer system through pictures, images, and icons, rather than text commands. | Multi-user is the ability of an operating system to allow multiple users to access the computer system simultaneously, with each user having their own user account and access rights. |
Utility software | File manager |
Disk repair software | Compression software |
Backup software | Antivirus software |
Diagnostic software | Disk clean-up software |
A file manager is a type of utility software that allows users to manage files and folders on their computer, such as renaming, moving, copying and deleting files. | Utility software is a program that is used to perform maintenance or support tasks on a computer system, such as file management, disk repair, compression, backup and antivirus software. |
Compression software is a type of utility software that is used to reduce the size of files or folders, making them easier to store, send or share over the internet or other digital media. | Disk repair software is a type of utility software that is used to repair damaged or corrupted hard disks or other storage devices, in order to prevent data loss and ensure the continued functioning of the computer. |
Antivirus software is a type of utility software that is used to protect a computer system against viruses, malware, spyware, and other forms of malicious software that can harm the system or compromise user privacy. | Backup software is a type of utility software that is used to create and maintain copies of important data, in case of accidental deletion, hardware failure, or other data loss events. |
Disk clean-up software is a type of utility software that is used to identify and remove unnecessary or temporary files, cookies, and other junk data from a computer system, in order to free up space and optimize performance. | Diagnostic software is a type of utility software that is used to identify and troubleshoot problems in a computer system, such as hardware or software failures, conflicts, or performance issues. |
Firewall software | Registry cleaner software |
Encryption software | Virtualization software |
System Software | Operating System |
Device Driver | Utility Program |
Registry cleaner software is a type of utility software that is used to clean and optimize the Windows registry, which is a database that stores settings and configurations for the operating system and applications, in order to improve performance and stability. | Firewall software is a type of utility software that is used to monitor and control incoming and outgoing network traffic, in order to prevent unauthorized access, data leaks, and other security breaches. |
Virtualization software is a type of utility software that is used to create virtual machines, which are simulated computer systems that can run multiple operating systems or programs, in order to partition or share resources, test new software, or enhance security. | Encryption software is a type of utility software that is used to encrypt or scramble sensitive data, such as passwords, financial information, or private messages, in order to prevent unauthorized access or theft. |
A type of system software that manages computer hardware and provides services for applications. | The software that manages and controls the hardware components and provides a platform for running applications. |
A type of system software that performs maintenance tasks for the operating system and other software. | A type of system software that enables communication between the device and the operating system. |
Application Software | Web Browser |
Word Processing Software | Spreadsheet Software |
Database Software | Graphics Software |
Multimedia Software | Productivity Software |
A type of application software that enables users to access and navigate the World Wide Web. | The software that is designed to perform specific tasks for the user, such as word processing, spreadsheet, or graphics. |
A type of application software that allows the user to create, organize, and analyze data in rows and columns. | A type of application software that allows the user to create, edit, and format text documents. |
A type of application software that allows the user to create and manipulate images and graphics. | A type of application software that allows the user to organize and manage large amounts of data in an efficient way. |
A category of application software that includes tools for creating, editing, and managing documents, presentations, and spreadsheets. | A type of application software that allows the user to create, edit, and play audio and video files. |
Software Simulation | Modeling |
Real-World Events | Scenarios |
Phenomena | Advantages |
Disadvantages | Accuracy |
The process of using software to create a model of real-world situations and phenomena. | The process of using software to create a simulation of real-world events and scenarios. |
Possible sequences of events or situations that can occur in real-world environments or simulations. | Actual occurrences in the physical world that are being simulated by software. |
Benefits or positive outcomes resulting from using simulations and models in software. | Observable occurrences or facts that happen in the world that can be modeled in software. |
The degree to which a simulation or model accurately represents the real-world event or scenario being simulated or modeled. | Negative consequences or limitations resulting from using simulations and models in software. |
Interactivity | Complexity |
Simulation Software | Modeling Software |
High-Level Programming Language | Low-Level Programming Language |
Abstraction | Compiler |
The level of detail and intricacy that can be modeled in a simulation or model, which can impact its accuracy and practicality. | The ability of simulations and models to be manipulated and interacted with by users in order to gain insights or test hypotheses. |
Software specifically designed to create models of real-world situations and phenomena. | Software specifically designed to create simulations of real-world events and phenomena. |
A programming language that is closer to the hardware and provides direct access to hardware resources and machine instructions. | A programming language that abstracts away details of the underlying hardware and provides constructs that are closer to the way humans think about solving problems. |
A program that translates source code written in a high-level language into machine instructions that a computer can understand. | The process of reducing complexity by hiding details and providing a simpler, high-level interface. |
Interpreter | Syntax |
Semantics | Data Types |
Variables | Control Flow |
Assembly Language | Machine Language |
The set of rules that govern the structure of a programming language. | A program that reads and executes source code written in a high-level language directly, without first translating it into machine instructions. |
The classification of data items into different types, such as integers, floating-point numbers, or characters. | The meaning of programming constructs and how they are executed by a computer. |
The order in which statements are executed in a program, determined by logic and conditional statements. | Named storage locations in a program that hold values of a particular data type. |
The language understood by a computer consisting of binary digits (0 and 1) that represent individual machine instructions. | A low-level language that uses mnemonic codes to represent individual machine instructions. |
Assembler | Compiler |
Interpreter | Assembly Language |
Machine Language | High-Level Language |
Source Code | Object Code |
A program that translates high-level language into machine language. Advantages include faster execution and easier debugging. Disadvantages include longer development time and less platform independence. | A program that translates assembly language into machine language. |
A low-level programming language that uses mnemonic codes to represent machine language instructions. | A program that executes code one line at a time without translating it into machine language. Advantages include faster development time and greater platform independence. Disadvantages include slower execution and harder debugging. |
A programming language that is closer to natural language and more abstract than low-level languages like assembly language. | The binary code that a computer can execute directly. |
The machine-readable version of a program, produced by a compiler or assembler. | The human-readable version of a program, written in a programming language. |
Executable Code | Debugging |
Platform Independence | Development Time |
High-level programming language | Low-level programming language |
Abstraction | Compiler |
The process of finding and fixing errors in code. | The machine-language version of a program that can be run directly by a computer. |
The amount of time it takes to write a program, from start to finish. | The ability of a program to run on different operating systems or hardware without modification. |
A programming language that is closer to the hardware and provides a low level of abstraction from it. | A programming language that is closer to human language and provides a high level of abstraction from the hardware. |
A program that translates source code written in a high-level language into machine code. | The process of removing unnecessary details and focusing on essential features. |
Interpreter | Assembly language |
Machine code | Portability |
Source code | Debugging |
Object-oriented programming | Structured programming |
A low-level programming language that represents machine instructions in mnemonic form. | A program that executes source code written in a high-level language directly, without translating it into machine code. |
The ability of a program to run on different hardware or software platforms without modification. | The language that a computer can directly understand, consisting of binary instructions. |
The process of finding and fixing errors in a program. | The original human-readable program written in a high-level language. |
A programming paradigm that uses control structures such as loops and conditionals to organize code and minimize complexity. | A programming paradigm that uses objects to represent real-world concepts and encapsulates data and behavior within them. |
Assemblers | Compilers |
Interpreters | Assembly language |
Machine code | High-level programming language |
Compilation | Execution |
A program that translates high-level programming language code into machine code. | A program that translates assembly language code into machine code. |
A low-level programming language that is human-readable and closely related to machine code. | A program that directly executes high-level programming language code without the need for compilation. |
A programming language that is easier for humans to understand and write than low-level languages like assembly language. | Instructions that can be executed directly by the CPU of a computer. |
The process of the CPU running machine code instructions to carry out a program's tasks. | The process of translating high-level programming language code into machine code using a compiler. |
Advantages of assemblers | Disadvantages of assemblers |
Advantages of compilers | Disadvantages of compilers |
Assembly language is more difficult to read, write, and maintain than high-level programming languages. | Assembly language is faster and more efficient than high-level programming languages. |
The compilation process takes longer and requires more resources than simply writing and running assembly language code. | High-level programming languages are more human-readable, easier to write and maintain than assembly language. |