0% found this document useful (0 votes)
39 views8 pages

Operating System Overview and Functions

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
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
39 views8 pages

Operating System Overview and Functions

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
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

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.

Common questions

Powered by AI

An interpreter identifies errors as they occur during execution, allowing for immediate correction without reading the entire source code first. In contrast, a compiler reads the entire source code and lists all errors after full analysis, requiring corrections before creating executable code. Thus, interpreters are advantageous for early-stage program development since they allow for immediate error detection and debugging, whereas compilers are suitable for producing faster, distributable executable files after all errors are fixed .

Utility software for hard disk management includes hard disk formatter and checker tasks like removing existing data and setting up file systems. Disk repair utilities mark bad sectors to prevent file use. Defragmenters reorganize file storage to optimize space, and backup utilities schedule and perform data backups, ensuring that only updated data is newly backed up .

The Java programming model ensures platform independence by introducing the Java Virtual Machine (JVM), which allows Java Byte Code (JBC) to run on any device with a compatible JVM. When a Java program is written, it is compiled into JBC, a universal code understood by any JVM regardless of the underlying hardware. This setup means once the JVM is developed for a platform, it can execute JBC, providing a seamless cross-platform execution capability .

Using an interpreter during program development allows for immediate detection and correction of errors as the code is executed line-by-line, which leads to efficient debugging and development speed. It helps limit cascading errors since early errors are corrected promptly, preventing related subsequent errors. Moreover, interpreters provide enhanced debugging facilities, making them ideal for development environments .

A command-line interface (CLI) is important for users who prefer or require precise control over system commands and operations via textual input. It is lightweight and efficient for complex commands or automation via scripts. On the other hand, a graphical user interface (GUI) provides a visual and intuitive way for users to interact with the system, which is beneficial for general users, improving accessibility and ease of use. Both interfaces cater to different user needs and improve the operability of operating systems by offering diverse interaction methods .

Dynamic linking through Dynamic Linked Libraries (DLLs) allows multiple programs to share a single copy of a library routine, which reduces both storage space and memory usage since routines are not compiled into each separate executable file. Static linking ends up in each program having its own copy of the routine, which increases space and memory usage. DLLs also allow for updates to the library without needing to recompile the programs that utilize it .

File compression reduces the size of files, thus minimizing hard disk storage requirements and optimizing storage capacity. In data transmission, compression is crucial because it significantly decreases the bandwidth needed to send files, leading to faster transfer rates and reduced transfer costs. Compression allows for efficient storage management and enhanced system performance .

Key functions of an operating system in terms of resource management include scheduling processes and resolving conflicts when two processors require the same resource. For memory management, the OS ensures memory protection to prevent one program from using the memory allocated to another, optimizes memory usage through mechanisms like virtual memory (paging or segmentation), and decides which processes should reside in main memory and their storage locations .

Compiled object code offers faster execution since the code is directly executed by the machine's processor, not requiring line-by-line interpretation. It can be distributed widely without exposing source code, though it is less secure due to the potential of embedded viruses. On the other hand, interpreted execution allows for dynamic code changes and error corrections during runtime, which is beneficial for development and testing environments, albeit at the cost of slower execution speeds .

Security management responsibilities of an operating system include providing recovery mechanisms when data is lost, preventing unauthorized intrusions, ensuring data privacy, and interrupting running processes to provide error diagnostics or perform system shutdowns safely without data loss when necessary .

You might also like