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