Skip to main content

Hardware and Software

 A computer is an electronic data processing device, which accepts and stores data input, processes the data input, and generates the output in a required format.

Hardware
Hardware represents the physical and tangible components of a computer, i.e. the components that can be seen and touched.

Examples of Hardware are the following −

Input devices − keyboard, mouse, etc.
Output devices − printer, monitor, etc.
Secondary storage devices − Hard disk, CD, DVD, etc.
Internal components − CPU, motherboard, RAM, etc.

Software
Software is a set of instructions that make the computer perform tasks. In other words, software tells the computer what to do.
Though the array of available programs is vast and varied, most software fall into two major categories; system software and application software.

1. System Software
System software is a program that control the computers hardware or that can be used to maintain the computer in some way that it can run efficiently. There are three basic types of system software.

1.1 Operating System Software

An operating system (OS) is the computer program (software) responsible for the operation and smooth running of a computer. Operating system is essential for any computer because it acts as interface among the hardware, application program and the user. When a program wants the hardware to do something, it communicates through the operating system. When user wants the hardware to do something, the request of the user is handled by the operating system. Examples of operating systems are Windows, Linux, Mac OS etc.

A network operating system (multi user) allows computer to communicate and share data across a network while controlling network operations and overseeing the network security. Unix , Windows Server OS etc…

1.2 Utility Software
An utility software is a program that makes the computer system easier to use of perform highly specialized functions. Utilities are used to manage disks, troubleshoot hardware problems and perform other tasks that the operating system by itself may not be able to do. Examples are Disk Manager etc.

1.3 Translators-Assemblers, Compilers and Interpreters
We generally write a computer program using a high-level language. A high-level language is one which is understandable by us humans. It contains words and phrases from the English (or other) language. But a computer does not understand high-level language. It only understands program written in 0's and 1's in binary, called the machine code. A program written in high-level language is called a source code. We need to convert the source code into machine code and this is accomplished by compilers and interpreters. Hence, a compiler or an interpreter is a program that converts program written in high-level language into machine code understood by the computer.

A program written in 1 and 0 is called a machine language.An assembly language is one where mnemonic codes are used represent instructions like ADD, SUB etc. We have to convert these assembly programs into machine code before the machine can understand. An assembler is used for converting assembly language into machine code.

The difference between an interpreter and a compiler is given below:

Interpreter

Compiler

Translates program one statement at a time. Scans the entire program and translates it as a whole into machine code.
It takes less amount of time to analyze the source code but the overall execution time is slower. It takes large amount of time to analyze the source code but the overall execution time is comparatively faster.
No intermediate object code is generated, hence are memory efficient. Generates intermediate object code which further requires linking, hence requires more memory.
Continues translating the program until the first error is met, in which case it stops. Hence debugging is easy. It generates the error message only after scanning the whole program. Hence debugging is comparatively hard.
Programming language like Python, Ruby use interpreters. Programming language like C, C++ use compilers.

2. Application Software
Application software are programs used for specific purpose or software use to perform various tasks are called application software. These software can be used for word processing, photo and video editing and for many purposes. Some application software are Microsoft Word, Adobe Photoshop etc.

Shareware
Shareware (or trialware) is application software that you can try before buying. Shareware is normally provided with restricted usability, either with a time limit or without all of the features.

Freeware
Freeware is copyrighted, licensed software that is available for free or for an "optional cost", i.e., a donation.

Open Source Software
Open source software is generally defined as software that is free and comes with the source code that users may modify and redistribute. It is, however licensed, although the license is generally very generous. One normal restriction is that the software itself, any derivative, or any system that includes it must use the same or similar license.

Operating System
The Operating System is a program with the following features :

An operating system is a program that acts as an interface between the software and the computer hardware.
It is an integrated set of specialized programs used to manage overall resources and operations of the computer.
It is a specialized software that controls and monitors the execution of all other programs that reside in the computer, including application programs and other system software.



Objectives of Operating System

The objectives of the operating system are:

