0% found this document useful (0 votes)
58 views

8 Lesson System Software

The document discusses system software and its key components. It describes how an operating system controls hardware, provides interfaces for users and programs, and manages resources like memory, devices, files and security. It also covers utility software like disk formatters, defragmenters, backup tools and virus checkers. The document explains compilers and interpreters, how they convert source code and differences in their execution and debugging processes. It also discusses program libraries and languages like Java.

Uploaded by

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

8 Lesson System Software

The document discusses system software and its key components. It describes how an operating system controls hardware, provides interfaces for users and programs, and manages resources like memory, devices, files and security. It also covers utility software like disk formatters, defragmenters, backup tools and virus checkers. The document explains compilers and interpreters, how they convert source code and differences in their execution and debugging processes. It also discusses program libraries and languages like Java.

Uploaded by

Black Night
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

8TH LESSON

SYSTEM SOFTWARE
8.01 System software
 Operating system
A missing component from the 1960s computers.
A software that controls the hardware and interact with the applications
software.
Operating system is an example of a type of software called ‘system software'.

8.01 Operating system activities


Operating system generally does is to provide an environment where programs
can be run that are of benefit to the user.

 User-system interface
Allows the user to get the software and hardware do something useful
An operating system should provide at least the following for user input and
output.
 A command-line interface
 A graphical user interface (GUI)

 Program-hardware interface
Programmers write software and user run this software.
The software uses hardware.
 Resource management
PROCESS- program ahs started to run it.
The resource management provided by the operating system aims to achieve the
best possible efficiency in a computer system. The most two important aspects of
this are:
 Scheduling of process
 Resolution of conflicts when two processors require the same resource.

 Memory management
There are 3 important aspects of memory management.
 Memory protection ensures that one program doesn’t try to use the same
memory location as another program.
 Chosen to achieve the best usage of limited memory size for example,
virtual memory involving paging or segmentation.
 Memory usage optimization involves decisions about which processes
should in main memory at any one time and where they are stored in this
memory.

 Device management
The management for devices requires:
 Installations of the appropriate device driver software.
 Control usage by processes.

 File management
Three major features:
 File naming convention
 Directory (folder) structures.
 Access control mechanisms

 Security management.
Aspects:
 Provision for recover when data is lost
 Preventing intrusion
 Ensuring data privacy

Error detection and recovery


Whatever the cause of an error, the operating system should have the capability
of interrupting running process and provide error diagnostics here appropriate. In
extreme cases operating system needs to be able to shutdown the system in an
organized fashion without a loss of data.

8.03 Utility software


Installed or provided by the operating system.
It is a program when the user or the operating system decides to run it (ONLY
WHEN NEEDED).

 Hard disk formatter and checker


Typically carries out the following tasks:
 Removing existing data from a disk that has been previously used.
 Setting up the file system in the disk, on a table of contents that allows a
file recognized by the operating system to be associated with a specific
physical part of the disk.
 Partitioning the disk into logical drives if this is required.
BAD SECTORS – some errors arising from a physical defect resulting in.
Arise either during manufacturer or from mishandling the system.
e.g.- moving the computer without ensuring that the disk heads are secure away
from the disk surface.
A DISK REPAIR UTILITY PROGRAM – mars bad sectors and ensure that the file no
longer tries to use them.

 Hard disk defragmenter


A disk defragmenter utility can also be a part of a disk repair utility program, but it
isn’t primarily concerned with errors.
A defragmenter utility reorganizes the file storage to return it to a state where
all files are stored in one block across a sequence of sectors.
For a large disk this will take a long time.
It will be impossible if the disk is too full because of the lack of working space for
the rearrangement.

 Backup software
An easier way to perform backup is to use a backup utility program. Such a
program will:
 Establish a schedule for backup
 Only create a new backup file when there has been a change

 File compression
