Chapter 6

advertisement
Local Area Networks, 3rd Edition
David A. Stamper
Part 3: Software
Chapter 6
Software Introduction
© 2001 by Prentice Hall
6-1
Chapter Preview
In this chapter you will study:
• The distinction between the different classes of
software
• The generic requirements of workstation software
• The generic requirements of server software
• Software requirements for shared access
• How software can be protected on a LAN
• Some of the standards covering LAN software
• The need for and general provisions of software
license agreements
© 2001 by Prentice Hall
6-2
Classes of Software
• Application Software
• Operating System Software
– Memory management
• The OS manages memory and allocates it among itself and
the requesting processes according to a memory
management scheme adopted by the OS designers
– File management
• The OS provides the ability to organize bits into files, files
into directories, and so on
– User interface
• Creating user environments is an OS function
– I/O interfaces
• The OS and file management system translate the request
to access a file into an address the disk can act on
© 2001 by Prentice Hall
6-3
Classes of Software (cont.)
– Resource allocation
• The OS has an algorithm that determines which
ready process gets access to the CPU and the
conditions under which a running process maintains
control of the CPU
– Accounting
•
•
•
•
•
•
CPU usage
Lines printed
Disk space used
Transactions submitted (by type)
Data communications medium usage
bytes read from and written to disk
© 2001 by Prentice Hall
6-4
Classes of Software (cont.)
– Protection/Security
• The OS provides the base on which security is established.
We expect the OS to prevent user programs from crashing
the system and to eliminate the intrusion of one program
onto the memory occupied by another program’s data.
• Database Management
– A database management system (DBS) extends the OS file
management capabilities. A DBMS provides software that allows the
user or database administrator to:
•
•
•
•
•
Define records, files, and file relationships
Access, update, and delete data in the database
Set up security
Establish, maintain, and use a data dictionary
Use host language interfaces that allow the database to be
manipulated by standard programming languages
© 2001 by Prentice Hall
6-5
Classes of Software (cont.)
• Utility Software
– Utilities augment the function of the OS or other subsystem, such as the
database management system or the data communications subsystem.
• Development Software
– Development software includes text editors, text formatters, compilers,
interpreters, link editors, cross-reference programs, testing utilities, and
related programs and utilities
• Network Management Software
– Network management includes a variety of activities such as backups,
problem resolution, capacity planning, and establishing user environments
• Network Access Software
– Network access software for a LAN includes the components that allow us
to access LAN resources from directly attached workstations and remote
workstations
© 2001 by Prentice Hall
6-6
Generic Functions of LAN System
Software
• LAN system software is essentially an extension
of the OS. It carries out hardware-oriented LAN
tasks, such as interfacing to the medium, and I/Ooriented tasks such as directing print jobs and
disk read/write requests to a server.
• The purpose of system software is to insulate
applications from hardware details such as I/O
and memory management. System software
provides an interface through which the
applications can request hardware services
without needing to know the details of how the
services are carried out.
© 2001 by Prentice Hall
6-7
LAN System Software in Server
and Workstation
Application
Program
A1
Disk
Drive
Network
Redirector
Operating
System
Server
Operating
System
Server
System
Software
Disk
Drive
Medium
Interface
Software
Medium
Interface
Software
LAN Medium
© 2001 by Prentice Hall
6-8
LAN Redirector Functions
Application
Program
A1
Network
Redirector
Disk
Operating
System
Medium
Interface
Software
Redirector
intercepts
I/O request
and routes to
appropriate software
module.
Network
Request
LAN Medium
© 2001 by Prentice Hall
6-9
LAN Server Request Queue
Server
Operating
System
LAN
System
Software
Database Read
Write to Printer
Download Application
Database Read
Write to Printer
Write to Printer
Server
Disk
Queue
of
Waiting
Requests
© 2001 by Prentice Hall
6-10
User Configuration Options
Default disk drive
Disk drive/directory search
paths
Default disk directory
Printer mappings
Disk drive mappings
Initial program/menu
© 2001 by Prentice Hall
6-11
A Contention Problem
Karen's Application
Karen reads
Record A with lock
Record A
Juan issues a read
request for Record A
Record A
Juan's Application
Record A is locked by
Karen so Juan must wait
Read
Record A
Database
Pending
Request
© 2001 by Prentice Hall
6-12
Exclusive, Protected, and Shared
Open Combinations
Currently Opened As
Exclusive
Protected
Shared
Update
Exclusive
Denied
Denied
Denied
Denied
Protected
Denied
Denied
Denied
Granted
Shared, update
Denied
Denied
Granted
Granted
Shared, read-only
Denied
Granted
Granted
Granted
Open Mode
Requested
© 2001 by Prentice Hall
Shared Read-only
6-13
Waiting for Lock Release
Application 1
Application 1 reads
Record A with lock
Record A
Application 2 issues a read
request to Record A
Record A is locked by
Application 1, so
Application 2 must wait
Record A
Application 2
Read
Record A
Database
Pending
Request
© 2001 by Prentice Hall
6-14
Deadlock Situation
Application 1 has read
and locked Record A
Application 1
Application 2 has read
and locked Record B
Application 1 is waiting
for Application 2
to release Record B
Application 2 is waiting
for Application 1
to release Record A
Application 1 and 2 are
deadlocked and
will wait forever
Record A
Record A
Record B
Locked by A2
Application 2
Read
Record A
Record B
Database
Pending
Request
© 2001 by Prentice Hall
6-15
Software Standards
• Most of the LANs in operation today
are called open networks, meaning
that they adhere to a set of standards
formulated by organizations such as
ISO, ANSI, IEEE, and EIA. These
standards are placed in the public
domain and are called open
standards.
© 2001 by Prentice Hall
6-16
Software Protection
• Software is protected in seven basic ways:
– The code is kept secret so other software houses cannot use special
algorithms developed by the company to write a competing system.
– The code is copyrighted to prevent another company from copying
the code and writing a competing system.
– Legislation penalizing those who do not adhere to the copyright and
license restrictions is enforced.
– The software is copy-protected to deter someone from making an
illegal copy.
– License agreements are used to establish the terms of ownership
and use.
– The software requires WAN/Internet verification before it is activated.
– The software requires a special hardware device to run.
© 2001 by Prentice Hall
6-17
Software License Agreements
• The license agreement states the conditions
under which you are allowed to use the product.
• In general, license agreements take one of the
following forms:
– Single-user, single-workstation licenses
• A single-user, single-workstation license agreement is the most
restrictive. It specifies that the software is to be used on one
workstation only and by only one person at a time.
– Single-user, multiple-workstation licenses
• The constraints of the single-user, single-workstation agreement
are relaxed by the single-user, multiple-workstation license
agreement. It usually relies on the honor system for enforcement.
The purchase of a single copy of the software allows the owner to
install it on several systems.
© 2001 by Prentice Hall
6-18
Software License Agreements
(cont.)
– Restricted number of concurrent users licenses
• Most LAN-compatible software is designed for
multiple users; however, some software vendors
limit the number of concurrent users with a restricted
number of concurrent users license agreement. The
main idea behind this strategy is to charge by the
number of users.
– Server licenses
• A server license allows an application to be installed
on one server. All users attached to that server may
use the application. If a company has several
servers, say three, and wants to use the application
on each of them, the company must purchase three
licenses or three copies of the software.,
© 2001 by Prentice Hall
6-19
Software License Agreements
(cont.)
• Site licenses
– A site license gives the user unlimited rights to use the
software at a given site. The site may be a single LAN or
multiple LANs at one location.
• Corporate licenses
– A corporate license gives the corporation unlimited use
of the software at all locations. Some companies restrict
a corporate license to all locations within one country.
Sometimes, the right to reproduce documentation is also
granted.
© 2001 by Prentice Hall
6-20
License Agreement Owners’
Rights
• The license agreement is intended
primarily to protect the rights of the
manufacturer. However, the owner of a
license agreement also has certain rights:
– The owner can transfer or assign the license to another user.
– The owner can get a refund if the product is defective or does not
work as stated.
– The owner has legal rights granted by certain states or countries
regarding the exclusion of liability for losses or damage resulting
from the use of the software.
– The owner can terminate the license by destroying the software and
documentation.
© 2001 by Prentice Hall
6-21
Download