COMPUTER SOFTWARE
- Get link
- X
- Other Apps
COMPUTER SOFTWARE
1. Introduction to Computer System
- A computer system is a collection of multiple units designed to achieve specific goals, much like a laboratory comprising researchers and equipment.
- The primary goal of a computer system is to perform various tasks, and its two fundamental units are Hardware and Software.
2. What is Software?
- Definition: Software is a series of instructions or programs written in a programming language that controls the functions of a computer system.
- Core Function: It establishes coordination between various hardware components so that specific tasks can be completed. Hardware operates strictly according to software instructions.
- Primary Objective: To convert raw data into meaningful information.
- Alternative Name: It is commonly referred to as a "collection of programs". Hundreds of programs are written for different tasks, and their collective group is known as software.
3. Classification of Software
Based on its functions and structure, software is broadly classified into two main categories:
| Feature | System Software | Application Software |
|---|---|---|
| Purpose | Operates, controls, and maintains the computer hardware itself. | Designed to perform specific real-world tasks for the user. |
| Interaction | Acts as an interface between the user and the computer. | Users interact directly with it to do their work. |
| Dependency | Independent; a computer cannot function without it. | Dependent on system software to run. |
| Examples | Windows, Linux, Device Drivers. | MS Word, Tally, Photoshop, Excel. |
4. System Software
System software consists of programs written to run the computer, control its internal parts, maintain it, and optimally utilize its capabilities.
- Usually provided by the computer manufacturer, but can also be purchased from the market later.
- Key Point: Direct interaction with a computer is impossible without system software; it keeps the computer under control and properly executes user instructions.
System software is divided into main components based on tasks:
A. System Management Programs
These manage input/output, memory devices, and processor functions. 1. Operating System (OS)
- Controls and coordinates the various components of the computer.
- Acts as a vital link/coordinator between the user and the hardware.
- Keeps track of system resources, translates special programs into machine language, and manages data for output.
- Provides a foundational platform for other programs to work.
- Examples: MS DOS, Windows XP/2000/98, Unix, Linux.
Functions of an Operating System:
- Establishes communication between the computer and the user.
- Controls all hardware devices and ensures they function properly.
- Executes programs provided by the user.
- Allocates necessary resources (Memory, CPU, Printers) to all running programs.
- Manages and assists with secondary background tasks.
2. Device Drivers
- Special software that acts as an interface between a specific device and the user.
- Understands the operation of specific hardware (e.g., Printers, Mouse, Monitor, Keyboard).
- Translates the commands of the Operating System into a language that the specific hardware can understand.
B. System Utilities
Utility programs handle computer maintenance, simplify tasks, remove errors, and manage system security. Though not strictly mandatory to run the PC, they usually come bundled by the manufacturer.
- Disk Compression: Compresses information on the hard disk to maximize storage space. It usually runs silently in the background.
- Disk Fragmenter: Searches for scattered files on the hard disk and organizes them into one place, optimizing free space.
- Backup Utilities: Keeps a copy of all information on the disk and restores important files or entire disk contents when necessary.
- Disk Cleaners: Finds and deletes old, unused files, which helps increase the overall speed of the computer.
- Anti-virus Scanners & Removers: Specialized utilities used to detect and delete malicious viruses from the computer.
5. Application Software
Application software refers to programs written to perform actual, specific tasks for the user or a company (e.g., calculating salaries, accounting, printing reports, managing stock, creating documents).
- They can be custom-written by a hired programmer based on specific needs, or bought as Readymade Software/Packages (e.g., MS-Word, MS-Excel, Tally, Corel Draw, Pagemaker, Photoshop).
General Purpose Software
- These are everyday software packages used universally across almost every field, institution, and office to fulfill common objectives.
- Examples: Spreadsheets, Database Management Systems (DBMS), Graphics Software, Corel Draw, Paint, MS-Powerpoint.
Word Processing Software (A specific General Purpose example):
- A special software used to manipulate text or documents.
- Also known as a Document Preparation System.
- Extensively used for composing, editing, formatting, and printing material.
Electronic Spreadsheets: Allows users to organize data into 'rows' and 'columns'. The combination of these rows and columns is called a spreadsheet. These programs feature tools to create, save, edit, and format data.
- Examples: MS Excel, Corel Quattro Pro, Lotus 1-2-3.
Database Management System (DBMS): An organized collection of data where information can be accessed, retrieved, and formatted when needed. It is used to create, manage, add, modify, delete, and sort data in a database.
- Examples: MS Access, Corel Paradox, Lotus Approach.
Desktop Publishing Software: Used primarily by graphic designers for desktop printing and on-screen electronic publishing.
- Examples: Quark Express, Adobe Pagemaker, Corel Draw, 3B2.
Graphics Software: Allows users to modify, beautify, and enhance images on a computer. Features include image retouching, color adjustment, and adding special effects like shadows and glows.
- Examples: Adobe Photoshop, Pizap.
Multimedia Software: Software that combines and manages text, audio, video, images, and animations.
Presentation Software: Designed to present ideas, messages, or information simply to an audience using slides. It makes information easy to understand and attractive.
- Key Features: Provides a text editor, allows the insertion of graphics/images, and features a slide-show system to display content.
- Examples: MS PowerPoint, Corel Presentations.
7. Specific Purpose Application Software
Specific purpose software is developed to fulfill one specific objective or perform a highly specialized task.
- Inventory & Purchasing System: Used in stores or institutions that require physical resources. It keeps track of the 'Inventory' (the list of goods and materials available in stock).
- Payroll Management System: Used by organizations to keep track of employee salaries, allowances, and accounts.
- Hotel Management System: Organizes various hotel operations, including marketing, housekeeping, billing, and administration.
- Reservation System: A computerized system used to obtain information about train or air travel, including checking the availability of seats, berths, or tickets.
- Report Card Generator: Used by the examination departments of schools and colleges to perform mathematical calculations and generate student results (pass/fail status).
- Accounting Software: Manages the transaction records and bookkeeping of various accounts.
- Types include: Accounts Payable Software, Bank Reconciliation Software, and Budget Management Software.
- Billing System: Processes bills and evaluates the prices of goods or services provided to customers.
8. Differences Between System and Application Software
| Feature | System Software | Application Software |
|---|---|---|
| Necessity | Highly essential for a computer system to function. | Not mandatory for the basic operation of a computer. |
| Complexity | Highly complex to develop. | Comparatively easier/less complex to develop. |
| Function | Operates computer hardware and runs application software. | Performs specific tasks given by the user. |
| Cost | Generally expensive. | Generally cheaper. |
| Customization | Cannot be customized easily. | Can be easily customized according to user needs. |
9. Programming Languages
Computers are machines and cannot understand everyday human languages. To communicate with a computer, instructions are written in special languages called Programming Languages, which have their own specific grammar.
Programming languages are classified into three main categories:
A. Low-Level Languages
These are based strictly on the internal workings of the computer. Programs written in these languages execute very quickly because the computer can follow them directly.
- Machine Languages: Made up entirely of binary digits (0 and 1). Every computer has its own machine language. Used in first-generation computers. Drawback: Finding and fixing errors in this language is almost impossible.
- Assembly Languages: Based on machine language but uses English letters and specific codes instead of purely 0s and 1s. Finding and fixing errors is much easier compared to machine language.
B. Medium-Level Languages
These act as a bridge between low-level and high-level languages.
- Example: C Language is considered a medium-level language because it possesses qualities of both low and high-level languages.
C. High-Level Languages
These are not based on the computer's internal hardware operations.
- They use simple English words and basic mathematical symbols, making it very easy to find and fix errors.
- Translation Requirement: Programs written in high-level languages must be translated into machine language using software tools known as a Compiler or Interpreter before the computer can understand them.
10. Important System Execution Programs
Before a program can be executed by the computer, it relies on specific system software tools to prepare it for running.
- Linker: When a source program is translated into machine language, the resulting output is called an Object Program or Object File. A Linker is a program that combines all these individual object files to create a single, final Executable File.
- Loader: A Loader is a type of system software (part of the Operating System) whose job is to load an executable program into the main memory. It consists of a series of instructions that fetch the program from a hard disk or floppy disk, load it onto the main memory, and initiate its execution.
11. High-Level Languages and Their Application Areas
High-level languages are easier for humans to read and write. Below is an exam-focused classification of important high-level languages, their creators, and their primary uses.
| Language (Full Form) | Year | Developer(s) | Application Area | Translation Nature |
|---|---|---|---|---|
| FORTRAN (Formula Translation) | 1957 | A group of programmers at Bell Labs | Mathematics (especially for calculations) | Compiled |
| ALGOL (Algorithmic Language) | 1958 | European and American Computer Scientists | Scientific Applications | Compiled |
| LISP (List Processing) | 1958 | John McCarthy (at MIT) | Artificial Intelligence (AI) | Compiled & Interpreted |
| COBOL (Common Business Oriented Language) | 1959 | Grace Hopper | Business Purposes | Compiled |
| BASIC (Beginner's All Purpose Symbolic Instruction Code) | 1964 | John G. Kemeny & Thomas E. Kurtz (Dartmouth College) | Educational Work | Interpreted |
| PASCAL | 1970 | Niklaus Wirth | Educational Work | Compiled |
| C | 1972 | Dennis Ritchie (at Bell Labs) | System Programming | Compiled |
| C++ | 1983 | Bjarne Stroustrup (at Bell Labs) | System Object Programming | Compiled |
| JAVA | 1995 | James Gosling (at Sun Microsystems) | Internet-based Programming | Compiled & Interpreted |
12. Language Translators
Computers can only understand their own Machine Language (0s and 1s). Therefore, programs written in any other programming language must be translated into machine language. The programs that do this are called Language Translators.
They are categorized into three main types:
A. Assembler
- Function: Reads a program written in Assembly Language and translates it into Machine Language.
- Terminology: The original assembly program is called the Source Program, and the translated machine language program is called the Object Program.
B. Compiler
- Function: Translates a Source Program written in a High-Level Programming Language directly into Machine Language.
- Process: It translates every statement or instruction of the source code all at once into machine code.
- Key Fact: Every high-level language requires a different, specific compiler. Like an assembler, a compiler generates an Object Program.
C. Interpreter
- Function: Translates a Source Program written in a High-Level Programming Language into Machine Language.
- Process (Important Difference): Unlike a compiler, an interpreter translates the code one statement at a time. It translates a line, executes it, and only then moves to the next statement.
- Key Fact: An interpreter does not create an Object Program. Because of this, the original Source Program is required every single time you want to run the code.
13. Important Computer Terminologies for Exams
- Visual Basic: It is an Interpreted language.
- Firmware: A combination of both hardware and software. (Examples: ROM, PROM, EPROM).
- Freeware: Mostly copyrighted software that is made available to users by their creators completely free of charge. (Examples: Instant Messaging, Google Toolbar).
- Pseudocode: This is not an actual programming language. It is an informal, outline-like way to write down the logic of a program so that it can be easily converted into actual code later.
- Control Structures: A statement (or a group of statements) that dictates the sequential flow and execution order of instructions in a program.
- Looping: A specific type of control structure used to repeatedly execute a condition or block of code in a program.
- Software License: The legal right granted to a user to use a software program, usually bound by specific restrictions and conditions.
SUMMARY / QUICK REVISION NOTES
- Software Concept: Software is a set of instructions/programs that tells the hardware what to do. Its main goal is turning data into information.
- Two Main Types: System Software (runs the computer) and Application Software (does user tasks).
- Operating System (OS): The most critical System Software. It acts as the bridge between user and hardware, manages resources, and runs other programs (e.g., Windows, Linux).
- Device Drivers: Translators that help the OS communicate with specific hardware components like a mouse or printer.
- Utility Software: Essential for system maintenance—includes Disk Compressors (saves space), Fragmenters (organizes files), Backup (safeguards data), Cleaners (speeds up PC), and Anti-viruses (security).
- Application Software: Readymade or custom packages (like MS Word or Tally) meant for everyday tasks, accounting, and document creation.
- Word Processor: A tool for editing, formatting, and printing documents, sometimes called a Document Preparation System.
- General Purpose Apps: Commonly used software like Spreadsheets (MS Excel) for rows/columns of data, DBMS (MS Access) for databases, Desktop Publishing (Corel Draw) for printing, Graphics (Photoshop) for images, and Presentation (PowerPoint) for slide shows.
- Specific Purpose Apps: Built for a single targeted job. Includes Inventory systems (stock), Payroll (salaries), Reservation (tickets), and Accounting (bookkeeping).
- System vs. App Software: System software is complex, expensive, mandatory to run the PC, and operates hardware. Application software is cheaper, user-task focused, and optional for the PC's base operation.
- Programming Languages: Computers only understand special languages.
- Low-Level: Machine Language (0s and 1s, very hard to debug) and Assembly Language (uses English codes, easier to debug). Fast execution.
- Medium-Level: Acts as a bridge (e.g., C Language).
- High-Level: Uses plain English words and math symbols. Very easy to code/debug but must be translated by a Compiler or Interpreter to run.
- Linker & Loader: A Linker merges object files into a single executable file. A Loader puts that executable file into the computer's main memory to run.
- High-Level Languages: Know the founders and uses!
- FORTRAN = Math calculations.
- COBOL (Grace Hopper) = Business.
- C (Dennis Ritchie) = System programming.
- JAVA (James Gosling) = Internet programming.
- Language Translators: Required because computers only "speak" machine language.
- Assembler: Translates Assembly Language -> Machine Language.
- Compiler: Translates High-Level -> Machine Language (All at once, creates an Object File).
- Interpreter: Translates High-Level -> Machine Language (Line-by-line, does NOT create an Object File).
- Key Terms:
- Firmware = Hardware + Software (e.g., ROM).
- Freeware = Free copyrighted software.
- Pseudocode = Informal program outline (not real code).
- Looping = Repeating a process in a program.
- Get link
- X
- Other Apps
Comments
Post a Comment