Class 9 | Computer Software | Fundamentals of Computer and Application Notes

Computer Software

Computer software refers to a collection of programs, data, and instructions that enable a computer to perform specific tasks or functions.

Software can broadly be classified into two main types:

  1. System Software
  2. Application Software

1. System Software

System software is software designed to manage and control computer hardware and provide a platform for running application software.

It helps the computer system operate properly and coordinates different hardware and software components.


Features of System Software

Some important features of system software are:

  1. System software can be complex to design and develop.
  2. It works closely with computer hardware.
  3. It provides a platform for running application software.
  4. It is designed for efficient and fast execution.
  5. It manages and controls important computer resources.

Types of System Software

Important types of system software include:

  1. Operating System
  2. Utility Software
  3. Language Processor

Operating System

An Operating System (OS) is system software that manages computer hardware and provides services for other software programs.

It acts as an intermediary between:

User / Application Software ↔ Operating System ↔ Computer Hardware

Examples

  • Microsoft Windows
  • macOS
  • Linux
  • Unix

Utility Software

Utility software is system software designed to help maintain, manage, protect, optimize, and improve a computer system.

Utility software commonly performs tasks related to:

  • System maintenance
  • Data management
  • Security
  • Backup
  • File management
  • Performance optimization

Language Processor

A language processor is software used to translate programming instructions into a form that a computer can understand and execute.

The major types of language processors are:

  1. Compiler
  2. Interpreter
  3. Assembler

Compiler

A compiler is a language processor that translates an entire program written in a high-level programming language into machine code or another executable/intermediate form.

A compiler generally translates the complete source program before its execution.


Interpreter

An interpreter is a language processor that translates and executes source code one statement at a time.

It reads the source code, analyzes it, and executes the instructions during program execution.


Assembler

An assembler is a language processor that translates a program written in assembly language into machine language.

Assembly language uses mnemonic instructions that represent machine-level operations.


Difference Between Compiler, Interpreter and Assembler

CompilerInterpreterAssembler
Translates high-level language.Translates and executes high-level source code statement by statement.Translates assembly language.
Usually processes the complete program before execution.Processes instructions during execution.Converts mnemonic instructions into machine instructions.
Used with compiled programming languages.Used with interpreted programming environments.Used with assembly language.
Produces machine/object/intermediate code depending on the implementation.Commonly executes instructions directly through the interpreter environment.Produces machine/object code.

2. Application Software

Application software is software designed to perform specific tasks for the user.

It helps users perform activities such as:

  • Writing documents
  • Calculations
  • Designing
  • Communication
  • Data management
  • Business operations

Features of Application Software

Some important features of application software are:

  1. It is developed to perform specific user-oriented tasks.
  2. It is generally developed using high-level programming languages.
  3. It is designed to solve particular problems or requirements.
  4. Some application software can require significant storage space depending on its features.

Types of Application Software

Application software can be classified into:

  1. Package Software
  2. Tailored Software

Package Software

Package software is software developed for use by many users with similar requirements.

It is generally available as a ready-made software product.

A software package may contain one or more related programs designed to work together.


Tailored Software

Tailored software, also known as custom software or bespoke software, is specially designed and developed according to the requirements of a particular:

  • User
  • Organization
  • Company
  • Business

It is created to solve specific problems that may not be fully addressed by general-purpose packaged software.


Difference Between Package Software and Tailored Software

Package SoftwareTailored Software
Developed for many users.Developed for a particular user or organization.
Usually ready-made.Developed according to specific requirements.
General features are provided.Features are customized.
Can be distributed to many customers.Usually designed for a specific client or purpose.

Operating System

An Operating System (OS) is system software that manages computer hardware and provides common services for computer programs.

It acts as an interface between users, application programs, and computer hardware.


Main Functions of an Operating System

The major functions of an operating system include:

  1. Managing the CPU
  2. Controlling input and output devices
  3. Managing storage and retrieval of information
  4. Coordinating application programs with hardware
  5. Managing memory
  6. Managing files
  7. Managing processes
  8. Providing security
  9. Handling interrupts
  10. Managing system resources

Memory Management

Memory management refers to managing the memory resources of a computer system.

An operating system manages the allocation and deallocation of memory to programs according to their requirements.

It helps ensure that different programs receive the memory they need while they are running.


Device Management

A computer system may contain many input and output devices.

The operating system manages communication with these devices, often through device drivers.

Device management includes:

  • Managing I/O requests
  • Coordinating device access
  • Controlling communication between hardware and software

File Management

The operating system manages files and directories stored on a computer.

