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

Softwares: Computer Systems

The document discusses different types of software, including system software like operating systems, compilers, linkers, and interpreters. It also covers topics like software versions, upgrades, bugs, and licensing.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views

Softwares: Computer Systems

The document discusses different types of software, including system software like operating systems, compilers, linkers, and interpreters. It also covers topics like software versions, upgrades, bugs, and licensing.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 51

Softwares

Computer Systems
Software Versions
• Commercial Software mostly goes through extensive
testing cycles
• Alpha Release: Preliminary version, not yet ready
for use
• Beta Release: Test version, normally released to
consumers, helpful in identifying bugs…
• Version 1 would typically follow the Beta release
• Subsequent versions indicate significant upgrades in
functionality, as well as lesser bugs
• – Version numbers or revision numbers tell you which
release you have
• – Replacing with a new release is called an upgrade
Software Upgrades
• Software companies revise their
programs and sell new versions
periodically
• Revised software may or may not offer
any major additional capabilities
• Revised software can contain bugs or
errors
• Software upgrades usually cost much
less than the original purchase price
4
Software Bugs
• Software bug: defect in a computer program that
keeps it from performing as it is designed to
perform
• Tips for reducing impact of software bugs
– Register all software so that you can receive bug
alerts, fixes, and patches
– Check the manual or read-me files for work-
arounds
– Access support area of the manufacturer’s Web
site for patches
– Install the latest software updates 5
Global Software Support
• Vendors face the challenge of providing
adequate support for their software
customers in all locations of the world
• Trend of outsourcing global support to
one or more third-party distributors

6
Classification of Softwares Licenses
1.) Way in which contract entered
 EULA
 Shrink-Wrap Software
 Click-Wrap Software
2.) Types of Software Distributions
 Retail
 Freeware
 Free ware
 Shareware
3.) Licenses for more than One user
- multi-user license
- concurrent-use license
- site license
Shrink wrap License

• which is enclosed
within a software
package and is
inaccessible to the
customer until after
purchase
Click wrap License

• presented
to the user
on-screen
during
installation
Shareware
• Software that you can download from a
Network and ‘try before you buy.' If you
like the software and decide to use it,
you must register with the author and
pay a registration fee.
Freeware
• is either in the public domain or is
copyrighted but made available at no
charge to anyone who wants a copy.
Public Domain Softwares
• Refers to any program that is not
copyrighted. Public-domain software is
free and can be used without
restrictions.
Free software
• also referred to as open source
software, is software that anyone can
obtain at no cost and use for any
desired purpose, including studying,
running on as many computers as
desired, modifying, giving away and
even selling.
Examples of Open-Source
Software

14
Concurrent-use license
• A software license that is based on the
number of simultaneous users accessing the
program. It typically deals with software
running in the server where users connect via
the network. For example, in a five-user
concurrent use license, after five users are
logged on to the program, the sixth user is
prohibited. When any one of the first five log
out, the next person can log in. Concurrent
licensing can be managed by the application
itself or via independent software metering
tools.
Site License
• A type of software licensing agreement that
grants the purchaser permission to use the
software on a network on a single site, with
an unlimited number of end users. Usually
this type of license allows you to copy and
use the software on multiple computers at
one site and is more expensive than
purchasing a single copy but less expensive
than purchasing a copy for each computer at
the site. There may be a maximum specified
number of simultaneous end users.
Report Contents:

– Developer
– Licensing Agreement
– System Requirements
– Usage Features
– Work Area Appearance
– Perform one task showing the step-by-step
procedure (printscreen shots)
System Software:
Operating System:
• Operating System is a software, which makes a
computer to actually work.

• It is the software the enables all the programs we use.

• The OS organizes and controls the hardware.

• OS acts as an interface between the application


programs and the machine hardware.

• Examples: Windows, Linux, Unix and Mac OS, etc.,


