Tuesday, April 19, 2022

Unit 2: Computer Software

 Introduction to Computer Software #1


- Computer software, or just software, is a collection of computer programs and related data that provides the instructions for telling a computer what to do and how to do it.

-Any set of instructions that guides the hardware and tells it how to accomplish each task.

Firmware: Firmware are also software (program or data) that has been permanently written onto ROM.

Software may enter the computer through one of following three ways.

  •                       It may be build into the computer circuit in the form of firmware.
  •                    It may be loaded into the computer from a secondary storage device such as CD-ROM or hard disk drives.
  •                   It is also be typed into the computer with the aid of the keyboard and programming tools.

 

Relation between Hardware and Software

Software refers to the computer programs that are loaded into a computer system, and hardware refers to all the visible devices, which are assembled together to build a computer system. The blending of software and hardware gives life to a computer system. Even though hardware is the physical part of a computer, it is nothing unless it has software to control it. Hardware and software then share a special relationship. If hardware is the 'heart' of a computer system, software is its 'soul'. Both are complimentary to each other. Hardware is of no use without software and software cannot be used without hardware.


Types of Software #2


Based on the kind of task they perform, software can be divided into two major groups: 

  • System software &
  • Application software. 


 

System Software #3


- System software is computer software designed to operate the computer hardware to provide basic functionality and to provide a platform for running application software.

-  It also provides the interface between the user and component of the computer.

-  Depending on the functionality, the system software can be further divided into two major categories:

§  For system management and functionality

§  For developing software.


A.    For system management and functionality

It relates to the functioning of different components of the computer like processor, input and output devices etc. It provides support for various services, as requested by the application software. It includes operating system, device drivers and system utilities.

1.      Operating System:

It consists of programs, which controls, coordinates and supervises the activities of the various components of a computer system. Its function is to provide link between the computer hardware and the user.

It performs all internal management functions (disk access, memory management, task scheduling and user interfacing) and ensures systematic functioning of a computer system. It provides an environment to run the programs. e.g., MS-DOS, windows XP/2000/98, Unix Linux, etc.

 

2.      Device drivers:

A software, which is written with the objective of making a device functional when it is connected to the computer is called device driver. It is a system software that acts like an interface between the device and the user. Every device, whether it is a printer, monitor, mouse or keyboard has a driver program associated with it for its proper functioning.

 For example, when we give a command to read data from the hard disk, the command is sent to the hard disk driver and is translated to a form that the hard disk can understand.


3.      System Utilities:

System utility software is required for the maintenance of computer. System utilities are used for supporting and enhancing the programs and the data in computer.

Some examples of system utilities are:

-          Anti-virus utility to scan computer for viruses.

-          Data Compression utility to compress the files.

-          Cryptographic utility to encrypt and decrypt files.

-          Disk Compression utility to compress contents of a disk for increasing the capacity of a disk.

-          Disk Partitioning to divide a single drive into multiple logical drives. Each drive is then treated as an individual drive and has its own file system.

-          Disk Cleaners to find files that have not been used for a long time. It helps the user to decide what to delete when the hard disk is full.

 

B.     System software for developing application software


It is required for the development and execution of application software. It provides services required for the development and execution of application software. The programming language software, translator software, loader, and linker are also categorized as system software, and are required for the application software development.

 

1.      Programming languages:

A Programming Language consists of a set of vocabulary and grammatical rules, to express the computations and tasks that the computer has to perform. Programming languages are used to write a program, which controls the behavior of computer, codify the algorithms precisely, or enables the human-computer interface. Programming Language usually refers to high-level languages like COBOL, BASIC, FORTRAN, C, C++, Java etc. Programming languages fall into three categories:

·         Machine Language is what the computer can understand but it is difficult for the programmer to understand.

·         Assembly Language falls in between machine language and high-level language. They are similar to machine language, but easier to program in, because they allow the programmer to substitute names for numbers.

·         High-level Language is easier to understand and use for the programmer but difficult for the computer.

 

2.      Translator Software:

Translator software is used to convert a program written in high-level language and assembly language to a form that the computer can understand. Translator software converts a program written in assembly language, and high-level language to a machine-level language program. The translated program is called the object code. There are three different kind of translator software:

·         Assembler: It is a software that converts a program written in assembly languages into machine code.

·         Compiler: It is a software that translates the program written in high-level languages to machine languages.

·         Interpreter: It is a software that converts the high-level language program into computer understandable form.

 

3.      Linker:

Linker is a program that links several object modules and libraries to a single executable program.

A source code may also include reference to libraries (header) and independent modules (functions) which may not be stored in a single object file. The code is broken down into many independent modules for easy debugging and maintenance. Before execution of the program, these modules and the required libraries are linked together using the linker software. The compiled and the linked program are called the executable code.


4.      Loader:

The loader software is used to load and re-locate the executable program in the main memory. Software has to be loaded into the main memory during execution. Loader assigns storage space to the program in the main memory for execution

Application Software #4


The software that a user uses for accomplishing a specific task is the application software. Application software may be a single program or a set of programs. A set of programs that are written for a specific purpose and provide the required functionality is called software package.

There are two types of application software:

 

1.      General Purpose Software:

General purpose software’s are designed to perform general tasks. Some of the general purpose application software are:

-          Word processing software: For writing letters, reports, documents etc. E.g. MS-Word

