Monday, December 25, 2023

Software Concepts


A Computer is an electronic device that can perform various operations of computation at a greater speed than what an ordinary machine or human mind can do. It is driven by many entities including the physical and tangible components that we can touch or feel, called the Hardware and programs and commands that drive the hardware, called the Software.
The Software refers to the set of instructions fed in form of programs to govern the computer system and process the hardware components. For example:

  • The antivirus that we use to protect our computer system is a type of Software.
  • The media players that we use to play multimedia files such as movies, music etc. are Software.
  • The Microsoft Office we use to edit the documents is a Software.

Depending on its use and area of implementation, Softwares can be divided into 3 major types:

  1. System Software
  2. Application Software
  3. Utility Software

System Software

These are the software that directly allows the user to interact with the hardware components of a computer system. As the humans and machines follow different languages, there has to be an interface that will allow the users to interact with the core system, this interface is provided by the software. The system software can be called the main or the alpha software of a computer system as it handles the major portion of running a hardware. This System Software can be further divided into four major types:

  1. The Operating System – It is the main program that governs and maintains the inter-cooperation of the components of a computer system. For eg., Microsoft Windows, Linux, Mac OS etc.
  2. The Language Processor – The hardware components present in the computer system does not understand human language. There are three types of languages involved in the world of human-machine interaction:
     

    • Machine-Level Language: The machines only understand the digital signals or the binary codes or the binary language which consist of strings of 0’s and 1’s. These are totally machine dependent language.
    • Assembly-Level Language: These are the Low-Level Language(LLL), that forms a correspondence between machine level instruction and general assembly level statements. Assembly language uses a mnemonics to represent each low-level machine instruction or operation-code also called the op-codes. For eg., ADD instruction is used to add two entities, the HALT instruction is used to stop a process etc. It is a machine dependent language and varies from processor to processor.
    • High-Level Language: These are the simple English statements, that humans use to program and code as it is easy to read and understand to the human world. For eg., Java, C, C++, Python etc.

    The machine level language is very complex to understand and code, therefore the users prefer the High-Level Language or the HLL for coding. These codes need to be converted into the machine language so that the computer can easily understand and work accordingly. This operation is performed by the Language Processor which is made up of further three components:

    • Assembler: This language processor is used to convert the assembly language into machine level language.
    • Compiler: This language processor is used to convert High-Level Language into machine level language in one go, thus execution time is fast. The error detection is difficult in a compiler. Programming Languages like C, C++ and Scala use compiler.
    • Interpreter: This language processor is also used to convert High-Level Language into machine level language line-by-line, thus execution time is slow. Error-detection is easier in an interpreter as it reports as soon as a bug is caught and restarts the process. This consumes unnecessary memory. Programming Languages like Python, Ruby and Java uses an interpreter.
  3. The Device Drivers – The device drivers and the device programs or the system software that acts as an interface between the various Input-Output device and the users or the operating system. For eg., the Printers, Web cameras come with a driver disk that is needed to be installed into the system to make the device run in the system.
  4. The BIOS – It stands for Basic Input Output System and is a small firmware, that controls the peripheral or the input-output devices attached to the system. This software is also responsible for starting the OS or initiating the booting process.

Application Software

These are the basic software used to run to accomplish a particular action and task. These are the dedicated software, dedicated to performing simple and single tasks. For eg., a single software cannot serve to both the reservation system and banking system. These are divided into two types:

  1. The General Purpose Application Software: These are the types of application software that comes in-built and ready to use, manufactured by some company or someone. For eg.,
    • Microsoft Excel – Used to prepare excel sheets.
    • VLC Media Player – Used to play audio/video files.
    • Adobe Photoshop – Used for designing and animation and many more.
  2. The Specific Purpose Application Software: These are the type of software that is customizable and mostly used in real-time or business environment. For eg.,
    • Ticket Reservation System
    • Healthcare Management System
    • Hotel Management System
    • Payroll Management System

Utility Software

These are the most basic type of software which provides high utility to the user and the system. These perform the basic but daily need tasks. For eg.,

  • Antivirus Softwares: These provide protection to the computer system from unwanted malware and viruses. For eg., QuickHeal, McAfee etc.
  • Disk Defragmenter Tools: These help the users to analyse the bad sectors of the disk and rearrange the files in a proper order.
  • Text-editors: These help the users to take regular notes and create basic text files. For eg., Notepad, Gedit etc.

Device Drivers

A device driver is a small piece of software that tells the operating system and other software how to communicate with a piece of hardware.

For example, printer drivers tell the operating system, and by extension whatever program you have the thing you want to print open in, exactly how to print information on the page

sound card drivers are necessary so your operating system knows exactly how to translate the 1s and 0s that comprise that MP3 File  into audio signals that the sound card can output to your headphones or speakers. 

The same general idea applies to video cards, keyboards, monitors, mice, disc drivers, etc.

Keep reading for more on why drivers are important, including some more examples, as well as information on how to keep your drivers updated and what to do if they're not working properly.

Working of Device Driver:
Device Drivers depend upon the Operating System’s instruction to access the device and performing any particular action. After the action they also shows their reactions by delivering output or status/message from hardware device to the Operating system.For Example a printer driver tells the printer in which format to print after getting instruction from OS, similarly A sound card driver is there due to which 1’s and 0’s data of MP3 file is converted to audio signals and you enjoy the music. Card reader, controller, modem, network card, sound card, printer, video card, USB devices, RAM, Speakers etc need Device Drivers to operate.

No comments:

Introduction to PowerPoint

PowerPoint  is an excellent tool for presentations of any kind, either in the classroom or at a conference. A PowerPoint present...