Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
31 views

Software

Uploaded by

ubeshpariyar2322
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
31 views

Software

Uploaded by

ubeshpariyar2322
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

Software

The Software refers to the set of instructions fed in form of programs to


govern the computer system and process the hardware components.

Software’s can be divided into 3 major types:

1. System Software
2. Application Software
3. Utility Software
System Software: The system software is a collection of programs designed
to operate, control, and extend the processing capabilities of the computer
itself. System software is generally prepared by the computer manufacturers.
System software serves as the interface between the hardware and the end
users. Some examples of system software are Operating System, Compilers,
Interpreter, Assemblers, etc.
Operating System: It is a collection of software that handles resources and
provides general services for the other applications that run over them. As an
OS essentially determines how a user interacts with the system, therefore
many users prefer to use one specific OS for their device. There are various
types of operating system such as real-time, embedded, distributed, multiuser,
single-user, internet, mobile, and many more. It is important to consider the
hardware specifications before choosing an operating system.
Some examples of Operating systems given below:
Android, iOS, Linux, Mac OS, MS Windows, Ubuntu, Unix

Device Drivers: It is a type of software that controls particular hardware


which is attached to the system. Hardware devices that need a driver to
connect to a system include displays, sound cards, printers, mice and hard
disks. Further, there are two types of device drivers: Kernel Device Drivers
and User Device Driver. Some examples of device drivers are:
➢ Display Drivers
➢ Motherboard Drivers
➢ Printer Drivers
➢ ROM Drivers
➢ Sound card Driver
➢ USB Drivers
➢ VGA Drivers

Language translator: A translator or programming language processor is


a generic term that can refer to anything that converts code from one
computer language into another
Assembler: An assembler is a system program used for translating an
assembly language program into machine code. E.g. Macro Assembler, Turbo
Assembler

Compiler: A compiler is a system program that translates the instructions of a


high-level language to machine language. It reads the entire program first,
checks it for errors and then translates it into machine code. E.g. C++ is
compiler based.

Interpreter: An interpreter is a system program that translates the instructions


of a high-level language to machine language. But it considers one statement
of a high-level language program, translates it into machine language and then
executes it immediately. E.g. Basic language is interpreter based.

Utility: Utility software is designed to aid in analyzing, optimizing,


configuring and maintaining a computer system. It supports the computer
infrastructure. This software focuses on how an OS functions and then
accordingly it decides its trajectory to smoothen the functioning of the system.
Software’s like antiviruses, disk cleanup & management tools, compression
tools, defragmenters, etc. are all utility tools.
Some examples of utility tools are:
• Avast Antivirus
• McAfee Antivirus
• Windows File Explorer
• WinRAR o WinZip
• Disk Defragmenter Tools

Application software

Application software (app), is software that performs specific tasks for an end-
user. An application program is a computer program designed to carry out a
specific task other than one relating to the operation of the computer itself,
typically to be used by end-users. It can be divided into two types
1. The General-Purpose Application Software: These are the types of
application software that comes in-built and ready to use, manufactured by
some company or someone.
For e.g: Microsoft Excel – Used to prepare excel sheets, VLC Media
Player – Used to play audio/video files, Adobe Photoshop – Used for
designing and animation and many more.
2. The Specific Purpose Application Software: These are the type of
software that is customizable and mostly used in real-time or business
environment.
For e.g: Ticket Reservation System, Healthcare Management System, Hotel
Management System, Payroll Management System.

Web Based Software: Web-based software is a type of software that is


stored on remote servers and accessible through a web browser. It is often
referred to as cloud-based software or software-as-a-service (SaaS). A
program that uses online/internet technology to carry out different
activities is called web-based software.

Mobile App: A mobile application (app) is a software program designed


to run on mobile devices such as smartphones and tablets. These apps are
typically downloaded and installed from app stores (e.g., Google Play for
Android, Apple App Store for iOS) or directly from websites. Mobile apps
are created to serve specific functions, and their features are tailored to the
capabilities of mobile devices, such as touch screens, GPS, cameras, and
accelerometers.

There are two main types of mobile apps:


1. Native Apps: These are built specifically for a particular operating
system, like iOS or Android, using their respective programming
languages (Swift/Objective-C for iOS, Java/Kotlin for Android). They
offer the best performance and can access all device features.
2. Hybrid Apps: These are a combination of native and web apps. They are
built using web technologies (HTML, CSS, JavaScript) and are wrapped
in a native container that allows them to be installed on mobile devices.
They work across multiple platforms but may not perform as smoothly as
native apps.
3. Web Apps: These are not downloaded and installed but accessed via a
web browser. They are essentially websites designed to function on
mobile devices. They require an internet connection and don't provide as
seamless an experience as native apps but are cost-effective.