System Software (contd):
Compiler: A compiler is a program that reads
a program in one language – the source language
and translates into an equivalent program in another
language – the target language.

Source Target Languages


Languages
‘C’ language ‘C’ language
‘Pascal’ language Machine language
FORTRAN language
C++ language
ADA language
System Software (contd):
Loader: A loader is the part of an operating
system that is responsible for loading programs into
memory, preparing them for execution and then
executing them.

The loader is usually a part of the operating system's


kernel and usually is loaded at system boot time and
stays in memory until the system is rebooted, shut
down, or powered off.
System Software (contd):
Linker: A linker or link editor is a program
that takes one or more objects generated by
compilers and assembles them into a single
executable program.

Linkers can take objects from a collection called a


library. The objects are program modules containing
machine code and information for the linker.

The linker takes care of arranging the objects in a


program's address space.
System Software (contd):
Interpreter: An interpreter is a computer
program that translates and executes
instructions written in a computer programming
language line-by-line, unit by unit etc.,

An interpreter needs to be able to analyze, or


parse, instructions written in the source
language.
What is OS?
• An interface between Hardware and User
Programs
• An abstraction of the hardware for all the
(user) processes
– Hide the complexity of the underlying hardware
and give the user a better view of the computer

• => A MUST!
Operating System Definitions

• Resource allocator – manages and


allocates resources.
• Control program – controls the execution
of user programs and operations of I/O
devices .
• Kernel – the one program running at all
times (all else being application
programs).
An OS is a Resource Allocator

• Multiple users (?) get all computing resources


“simultaneously”:
– CPU time
– Memory (ram, swap, working set, virtual,..)
– File system (storage space)
– I/O devices (display, printers, mouse,..)
– Clock
• The OS should give every user the illusion that she
is getting all resources to herself (not sharing!)
Virtual Continuity

• A process can get “switched in” or


“switched out”.

• OS should give the illusion for the process


as if it exists in the CPU continuously
=> Context Switching
Context switching
• When an event occurs, the operating system
saves the state of the active process and
restores the state of the new process.

• This mechanism is called a Context Switch.


Scheduling and Context switch

• A process can give up the cpu:


– A. by performing I/O (e.g. getchar())
– B. by entering a waiting state (e.g. semaphore)
– C. by entering a suspended state (e.g. sleep())

• Give up the CPU == switch out the current process


+
switch in another process
Preemptive Scheduling

• There are OS’s where a process is forced to give up


the cpu (e.g. when stayed for too long).
• Such systems are implementing a “preemptive
scheduling” policy.
– Examples include Windows NT, Unix,
- BUT NOT - Windows prior to Win95 ! or Macintosh!

Should a real-time system implement preemptive scheduling?


Using Priorities

• Most OS’s provide the priority mechanism


• Priorities are associated with processes
• Priority are used to help the OS to reach fairness

Can you think of processes (e.g. in Windows) for which you will
give especially high/low priority ??
Process

• A process is a program in execution.


• The components of a process are:
– the program to be executed,
– the data on which the program will execute,
– the resources required by the program—such as
memory and file(s)—and
– the status of the execution.
Mainframe Systems
• Reduce setup time by batching similar jobs
• Automatic job sequencing – automatically
transfers control from one job to another.
First rudimentary operating system.
• Resident monitor
– initial control in monitor
– control transfers to job
– when job completes control transfers pack to
monitor
Memory Layout for a Simple Batch
System
Multiprogrammed Batch Systems
Several jobs are kept in main memory at the same time, and the
CPU is multiplexed among them.
OS Features Needed for
Multiprogramming
• I/O routine supplied by the system.
• Memory management – the system
must allocate the memory to
several jobs.
• CPU scheduling – the system must
choose among several jobs ready to
run.
• Allocation of devices.
Time-Sharing Systems–Interactive
Computing
• The CPU is multiplexed among several jobs that
are kept in memory and on disk (the CPU is
allocated to a job only if the job is in memory).
• A job swapped in and out of memory to the disk.
• On-line communication between the user and the
system is provided; when the operating system
finishes the execution of one command, it seeks
the next “control statement” from the user’s
keyboard.
• On-line system must be available for users to
access data and code.
Where is the Operating System?
• On handheld and video game consoles, the
OS is in ROM
• On personal computers, servers,
workstations, mainframes, and
supercomputers, the OS is too large to
fit in ROM, so most of it is on a hard
disk.
– When the system boots, the core of the OS
(kernel) is loaded from the hard disk into
RAM
– Other parts of the OS are loaded into
memory as they are needed
Types of Operating Systems
Operating Systems for Desktops