-          Spreadsheet software: Used for creating budgets, tables etc. E.g. MS-Excel

-          Presentation software: To make presentations, slides shows etc. E.g. MS-Powerpoint.

-          Image processing software: For drawing, editing photos or images, manipulating graphics etc. E.g. Adobe photoshop.

etc.

 

2.      Specific purpose software:

Specific purpose software are designed to perform specific tasks. This type of application software generally has one purpose to execute.

Some of the specific purpose application software’s are:

-          Reservation system: It is used to store and retrieve information and conduct transaction related to air travel, hotels, car rental or other activities.

-          Attendance system: It is used to track and optimize the presence of a person/ student in an organisation or school. 

-          Billing system: It is used to perform the billing process. It handles the tracking of ladled products and services delivered to a customer or set of customers. 

etc.

Program vs. Software #5


Program

Software

Program is a set of instructions written in a programming language used to execute for a specific task or particular function.  

Software is a set of Programs used to execute for an entire application.
There are Many programs combine together to form software. It is also used to perform a task.

A program does not have further categorization.  

Software can be categorized into two categories: application software and system software.  

A program consists of a set of instructions which are coded in a programming language like c, C++, PHP, Java etc.  

Software consists of bundles of programs and data files. Programs in specific software use these data files to perform a dedicated type of tasks.  

Programs do not have a user interface.

Every software has a dedicated user interface.

A program is compiled every time when we need to generate some output from it.

Whole software is compiled, tested and debugged during the development process.  

Program has limited functionality and less features.

Software has lots of functionality and features such as GUI, input/output data, process etc.

A program takes less time to build/make.  

Software takes relatively more time to build/make when compared to program.  

The size of a program ranges from kilobytes (Kb) to megabytes (Mb).  

The size of a software ranges from megabytes (Mb) to Gigabytes (Gb).

Program development approach is un-procedural, un-organized and unplanned.  

Software development approach is systematic, organized and very well planned.  

Dependent on Compiler

Dependent on operating System

It has no Documentations only Comments

All Documentations

E.g. add two numbers, factorial, greatest of two number, greatest of three number,etc.

E.g. Application software are: Microsoft Word, Microsoft Excel, Google Chrome, VLC media player, Firefox, Adobe Reader etc.
System Software are: Windows, Linux, Unix, Mac etc.


Computer Virus and Antivirus #6


Computer Virus

Computer Virus is a software program that is destructive in nature. Virus programs have the following properties:

 - It can attach itself to other healthy programs.

 - It can replicate itself and thus can spread across a network.

 - It is difficult to trace a virus after it has spread across a network.

 - Viruses harm the computer in many ways

• corrupt or delete data or files on the computer,

• change the functionality of software applications,

• use e-mail program to spread itself to other computers,

 erase everything on the hard disk, or,

• degrade performance of the system by utilizing resources such as memory or disk space.


 - Virus infects an executable file or program. The virus executes when a program infected with virus is executed or you start a computer from a disk that has infected system files.


Once a virus is active, it loads into the computer’s memory and may save itself to the hard drive or copies itself to applications or system files on the disk.

Some examples of viruses are: “Melissa” and “I Love You”


Phases of virus:

1. Dormant phase – the virus is idle, waiting for trigger event.

2. Propagation phase  – the virus places an identical copy of itself into another programs.

3. Trigging phase – the virus is activated to perform the function for which it was intended.

4. Execution phase – the desired function is performed such as massage on the screen, damaging the programs and data files.

 

Types of viruses:    

1. Parasitic Virus: It attaches itself to executable files and replicates when the infected program is executed.

2. Memory-resident Virus: Lodges in the main memory and infects every program that executes.

3. Boot Sector Virus: Infects a boot record and spreads when the system is booted from the disk containing virus.

4. Stealth Virus: A virus explicitly designed to hide itself from antivirus software.

5. Polymorphic Virus: A virus that mutates with every infection, making detection very difficult.

6. Metamorphic Virus: Mutates with every infection, rewriting itself completely at each iteration changing behavior or appearance, increasing the difficulty of detection.


Signs of Virus Infection

• Slower system performance
• Pop-ups bombarding the screen
• Programs running on their own
• Files multiplying/duplicating on their own
• New files or programs in the computer
• Files, folders or programs getting deleted or corrupted
• The sound of a hard drive


Antivirus

Antivirus is a type of program designed and developed to protect a computer from malware like computer virus, worm, spyware, botnets, boot-kits, keylogger, etc. Antivirus function to scan, detect and remove such viruses from the computer. Most antivirus incorporates both automated and manual filtering abilities. Instant scanning option may check files downloaded from the internet, disks that are embedded into PCs and files that are made by software installers.

Features of Antivirus

1. Default deny protection
     It is implemented to prevent the entry of suspicious files by default.

2. Auto sand-box technology
     A virtual environment where suspicious and unknown files are secluded and run  to check for any malicious activity without interfering the normal operations.

3. Containment technology
    It validates and authorizes the programs that are executable and ensure that processes are running without affecting the regular operation of the system.

4. Host intrusion protection system (HIPS)
     It terminates any malicious activity once found. This prevents malware from infecting the operating system, registry keys, personal data or the system memory.

..

No comments:

Post a Comment

Photoshop Lab

  How to use Variable data and text - Adobe Photoshop CS 8.0 tutorial (Nepali Language) DV Lottery Photo size || Check Whether Your Photo Me...