Tutorials

Hardware and software: definitions and concepts

Table of contents:

Anonim

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:

  1. Market applications
    • Collaborative applications
      • Conference applications
        • Web conferencing applications
        Email apps Social media for business Apps for work teams
      Job planning and management applications
      • Enterprise content management applications Publishing and authoring applications Persuasive content management applications Electronic localization applications Business portals Collaboration and content sharing applications
      Enterprise resource management applications
      • Financial applications
        • Finance and accounting applicationsRisk and treasury management applicationsTravel and expense management applicationsCorporate tax application
        Human resource management applications
        • Core HR applications Recruitment applications Compensation management applications Template performance management applications Training management applications Template management applications
        Payment management applications Negotiation applications Order management applications Business performance management applications Project and portfolio management applications
      Supply chain management applications
      • Logistics Applications Production Planning Applications Inventory Management Applications
      Production and operations applications
      • Production network management applications Public sector and service industry operations applications Other operations applications
      Engineering applications
      • Computer Aided Design Applications Computer Aided Engineering Applications Computer Aided Manufacturing Applications Collaborative Product Data Management Applications Other Engineering Applications
      Customer relationship management applications
      • Sales Productivity and Management Applications Marketing Campaign Management Applications Customer Service Applications Communications Hub Applications Digital Commerce Applications
  1. 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
      Information management software
      • 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
        Dynamic data 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 management and development tools
        • Database administration toolsDatabase replication toolsData modeling toolsDatabase archiving and information lifecycle management toolsDatabase development and optimization toolsDatabase security tools
        Network Distributed Data Managers Data Integrity and Integration Software
        • 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
        Spatial information managers
      Orchestration and integration software
      • B2B middleware
        • B2B Inbound Middleware B2B Management Services and B2B Networks
        Integration software
        • APIP management software Integration platforms Plug-in software and connectivity adapters
        Event-activated middleware
        • Message Oriented Middleware Analytics Relay Software Feature Software
        File transfer manager
      Application development 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
        Software quality and life cycle tools
        • Automated software quality tools Software configuration and change management
        Application platforms
        • Presentation-oriented application platforms
          • Server software application platforms Presentation-oriented cloud application platforms
          Model-motivated application platforms Transaction monitoring Robotic task automation software
  1. Systems infrastructure software
    • System and service management software
      • IT operations managersIT configuration and automation managers
        • Workload Managers Application Drivers and System Data Center
        IT service managers
      Network Software
      • Network infrastructure software
        • Network application delivery software SDN driver software and network display
        Network management software
      Security software
      • 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
      Storage software
      • 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
        Archiving software
        • Email archiving software File archiving software and the like
        Storage and device management software
        • Heterogeneous SRM and SAN management software Homogeneous SRM and SAN management software Storage device management software Other storage management programs
        Storage infrastructure software
        • 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
        Software- defined storage controllers
        • Block-based software- defined storage controllersFile-based software- defined storage controllersObject-based software- defined storage controllersHyperconverged software- defined storage controllers
        Endpoint management
        • Output management tools
          • Device managers Print managers Enterprise output managers
          Client endpoint managers
        Virtual and physical computing software
        • Operating systems and subsystems
          • Operating System Cores Operating System Clients Embedded Industrial Operating Systems
          Software- defined computing tools
          • Virtual Machines Infrastructure Containers Cloud Systems
          Virtual Computing Clients Other Computing Programs
WE RECOMMEND YOU How to set usage limits in apps and categories in iOS 12

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.

Tutorials

Editor's choice

Back to top button