To make the computer system convenient to use in an efficient manner.
To hide the details of the hardware resources from the users.
To provide users a convenient interface to use the computer system.
To act as an intermediary between the hardware and its users, making it easier for the users to access and use other resources.
To manage the resources of a computer system.
To keep track of who is using which resource, granting resource requests, and mediating conflicting requests from different programs and users.
To provide efficient and fair sharing of resources among users and programs.
Functions of an operating system

Operating systems have many functions:

Provides an interface for computer interaction
Control of inputs and outputs
Interrupt handling
Management of hardware and peripherals
Error handling
Management and loading of software
Management of user accounts
File utilities (copy, save, sort, delete)
Processor management for multitasking
Memory management
Security (access rights, firewalls etc)

Relationship between Hardware and Software

· Hardware and software are mutually dependent on each other. Both of them must work together to           make a computer produce a useful output.
· Software cannot be utilized without supporting hardware.
· Hardware without a set of programs to operate upon cannot be utilized and is useless.
· To get a particular job done on the computer, relevant software should be loaded into the hardware.
· Hardware is a one-time expense.
· Software development is very expensive and is a continuing expense.
· Different software applications can be loaded on a hardware to run different jobs.
· A software acts as an interface between the user and the hardware.
· If the hardware is the 'heart' of a computer system, then the software is its 'soul'. Both are                        complementary to each other.

Comments

Popular posts from this blog

KTU Mandatory C programs for Laboratory and Solutions

LIST OF LAB EXPERIMENTS 1. Familiarization of Hardware Components of a Computer 2. Familiarization of Linux environment – Programming in C with Linux 3. Familiarization of console I/O and operators in C     i) Display “Hello World”     ii) Read two numbers, add them and display their sum     iii) Read the radius of a circle, calculate its area and display it 4. Evaluate the arithmetic expression ((a -b / c * d + e) * (f +g))   and display its solution. Read the values of the variables from the user through console 5. Read 3 integer values, find the largest among them. 6. Read a Natural Number and check whether the number is prime or not 7. Read a Natural Number and check whether the number is Armstrong or not 8. Read n integers, store them in an array and find their sum and average 9. Read n integers, store them in an array and search for an element in the    array using an algorithm for Linear Search 10.Read n integers, store them in an array and sort the elements in t

PROGRAMMING IN C KTU EST 102 THEORY AND LAB NOTES

PROGRAMMING IN C  KTU  EST 102  THEORY AND LAB   COMMON FOR ALL BRANCHES About Me Syllabus Theory Syllabus Lab Model Question Paper EST 102 Programmin in C University Question Papers  and evaluation scheme   EST 102 Programming in C  Introduction( Lab) Introduction to C programming Linux History and GNU How to create a bootable ubuntu USB stick Installing  Linux Install Linux within  Windows Virtual Box and WSL Linux Basic Features and Architecture Basic Linux Commands Beginning C Programming Compiling C programs using gcc in Linux Debugging C program using gdb Module 1: Basics of computer hardware and software          Module-1 Reading Material Basics of Computer Architecture Hardware and Software System Software and Application Software  Programming Languages ( High level, Low level and Machine Language) and Translators ( Compiler, Interpreter, Assembler) Algorithm, Flowcharts and Pseudo code Program Development Structured Programming Basics of hardware ( video) Know about Motherboar

Arrays in C-single and multi dimensional arrays- list and matrix

An array is a collection of data items, all of the same type, accessed using a common name. A one-dimensional array is like a list(vector); A two dimensional array is like a table(matrix). We can have more dimensions. Always, Contiguous (adjacent) memory locations are used to store array elements in memory. Elements of the array can be randomly accessed since we can calculate the address of each element of the array with the given base address and the size of the data element. Declaring  Single Dimensional Arrays Array variables are declared identically to variables of their data type, except that the variable name is followed by one pair of square [ ] brackets for mentioning dimension of the array.  Dimensions used when declaring arrays in C must be positive integral constants or constant expressions.  In C99, dimensions must still be positive integers, but variables can be used, so long as the variable has a positive value at the time the array is declared. ( Space is allo