Professional Documents
Culture Documents
1
Chapter 1, Part 2: Systems Software
Learning Objectives
To gain understanding of system software and application software
To understand operating systems
To understand various types of system software
To gain understanding of software asset management
To understand how to audit software
2.1 Introduction
Computer hardware constitutes the physical components and works based on the instruction input
given by the users and other programs. These set of instruction input are called software. The term
software in its broad sense refers to the program that the machine executes. Software is an intangible
portion whereas hardware is tangible part which we can touch and see. Computer Software is the
collection of computer programs, procedures and documentation that perform different tasks on a
computer system. Program software performs the function of the program it implements, either by
directly providing instructions to the computer hardware or by serving as input to another piece of
software.
2.1.1 Software
Software consists of clearly-defined instruction sets that upon execution, tell a computer what to do.
It is a set of instructions which when executed in a specified sequence accomplishes desired task.
The most critical function of software is to direct the working of computer hardware. This causes a
computer to perform useful tasks. There are two broad categories of software:
1. System Software
2. Application Software
2
Module 1: e-Learning
1. System Software
System software is a collection of computer programs used in design, processing and control of
application software. System software coordinates instructions between applications and
hardware. It is the low-level software required to manage computer resources and support the
production or execution of application programs but is not specific to any particular application.
2. Application Software
Users interact with Application Software. It refers to the set of software that performs a specific
function directly for the end-user. It is a collection of programs which address a real life problem
for its end users, may be business or scientific or any other problem. There are varieties of
application software for different needs of users. Some of the Application Programs could be
3
Chapter 1, Part 2: Systems Software
The Operating System also enables users to interact with the machine and takes care of technical
aspects of a computer’s operation. It shields the user of the machine from low-level details of the
machine’s operation and provides frequently needed facilities.
4
Module 1: e-Learning
o A real time system is used when rigid requirements are placed on the operation of
a processor or the flow of data; thus, it is often used as a control device in a
dedicated application.
o Some automobile-engine fuel-injection systems, home-appliance controllers and
weapon systems are also real time systems.
o A real time system has well-defined, fixed time constraints. Programs must be done
within the defined constraints, or the system will fail.
o Micro C/OS-II is a typical example of RTOS
Some major OS capabilities are:
Multi-tasking
o Refers to multiple tasks running simultaneously by sharing the CPU time.
o Allows computing systems to run two or more tasks, applications concurrently.
o At any point in time the CPU is executing one task only while other tasks wait for
their turn.
o The illusion of parallelism is achieved when the CPU switching of tasks takes place.
Multi-processing
o Links more than one processor (CPU)
o If the underlying hardware provides more than one processor then that is
multiprocessing.
Multi-threading
o It is an execution model that allows a single process to have multiple code (threads)
run concurrently within the context of that process
o Runs several processes or threads of a program simultaneously.
o Threads can be imagined as child processes that share the parent process
resources but execute independently.
2.2.2 Functions of Operating Systems
Processor management
Memory management
Device management
File management
Secondary storage management
Networking
Application programme interface
User interfaces with system
Processor Management
In multitasking environment, OS decides which task (process) gets the processor when and for how
much time. This function is called process scheduling.
5
Chapter 1, Part 2: Systems Software
Memory Management
Memory management refers to management of Primary Memory or Main Memory. Main memory is a
large array of words or bytes where each word or byte has its own address. Main memory provides a
fast storage that can be accessed directly by the CPU. So, for a program to be executed, it must be
in the main memory.
Device Management
One of the purposes of an operating system is to hide the peculiarities of specific hardware devices
from users, which is done by I/O subsystem itself.
6
Module 1: e-Learning
File Management
A file system is normally organized into directories for easy navigation and usage. These directories
may contain files and other directories.
Networking
The processors in the system are connected through a communication network, configured in a
number of different ways. Different protocols are used to communicate between different computers.
Protection System
Protection is a mechanism for controlling the access of programs, processes or users to the resources
defined by a computer system. This is achieved by means of password and similar other techniques,
preventing unauthorised access to programs and data. This mechanism provides means for
specification of controls to be imposed and means for enforcement. Protection mechanism improves
reliability by detecting latent errors at the interfaces between computer subsystems.
7
Chapter 1, Part 2: Systems Software
Kernel Layer
o Controls access to hardware
o Schedules system resources, memory, CPU.
o Enforces security to system resources
o Responds to service calls(How program accesses services from OS) e.g.
Accessing hard disk, let’s say that a program wants to access hard disk, it will call
Kernel of OS for the same and kernel will facilitate it.
Shell Layer
o Surrounds kernel
o Provides Interface for applications
o Creates environment for application execution and user interface
8
Module 1: e-Learning
9
Chapter 1, Part 2: Systems Software
Compiler: It is a program which translates a high level language program into a machine language
program. A compiler is a computer program (or a set of programs) that transforms the source code
written in a High level language (the source language) into Machine language (Binary language)
called Object Code. In a compiler debugging is difficult, because a compiler goes through the entire
program and then translates the entire program into machine codes. The machine codes generated
by compiler are saved permanently for future reference.
Interpreter: An interpreter is a computer program that executes instructions line by line, i.e. performs
instructions written in a programming language. An interpreter is a program which translates
statements of a program into machine code. It reads only one statement of program, translates it and
executes it, thus Debugging is easier. It occupies less memory space. The machine codes produced
by interpreter are not saved.
Debugger: A debugger is a utility that helps in identifying any problem occurring during execution. By
using the debugger utility, one can pinpoint when and where a program terminates abnormally,
indicates the value of the variables used, and in general provides information so that the programmer
can locate bugs.
Linker: Linking is the process of combining various pieces of code and data together to form a single
executable unit that can be loaded in memory. The process of linking is generally done during
compilation of the program. After linking, the loading process takes place by using loader software.
Loader: A loader is a program which loads the code and data of the executable object file into the
main memory, goes to the very first instruction and then executes the program.
Editor: An editor program is a system software utility that allows the user to create and edit files.
During the editing process, no special characters are added. On account of this, the editor utility is
used to create the source code.
10
Module 1: e-Learning
Communications software assists Operating System in managing local and remote terminal
access
o to host resources,
o to manage security
E.g. terminal emulators, file transfer programs
Disk Storage Utilities including Disk defragmenters, Disk checkers, Disk cleaners, Disk
partitioners, Backup, Disk compression, file managers and Archive.
Data Compression Utilities
Cryptographic Utilities
Network managers
Registry cleaners
11
Chapter 1, Part 2: Systems Software
Access Control in most of operating systems is operated through Access Control Lists (ACL). ACL is
a list of “who” has “what” access to an Object. An access control list (ACL) is a table that tells a
computer operating system which access rights each user has to a particular system object, such as
a file directory or individual file. As the operating system works with files, this will usually be the
smallest object with which its access control mechanisms can deal. ACLs are widely used in
environments where users manage their own file security. ACL is a matrix of access permissions,
with columns for files, objects and rows for users and related capabilities.
Access control lists are widely used, often with Roles. Where Role = set of users, which could be
Administrator, User, Guest. In a Role Based access Control, permissions are given based on roles
and through roles each user gets permissions based on Roles they are assigned to.
12
Module 1: e-Learning
principle of ensuring proper segregation of duties is also implemented through access controls. As
operating system software is the first entry point for the user, the key functions of OS relating to user
management has to be properly implemented as per security policy of the organisation. Auditors have
to review whether these are as per policy outlined by the senior management. It is highly advisable
that auditors become familiar with the whole process of user management right from user creation to
deletion. How to create users, how to define specific roles, grant access to specific modules and
functions, how to grant permissions and how to review and enable security auditing are covered here
for Windows OS. Similar functions would be available in other operating systems but the way
functionality works would vary from one OS to another:
User creation
Assign roles
User rights and privilege
Permissions
Security auditing
The topic of Access Controls is covered in more detail in Chapter-5: Logical Access Controls
in Module-4: Protection of Information assets of ISA 2 course. This is also covered in hands
on training of Module-4.
User Creation
In Windows 7 we can create a user by going to Control Panel > User Accounts > Manage accounts
as shown in the next page.
13
Chapter 1, Part 2: Systems Software
Assign Roles
In Windows 7 we can assign roles by going to Control Panel > User Accounts > Manage accounts.
The default Roles could be Standard User or Administrator
Assign Password
In Windows 7, we can assign password by: Control Panel > User Accounts > Manage accounts
14
Module 1: e-Learning
15
Chapter 1, Part 2: Systems Software
Permissions
Permissions are attached to objects. Right Click on Properties > Security Tab > Advanced or Edit
16
Module 1: e-Learning
Requirements Definition
The key tasks that should be considered for requirement definitions:
Software Alternatives
The key tasks that should be considered in evaluating software alternatives are:
17
Chapter 1, Part 2: Systems Software
18
Module 1: e-Learning
Some of the factors to be considered when making off the shelf purchase are:
Compatibility
Reliability
Benchmarks
Cost
Functionality
Vendor support
Viability of vendor
Flexibility
Documentation
Response time
Ease of installation
Software Development
If we have planned for Software development the steps involved are:
19
Chapter 1, Part 2: Systems Software
Purchasing,
Deploying,
Managing, and Tracking of software from purchase to retirement of the software
Software Asset Management (SAM) is the business practice of using people, processes, and
technology to systematically track, evaluate, and manage software licenses and software usage. SAM
is a key process for any organisation to meet its legal, financial and reputational responsibilities. SAM
answers the following key questions:
Benefits of SAM
Software is a critical and valuable asset and needs effective management. Key benefits of
implementing SAM are:
Cost Savings
o With SAM we can control cost through Standardisation.
o Get volume discounts by going in for volume licensing
o We might be having redundant programs but once we analyse our programs we
might reduce Redundancy.
o With awareness we have a more streamlined operations
Risk Management
o Reduce business, reputational and legal risks.
o When we go for genuine software is used then the reputational and legal risk is
reduced.
o With updated programs, chances of malware also reduce, reducing the business
risk.
20
Module 1: e-Learning
Streamlined Operations
o Proper software deployment makes software trouble free, leading to better
productivity.
o With genuine software we’ll have peace of mind and infrastructure optimisations
are possible.
Good Governance
o With better compliance with responsibility under regulations will lead to better
Governance
Disaster Protection
o Updated inventory lets us know what we have.
o We could also organise offsite backups of the software media that we have.
o Faster restoration is possible.
Take Inventory
o First, we need to know what we already have.
o Could be done manually or through tools.
Get Organized
o We would also need to build inventory of software assets we have
Create Policies, procedures and standards for software Life Cycle.
o Software acquisition
o Software storage
o Software implementation and use
o Software retirement
Maintain The Plan
o The SAM plan should be maintained through regular software inventories and
regular updates.
What is an Endpoint?
An endpoint device is an Internet-capable computer hardware device on a TCP/IP network. Where
an information stream is generated or ends. This could be a:
Computer
Laptops
smart phones
Thin clients,
21
Chapter 1, Part 2: Systems Software
Patch delivery,
inventory,
software distribution,
OS deployment,
remote control capabilities, and
near real-time visibility into the state of endpoints Including advanced capabilities to support
server endpoints
Issues
22
Module 1: e-Learning
We borrow a book from a library for two days, we can’t read it in two days, what we can do is get a
photocopy of the book but the quality would be poor, would need spiralling to hold the pages together
and perhaps cost more than the cost of book itself. But if the book is in digital form i.e. it’s an eBook
would not cost us a paisa to create a perfect copy. This is where Digital Rights Management (DRM)
comes into play, what is there to protect the Intellectual Property Rights (IPR) relating to the digital
content.
DRM removes usage control from the person in possession of digital content and puts it in the hands
of a computer program. It refers to any scheme that controls access to copyrighted material using
technological means. This is also associated with concept of Data leak prevention (DLP), which is a
strategy for making sure that end users do not send sensitive or critical information outside of the
corporate network.
Scope of DRM
Digital Rights management consists of all activity conducted in relation to the rights governing the:
Why DRM
To protect the property rights of an enterprise’s assets
Primarily for protecting data from leak
23
Chapter 1, Part 2: Systems Software
24
Module 1: e-Learning
25
Chapter 1, Part 2: Systems Software
2.8 Summary
Hardware becomes functional only with the software which runs on it. The cost and complexity of
software has been continuously increasing over the years. The two most important types of software
for any organisation are System Software and Application software. System software includes both
operating systems and utility programs. System software controls how various technology tools work
with application software. Operating system is one of the important system software as it controls how
hardware devices work together and interfaces with applications software. Utility Software provides
additional functionality to operating systems. Application Software fulfils the specific information
processing needs of an organisation. Software is crucial to the success of any organisation and hence
has to be effectively and constantly managed. Understanding how software works in terms of various
features and functionality helps us in optimally managing all the software assets throughout the
economic lifecycle.
2.9 References
Ralph M. Stair, George W. Reynolds, ‘Principles of Information Systems’, Cengage Learning
ITAssetManagement.Net
BSA.org
http://www.gcflearnfree.org/computerbasics/2
26