0% found this document useful (0 votes)
17 views17 pages

Chapter-5 System Software 2024

The document discusses system software, highlighting its components such as operating systems, utilities, and language translators. It details the functionalities of operating systems, including memory management, security management, process management, hardware management, and file management. Additionally, it explains language translators like assemblers, compilers, and interpreters, along with their benefits and drawbacks.

Uploaded by

Not Ismdan
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)
17 views17 pages

Chapter-5 System Software 2024

The document discusses system software, highlighting its components such as operating systems, utilities, and language translators. It details the functionalities of operating systems, including memory management, security management, process management, hardware management, and file management. Additionally, it explains language translators like assemblers, compilers, and interpreters, along with their benefits and drawbacks.

Uploaded by

Not Ismdan
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

CS-11(2023 Intake) Topic 5- System Software

Chapter-5 System Software

5.1 Operating Systems


5.2 Language Translators

1|Page
CS-11(2023 Intake) Topic 5- System Software

● System software refers to a type of computer program that manages


and supports the basic functionality of a computer system.
The different types of system software include:
● Operating System
● Utilities
● Language translator
● Device Drivers
Operating System
● An operating system (OS) is a software component that serves as the
foundation for computer systems.
● Its primary purpose is to provide a user interface and manage hardware
and software resources to enable efficient and effective execution of
computer tasks.
User Interface:
● Graphical User Interface (GUI): Provides a visual interface with icons,
windows, and menus for user interaction.
● Command-Line Interface (CLI): Allows users to interact with the
system by entering text commands.

2|Page
CS-11(2023 Intake) Topic 5- System Software

Operating system tasks / Functionalities

Memory management

● Memory management, as the name suggests, is the management of a


computer’s main memory.

This can be broken down into three parts:

● Memory optimisation

● memory organisation

● memory protection

3|Page
CS-11(2023 Intake) Topic 5- System Software

Memory optimisation

● Memory optimisation is used to determine how computer memory is


allocated and deallocated when a number of applications are running
simultaneously.

● It also determines where they are stored in memory. It must, therefore,


keep track of all allocated memory and free memory available for use by
Applications.

● To maintain optimisation of memory, it will also swap data to

and from the HDD or SSD.

Eg: Caching:

● Utilizing caches (small, fast memory) to store frequently accessed data


and instructions, reducing the need to access slower main memory.

Memory organisation

● Memory organisation determines how much memory is allocated to an

application, and how the memory can be split up in the most appropriate or
efficient manner.

This can be done with the use of

● a single (contiguous) allocation, where all of the memory is made


available to a single application. This is used by MS-DOS and by
embedded systems

● partitioned allocation, where the memory is split up into contiguous


partitions (or blocks) and memory management then allocates a
partition (which can vary in size) to an application

● paged memory, which is similar to partitioned allocation, but each


partition is of a fixed size. This is used by virtual memory systems

● segmented memory, which is different because memory blocks are not


contiguous – each segment of memory will be a logical grouping of data

Memory protection

● Memory protection ensures that two competing applications cannot use


the same memory locations at the same time. If this was not done, data

4|Page
CS-11(2023 Intake) Topic 5- System Software

could be lost, applications could produce incorrect results, there could be


security issues, or the computer may crash.

● And also prevent unauthorized access or modification of memory


contents.

Security management

The function of security management is to ensure the integrity, confidentiality


and availability of data.

This can be achieved by

● carrying out operating system updates as and when they become


available.
● ensuring that antivirus software (and other security software) is always
upto-date
● maintaining access rights for all users
● offering the ability for the recovery of data (and system restore) when it
has been lost or corrupted
Process management

● A process is a program which is being run on a computer.


● Process management involves the allocation of resources and permits the
sharing and exchange of data.
It includes:
● Managing and scheduling of processes.
● Allowing multitasking
● Handling priorities and interrupts.

Hardware management

● Hardware management involves all input and output peripheral devices.


