Operating Systems - Functions

Download Report

Transcript Operating Systems - Functions

Chapter 4 - Software – Part 2
Dr. V.T. Raja
Oregon State University
IS Software - Outline






Introduction
Some details on System Software
Application Software
Selecting an OS
Evolution of Software
Recent past and current trends
Introduction

Why study about software?




To make use of hardware effectively
To improve productivity of individual employees
To facilitate, sustain or improve competitive advantage of
organization; To help meet strategic goals of organization
To be aware of and to understand business implications of:



Current software developments/trends
Software crisis situations
Relatively higher investments in software (compared to
investments in hardware) by businesses in the United States



1960-70: Hardware costs: 75%; Software costs: 25%
1990-00: Hardware costs: 25%; Software costs: 75%
Why this change?
Why higher investments in software?



Advances in hardware technology have
drastically reduced hardware costs
Software has become increasingly complex and
error prone
Testing software is difficult and costly.


High demand for skilled IS/CS professionals
Employees from every functional area often are
involved in testing software products for bugs
because they are experts in the area and can spot
functional area specific bugs even more quickly than
IT programmers can.
Introduction




Software program; Programming; Programmer
Application Software and System Software
What is system software?
Examples/types of system software?
System Software
System Software


Programs that manage computer resources such
as the processor, communications links, and
peripheral devices
Types of System Software:
 Operating Systems
 Utility Programs
 Language Translators
Utility Programs
Programs that perform common, routine,
repetitive tasks



Examples:
Utility programs are stored in system
libraries where they can be shared by all
users of computer system
Operating Systems (OS)



OS - System software that manages and
controls the activities of the computer
Example functions of an OS?
Examples of OS?
OS - Examples

DOS (Disk Operating Systems)
OS/2; OS/400;Z/OS (IBM environment)
Unix (Portable to different models of h/w)
Linux (Free OS; Open Source Software)
Mac OS (OS for the Macintosh computer)

Novell Netware

Microsoft Windows OS







Windows 95/98/NT/Me/CE
Windows 2003; 2000; Windows XP
Lindows
Is selecting/upgrading an OS a technical or a managerial/non-technical decision?

Non-technical issues


Single-user/networked environment? (Licensing Issue);
Budget/Cost:


Upgrade; Development; Maintenance (Affordable downtime?);
Training How easy is it to learn and use? Availability of system
support;
Why the upgrade?



Platform/hardware independence vs. Standardization
Security issues
Enterprise-wide involvement; Suitable for satisfying business
needs; Compatibility with appropriate application software
Is selecting an OS a technical or a managerial/nontechnical decision?

Technical issues:
What kind of computer hardware is required?
How much processing power and storage
capacity are required?
Speed of OS: More memory - Better performance
What application software programs does it
support?
Functions supported by OS
Some OS Terminologies/Functions


Graphical User Interface (Pull down menus, icons etc.)
Social Interface (animated characters used for displaying
info on screen/used for narrating commands)






Multithreading
Multitasking
Multiprocessing
Virtual Storage
Time Sharing
PnP capability
Multithreading vs. Multitasking

Multithreading: Ability of an OS to run multiple tasks within
a same application program simultaneously

Example: MS Word : User prints one document and spell checks
another document while the first document is being printed.

Multitasking: Method of executing 2 or more programs
concurrently. Allows user to display and work with 2 or more
programs simultaneously.

Example: Sales rep., searches database (MS Access) for all clients in a
certain city; While the computer is processing this database request, the
sales rep., uses MS Word for typing a letter to a client.
Multiprocessing



Use of two or more CPUs linked together
to work in parallel.
Two or more CPUs may be assigned to
execute different instructions from the
same program simultaneously.
OS is responsible for scheduling and
coordinating the tasks of the various
processors.
Virtual Storage




Programs divided into small fixed- or variablelength portions with only a small portion stored
in primary memory at one time.
Fixed-length portion - e.g., 4kbytes - Page
Variable-length portion - Segment
Pages/Segments are stored in secondary storage
and shuttled into and out of main memory as
needed for processing.
Virtual Storage (Continued)
CPU executes the instructions from each page,
then moves on, either to the next page of the
program or to a page from a different program.
Advantages:
CPU can process different parts of different
programs - better utilization of CPU.
Large programs can be run on smaller computers.
Time-Sharing



