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