This can be used regularly by an operating system to minimize hard disk storage
requirements.
Compression is most important when transmitting data. (refer chapter 1)
 Virus checker
These programs should be installed as a permanently facility to protect a
computer system.
These softwires scans files in the computer in a routine to make sure the
computer is all out of viruses.
When a new virus comes along there is a delay before it is recognized and a
further delay before the virus checker has been updated deal with it.

8.04 Program libraries


The programs in a program library are usually subroutines created to carry out
tasks.

 Linking libraries
In computing, a linker or link editor is a computer system program that takes one
or more object files and combines them into a single executable file, library file or
another “object” file.
Major disadvantage in linking linking library routines into the executable code-
every program using a routine must have its own copy. This requires the storage
space requirements for the executable file. It also increases the memory usage
when more than one process uses the routine.
The alternative is to use a routine from a Dynamic Linked Library (DLL).
DLL – it is a module that contains functions that can be used by another module.
Functions of a DLL:
1. Exported – are intended to be called by other modules as well as from
within the DLL where they are defined.
2. Internal – typically intended only from within the DLL where they are
defined.
Although DLL can export its data is generally used only by its functions. However
there is nothing to prevent another module from reading or writing that address.
8.05 Language translators
The use of an assembler is discussed in lesson 6.

 Compiler and interpreter


The starting point for using either is a file containing source code, which is a
program written in high-level language.
For an interpreter the following steps apply,
1. The interpreter program, the source code file, and the data to be used by
the source code program are all made available.
2. The interpreter program all begins execution.
3. The first line of the source code is being read.
4. The line is analyzed.
5. If an error is found, this is reported, and the interpreter program halts the
execution.
6. If no error is found the line of source code is converted to an intermediate
code.
7. The interpreter program uses the intermediate code to execute the
required action.
8. The next line of source code is read, and step4-8 is repeated.
For compiler the following steps apply,
1. The compiler program and the source code file are made available, but no
data is needed.
2. The compiler program begins execution.
3. The line of the source code is read.
4. The line is analyzed.
5. If an error is found this is being recorded.
6. If no error is found the line of the source code is converted to an
intermediate code.
7. The next line of source code is read, and steps 4-7 are repeated.
8. When the whole of the source is being dealt with one of the following
happens.
 If no error is found in the whole source code the complete
intermediate code is converted into object code.
 If any errors are found a list of these is output and no object code is
produced.
Execution can only begin when the compilation has no errors.
Advantages and disadvantages to a programmer of creating interrupted or
compiled programs,
 Interpreter – errors can be identified as they occur and corrected
immediately without having to wait for the whole of the source code to be
read and analyzed (advantage).
 During execution parts of the code which contains syntax errors may not be
accessed so if errors are present, they are not discovered until later
(disadvantage).
Advantages and disadvantages to the user of interpreted and compiled
programs,
 Interpreted program– the interpreter and the source code should be
available each time that an error-free program is running.
 Compiled program– only the object should be available each time that an
error-free program is running.
 Compiled object code will provide faster execution than is possible for an
interpreted program. (advantage).
 This is less secure because it could contain a virus. (disadvantage).
Whether an interpreter or a compiler is used,
A program can only run-on computer with a processor if the interpreter or the
compiler has been written for the processor.
If there is an option available, the choice of an interpreter is justified when a
program is being developed because:
 One error can lead to several other errors.
 An interpreter can detect and correct an early error so limiting subsequent
ones.
 The debugging facilities with the interpreter speeds the process.
The choice of a compiler is justified when a program is being developed
because:
 An executable file can be created.
 This can be distributed for general use.
 Execution of the program will be faster than if an interpreter was use

 Java
 Each different type of java must have a java virtual machine created for it.
 When a programmer writes a Java program this is compiled first of all to
create what is called Java Byte Code (JBC).
 When the code is running the code is interpreted by the Java Virtual
Machine (JVM).
 JBC can be transferred to computer that has JVM installed.

You might also like