Enables many users to share computer
resources simultaneously.
Each user is allocated a fixed amount of
time.
Computer performs whatever operations it
can for that user in the allocated time and
then releases the next slot of time for the
next user.
Plug and Play (PnP) Capability

Ability to automatically install and
configure different computer components
without having to perform any technical
procedures
Evolution of software

Generations of software






First Generation: Machine language
Second Generation: Assembly language
Third Generation: High-level languages
Fourth Generation: Outcome-oriented languages
Fifth Generation: Natural languages
Visual, Markup, and Object Oriented languages
Evolution of software



Machine languages: Used only bits (0;1)
Assembly language: Symbols used (e.g.,Add/Subtract)
High-level language: Used English-like sentences;
Instructed the computer the desired outcome, and on how
to achieve the desired outcome.

Outcome-oriented language: Used English-like
sentences: Instructed the computer - what was the desired
outcome; Does not necessarily specify the detailed
procedures needed for achieving the result.

Natural language: AI-based applications.
Language Translators


Translate high-level language programs into
machine language so that they can be executed by
the computer.
Program statements in the high-level language are
called source code, and the machine language
version is called object code.
Compiler: Translates entire high-level language
program into machine language.
Interpreter: Translates each source code statement
one at a time into machine code.
Recent/Current Trends in Software

Object Oriented Programming


Java; Small talk; C++
Other Trends


Visual and Markup Languages
ASP Model
Object Oriented Programming

Encapsulation


Inheritance



The process of grouping variables, procedures and
data into objects (Classes) is called encapsulation.
Child objects inherit from parent object
Reusability of code (Advantage)
UML – Unified Modeling Language:

A language for modeling a complex object-oriented
software system – think of it as a blueprint (for the
entire system) that documents the objects, variables,
and the relationship between different objects.
Object Oriented Programming
Employee (Object/Class)
Name (Variable)
ID (Variable)
Pay (Method)
Non-Salaried Employee (Subclass of employee)
Name (Inherited variable)
ID (Inherited variable)
Hourly rate (variable)
Pay (Method Adaptation/Override)

Java
Benefits of Java:





Platform independent; Microprocessor independent
Suitable for creating applications that can run on both
internal and external networks
Interactive capabilities for Web pages (Java applets)
Robust (can handle text, data, graphics, sound, video
– all within one program if needed)
Disadvantage


Runs slower than native programs written for a
particular OS
Needs to be standardized further.
Other Trends

Visual Programming Languages
 Examples: Visual Basic, Visual C++

Markup Languages
 Examples: HTML and XML
HTML and XML


XML is a language for representing contents
(compare with HTML which is a language for
representing formatting instructions).
HTML example:





<title>this is an example</title>
<h3>this is a header of level three</h3>
<b>this is in bold</b>
<i>this is in italics</i>
<b><i>this is in bold italics</i></b>
XML


XML example: This is a person, whose first name is 'Joe,' and whose
last name 'Smith.' This person is a teacher.
<person>
<name>
<first>Joe</first>
<last>Smith</last>
</name>
<profession>teacher</profession>
</person>


Note how the syntax of HTML and XML are similar.
XML is meant to represent contents. Therefore you can define your
own tags.

Easier to transfer data between different systems – because it is text
based content
Other Trends


Integration of hardware, software and telecommunications

Examples: Car navigation systems
Smart Cards
Enterprise Software

Software that manage and integrate vital operations of an enterprise
(e.g., Integrate Operations, Inventory Replenishment, Outbound Logistics,
Customer Service)

Examples: SAP R/3; PeopleSoft; Oracle

Application Service Provider (ASP) Model

Open Source Software – Refer to Guest Lecture Notes
Selecting software for an organization
Some factors to consider:

Business need satisfied?

Platform independence/compatibility (Open Systems; middleware tools)

Availability of documentation support

Cost/Budget?

End-user training

Maintenance/Upgrades

Shareware/Freeware?





Reliability
Vendor Support
Open Source/Proprietary
Off-the-shelf/Custom software
ASP Model