Transcript Lecture6x

1
COMPUTER SOFTWARE
Section 2 “System Software: Computer System Management ”
CHAPTER 4
Lecture-6/ T. Nouf Almujally
2
System Software
System Software
3

Consists of programs that manage and support a computer system
and its information processing activities.
System
Management
Programs
System
Development
Programs
Manages hardware, software, network, and
data resources of computer systems
Operating systems, network management
programs, database management systems,
system utilities
Helps users develop IS programs and
procedures, and then prepare them
for processing
Includes Programming language translators
and editors, CASE, and programming tools
Interface Between End Users & Computer
4
5
System Management Programs
Operating Systems
6
Integrated system of programs that…
Manages the
operations of the
CPU
Controls the
input/out, storage
resources, and
activities of the
computer system
Provides support
services as the
computer
executes
application
programs
The operating system must be loaded and activated
before other tasks can be accomplished
Examples of Popular Operating Systems:
Microsoft Windows, Unix, Linux and MAC OS X
Operating System Basic Functions
7
•Command-driven
•Menu-driven
•Graphical User
Interfaces (GUI)
Multitasking: is a
task management
approach
OS User interface
8
Defined as the part of the information system through
which the end user interacts with the system
Command-driven interface:

•
•
The computer users have to input the command every time
(e.g., MS-DOCS).
Menu-driven interface:
•
•
The computers users use the menu to
execute the command instead of typing it in.
Graphical User Interface (GUI):
•
•
•
Defined as the part of an operating system users interact with that uses
graphic icons and the computer mouse to issue commands and make
selections. The user uses a mouse to control the computer.
Resource Management
9
•
•
•
An operating system uses a variety of resource management
programs to manage the hw and network resources of a computer
system.
Including CPU, memory, secondary storage devices, input/output
peripherals .
Common functions:
• Keeping track of where data and programs are stored
• Subdividing memory; providing virtual memory capability
• E.g. Memory Management Program
File Management
10
•
•
Control the creation , deletion, and access to files of data and
programs.
Keep track of physical location of files on magnetic disks and
other secondary storage devices.
Task management
11
•
•
Help accomplish the computing tasks of end users.
The program control:
•
•
•
•
Which task gets access to CPU
For how much time
Allocate a specific slice of CPU time to a particular
task.
Multitasking: is a task management approach, allow
for several computing tasks to be performed in a
simultaneous fashion .
Other System Management Programs
12
• Database management systems  chapter 5
• Network management Programs  chapter 6
This figure compares several types of system software offered by IBM and its competitors
Other System Management Programs
13
•
•
Other system management software are marked as
separate programs or included as part of an operating
system:
Utility programs (or utilities):
•
•
Performance Monitors:
•
•
Programs like Norton utilities perform various housekeeping functions,
includes data backup, virus protection, data compression, etc.
Programs that monitor and adjust computer system to keep them running
efficiently.
Security Monitors:
•
Monitor and control use of computer systems and provide warning
messages and record unauthorized use of resources.
14
System Development Programs
Programming Languages
15
•Allows a programmer to develop the sets of instructions
that constitute a computer program.
Machine Languages
16
First Generation Languages
The most basic of programming languages
All program instructions had to be written using binary codes
Requires specific knowledge of the
internal operations of the CPU being used
Must specify the storage location for every
instruction and item of data used
Difficult to work with, and error prone
Assembler Languages
17
Second Generation Languages
Developed to reduce difficulties
in writing machine language programs
Uses “assemblers” to convert the programs
into machine instructions
Symbols used to represent operation codes
and storage locations
High-Level Languages
18
Third Generation Languages
Uses brief “statements” or arithmetic expressions
Statements translated into machine language
by compilers or interpreters
Less efficient than assembler language and
requires greater translation time
Machine-independent
Examples: BASIC, COBOL, FORTRAN
Fourth-Generation Languages
19
Fourth-Generation Languages
Variety of programming languages that are
nonprocedural and conversational
Programmers specify the result wanted;
the computer determines the sequence of
instructions that accomplish the result
Simplifies the programming process
Natural language; very close to English or human languages
Sometimes called fifth-generation (5GLs)
Object-Oriented Languages
20
• Combines data elements and the procedures that will be
performed upon them into objects.
E.g., data about a bank account and the procedures
performed on it, such as interest calculations
Object-Oriented Languages
21
Most widely used software
development languages
Easier to use and more efficient for graphicsoriented user interfaces
Reusable: can use an object from one
application in another application
Examples: Visual Basic, C++, Java
Most object-oriented languages provide a GUI
that supports visual programming
Web Languages
22
• HTML, XML and Java are three programming languages that are
important tools for building multimedia web pages, web sites and
web-based applications.
HTML
XML
Java
A page description language that creates
hypertext documents for the Web
Describes Web page content by
applying identifying tags or contextual labels
to the data
Object-oriented programming language that is
simple, secure, and platform independent
Java applets can be executed
on any computer
Programming Software
23
Language Translator Program : is a program that
translate instructions written in programming languages
into machine language that computer can execute.
Assembler
Compiler
Interpreter
Translates
assembler
language
statement
Translates highlevel language
statements
A compiler that translates
and executes each
statement in
a program,
one at a time instead of
first producing a complete
machine language
programs,
Programming Tools
24
•
•
•
•
Language translators have always provided some
editing and diagnostic capabilities to identify
programming errors or bugs.
However, most software development programs now
include powerful graphics-oriented programming
editors and debuggers.
These programming tools help programmers identify
and minimize errors while they are programming.
An essential part of widely used programming
languages like Visual Basic, C++ and Java.
Questions ..
25
Resources ..
26
Read from Chapter 4 (Section 2)