0% found this document useful (0 votes)
19 views6 pages

Understanding Software Types and Functions

Uploaded by

sekhar BULUSU
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views6 pages

Understanding Software Types and Functions

Uploaded by

sekhar BULUSU
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

SOFTWARE

Software is a series of instructions to a computer


or other digital device to execute any and all
processes, such as displaying text, mathematically
manipulating numbers, or copying or deleting
documents.
Digital devices only understand instructions made up of
electrical signals alternating between two states, which
eventually close or open tiny electrical circuits. Different
sequences of signals represent different instructions to the
computer. In the early days of computers, programming a
computer meant actually changing the computer’s wiring
by opening and closing switches or moving plugs from one
circuit to another. Because programs today consist of
instructions that require no hardware reconfiguration, the
skill of composing software programs is independent of
building or directly manipulating hardware. Software is
executed not only on computers, but in every device that
uses microprocessors, such as motor vehicles, digital
cameras, and mobile phones. However, in this chapter we
will focus mainly on computer software that serves
organizations.
The two major categories of software are
application software and system software.
Application software enables users to complete a
particular application or task, such as word processing,
investment analysis, data manipulation, or project
management.
System software enables application software to run on
a computer, and manages the interaction between the
CPU, memory, storage, input/output devices, and other
computer components.
APPLICATION SOFTWARE
An application can also be software that lets
nonprogrammers develop such programs. Most programs
that professionals use are application programs, such as
word-processing programs, spreadsheet programs, payroll
programs, investment analysis programs, and work-
scheduling and project management programs.
Programs designed to perform specific jobs, such as
calculating and executing a company’s payroll, are
collectively called application-specific software.
Programs that serve varied purposes, such as developing
decision-making tools or creating documents, are called
general-purpose application software. Spreadsheets
and word processors are general-purpose applications.
General-purpose applications are available as packaged
software; that is, they come ready to install from an
external storage medium such as a CD or a file
downloaded from a vendor’s website.
SYSTEM SOFTWARE
System software includes programs that are designed to
carry out general routine operations, such as the
interface between user and computer, loading a file,
copying a file, or deleting a file, as well as managing
memory resources and operating peripheral equipment
such as monitors and printers.
The purpose of system software is to manage computer
resources and perform routine tasks that are not specific
to any application.
On one hand, system software is developed to work in
partnership with as many applications as possible; on
the other, applications can work with system software
only if they are developed to be compatible with that
software.

OPERATING SYSTEMS
The operating system (OS) is the single most important
program that runs on a computer and the most important
type of system software.
Operating systems perform basic tasks, such as
recognizing input from the keyboard and mouse, sending
output to the computer display, keeping track of files and
directories (groups of files) on disks, sending documents
to the printer, and interfacing with network devices.
Without an operating system, no application can run on a
computer.
An operating system is developed for a certain
microprocessor or multiple microprocessors.
Programmers know which operations each microprocessor
can perform and how it performs them.
The OS must address technical details such as CPU
circuitry and memory addresses.
Therefore, OSs are usually developed with the aid of low-
level programming languages, such as assembly
languages, or with a language that can access low-level
machine functions, such as C.
Application
Keeps track of
Sends images files and
to the directories
monitor
Operating
System
Sends
Receives input
documents to
from the keyboard
the printer
and the mouse
Receives information
from a network card

The OS is sometimes called the “traffic cop” or the “boss”


of computer resources. Indeed, it is charged with control
functions such as optimally allocating memory locations
for an application program, copying the application from
an external storage medium into memory, passing control
to the CPU for execution of program instructions, and
sending processing results to output devices.
Operating systems are also often referred to as
“platforms,” because they are the platform on which all
other applications “ride” when interacting with the
hardware.
When application developers write code, they use the
application program interfaces (APIs) for the operating
system on which the application will run. APIs are
software included in the operating system. A good API
makes it easy to develop an application. Applications using
the same API have similar interfaces.

Common questions

Powered by AI

Efficient management and optimization of computer resources by system software is critical because it ensures that both system and application software can operate seamlessly and efficiently. System software controls fundamental operations such as memory management and peripheral equipment usage, essential for system stability and performance . Without effective resource management, applications may face conflicts, bottleneck issues, and reduced performance, potentially resulting in system crashes or slowdowns. Furthermore, optimized resource management also extends the lifespan of hardware components by preventing excessive wear and enabling efficient multitasking .