The functions of hardware management include:
● communicating with all input and output devices using device drivers
● translating data from a file (defined by the operating system) into a
format that the input/output device can understand using device drivers
For example, when printing out a document, the printer management

● locates and loads the printer driver into memory


● sends data to a printer buffer ready for printing
● sends data to a printer queue (if the printer is busy or the print job has a
low priority) before sending to the printer buffer

5|Page
CS-11(2023 Intake) Topic 5- System Software

● sends various control commands to the printer throughout the printing


process
● receives and handles error messages and interrupts from the printer.
File management

The main tasks of file management include:


● defining the file naming conventions which can be used ([Link],
where the extension can be .pdf, .csv, .txt, .xls, and so on)
● performing specific tasks, such as create, open, close, delete, rename,
copy,move
● maintaining the directory structures
● ensuring access control mechanisms are maintained
● ensuring memory allocation for a file by reading it from the HDD/SSD
and loading it into memory.
Utility software

● Utility software is a type of system software designed to help manage and


tune computer hardware, operating system, or application software.
● Unlike application software, which performs specific tasks for the end-
user, utility software provides essential support functions and helps
optimize the overall performance of a computer system.
Here are some common types of utility software:
● hard disk formatter
● virus checker
● defragmentation software
● disk contents analysis/repair software
● file compression
● back-up software
hard disk formatter
● A disk formatter, often referred to as disk formatting software or disk
partitioning software, is a utility that allows users to prepare storage
devices, such as hard drives, SSDs, or USB drives, for use .
● Disk formatting involves organizing and structuring the storage medium,
making it ready for data storage and retrieval.
Its functionality includes:
● Divide storage devices into logical partitions for better data organization.
● Choose and create file systems to determine how data is stored and
accessed on the storage device.
● Prepare storage devices for operating system installations by creating
partitions and formatting them.
6|Page
CS-11(2023 Intake) Topic 5- System Software

virus checker
● A virus checker, also known as an antivirus or anti-malware software, is a
type of utility software designed to detect, prevent, and remove malicious
software (malware) from computer systems.
Its functionality includes:
● Scans files on a computer for malicious code
● sets up a schedule for virus checking
● delete viruses
● regularly update virus definition.

defragmentation software
● designed to optimize the performance of a computer's storage by
rearranging fragmented files on the hard drive.
● When files are created, modified, or deleted, the data can become
fragmented, meaning that different parts of a file are stored in non-
contiguous locations on the disk.
● This fragmentation can lead to slower file access times.
● Defragmentation software helps by rearranging these file fragments,
making the data on the disk more contiguous.
● Identifies and reorganizes fragmented files on the hard drive, placing
them in contiguous clusters.
● Consolidates free space on the disk, reducing the chances of future
fragmentation and ensuring that new files can be stored more efficiently.

disk contents analysis/disk repair software

● disk contents analysis software provides a visual representation of disk


usage, showing a graphical tree map of file and folder sizes.
● Disk repair software are used for checking error in the disk

7|Page
CS-11(2023 Intake) Topic 5- System Software

● Check Disk is a built-in Windows utility for checking and repairing file
system errors on a disk.
● Scans and fixes logical file system issues, bad sectors, and other disk-
related problems.

file compression

● A file compression utility is software designed to reduce the size of one


or more files by compressing them into a more efficient format.
Compressed files take up less storage space and can be transferred more
quickly over the internet.

● Eg: WinZip,WinRar

Back-up software

● Backup software is designed to create copies of important data and files,


ensuring that they can be restored in the event of data loss, corruption, or
hardware failure. These tools often offer features such as scheduled
backups and the ability to restore files to a previous state.

● When selecting backup software, consider factors such as the type of data
you need to backup, the frequency of backups, storage options (local,
cloud), and the ease of use.

● Eg:Backup and Sync (by Google),Windows Backup (File History)

Program Libraries

● Program libraries, also known as software libraries or libraries.