Operating System
An operating system is a program that acts as an interface between the user and
the computer hardware and controls the execution of all kinds of programs.
Advantage of Operating System
• Allows you to hide details of hardware by creating an abstraction
• Easy to use with a GUI
• Offers an environment in which a user may execute programs/applications
• The operating system must make sure that the computer system convenient
to use
• Operating System acts as an intermediary among applications and the
hardware components
• It provides the computer system resources with easy to use format
• Acts as an intermediator between all hardware’s and software’s of the
system
Disadvantages of Operating System
• If any issue occurs in OS, you may lose all the contents which have been
stored in your system
• Operating system’s software is quite expensive for small size organization
which adds burden on them. Example Windows
• It is never entirely secure as a threat can occur at any time
1. Memory Management
Any task or program before execution is loaded into the primary memory.
However, the primary or main memory of the computer system is very limited.
Therefore, it is one of the main functions of the operating system to allocate the
memory to programs.
It regulates the main memory by keeping track of memory bytes used by every
process. Other than that, the OS also determines the order and amount of
memory allocated to different tasks or processes.

2. Processor Management
In a computer system, various tasks are performed at the same time. The role of
an operating system is to manage all the processes (tasks in execution). The OS
decides which process gets access to the processing and how much time is
required.
Thus, OS schedules and keeps track of the processes. Since the CPU is the
control unit of the computer system, allocating it to different processes is one of
the most crucial functions that operating systems perform.

3. Device Management
A computer system has various input and output devices that interact together to
perform the task. Now, the basic function of an operating system is to manage
the hardware and I/O devices. The OS interrelates with its software program and
device driver for any device.
The operating system allocates the program related to the driver and also keeps
track of all devices. Thus, the OS communicates with the devices to allow them
to perform any task.
4. File Management
All data, programs, and information are saved as files in the secondary storage
unit of the computer. The operating system manages these files from creation,
deletion, and security. The OS maintains complete track of where the files are
stored, their status, and access.

5. Error Handling
The operating system needs to be detecting and correcting errors constantly.
Errors may occur in the CPU and memory hardware (for eg. a memory error or a
power failure), in I/O devices (such as a parity error on disk, a connection failure
on a network, or a lack of paper in the printer), and in the user program (an
arithmetic overflow, an attempt to access an illegal memory location or a too-
great use of CPU time). For each type of error, the operating system should take
the appropriate action to ensure correct and consistent computing.

6. User Interface
Operating systems provide a user interface (UI), which can be graphical (GUI) or
command-line (CLI). This interface allows users to interact with the computer
system, execute programs, manage files, and perform various tasks efficiently.

7. Network Management
Network management refers to administering, monitoring, and optimizing
computer networks to ensure efficient and secure operation. It involves processes,
tools, and methodologies to maintain the network’s performance, reliability, and
security. Network management tasks can vary depending on the size and
complexity of the network, ranging from small local area networks (LANs) to
large-scale wide area networks (WANs) and data centers.

8. I/O Management
I/O management is the important function of operating system refers to how the
OS handles input and output operations between the computer and external
devices, such as keyboards, mice, printers, hard drives, and monitors.
9. Deadlock: Deadlocks are a set of blocked processes each holding a resource
and waiting to acquire a resource held by another process. Deadlock is a
situation in which, neither the processing task of CPU is completed nor the
CPU is released to execute other task. In this case, CPU remains in idle state.
OS is responsible to prevent the deadlock to occur. However, if deadlock
occurs, OS detects and recovers from the dead lock.

Important Features of Deadlock –

• In deadlock, processes get blocked because each process is holding some


resource and they are waiting for other resource, which is held by another
process.
• Deadlock usually occurs in multiprocessing, time- sharing etc.
• In Multiprocessing, many processes share a specific type of mutually
exclusion resource known as soft lock.
• Time Sharing computers are equipped with a hardwired lock which
guarantees exclusive access to processes, thus preventing deadlock.
• There is no general solution to avoid soft deadlock.

10.Virtual Storage

Virtual memory is a method that computers use to manage storage space to keep
systems running quickly and efficiently. Using the technique, operating
systems can transfer data between different types of storage, such as random
access memory (RAM), also known as main memory, and hard drive or solid-
state disk storage. At any particular time, the computer only needs
enough active memory to support active processes. The system can move those
that are dormant into virtual memory until needed.

A virtual memory system has many advantages, including:


• Allowing users to operate multiple applications at the same time or
applications that are larger than the main memory
• Freeing applications from having to compete for shared memory space and
allowing multiple applications to run at the same time
• Allowing core processes to share memory between libraries, which
consists of written code that provides the foundation for a program's
operations
• Improving security by isolating and segmenting where the computer stores
information
• Improving efficiency and speed by allowing more processes to sit in virtual
memory

2 types of virtual memory


1. Paging

Paging is a virtual memory technique that separates memory into sections called
paging files. When a computer reaches its RAM limits, it transfers any currently
unused pages into the part of its hard drive used for virtual memory. The
computer performs this process using a swap file, a designated space within its
hard drive for extending the virtual memory of the computer's RAM. By moving
unused files into its hard drive, the computer frees its RAM space for other
memory tasks and ensures that it doesn't run out of real memory.

2. Segmenting

Segmentation is another method of managing virtual memory. A segmentation


system divides virtual memory into varying lengths and moves any segments
that aren't in use from the computer's virtual memory space to its hard drive.
Like page tables, segment tables track whether the computer stores the segment
in memory or a physical address. Segmentation differs from paging because it
divides memory into sections of varying lengths, while paging divides memory
into units of equal size. With paging, the hardware determines the size of a
section, but the user can select the length of a segment in a segmentation system.

You might also like