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

Fundamentals of Computing: Lecture 5 - Software

This document discusses software and operating systems. It provides information on different types of software, including application software designed for specific tasks and system software that supports other programs. It describes operating systems and their functions, such as managing resources and providing an interface between users and hardware. The document also covers topics like programming languages, software development processes, and considerations for installing an operating system, including hardware requirements, disk space needs, and allocating time for installation.

Uploaded by

Raj Gami
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
83 views

Fundamentals of Computing: Lecture 5 - Software

This document discusses software and operating systems. It provides information on different types of software, including application software designed for specific tasks and system software that supports other programs. It describes operating systems and their functions, such as managing resources and providing an interface between users and hardware. The document also covers topics like programming languages, software development processes, and considerations for installing an operating system, including hardware requirements, disk space needs, and allocating time for installation.

Uploaded by

Raj Gami
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 36

Fundamentals of Computing

Lecture 5 - Software
Software
 Application software
 Easy-to-use programs designed to perform specific
tasks
 System software
 Programsthat support the execution and
development of other programs
Operating System
 Controlsand manages the computing resources
 Examples
 Windows, Unix, MSDOS,
Functions of the Operating System
 It provides a link between the user and the hardware.
 It provides an interface for users to communicate with the
computer.
 It co-ordinates the operation of all parts of the computer system.
 It maintains the flow of events and its operates some peripherals
 It runs software programs and controls how a software program
interacts with the user.
 It provides the user with tools for managing disks, files and
folders.
 Security to prevent unauthorized users from accessing the system
What happens during the boot up?
 The computer loads data from the read-only memory(ROM) and performs a
power-on self-test(POST) to ensure that all the major components are working
properly.
 The computer loads the basic input/output system (BIOS) from ROM. The BIOS
provides the most basic information about storage devices, boot sequence,
security and a fewer other items.
 The computer loads the operating system from the hard drive in the system’s
random access memory(RAM). Generally, the critical parts of the operating
system are maintained in RAM when the computer is ON.
 When an application is launched, it is loaded in RAM. To conserve RAM usage,
many applications initially load only the essential parts of the programme and
then load other pieces as required.
 When an application has loaded, any files that are opened for use in the
application are loaded in RAM.
 When a file is saved and the application closed, the file is written to the
specified storage device and the file and the application is removed from RAM.
Application Software
 Application software makes computer popular and easy to use.
 Common application software:
 Microsoft Word, WordPerfect
 PowerPoint
 Netscape, Internet Explorer
 PhotoShop, Photo-Paint
 Netbeans
 Dreamweaver
What is a programming language?

A set of instructions

An algorithm A program
(in human readable) (in computer language)

A program needs to be written in a language.


 There are many programming languages
 Low-level, understandable by a computer
 High-level, needs a translator!
Levels of programming language
 Machine binary language.
 Low-level assembly language
 Mnemonic names for machine operations
 Explicit manipulation of memory addresses
 Machine-dependent
 High-level language
 Human readable
 Machine-independent
How to translate?
A program written in high-level programming language
(for example, C++ program)

COMPILER (for example, Visual C++)

A low-level (machine language) program that is


understandable by a computer (for example, a PC)

Examples of compilers:
 g++,gcc
Translation System
 Set of programs used to develop software
 Types of translators:
 Compiler
 Linker
 Examples
 g++, gcc
Software Development
 Major activities in Software Development.
 Editing (writing the program)
 Compiling (creates .obj file)
 Linking with compiled files (creates .exe file)
Object files S o u rc e P ro g ra m

Library modules
C o m p ile
 Loading and executing L ib r a r y r o u t in e s
E d it
 Testing the program L in k
O t h e r o b je c t file s
T h in k Load

E x e c u te
Integrated Development Environments
 Combine all of the capabilities that a programmer would want
while developing software (VC++ 2008, Eclipse)
 Editor
 Compiler
 Linker
 Loader
 Debugger
Program Example

// a simple program
#include <iostream> Comments
using namespace std;
int main() {
Function cout << "Hello world!" << endl;
named return 0;
main() }
indicates
start of
program

Ends execution Print


of main() which ends statement
program
Installation Preparation

 Saving Critical Data


In the event your installation involves the upgrade from an old
version of an OS to a new version, there is another critical point
to consider.
 What do you do with all of the old files on the system when you
get ready to install the new software?
 Ifthe system is a standalone desktop, and you have a new OS
(as well as new applications to install), you may not need to
worry about saving anything from the old system.
 More often than not, however, before an old OS is shut down
for the last time there are several files you may wish to save.
 You are strongly advised to make a full backup of every file on the system.
