Hardware, Software and Machines

The origin

Hardware & Software

Hardware

Hardware refers to the physical components of a computer. Computer Hardware is any part of the computer that we can touch these parts. These are the primary electronic devices used to build up the computer. Examples of hardware in a computer are the Processor, Memory Devices, Monitor, Printer, Keyboard, Mouse, and the Central Processing Unit.

Software

Software is a collection of instructions, procedures, documentation that performs different tasks on a computer system. we can say also Computer Software is a programming code executed on a computer processor. The code can be machine-level code or the code written for an operating system. Examples of software are Ms Word, Excel, Power Point, Google Chrome, Photoshop, MySQL etc.

Hardware vs Software

HardwareSoftware
Hardware is a physical parts computer that cause processing of data.Software is a set of instruction that tells a computer exactly what to do.
It is manufactured.It is developed and engineered.
Hardware can not perform any task without software.software can not be executed without hardware.
As Hardware are physical electronic devices, we can see and touch hardware.We can see and also use the software but can’t actually touch them.
It has four main categories: input device, output devices, storage, and internal components.It is mainly divided into System software, Programming software and Application software.
Hardware is not affected by computer viruses.Software is affected by computer viruses.
It can not be transferred from one place to another electrically through network.But, it can be transferred.
If hardware is damaged, it is replaced with new one.If software is damaged, its backup copy can be reinstalled.
Ex: Keyboard, Mouse, Monitor, Printer, CPU, Hard disk, RAM, ROM etc.Ex: Ms Word, Excel, Power Point, Photoshop, MySQL etc.

Software Dive

System Software

System Software is the type of software which is the interface between application software and system. Low level languages are used to write the system software. System Software maintains the system resources and gives the path for application software to run. An important thing is that without system software, system can not run. It is a general purpose software.

Application Software

Application Software is the type of software that runs as per user request. It runs on the platform which is provided by system software. High level languages are used to write the application software. Its a specific purpose software.

The main difference between System Software and Application Software is that without system software, system can not run on the other hand without application software, system always runs.

System SoftwareApplication Software
System Software maintain the system resources and give the path for application software to run.Application software is built for specific tasks.
Low level languages are used to write the system software.While high level languages are used to write the application software.
Its a general purpose software.While its a specific purpose software.
Without system software, system can’t run.While without application software system always runs.
System software runs when system is turned on and stop when system is turned off.While application software runs as per the user’s request.
Example of system software are operating system, etc.Example of application software are Photoshop, VLC player etc.

Operating System

An operating system is a computer program, works as interface between user and hardware and provides common services for computer programs. The entire process or functionality of computer system depends on the operating system. It is developed by using c++, c, assembly languages.

An operating system performs some variety of tasks like, It manages files and directory creation and deletion, process creation, deletion, synchronization, memory allocation and deallocation. An operating system also prevents the computer system from unauthorized access and secures the resources, information and data. Examples are Microsoft Windows, Linux, Unix, DOS. Overall, we can say that without an operating system a computer system is nothing.

image

In above diagram, we can clearly see that the system and application program or software depend upon the operating system which is act as the interface between user and computer hardware.

Application SoftwareSystem Software
A computer program which is intended to perform some task classified along.A system computer program that manages hardware and software resources and provides common services for computer programs.
Application software is downloaded from internet.Operating system comes installed on the device purchased.
It is developed by using virtual basic, c++, c, java.It is developed by using c++, c, assembly languages.
It is built to perform some specific tasks.It works as interface between user and hardware and perform some variety of tasks like memory management, scheduling, process management etc.
It always depends upon operating system.But it does not depend upon application software.it provides the path to execute or to run the application software.
It runs when the user desires to run the application.It boots up when the user wants and run until the user switches off the machine
It’s examples are Photoshop, VLC player etc.It’s examples are Microsoft Windows, Linux, Unix, DOS.

Kernel

A kernel is the core component of an operating system. It is also a system program. It is the part of Operating System which converts user commands into machine language.

Operating System (Recap)

It is a system program that provides interface between user and computer. When machine boots up Operating System is the first program that loads.

OSKernel
Operating System is a system software.Kernel is system software which is part of operating system.
Operating System provides interface between user and hardware.Kernel provides interface between applications and hardware
It also provides protection and securityIt’s main purpose is memory management, disk management, process management and task management.
All system needs operating system to run.All operating systems need kernel to run.
Type of operating system includes single and multiuser OS, multiprocessor OS, Realtime OS, Distributed OS.Type of kernel includes Monolithic and Micro kernel.
It is the first program to load when computer boots up.It is the first program to load when operating system loads.

Kernel Deep-dive

The kernel is so named because—like a seed inside a hard shell—it exists within the OS and controls all the major functions of the hardware, whether it’s a phone, laptop, server, or any other kind of computer.

The main purpose of a computer is to run a predefined sequence of instructions, known as a program. A program under execution is often referred to as a process. Now, most special purpose computers are meant to run a single process, but in a sophisticated system such a general purpose computer, are intended to run many processes simultaneously. Any kind of process requires hardware resources such are Memory, Processor time, Storage space, etc. In a General Purpose Computer running many processes simultaneously, we need a middle layer to manage the distribution of the hardware resources of the computer efficiently and fairly among all the various processes running on the computer. This middle layer is referred to as the kernel. Basically the kernel virtualizes the common hardware resources of the computer to provide each process with its own virtual resources. This makes the process seem as it is the sole process running on the machine. The kernel is also responsible for preventing and mitigating conflicts between different processes. This schematically represented as: image