File management includes:

  • Creating files
  • Organizing files
  • Creating directories
  • Storing files
  • Retrieving files
  • Naming files
  • Protecting files

Files may be arranged into directories and subdirectories for better organization.


Process Management

A process is a program that is currently being executed.

During execution, a process may require:

  • CPU time
  • Memory
  • Input/Output devices
  • Other system resources

The operating system manages these processes and allocates the required resources.


Security

An operating system helps protect data and system resources from unauthorized access.

Some security mechanisms mentioned in the chapter include:

User Accounts

Different users can be provided with individual accounts.


Access Rights

Access rights define what information or resources different users are allowed to use.


User Authentication

Users may be required to verify their identity using passwords or other authentication methods.


Data Encryption

Sensitive information can be stored in encrypted form to improve security.


Deadlock

In a multiprogramming environment, multiple processes may require the same system resources.

A deadlock is a condition in which processes are unable to continue because each is waiting for a resource held by another process.

Operating systems use resource-management techniques to handle or reduce such situations.


Interrupt Handling

An interrupt is a signal sent to the processor indicating that an event requires attention.

Interrupts may be generated by:

  • Hardware
  • Software

The operating system helps manage these interrupts so that the processor can respond appropriately.


Types of Operating System

The types of operating systems discussed in this chapter include:

  1. Single-User / Single-Tasking OS
  2. Single-User / Multitasking OS
  3. Multi-User OS
  4. Real-Time Operating System
  5. Multitasking Operating System

1. Single-User / Single-Tasking Operating System

A single-user, single-tasking operating system allows one user to perform one main task at a time.

It is designed for relatively simple computing environments.


2. Single-User / Multitasking Operating System

A single-user, multitasking operating system allows one user to run multiple programs or applications.

For example, a user may work with different applications during the same computer session.

The source gives systems such as:

  • Windows
  • Macintosh operating systems

as examples.


3. Multi-User Operating System

A multi-user operating system allows multiple users to access the resources of a computer system.

The central computer system may contain:

  • Powerful processor resources
  • Large storage capacity
  • Shared system resources

Examples given in the source include:

  • Linux
  • UNIX
  • MVS

Advantages of Multi-User Operating System

  1. It allows efficient utilization of computer resources.
  2. Multiple users can access shared resources.
  3. It can improve productivity by supporting multiple tasks and users.

Disadvantages of Multi-User Operating System

  1. A multi-user environment can be complex to manage and maintain.
  2. Problems with important central resources or network connections may affect multiple users.

Difference Between Single-User and Multi-User Operating System

Single-User OSMulti-User OS
Provides resources mainly to one user at a time.Allows multiple users to access system resources.
Generally simpler to manage.Generally more complex to manage.
A single user may interact with several programs in a multitasking system.Multiple users may access shared resources.
Designed mainly for individual use.Designed for environments with multiple users.
Examples given in the notes: Windows, Apple macOS.Examples given in the notes: Unix, Linux.

4. Real-Time Operating System (RTOS)

A Real-Time Operating System (RTOS) is an operating system designed for applications where operations must respond within specific timing requirements.

Real-time operating systems are commonly associated with embedded and time-sensitive systems.

The chapter gives examples such as:

  • MTOS
  • RTX
  • Lynx

Types of Real-Time Operating System

Real-time operating systems can be divided into:

  1. Hard Real-Time OS
  2. Soft Real-Time OS

Hard Real-Time Operating System

In a hard real-time operating system, tasks must complete within strict specified deadlines.

Missing a required deadline may cause the system to fail to meet its intended requirement.


Soft Real-Time Operating System

In a soft real-time operating system, timing deadlines are important, but a task may sometimes complete slightly after the desired time.

Such delays may reduce performance but do not necessarily cause total system failure.


Advantages of Real-Time Operating System

  1. System resources can be used efficiently for time-sensitive applications.
  2. RTOS can be suitable for embedded systems.
  3. It gives high priority to tasks that require timely execution.
  4. It is useful where predictable response time is important.

Limitations of Real-Time Operating System

  1. RTOS design and resource management can be complex.
  2. Some real-time systems require specialized hardware and software resources.
  3. Task scheduling must be carefully managed.

5. Multitasking Operating System

A multitasking operating system allows multiple programs or tasks to make progress during the same period by rapidly switching CPU time among them.

For example, a user may work with:

  • MS Word
  • MS Excel
  • Media Player

during the same computer session.


Types of Multitasking Operating System

Multitasking can be classified into:

  1. Preemptive Multitasking
  2. Non-Preemptive Multitasking

Preemptive Multitasking OS

In preemptive multitasking, the operating system controls CPU scheduling.

