0% found this document useful (0 votes)
8 views29 pages

Software

The document provides an overview of system software, including its definition, types, and functions, highlighting the role of operating systems in managing hardware and software resources. It explains key components such as device drivers, programming language translators (compilers, interpreters, assemblers), and utility software. Additionally, it details the main functions of operating systems, including process, memory, file, device management, and security measures.

Uploaded by

israbintsanil
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)
8 views29 pages

Software

The document provides an overview of system software, including its definition, types, and functions, highlighting the role of operating systems in managing hardware and software resources. It explains key components such as device drivers, programming language translators (compilers, interpreters, assemblers), and utility software. Additionally, it details the main functions of operating systems, including process, memory, file, device management, and security measures.

Uploaded by

israbintsanil
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

UNIT 1

INTRODUCTION TO SYSTEM SOFTWARE

Introduction–System Software and machine architecture. Loader


and Linkers: Basic Loader Functions - Machine dependent loader
features –Machine independent loader features – Loader design options-
Assemblers- Macros and Macro Processors.
Software:
• Software is the set of programs and related data that tell a computer’s hardware
what to do and how to do it.

• A common example of software that tells computer hardware what to do and


how to do it is the operating system, such as Windows, macOS, or Linux.

• The operating system manages resources like the CPU, memory, storage, and
peripheral devices, allowing the hardware and other software (like applications)
to work together.​

• It is intangible (cannot be touched) and is the opposite of hardware, which is the


physical part of the computer.
• For instance, when you use a printer, the operating system and its specific device
driver send the proper instructions to the printer hardware so it prints your
documents correctly. Without this software, the hardware would not know how to
perform its intended function.

Device driver:

• A device driver is a type of software.

• More specifically, it is system software that allows the operating system to


communicate with and control a specific hardware device (like a printer,
keyboard, or graphics card).​

• It acts like a “translator” between the OS and the hardware, converting general
OS requests into device-specific commands and sending back the device’s
• Software is a collection of instructions, written in programming
languages, that a computer executes to perform tasks such as
managing the system, editing documents, browsing the web, or
playing games.

• A single program (like a word processor) is one piece of software; all


programs together on a system form the computer’s software.
System Software:
• System software is the software that helps your computer run smoothly.

• It manages the computer's hardware and provides the foundation for other programs
to work.

• Examples include operating systems, antivirus software, and disk formatting tools.

• It's often created by computer manufacturers and written in low-level languages to


interact directly with hardware.

• This includes things like the operating system (Windows, macOS, Linux), drivers
that connect devices to the computer, and helpful tools that keep everything working
properly.

• System software acts as a bridge between hardware and users.


Types of System Software:
Operating System:
• An operating system (OS) is a type of system software that manages a
computer's hardware and software resources.

• It provides common services for computer programs.

• An OS acts as a link between the software and the hardware.

• It controls and keeps a record of the execution of all other programs


that are present in the computer, including application programs and
other system software.
The main functions of operating systems are as follow:
• Resource Management: The operating system manages and allocates

memory, CPU time, and other hardware resources among the various

programs and processes running on the computer.

• Process Management: The operating system is responsible for starting,

stopping, and managing processes and programs. It also controls the

scheduling of processes and allocates resources to them.

• Memory Management: The operating system manages the computer’s

primary memory and provides mechanisms for optimizing memory usage.


• Security: The operating system provides a secure environment for the user,

applications, and data by implementing security policies and mechanisms such as

access controls and encryption.

• File Management: The operating system is responsible for organizing and

managing the file system, including the creation, deletion, and manipulation of

files and directories.

• Device Management: The operating system manages input/output devices such

as printers, keyboards, mice, and displays. It provides the necessary drivers and

interfaces to enable communication between the devices and the computer.


Functions of Operating System:
1. Process Management
Process management in operating system is about managing processes. A Process is a
running program. The life cycle of process is from the moment program start until it finishes.

Core Functions in Process Management:

• Scheduling: Decides which process uses the CPU next (using algorithms like Round
Robin or Priority Scheduling).

• Synchronization: Ensures orderly execution using locks, semaphores, or monitors to


prevent race conditions.

• Deadlock Handling: Detects and prevents situations where processes wait forever for
resources.

• Inter-Process Communication (IPC): Allows processes to exchange data via shared


2. Memory Management
Memory management in an operating system controls how data is stored and organized in main
(primary) memory and secondary storage, ensuring programs get the memory they need and freeing it when
no longer used.

Key Activities in Memory Management:

• Allocation & Deallocation: Assigns and frees memory as needed.

• Protection: Prevents processes from interfering with each other’s memory..