• Single-User, Single-Task
– Eg. DOS, Palm OS
• Single-User, Multi-Task
– E.g. Microsoft Windows, Apple’s MacOS
• Multi-User
– E.g. UNIX or LINUX
Types of Operating Systems
• Real-Time Operating Systems (RTOS)
– Normally used to control scientific machinery
– Eg. QNX, Windows CE
• Embedded Operating Systems
– Eg. Windows XP Embedded, Windows CE (also
an RTOS), Symbian
• Network Operating Systems
– Eg. Windows NT Server, Windows Server 2003,
Unix/Linux for servers, Novell Netware
User Interfaces
These are….
1. Command Line Interface
• User must memorize and type in commands
• DOS and UNIX
2. Menu-Driven Interface

The user simply


chooses the option
that he or she
requires from a
Menu of Options
On-screen
3. Graphical User Interface ( GUI )
• Permits users to point and click with a mouse to
control the computer
Windows
Disadvantages of GUIs’
• Usually slow to load up
• Take up more space on the HDD (Win 95
needs at least 80 Mb of Hard Disk space)
• Take up more RAM memory space ( Win 95 -
minimum of 16 Mb )
• DOS software does not always run on
Windows Interfaces
Utilities

• Helpful tools provided as part of an OS


• Utilities are used to:
– Launch programs (Windows desktop)
– Manage files (Windows explorer)
– Get help
– Customize user interface (Windows Control
Panel)
– Configure equipment (Windows Control
Panel)
– Ex. Formatting, Scandisk, etc.
Additional Utilities….
• Can be purchased separately
• Ex. Norton Utilities by Semantec Corp.
Device Drivers
• System software helps the computer
control a peripheral device.
• Includes upon purchasing a device
Hardware Requirements
Free disk
NT version CPU RAM
space
NT 4.0 Workstation 12 MB
486, 25 MHz 124 MB
NT 4.0 Server 16 MB

2000 Professional 32 MB
Pentium, 133 MHz 650 MB
2000 Server 128 MB

XP Pentium, 233 MHz 64* MB 1.5 GB

Server 2003 Pentium, 133 MHz 128 MB 1.5 GB

Vista Pentium III, 800 MHz 512 MB 15 GB

7 Pentium III, 1 GHz 1 GB 16 GB


Next meeting…
Application Softwares

TASK: BY GROUP
1.) Ubuntu
2.) Android
3.) Mac OS X
4.)Windows 8.1
5.) Novell
6.) Windows Server 2012
Report Contents:
– Developer
– Platform/Architecture Supported
– Editions
– Current Versions
– License
– System Requirements
– Installation Steps
– Features
– Desktop Appearance
Hardware Requirements
Free disk
NT version CPU RAM
space
NT 4.0 Workstation 12 MB
486, 25 MHz 124 MB
NT 4.0 Server 16 MB

2000 Professional 32 MB
Pentium, 133 MHz 650 MB
2000 Server 128 MB

XP Pentium, 233 MHz 64* MB 1.5 GB

Server 2003 Pentium, 133 MHz 128 MB 1.5 GB

Vista Pentium III, 800 MHz 512 MB 15 GB

7 Pentium III, 1 GHz 1 GB 16 GB

You might also like