Hardware and software: definitions and concepts
Table of contents:
- Definition of hardware, main types and components
- Software definition and main types
- A fusion between hardware and software : firmware
- Table of differences between hardware and software
In order for a computer system to function correctly, its hardware and software must work in a limited manner, executing the tasks that are requested of them. Although there are categorical differences between the two concepts, both parts of the computer are essential.
In the following article we are going to define what is hardware , software , what elements of the computer correspond to each part, what elements are halfway and what differences exist between each group.
Index of contents
Definition of hardware , main types and components
Hardware refers to a set of physical and tangible pieces that interact with each other in analog or digital form to give rise to the computer. Sometimes it is denoted in abbreviated form with the characters H / W or oh / w. An alternative definition refers to the presence or absence of electronics, chips or printed circuits in the piece, but it has a lower level of generality, so its use is not common.
Hardware is the physical medium on which any software is installed, operated, and operates; that is, without the hardware , the computer does not exist.
Over time, in what appears to be four technological generations, hardware has evolved slowly but progressively. The first generation, which appeared in 1945 and lasted for eleven years, was based on vacuum tubes. This was followed by transistors, used from 1957 to 1963. Since then hardware based on integrated circuits has been used. A fourth generation, under investigation and prototyping, is predicted to employ silicon-free transistors or quantum physics. The arrival of this fourth generation is difficult to predict.
The operational (and computing when appropriate) capacity of the first components has nothing to do with what we enjoy today.
When we categorize all these elements, a first classification of the hardware can be made based on its location in the computer system. Thus a division is made between the internal hardware , generally that which is included within a tower, and the external hardware , all that which has no assigned place inside the computer case and is therefore located in the range of action of the user, but outside the machine envelope.
Some of the hardware elements that would be considered internal are:
- The central processing unit, microprocessor or CPU Hard disk drives or HDD Solid state drives or SSD Hybrid hard drives or SSHD Disk read drives (CD, DVD, Blue Ray, floppy disks, etc.) RAM memory Fans System Liquid cooling Chipset or auxiliary integrated circuit Audio, video or network expansion cards Modem Power supply Graphics card or GPU Ports, plugs and connectors
Regarding external hardware , some of the components that should be highlighted are:
- Monitors and auxiliary screens Joysticks , controllers for video games or gamepads , and physical control panels The keyboard The mouse or mouse The headphones, headsets and speakers The microphone The webcam The printer, the scanner and the fax The external hard drives and USB sticks The projector The touchpad and the digitizing tablet or graphics tablet The virtual reality headset or VR headset Specialized devices such as barcode readers, sensors and the like
Sometimes these two groups are known as computer systems and computer peripherals.
Another possible classification addresses the importance of the hardware component to achieve the basic operation of the computer. In this case we are talking about main hardware and complementary hardware .
Within the main hardware are all those constituent elements that are absolutely essential; namely: CPU, chipset , SSD (or HDD failing that), RAM, power supply, computer case, monitor, keyboard and mouse. The rest of the devices would be complementary, although depending on the application and the circumstances in which the computer is used, a good argument could be made for some of the parts not listed to fall into the main hardware category (case of fans, the NIC or the GPU).
There is another possible classification that is based on the role of the components. Thus, all the previously listed hardware elements can be incorporated into any of the categories listed below:
- Processing elements: they are in charge of receiving the electrical instructions, interpreting them using calculations and logic, and emitting new electrical signals accordingly. Storage elements: they are devices capable of accumulating information in an electromagnetic or logical way to use it as required by the computer system. Input devices: they are peripherals that transform user commands into electrical signals that can be interpreted by the machine. Output devices: they are peripherals that transform the electrical signals emitted by the processing elements to present them in such a way that the user can easily interpret them. Input and output devices: they are mixed peripherals that combine the peculiarities of both the E (input) and S (output) devices, closing a cycle of information exchange with the CPU.
The elements that are used to mount the computer and, especially, the way in which they are installed, have a determining effect on the type of computer that results. Thus, the use of light parts with small form factors, all of them integrated in a very compact way, give rise to laptops and netbooks ; while bulkier, more powerful, modular components deliberately designed for box or rack mounting result in desktop computers.
Software definition and main types
Software is the immaterial part of the computer that allows different hardware components to function. It is a set of instructions, data or programs that execute specific tasks within the computer system. Sometimes it refers to software as the variable part of the computer, the states that the machine can adopt and the signals that force these states.
Within computer software we find applications, programs, operating systems and many other types. Three divisions are generally used to bring some order to this whole set: system software , programming software , and application software .
System software is the platform on which computer hardware and applications rest. This type of computer program is written with a low-level or first-generation feature programming language; that is, a language whose instructions are controlled by the hardware without intermediaries, as is the case in machine language and assembly languages.
The operating system of a computer equipment is a clear example of system software . The user does not directly operate the OS, but interacts with the graphical user interface or GUI provided by it and through the applications installed on the operating system.
Apart from the operating systems, the following kinds of programs are also found within the system software :
- Antivirus Disk control utilities (formatting tools and the like) Hardware drivers or drivers Computer language translators Program loaders Some BIOS and EUFIS Boot managers or bootloaders Hypervisors
On the other hand, application software , end user utility software or apps (a general name that has begun to gain traction lately due to mobile technology) are all those programs that carry out specific tasks for which they have been specifically developed.
Finally, the programming software allows the user to develop their own tools through a language that is closer to human. Within this section you will find tools such as programming languages, compilers, debugging or debugging tools and the like.
Since there are a thousand and one possible applications for the software , it is difficult to establish a robust and interpretation-free classification according to its usefulness. The taxonomy of computer programs is a sufficiently complex problem for Microsoft to get down to work in 2007 to create an organized list of them.
Since then one taxonomy has succeeded another; Below is a summary (without definitions) of the one used by the International Data Corporation (IDC) in 2018, written by Rasmus Andsberg and Dan Vesset:
- Market applications
- Collaborative applications
- Conference applications
- Web conferencing applications
- Enterprise content management applications Publishing and authoring applications Persuasive content management applications Electronic localization applications Business portals Collaboration and content sharing applications
- Financial applications
- Finance and accounting applicationsRisk and treasury management applicationsTravel and expense management applicationsCorporate tax application
- Core HR applications Recruitment applications Compensation management applications Template performance management applications Training management applications Template management applications
- Logistics Applications Production Planning Applications Inventory Management Applications
- Production network management applications Public sector and service industry operations applications Other operations applications
- Computer Aided Design Applications Computer Aided Engineering Applications Computer Aided Manufacturing Applications Collaborative Product Data Management Applications Other Engineering Applications
- Sales Productivity and Management Applications Marketing Campaign Management Applications Customer Service Applications Communications Hub Applications Digital Commerce Applications
- Conference applications
- Collaborative applications
- Applications for development and market presentation
- Analysis and artificial intelligence software
- Software for analysis, reporting and request to the end user Predictive and advanced analytical tools Software platforms with IA Content search and analysis tools
- Relational database management systemsNon-relational database management systems
- End-user database management systems Navigational database management systems Object-oriented database management systems Multi-value database management systems
- Document-Oriented Database Systems Key Accessible Database Systems Database Management Systems with Graphical Representation Scalable Data Collection Managers Data Visualization, Analysis, and Management Products by Type
- Database administration toolsDatabase replication toolsData modeling toolsDatabase archiving and information lifecycle management toolsDatabase development and optimization toolsDatabase security tools
- Large data dump software Dynamic data dump software Data quality software Infrastructure software for data access Workspace software for composite data Master data definition and control software Metadata management software Software self-service data preparation
- B2B middleware
- B2B Inbound Middleware B2B Management Services and B2B Networks
- APIP management software Integration platforms Plug-in software and connectivity adapters
- Message Oriented Middleware Analytics Relay Software Feature Software
- Development tools, environments and languages Building software components Business rule management systems Modeling and architecture tools
- Object Modeling ToolsBusiness Process Modeling ToolsBusiness Architecture Tools
- Automated software quality tools Software configuration and change management
- Presentation-oriented application platforms
- Server software application platforms Presentation-oriented cloud application platforms
- Analysis and artificial intelligence software
- Systems infrastructure software
- System and service management software
- IT operations managersIT configuration and automation managers
- Workload Managers Application Drivers and System Data Center
- Network infrastructure software
- Network application delivery software SDN driver software and network display
- Digital certification and identity software Endpoint security software Message security software Network security software Web content inspection and security tools Orchestration, response, intelligence and security analysis tools Other security programs
- Replication and data protection software
- Data protection software Reporting, recovery and backup software Storage replication software Hypervisor or host based replication software System and data migration software Application based replication software and Fabric programming interface frameworks Matrix replication software Software replication management
- Email archiving software File archiving software and the like
- Heterogeneous SRM and SAN management software Homogeneous SRM and SAN management software Storage device management software Other storage management programs
- Virtualization and federation software Host- based file systems and volume management software Storage path and access management software Automated storage hierarchy software Storage acceleration software
- Block-based software- defined storage controllersFile-based software- defined storage controllersObject-based software- defined storage controllersHyperconverged software- defined storage controllers
- Output management tools
- Device managers Print managers Enterprise output managers
- Operating systems and subsystems
- Operating System Cores Operating System Clients Embedded Industrial Operating Systems
- Virtual Machines Infrastructure Containers Cloud Systems
- IT operations managersIT configuration and automation managers
- System and service management software
However, this gargantuan classification is aimed at specialists in the market segment dedicated to software development who need to have exhaustive and absolute control over their cataloging. For user-level applications, the following hyper-reduced classification may be more explanatory:
- Word Processors Database Managers Spreadsheet Managers Media Players Presentation Managers Customer Relationship Management Systems Resource Planning and Management Software Educational Programs Simulators Content Explorers Computer Aided Design (CAD) Tools Control Software Communications Managers
Another possible classification of the software refers to the way in which it is delivered to the public. Based on this characteristic, we can differentiate the following segments:
- Shareware. Refers to programs distributed as a demo; that is, its use is free during a trial period, at the end of this it is necessary to acquire a license to continue using the software . There is a clear intention of sale, then. Liteware. In this case we are talking about a variety of shareware in which the complete program is disabled until the acquisition is made by the user, but the basic functionalities of the software are available without paying. Freeware. This is software that can be used completely free of charge, however its distribution is subject to copyright, distribution licenses or commercial protections. Public Domain Software or public domain programs. It is the logical evolution of freeware , in addition to being free for the user, there are no restrictions on its distribution. Open Source Software or open source programs. In addition to being free and freely distributed, the code blocks that make up this type of program are public and their modification is left to the judgment of the user community.
The ending -ware, clearly associated with the word software , is often recognized in several groups of programs whose purpose has an adverse effect on the user experience. We summarize below the most common types of malicious software that use this termination:
- Malware . Malware is spoken of by defining any program that has malicious intent. It is a general term. Spyware . This type of malware is specialized in collecting information about the computer equipment in which it has been inadvertently installed and about its user. Some of the objectives of this type of program are browsing habits, confidential information or access credentials. Adware . We are talking about adware in the event that the malware is designed to force ads constantly and regularly to the user. Adware developers can benefit through advertising or through the sales generated. Ransomware . They are programs that block the operation of the computer until a ransom is paid. It can be described as computer blackmail. In recent times the most popular case of ransomware has been WannaCry. The existence of this type of software is sufficient justification to maintain redundant backup copies of our precious files. Bloatware . These are unnecessary programs that are installed while downloading other software . Since the user does not require its use, the code lies on the disk drives occupying memory. The waste of memory space, along with its unwanted installation and uselessness, are the characteristics that validate it as software
To the list of malicious software must be added a whole range of computer viruses: Trojans, worms, logic bombs, recyclers , hoaxes and others.
The last special software that we are going to introduce to the reader is middleware . It is also known as the logic of information exchange between applications, a name that best suits the work it performs: serving as a bridge between any pair of applications, program packages, OS, hardware component or networks.
Quality software is software that meets its functionality, has simple installation procedures, is predictable, its design prioritizes usability and is extensible. Iteration of versions that screen for malfunctions ( bugs and glitches ) and certification also provide security. However, these features are not always so common in the world of software , since they are tremendously complex tools at the most basic level.
A fusion between hardware and software : firmware
Firmware is a meeting point between hardware and software in the sense that even in the case of intangible lines of code, data and instructions, these are strictly linked to a hardware component. Thus, the inherent mutability of software is lost here, which is why firmware is sometimes referred to as firmware.
Some examples of firmware are certain varieties of BIOS and UEFI, RTAS (runtime abstraction services), CFE (common firmware environments) and some other technologies used in specific computers, routers , firewalls and NAS.
Table of differences between hardware and software
HARDWARE | SOFTWARE | |
Definition | Physical components of the computer system | Instruction set and data |
Function | User interaction and computing | Transmission of information and orders between hardware |
Nature | Physical | Logic |
Creation | In factory with physical materials | By code in programming environments |
Interdependence | Requires software installation to function | They require to be installed on the hardware to function |
Durability | Subject to wear and tear | Unaltered by use or the passage of time |
Reason for failure | Random manufacturing failures or overstrain | Systematic design flaws |
Security | Susceptible to backdoors introduced in manufacturing | Vulnerable to various computer attacks |
Repair | Requires component replacement | Simply reinstall corrupted software |
With this we end our article on the differences in hardware and software. A good starting point to find out their definitions and be clear about their similarities.
Samba server: concepts and quick configuration
Samba is a free software project that implements the Windows shared file protocol for UNIX-like operating systems.
▷ Parts of a processor outside and inside: basic concepts?
If you want to know all the parts of a processor, in this article we see its internal and external structure together with its functions ✅
Nitro concepts d12: a gaming table for an optimized space
Nitro Concepts D12: a gaming table for an optimized space. Find out all about the new Caseking gaming table that is now official.