Installing an Operating System

 Hardware Requirements
 Before you attempt to install an OS on a machine, it would be
wise to ensure that the OS in question runs on the hardware
that you have available.
 Multi-platform OS Support
 Most OS vendors that distribute software that runs on multiple
hardware architectures publish a hardware compatibility list
(HCL) for their OS.
 Single Platform OS Support
 Vendorsof single-architecture OS deal with many of the same
problems faced by multi-platform vendors.
Installing an Operating System…

OS for Intel-based Systems


 Windows is probably the most widely used OS available for Intel-
based systems.
 Windows includes drivers for a wide range of devices that work on Intel-
based systems.
 Versions of Windows produced over the past decade will operate on
systems ranging from a 486 chip up to the latest Pentium.
 Windows may not operate smoothly on some of the older systems, but it
can operate.
Installing an Operating System…

OS for Intel-based Systems…


 Well behind Windows and Linux, BSD, and Solaris are also
available for Intel architecture systems.
 Solarissuffers from a lack of device drivers for the latest/greatest
devices.
 Solaris also often does not offer device drivers for very old devices.
Installing an Operating System…

OS for Non Intel-based Systems


 Proprietary hardware architectures may not allow you to run
more than one OS.
 The “single offering” case greatly simplifies the decision
regarding which OS you should load on the machine!
 The single OS is also easier for the vendor to support, as the
service personnel only have one system to learn.
 Single-OSsystems are also likely to be replaced by multi-OS
systems over time.
 The world of computing is not a “one-size-fits-all” environment!
Types of Installations…
Planning for an Installation
 The “footprint” or size of the OS should be considered to ensure that the
system contains enough disk space.
 How that disk space is parceled might play a role in the OS installation.
 Similarly the size of the main memory might need to be taken into
consideration.
 Disk Space Requirements
One of the most important decisions you will need to make before you install an
OS is how much space to allocate to the system software.
 If you allocate too much space to the system software, users may not have
enough space. If you allocate too much space to users, the system may run
out of space.
 Calculate how much space the OS and application binaries will occupy.
 Once you have a number in mind, double it. In a few weeks or months you will
be glad you did.
Types of Installations…
 Every successive release of an OS is larger than its predecessor.
 This is an important point to remember, because you may have
to upgrade the OS on a machine two or three times over the
lifetime of the hardware.
Hardware Requirements
 When you consider the OS hardware requirements, you need to
pay close attention to any nonstandard hardware on your system.
 All hardware found on the system should be cataloged.
 Need to determine if device drivers are available.
 Need to determine if the hardware is mission critical.
Installation Time Requirements
 Never assume the OS installation will go smoothly.
 Even if you get extremely lucky, and everything does go well,
figure on at least two hours just to get a bootable OS on the
system media.
 Do not forget that after the OS is installed you will need to install
patches and service packs to bring the OS up to date.
 Once the OS is installed and patched, do not forget that you have
to install all of the applications users need in order to get their
work done.
 Allow time for the appropriate number of reboots during the OS
and application installation phases.
Types of Installations
 There are several types of installation models available to work with.
 The installation could be a server or a workstation.
 The goal of the installation could be to set up a machine usable as a desktop
workstation, web server, database server, service machine, or interactive
system.
 The system could be a diskless host that boots from the network, or a diskful
system that serves files to other hosts.
 Each of these configurations may require that a particular set of software be
installed such that the system performs its duties and users can get some
work done.
Types of Installations…
Dual-boot Windows Installations
The idea behind a dual-boot system is to install two different OS on
the bootable medium.
 This allows the user to run either system, which hopefully allows the user
more flexibility in performing tasks.
 Unfortunately, creating a dual-boot system is a lot more difficult than it
should be, and many times Windows seems to be in the middle of the
problems.
 One rule of thumb for installing a dual-boot system that includes Windows
is to install the Windows OS first.
 If you are trying to install two versions of Windows, always install the
older version first.
 Thisis often necessary because new versions of Windows often contain
changes to the file system, and the old versions do not understand these
changes.
Types of Installations…
 Desktop Installations
 Installing the OS on a desktop PC is often a very different problem than
installing an OS on a corporate database server.
 Generally, desktop computers come in two flavors: systems that contain
their own copies of everything and systems that rely on network-based
servers for critical applications.
 Standalone Systems
Self-contained systems are often referred to as standalone systems, or
“thick clients.”
 Thesemachines typically contain the OS, and local copies of all
applications required by users of the system.
 Theinstallation of a standalone system will require more time than