When developing an operating system for microprocessors, it is crucial to consider the specific operations that the microprocessor can perform and its method of performance . The OS must address technical details, such as CPU circuitry and memory addresses, ensuring efficiency and compatibility . These requirements often necessitate the use of low-level programming languages like assembly language or languages capable of accessing low-level machine functions, such as C . Additionally, the OS must effectively manage hardware resources and provide APIs that enable seamless application development, ensuring that applications can run optimally on the hardware .

If an operating system is not compatible with certain application software, several challenges can arise. The most immediate issue would be the inability to run the application, as operating systems provide the foundational platform for application execution . This incompatibility might lead to operational inefficiencies, as users cannot access or utilize necessary applications for productivity. Additionally, attempts to force compatibility through emulation or virtual machines could result in decreased performance, increased complexity, and potential security vulnerabilities. Overall, ensuring compatibility is crucial for maintaining functionality, efficiency, and stability in computing environments .

A robust API in an operating system has significant implications for the compatibility and performance of applications. It ensures that developers have access to a consistent set of tools and functions that facilitate seamless interaction between applications and the operating system . This consistency helps maintain compatibility across different applications, as they can use the same API functions to perform standard operations, leading to similar interfaces and user experiences. Moreover, by abstracting complex OS functions, a robust API enhances application performance by allowing developers to focus more on application-specific tasks rather than low-level system calls, optimizing both development efficiency and application speed .

In the early days of computing, programming a computer required direct hardware manipulation, such as changing the wiring by opening and closing switches or moving circuit plugs . However, modern software development has abstracted these hardware interactions so that programming now involves writing code in higher-level languages without needing to alter hardware configurations directly . This evolution allows software to be executed on various devices with microprocessors, facilitating complex applications across diverse environments, from computers to mobile devices and vehicles . This abstraction has broadened the accessibility and scope of software development, enabling complex, versatile system and application software construction while reducing the need for hardware-specific changes .

System software and application software interact closely to enable user tasks by providing the necessary infrastructure and functionality. System software, such as operating systems, manages hardware resources and facilitates communication between the hardware and application software . This allows application software to function as intended without needing to handle low-level hardware operations. Application software, categorized into general-purpose and application-specific, utilizes the capabilities provided by system software to execute user-driven tasks, such as document creation, data processing, and communication . Thus, the interaction between these software types is essential for executing user tasks effectively and efficiently.

Application software and system software serve different roles and functions. Application software is designed to help users complete specific tasks or applications, such as word processing, spreadsheet management, or project planning. It can be application-specific, like payroll programs, or general-purpose, like word processors or spreadsheets . In contrast, system software manages computer resources and provides a platform for application software. It performs routine operations such as interfacing with hardware, managing memory, and conducting basic input/output tasks . Essentially, while application software enables productive user tasks, system software underpins and supports these applications by ensuring optimal hardware function and system stability .

APIs, which are included in operating systems, provide a set of tools and functions that developers can utilize to create application software . They simplify the development process by providing predefined functions for common operations, ensuring smooth interaction between applications and the operating system. By using a consistent set of APIs, applications can have similar interfaces and operations, enhancing the overall development efficiency and unified user experience .

Operating systems serve as the primary type of system software managing computer resources. They perform essential functions such as recognizing input from keyboards and mice, sending outputs to displays, managing files and directories, printing documents, and interfacing with network devices . Without an operating system, no application can run on a computer, as it provides the necessary platform, or interface, between the user, applications, and hardware . The OS is often likened to a 'traffic cop' or 'boss' because it optimally allocates memory, manages CPU control for execution, and directs processing results to output devices .

General-purpose application software benefits businesses and organizations by providing versatile tools that support a wide range of tasks, from document creation and data analysis to project management and communication . Such software, like word processors and spreadsheet programs, enhances productivity by allowing users to perform various functions within a single application interface, reducing the need for multiple specialized programs . Additionally, packaged as ready-to-install software, they offer easy deployment and widespread compatibility across different computer systems, ensuring that organizations can implement them seamlessly without extensive customization or technical expertise .

You might also like