● It's the collections of pre-written code, routines, functions, and
procedures that can be used by software developers to perform common
tasks.
● These libraries provide reusable code modules that can be integrated
into a larger software project, saving time and effort by avoiding the need
to write every function from scratch.
Benefits of Program Libraries

● Reuse Code: Libraries let developers reuse ready-made pieces of code,


saving time and effort.

8|Page
CS-11(2023 Intake) Topic 5- System Software

● Save Time and Money: By using existing code, developers don't have to
start from scratch, which makes the development process faster and
more cost-effective.

● Reliability: Libraries are like tools that many people have tested and used
before, so they're less likely to have errors.

Drawbacks of Program Libraries

● Dependency Issues: Projects relying on libraries may face challenges if


the library gets updated or if different libraries have conflicting
requirements.

● Increased Project Size: Including multiple libraries can make the project
larger. This can be an issue if the application needs to be small or if users
have limited storage space.

● Maintenance Challenges: If a library is no longer actively maintained, it


may become outdated or incompatible with newer technologies.

Dynamic Link Library (DLL) file

● A dll is a type of file that contains instructions that other programs can
call upon to do certain things.
● It is like a shared collection of tools or functions that different programs
on a Windows computer can use.
● Instead of each program having its own copy of these tools, they all
access the same DLL file, making software more efficient, modular, and
easier to update.
● Unlike executable programs, like those with the EXE file extension, DLL
files can't be run directly but instead must be called upon by other code
that is already running.
● Eg:

● [Link]: Manages common dialog boxes, such as file open and save
dialogs, for Windows applications.

9|Page
CS-11(2023 Intake) Topic 5- System Software

Language Translators
● Instructions in a program can only be executed when written in machine
code and loaded into the main memory of a computer.
● Programming instructions written in any programming language other
than machine code must be translated before they can be used.
● The systems software used to translate a source program written in any
language other than machine code are translators.
● There are three types of translators available:
● Assembler
● Compiler
● Interpreter
Assembler

● Assemblers are used to translate assembly language programs into


machine code.
● Each instruction in the source code consists of an Opcode and Operands.
● Assembly language programs are machine dependent; they are not
portable from one type of computer to another.
Compiler
● Compiler translates programs written in high level language into
machine language.
● It translates the entire source code into machine code or an intermediate
code before execution.
10 | P a g e
CS-11(2023 Intake) Topic 5- System Software

● Compilers usually store the translated program (object program) on a


storage medium ready to be executed later.
● A loader program is needed to load the stored translated program into
main memory before it can be executed.
● The stored translated program can be executed many times without
being retranslated.
● The program will only need to be retranslated when changes are made to
the source code.

Benefits of Compilers:
● Performance: Compiled code generally executes faster than interpreted
code
● Execution Independence: Once compiled, the program can be executed
independently of the original source code and compiler.
● Code Optimization: Compilers can perform advanced optimizations
during the compilation process, resulting in highly efficient and
optimized machine code.
● Error Checking: Compilers often perform extensive analysis, catching
syntax and semantic errors before the program is run, which can help
produce more reliable code.
Drawbacks of Compilers:

● Compiling code takes time, especially for large programs. This can slow
down the development process as developers need to wait for the
compilation to finish.

● The source code must be recompiled every time when the programmer
changes the program.

● Finding error is difficult as all the error messages are given together at
the end.

Interpreter

● Interpreter translates high level language program into machine code


line by line.
● Unlike compilers, interpreters typically do not generate an intermediate
code or a separate executable file.
● Interpreter reads each line and checks for errors before executing it.

11 | P a g e
CS-11(2023 Intake) Topic 5- System Software

Benefits of Interpreter:
● Debugging is often more straightforward in interpreted languages.
● Developers can inspect and modify the code during runtime, which can
simplify the identification and correction of errors.
● It is easier to develop and debug a program using an interpreter as errors
can be corrected on each line and the program restarted from that place.
● The effect of any change made to the code can be seen immediately.

Drawbacks of Interpreter:
● An interpreted program can take longer to execute since each line of the
source code needs to be translated before it is executed every time the
program is run.
● User has the access to source code.
● No executable file is produced.