some other systems, because you have to load the OS, and all of the
applications on the local disk.
 Such installations can easily become multi-day tasks!
Types of Installations…
 Desktop Installations
 Networked Client Systems
 Systems that rely on network-based servers for critical
applications/services are typically referred to as networked client
systems, or “thin clients.”
 These machines usually contain a copy of the OS, but very little
other software gets installed on these systems.
 User files typically reside on a network-based file server.
 Applications may reside on yet another network-based server.
 These systems rely on the network to be operational for the system
to be useful.
 Such systems are typically very easy installations.
 You load the OS, configure the network connection, and possibly
configure a few other parameters to allow the system to locate
the network-based servers and you are “done”.
Types of Installations
 Server Installations
 Installing an OS on a server is often a long, arduous task.
 You have to install the OS and configure it to provide services to other computers.
 The types of “clients” the server supports will usually complicate this configuration
task.
 The applications/services provided by the server may provide more complications.
 Homogenous Servers
 The homogenous server is probably the simplest server to install.
 This type of server only provides services to clients of the same
architecture/kernel architecture.
 This means that only one version of the OS and all applications need be installed on
the system.
 Such systems may be used as a boot server, file server, name server, web server,
database server, or many other purposes.
Types of Installations…
 Heterogeneous Servers
 Heterogeneous servers are probably the most difficult system you will
ever have to install.
 These systems may provide boot services, applications, and/or file
services for a variety of systems of different kernel/hardware
architectures.
 For example, a Linux system may be set up to provide file service to
Linux, Solaris, and MacOS boxes via NFS, while providing file service to
desktop PCs via Common Internet File Services (CIFS).
 Such servers are typically very complicated to install and configure.
 You will have to install copies of multiple OS for the system to
function as a boot server.
 Similarly, you will have to install application binaries for multiple
architectures in order to support application services for client
machines.
Installation Methods

 Current OS are typically distributed on CD or DVD media.


 Older releases were distributed on tape cartridges or floppy
diskettes.
 More often than not, the distribution media is bootable, and
therefore all you have to do is place the media in the
appropriate device and turn on the power.
 The magic of the boot process boots the installation media,
and an installation program guides you through the installation
process.
Installation Methods…

 Windows Installations
 Most Windows installations give the administrator very few options.
 When installing from the distribution media, the administrator
selects the partition to install the bits on, answers a few questions
about the local environment. The system does the rest without
input from the operator.
 Unfortunately, the information required during the installation is
not all collected up front; the information-gathering process is
spread across the entire installation process.
 This makes Windows installation more time consuming than it
should be, as the administrator has to sit and wait for the system to
ask questions.
 Ifthe questions were all asked up-front, the administrator would be
free to attend to other tasks while the bits moved from the CD to
the hard drive.
Installation Methods…

 Windows CD/DVD Installations


Installation of Windows from CD/DVD media is pretty simple.
 You boot the installation media, answer a few simple questions, and
the installer program does the rest for you.
 Unfortunately, because the process is simple, it is not very
configurable.
 The media-based installer is geared to the novice administrator’s
capabilities; hence, the number of decision points and allowable
options is very minimal.
 One downside to the CD/DVD installation is that the installation
process is just interactive enough that the operator cannot start the
installation and leave for an hour or two.
Installation Methods…

 Network Installations
 If you want to customize the installation process, and/or make it completely
automatic, you need to build a network-based installation server.
 Such an installation is referred to as an “unattended” installation in Windows.
 The installation server contains on-line copies of the distribution media, a set
of “answer” files that control what parts of the software get installed on the
system, and a “boot daemon” that listens for installation requests on the
network.
 You can customize the answer files to install the OS and any required
applications without operator intervention.
 Thisis a much more suitable installation method if you have to install 100
computers instead of 2 or 3.
Installation in other platforms…

 UNIX Installations
 Linux Kickstart
 Solaris
Review Questions
1. What is a software?
2. Define an algorithm.
3. Differentiate between System Software and Application Software
4. What is dual-boot?
5. What are some of the things you need to consider when planning
a software installation?
6. Discuss the different types of installations.
7. Distinguish between homogeneous and heterogeneous servers.
8. What is booting?
9. Differentiate between a warm boot and a cold boot.
10. Outline the boot process of a computer running a Windows OS.
1A-34
Research
 Software developers and the kind of software they develop.
 Software development cycle.
 CPU manufactures and the latest properties of processors.
References
 https://en.wikipedia.org
 http://www.slideshare.com/
 www.delmarlearning.com

 Additional Reading Materials – Text Books in the Library.

You might also like