Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 8

Software

Both software and hardware are both equally essential for successful operation of the system.

2 types of software that a computer Uses:


1. System Software
2. Application Software.

4.1 Types of Software


System Software
System software is a variety of programs and processes that a computer needs in order to
function. System software that is embedded into hardware devices are known as firmware.
An example of system software is the BIOS program that is installed in the Read Only
Memory (ROM) of a computer. BIOS stands for Basic Input Output System, and it is a set of
instructions that are executed by a computer once it receives the power to start all of the
necessary hardware. Another example of system software is the operating system (OS) of the
computer. Operating system allows the user to work with the hardware and application
software in a user-friendly way.
Most computers store the operating system on HDD (Hard Disk Drive) or SSD (Solid State
Drive) since they tend to be very large program. Mobile phones and tablets store the
operating system on a solid state drive since they are too small to accommodate in hard disk
drive. There are some functions of an operating system.
1. multi-tasking- allows computer to carry out more than 1 task at a time. Each of the
processes will share the hardware resources under the control of operating system software.
2. Platform for running of application software-
3. Management of user accounts – You can create many user accounts on an operating
system.
4. Managing files-
 The main tasks of file management include: naming the files, performing specific task
on the files (Eg: Create, open, close, delete, copy, rename and more).
 Maintaining the directory structures.
 Ensuring access control mechanism. (Access right to files, password protection)
 Ensuring memory allocation for a file by reading it from HDD or SSD)
5. Managing hardware (peripherals) including drivers.
6. Memory management
7. Interrupt handling- given in the book
8. Security
9. Human-computer interface

Operating System (OS)


The operating system is essentially software running in background of a computer system. It
manages many of the basic functions. Without the OS, most computer would be very user-
unfriendly and the majority of the users would find it almost impossible to work with
computers on a day-to-day basis.

The OS is a part of the system software as it handles the software and makes sure that no
error take place in the system.

Application software
Application software is the term used for any software that a user requires in order to make
use of the computer system for their needs. Examples of applications software are office
applications such as word processors, spreadsheet applications and presentation software,
games, web browsers and communications software. They are not essential to the functioning
of a computer, but they may be essential to a user’s particular needs.

Features of Application software


1. Purpose-Specific: Application software is designed with a specific purpose or set of
tasks in mind. Examples include word processors, web browsers, spreadsheet
software, video editing tools, and graphic design applications. Each type of
application software is created to help users accomplish particular tasks or goals.
2. User Interface (UI): Application software typically has a user-friendly interface that
allows users to interact with the program. The UI can vary widely in terms of design
and complexity, but it should make it easy for users to input data, access features, and
receive feedback.

3. Functionality: Application software provides specific functionality to users. For


instance, a web browser allows users to browse the internet, while a spreadsheet
application enables users to create and manipulate data tables. The functionality varies
greatly between different types of applications.

4. Interactivity: Application software often involves user interaction, allowing users to


input data, make choices, and control the software's behavior. This interactivity is a
defining feature that distinguishes application software from passive content like
documents or media files.

5. Data Processing: Many application software programs manipulate data in some way.
This can include calculations, data analysis, sorting, filtering, and transformation of
data based on user instructions.

6. Data Storage: Applications often allow users to create, save, and manage files or data.
They may have features for creating, opening, editing, saving, and organizing files in
a user-friendly manner.

7. Customization: Users can often customize application software to suit their


preferences and needs. This may involve changing settings, layouts, or templates, as
well as adding or removing features or plugins.

8. Updates and Maintenance: Application software may receive updates and bug fixes to
improve performance, security, and functionality. Users are typically encouraged to
keep their applications up to date.

9. Compatibility: Application software should be compatible with the underlying


operating system and hardware. Developers often create versions for different
operating systems (e.g., Windows, macOS, Linux) and platforms (e.g., desktop,
mobile).
10. Support and Documentation: Many application software products come with user
guides, online help, and customer support options to assist users in learning how to
use the software effectively and troubleshoot issues.

11. Licensing and Payment Models: Application software can be commercial (requiring a
purchase or subscription) or open source (freely available), and the licensing and
payment models can vary. Some applications offer free trials, while others require
one-time purchases or recurring payments.

12. Integration: Some application software is designed to work seamlessly with other
software or services. Integration capabilities allow data and functionality to be shared
between applications, improving workflow and efficiency.

Difference between system software and application software


 Examples of system software: operating system, utility programs, device drivers.

 Examples of application software: spreadsheet, word processor, data base, internet


browser, games/ware.
 Features of system software:
1. Set of programs to control and manage the operation of a computer hardware.
2.Providing a platform on which other software can run.
3. Required to allow hardware and software to run without problems
4. Provide a human computer interface. (HCI)
5.Controls the allocation and usage of hardware resources.
 Features of application software:
1, Used to perform various applications (apps) on a computer.
2. Allows a user to perform specific tasks using the computer’s resources.
3. May be a single program (Eg: Notepad) or a suite of programs (Eg: Microsoft office-
contains lots of apps: Word, PowerPoint, Excel).
4. User can execute the software as and when required.

Utility software- Utility software, often referred to as utility programs or system utilities, is a
type of software designed to perform specific tasks that enhance or maintain the functionality
of a computer system. These tasks typically include optimizing system performance,
managing files and data, and ensuring the smooth operation of hardware components. Utility
software is not directly related to specific user applications but instead serves to support and
maintain the overall functionality and efficiency of a computer or device. This software is
part of the system software as it helps in maintaining the computer system’s health
Examples of Utility software: Anti-virus, anti-spyware, backup of files, disk repair and
analysis, file management and compression, security, screensavers, disk defragmentation
software.
Command Line Interface (CLI) and Graphical user interface (GUI)
CLI (Command Line Interface) and GUI (Graphical User Interface) are two different types of
user interfaces used in computing, each with its own set of characteristics and advantages.

CLI (Command Line Interface):


 CLI is a text-based interface that allows users to interact with a computer or software
application by typing commands into a terminal or command prompt.
 Users enter specific commands, often with parameters and options, to perform tasks
or execute programs.
 CLI is highly efficient for experienced users who are comfortable with text-based
commands and want precise control over their interactions with the computer.
 It is commonly used in server environments, programming, system administration,
and scripting.
 Examples of CLI-based operating systems include Linux/Unix-based systems (with
terminals like Bash) and Windows Command Prompt.

GUI (Graphical User Interface):


 GUI is a visual interface that presents information, options, and controls to users
through graphical elements such as windows, icons, buttons, menus, and dialog boxes.
 Users interact with a GUI by using a mouse or touchpad to click, drag, and drop
elements, as well as by using a keyboard for text input.
 GUIs are designed to be intuitive and user-friendly, making them accessible to a wide
range of users, including those with limited technical expertise.
 GUIs are commonly used in desktop operating systems like Windows, macOS, and
various Linux distributions. They are also prevalent in applications, web browsers,
and mobile devices.

Interrupts
An interrupt is a signal sent from a device or a program to the operating system that causes a
temporary stop in the current program. These interrupts are important functions of a operating
system. When the program is halted, it is to make a decision, to continue running the
program, run a different program or require further intervention (action taken by someone to
make something different happen) from a user.
When a device sends an interrupt signal, for instance when a user presses a key on a
keyboard, the interrupt is collected by an interrupt handler, and an interrupt service routine is
carried out. This usually involves the interrupt being assigned a place in a queue, so that the
handler can decide which interrupt is the highest priority. The interrupts are then handled
according to their importance. This process happens so fast that it is impossible for a user to
notice that the operating system has been interrupted temporarily.
There are 2 different types of interruptions:
1. Software interrupt
2. Hardware interrupt

What is data base software?


Database software is used to organise, manipulate and analyse data.

Assembly Language
The computer only understands machine language (binary) and isn’t capable of understanding
high-level language (human-used language). This is where assembly language comes into
use. Assembly language sits above the machine code and is a low-level language that uses
mnemonics (Pattern of letters or ideas that help a user to remember something) for its
instruction and commands. When a program is written in assembly language, the low-level
language needs to be translated into machine language in order for the computer to carry out
the programming. An assembler is needed to carry out this task. This translator application is
usually built into programming software when coding at low-level.
Example of Assembly Language: INP- low level mnemonic for input, and RET- mnemonic
for Return.

Compilers and Interpreters


Compilers and Interpreters are code translation application and are built into high-level
programming languages and their key feature is to report errors in the code of a programme.
When the programmer produces a code in high-level language, it is important for the code to
be tested. The complier translates an entire block of code to produce an executable file. After
this file is run, the complier will produce an error report for the entire block if any error is
detected. In contrast, interpreter also reports error but instead of producing report for the
entire block, it gives report line by line. Unlike compiler, interpreter stops the execution as
soon as the code detects an error rather than waiting till the end of the execution and then
reporting errors. This helps the user to identify the error quickly. Also, interpreter does not
produce an executable file at the end of the process. In conclusion, interpreters are used for
ease of debugging and a complier is used to translate the finished program.
Examples of Compiler: C, C++
Examples of Interpreters: Python, JavaScript

Resources
https://www.youtube.com/watch?v=x6VfRVnQ4XE

You might also like