Comparison: Compiler and Interpreter

Feature Compiler Interpreter

Translation Translates the entire Translates code line by


Process code before execution. line during runtime.

No separate files;
Generates a standalone
Output executes directly from
executable file.
source.

Independent of
Execution Requires both the original
compiler; standalone
Dependency source and interpreter.
execution.

Often more
Can be more
Debugging straightforward as code is
challenging
interpreted line by line.

12 | P a g e
CS-11(2023 Intake) Topic 5- System Software

Partial compiling and interpreting


● In order to achieve shorter execution times, many high-level languages
programs use a system that is partially compilation and partially
interpretation.
● The source code is checked and translated by a compiler into object
code(intermediate code, p-code or bytecode).
● To execute the program, the object code can be interpreted by an
interpreter.
● Eg: java program is partially compiled and interpreted.
Benefits of Partial compiling and interpreting:
● Partially compiled programs can be used on different platforms as they
are interpreted when run.
● By introducing a compilation step that generates an intermediate code,
the interpreter has the opportunity to perform optimizations during
runtime.

Compilation and Interpretation in Java program:


● Partial compiling and interpreting in Java involve the use of the Java
Virtual Machine (JVM) and the Java bytecode.
● Partial compiling and interpreting in Java involve a two-step process:
● Compilation:
● Java source code (.java) is compiled into platform-independent bytecode
(.class files) using the javac compiler.
● Interpretation:
● The Java Virtual Machine (JVM) interprets the bytecode, executing the
program.

Compilation and Interpretation in Java program:

13 | P a g e
CS-11(2023 Intake) Topic 5- System Software

Integrated Development Environment (IDE)


● An Integrated Development Environment (IDE) is a software application
that provides comprehensive tools and features to assist developers in
software development process.
● It serves as a centralized and integrated environment for coding,
debugging, testing, and managing software projects
Eg:
● Visual Studio
● NetBeans
● PyCharm
● Android Studio

IDEs usually have:


» a source code editor
» a compiler, an interpreter, or both
» a run-time environment with a debugger
» an auto-documenter

IDE-Source code editor

● An Integrated Development Environment (IDE) typically includes a


source code editor as one of its core components.
● The source code editor is a specialized text editor designed to assist
developers in writing, editing, and managing their source code.
● Most source code editors colour code the words in the program and
layout the program in a meaningful way (prettyprinting).
● Some source code editors also offer context sensitive prompts with text
completion for variable names and reserved words, and provide
dynamic syntax checking (catch errors as the code is being written).

14 | P a g e
CS-11(2023 Intake) Topic 5- System Software

IDE-Compilers and interpreters

● Most IDEs usually provide a compiler and/or an interpreter to run the


program.

IDE-A run-time environment with a debugger

● The IDE provides a runtime environment where developers can execute


and test their code.
● One of the key features is a debugger that allows developers to inspect
and troubleshoot their code during runtime.

15 | P a g e
CS-11(2023 Intake) Topic 5- System Software

● It allows the programmer to single step through the program a line at a


time (single stepping) or to set a breakpoint to stop the execution of the
program at a certain point in the source code.
● A report window then shows the contents of the variables and
expressions evaluated at that point in the program.

IDE-Auto-documenter

● Most IDEs usually provide an auto-documenter to explain the function


and purpose of programming code.

16 | P a g e
CS-11(2023 Intake) Topic 5- System Software

Things to remember:

[Link] of IDE

● Code Editor with Syntax Highlighting

● Debugger

● Intelligent Code Completion

● Compiler/Interpreter Integration

2. Debugging tools provided by IDE:

● Breakpoints: allow developers to pause the execution of their code at


specific lines or conditions.

● Variable Inspection: Developers can inspect the values of variables


during runtime.

● Single Stepping: allows developers to execute a program one step at a


time, observing the state of the program at each step.

● Report Window: displays messages, output, and reports generated during


program execution or debugging.

17 | P a g e

You might also like