• Virtual Memory: Uses disk space as extra memory to run large programs.

• Fragmentation Handling: Reduces wasted space through compaction.

• Disk Management: Handles file storage, free space, disk scheduling, and backups.
3. File System Management
File management in an operating system organizes and controls how data is
stored, named, and accessed on storage devices, making it easy for users to find and
use their files.

File System Management includes managing of:

• File Attributes: Name, type, size, and permissions.

• File Types: Text, binary, and executable files.

• Operations: Create, read, write, and delete files.

• Access Methods: Sequential, direct, and indexed access for faster retrieval.
4. Device Management (I/O System)
Device management in an operating system controls how the computer
communicates with hardware devices like printers or disks, using drivers and techniques to
ensure smooth and efficient operation.

Major components in Device Management:

• Device Drivers: Interface between hardware and OS.

• Buffering & Caching: Temporarily store data to match device speeds and improve
performance.

• Spooling: Spooling manages data waiting to be processed, particularly in devices like


printers. The OS places print jobs in a spool (a temporary storage area), allowing the
CPU to continue other tasks while the printer works through the queue.
5. Protection and Security
Protection and security mechanisms in an OS are designed to safeguard system
resources from unauthorized access or misuse. These mechanisms control which processes
or users can access specific resources (such as memory, files, and CPU time). It also
ensures that only authorized users can perform specific actions.

The OS protects system resources and user data from unauthorized access and
attacks.

• Access Control: Limits user and process permissions.

• Authentication: Verifies users through credentials (UIDs/SIDs).

• Resource Protection: Prevents misuse of files, memory, or devices.

• Security: Guards against malware, denial-of-service attacks, and data theft.


2. Programming Language Translator
Programming language translators are programs that translate
code written in one programming language into another programming
language. below are examples of programming language translator.
Compiler:
• A compiler is a software that translates the code written in one language
to some other language without changing the meaning of the program.

• The compiler is also said to make the target code efficient and optimized
in terms of time and space.

• A compiler performs almost all of the following operations during


compilation pre-processing, lexical analysis, parsing, semantic
analysis (syntax-directed translation), conversion of input programs to
an intermediate representation, code optimization, and code generation.

• Examples of compilers may include gcc(C compiler), g++ (C++


Compiler ), javac (Java Compiler), etc.
Interpreter:
• An interpreter is a computer program that directly executes, i.e. it performs
instructions written in a programming or scripting language.

• Interpreters do not require the program to be previously compiled into a machine


language program. An interpreter translates high-level instructions into an
intermediate form, which is then executed.

• Interpreters are fast as it does not need to go through the compilation stage during
which machine instructions are generated.

• The interpreter continuously translates the program until the first error is met. If an
error comes it stops executing.

• Hence debugging is easy.


Assembler:

• An assembler is a program that converts the assembly language into machine code.
It takes the basic commands and operations and converts them into binary code
specific to a type of processor.

• Assemblers produce executable code that is similar to compilers. However,


assemblers are more simplistic since they only convert low-level code (assembly
language) to machine code.

• Since each assembly language is designed for a specific processor, assembling a


program is performed using a simple one-to-one mapping from assembly code to
machine code.

• On the other hand, compilers must convert generic high-level source code into
3. Device Drivers
• Device drivers are a class of system software that minimizes the need for system
troubleshooting.

• Internally, the operating system communicates with hardware elements.

• Device drivers make it simple to manage and regulate this communication.

• To operate the hardware components, the operating system comes with a variety
of device drivers.

• The majority of device drivers, including those for a mouse, keyboard, etc., are
pre-installed in the computer system by the businesses that make computers.
4. Firmware
• Firmware is specialized software embedded directly into hardware devices (like
routers, TVs, phones, printers) that provides essential, low-level instructions for
the device to start up, function, and communicate, acting as a crucial link between
hardware and higher-level operating systems or apps.

• Stored in non-volatile memory (ROM, Flash), it's more permanent than typical
software but can be updated to fix bugs, add features, or improve compatibility,
often delivered via Over-The-Air (OTA) updates.

There are mainly two main types of firmware chips:

• BIOS (Basic Input/Output System) chip.

• UEFI (Unified Extended Firmware Interface) chips.


5. Utility Software
Utility software helps manage, maintain, analyze, and optimize a

computer system, performing essential background tasks like antivirus scans, file

compression, backups, and disk cleanup to ensure smooth, efficient, and safe

operation, working alongside the Operating System (OS) rather than directly for

end-user tasks like word processing

System Software and application software interact through utility

software. A third-party product called utility software is created to lessen

maintenance problems and find computer system defects. It is included with

your computer's operating system.

You might also like