CPU time is divided among different processes according to scheduling rules or priorities.

A process can be interrupted so that another process can receive CPU time.


Non-Preemptive Multitasking OS

In non-preemptive multitasking, a running program retains control of the CPU until it voluntarily gives up control or completes its operation.

It is also called cooperative multitasking.


Advantages of Multitasking Operating System

  1. Multiple applications can be used during the same computer session.
  2. It improves utilization of CPU and system resources.
  3. It can improve overall productivity.

Disadvantages of Multitasking Operating System

  1. Running several programs may require a large amount of memory.
  2. Heavy multitasking can increase CPU and system-resource usage.
  3. System performance may decrease if too many programs are running simultaneously.

User Interface

A user interface is the environment provided by an operating system through which a user interacts with a computer.

The two types discussed in this chapter are:

  1. CUI
  2. GUI

CUI – Command User Interface

CUI stands for Command User Interface.

It is also commonly referred to as a:

  • Command-Line Interface
  • Text-Based Interface

In a CUI, users interact with the computer by typing commands.

Characteristics of CUI

  • Mainly text-based
  • Commands are entered using the keyboard
  • Requires knowledge of commands
  • Contains fewer graphical elements
  • Can be more difficult for beginners to use

GUI – Graphical User Interface

GUI stands for Graphical User Interface.

A GUI allows users to interact with a computer using graphical elements such as:

  • Icons
  • Windows
  • Menus
  • Buttons
  • Pointers

Users can perform tasks using point-and-click operations instead of relying only on typed commands.


Difference Between CUI and GUI

CUIGUI
Stands for Command User Interface.Stands for Graphical User Interface.
Mainly text-based.Mainly graphics-based.
User enters commands.User interacts with icons, windows, menus, and buttons.
Requires knowledge of specific commands.Generally easier for beginners to operate.
Mostly operated using a keyboard.Commonly operated using mouse, keyboard, touchscreen, etc.
Has fewer graphical elements.Contains graphical components.

Quick Revision

Computer Software

Software is a collection of programs, data, and instructions that enables a computer to perform tasks.

Main Types

  • System Software
  • Application Software

System Software

System software manages computer hardware and provides a platform for application software.

Types

  • Operating System
  • Utility Software
  • Language Processor

Language Processors

Compiler

Translates an entire high-level source program.

Interpreter

Translates and executes instructions statement by statement.

Assembler

Converts assembly language into machine language.


Application Software

Application software is designed to perform specific tasks for users.

Types

  • Package Software
  • Tailored Software

Operating System

An operating system manages computer hardware, software, and system resources.

Major Functions

  • Memory Management
  • Device Management
  • File Management
  • Process Management
  • Security
  • Interrupt Handling
  • Resource Management

Types of Operating Systems

  • Single-User / Single-Tasking OS
  • Single-User / Multitasking OS
  • Multi-User OS
  • Real-Time OS
  • Multitasking OS

Real-Time OS

Types

  • Hard Real-Time OS
  • Soft Real-Time OS

Multitasking OS

Types

  • Preemptive Multitasking
  • Non-Preemptive Multitasking

User Interface

CUI

Uses commands and a text-based interface.

GUI

Uses graphical components such as icons, windows, buttons, and menus.


Important Exam Points

  • Computer software consists of programs and instructions.
  • Software is mainly divided into system software and application software.
  • System software manages hardware and supports applications.
  • Operating systems, utility software, and language processors are types of system software.
  • Compiler, interpreter, and assembler are language processors.
  • Application software is designed for user-oriented tasks.
  • Package software is developed for general users.
  • Tailored software is developed for specific requirements.
  • An operating system acts as an intermediary between applications and hardware.
  • Memory management allocates and deallocates memory.
  • Device management manages input and output devices.
  • File management manages files and directories.
  • Process management manages programs currently being executed.
  • Operating systems provide security mechanisms.
  • A multi-user OS allows multiple users to share computer resources.
  • An RTOS is designed for time-sensitive applications.
  • Hard real-time systems have strict deadlines.
  • Soft real-time systems allow more flexible deadlines.
  • Multitasking allows multiple programs to make progress during the same period.
  • Preemptive multitasking is controlled by the operating system scheduler.
  • Non-preemptive multitasking is also called cooperative multitasking.
  • CUI is command-based.
  • GUI uses graphical elements.

Discussion

Share a helpful question, idea, or explanation with other students.

Leave a Comment

Write a clear question, answer, or helpful explanation.
Your email will not be published.

Download Our Offline App

Study class-wise notes even when internet is not available. Get the app from Play Store.

Nepal eNotes offline app preview
Get it on Google Play