Chapter 6

Software Introduction


Home | Chapters | Homework | Grades | Final Project | Calendar | Forums | Syllabus

Forum Policy | Assignment Policy | Games | Tests | E-Mail Mr Hull | FTP


Main | Chapter 1 | Chapter 2 | Chapter 3 | Chapter 4 | Chapter 5 | Chapter 6 | Chapter 7

Chapter 8 | Chapter 9 | Chapter 10 | Chapter 11 | Chapter 12 | Chapter 13 | Chapter 14 | Chapter 15


Summary

Chapter 6 talks about software.  It touches briefly on many different topics.  Remember this chapter is just an introduction.


Operating System Software

The OS (Operating System) is responsible for many different things.  

  • Memory Management - Control access to RAM, create and manage virtual memory, manage swapping etc...

  • File Management - Create a disk structure and organize layout of data on the physical disk.

  • User Interface - Create the environment that the user will see.  This can be in the form of a command line (i.e. DOS, Unix, Linux) or it can be a GUI (i.e. Windows, Mac OS BeOS) GUI = Graphical User Interface.

  • I/O Interface - Setup rules of communication between the OS and various hardware devices.  I/O = Input / Output.  For example, when you open a file on your PC, the OS talks with the hard drive controller and tells it what file to retrieve.

  • Resource Allocation - Control of who has access to certain resources and when. We can use the CPU as an example.  As we learned in Chapter 5 the CPU will execute threads of code that make up a process.  The OS will determine which threads the CPU will work on next.  A thread can be in a ready, waiting or suspended state.  The OS can use any one of the following methods to determine who goes next.  FIFO (First In First Out), Time Sharing (Preemptive) , or Job Priority.

  • Accounting - Some Operation System's will track usage for billing or other purposes.  A web hosting company would be an example.  They might only allow their users to transfer x amount of data in a certain time period.  The OS would be able to keep track of each users usage.

  • Protection/Security - Operating Systems should have a way to limit access to files for different users.  All users do not need to be able to delete system files.

Before the operating system existed a programmer had to not only write the program to do the desired task, but deal with all of the responsibilities listed above.  Usually a programmer had full control over the system, their program was the only application running.  With an OS the programmer no longer has to worry about these tasks, and most OS's will allow for multiple applications to run at once.  


Other Types of Software

Below is a list of other classifications of software that you will find running on a PC or server.

  • Applications Software - The software that runs on a computer that allows us to solve problems and accomplish the business' work.

  • Database Management - Software that will allow a user or administrator to :

    • Define records, files and relationships

    • Access, update, and delete data in the database

    • Set up Security

    • Establish, maintain, and use a data dictionary

    • Use host language interface that allow the database to be manipulated by a standard programming interface.

  • Utility Software - The tools that an administrator would use to maintain the OS.  i.e. Norton Utilities

  • Development Software - The tools that a software developer would use to create other types of software.  i.e. Visual C++ or Turbo Pascal

    • Compiler will turn the ASCII code into an executable file (EXE)

    • Interpreter will execute each line of the ASCII code at run time.

  • Network Management Software - The tools that an administrator would use to maintain the network software.

  • Network Access Software - The software that will give us access to the network.  This is usually part of the OS.


Generic Functions of LAN System Software

LAN system software is sometimes called the network operating system (NOS).  The NOS is made up of two parts , the redirector and medium interface software. 

  • The purpose of the redirector is to intercept requests from applications that require network resources that the regular OS can't provide.  It then redirects it to the medium interface software which will generate the signal to put on the medium.

  • On the server side, when the server receives a request for a resource it is put into a queue and processed in a predetermined order.  It may be FIFO (First In First Out) or by determining what processes are ready i.e. not waiting for something from memory and process those first.

    • On a Network a server will receive multiple requests, the ability to jungle all these tasks is called multithreading.

The above process will help fulfill one of the characteristics of a LAN discussed in Chapter 2, Transparent Use.  If a user accesses a network drive on his/her computer the redirector will send the request to the server instead of the OS.  Combined with the high speed of a LAN this process will be transparent to the user.


Contention

Contention in this chapter is referring to file usage and not CSMA/CD.  Contention happens when you have multiple users working on the same document or record at the same time.  If User A makes a change and saves it while User B has the same file open, User B will not see the change.  Once User B save changes User A's changes will be overwritten.  Almost all Operating Systems have measures put in place to prevent this type of error from occurring.

  • When a user opens a file he/she will have full control over the file called Exclusive Open Mode.  He/She can read and modify the file.

  • When a second user opens the same file the user will be in a Read Only mode.  They can view the file but not save changes as the same file.

I an DBMS you want to have many users access the data that you are sharing.  The DBMS will have a system of locks that it will use to prevent contention from happening. 

  • If User A is editing the User Record: John Smith and User B tries to access that record they will receive a notification that the record is locked.  Once User A is done with the record User B will have access.  It is important to remember that User B has access to any other unlocked record in that database at all times.

  • This can cause another issue with user access.  Suppose User A had a lock on John Smith's record and User B had a lock on Jane Smith's record.  User A needs data from Jane's record to complete the task, and User B needs data from John's record to complete.  Both records are locked so we have a Deadlock, or Deadly Embrace.


Software Protection

Most software is protected by Copyright Laws.  To enforce these copyright laws software makers use many different methods of protecting their software.  One such method is to have a hardware key that the software looks for, if the key doesn't exist the program won't run.  Another option is to have a key disk that must be present when the application is run, and this disk would not be able to be copied.  In class we talked about Windows XP which includes a new activation scheme.  In this scheme if the OS is installed on more then two PC's it will be unusable.


Software License Agreements

A license agreement determines the conditions in which you can use the software you purchase.  Below is a list of the common types of license agreements.

  • Single-User, Single Workstation License - allows you to have the application installed on one PC and only one user can use it.  If two users use it you must purchase another license.

  • Single-User, Multiple-Workstation License - you can have the application installed on your work PC and your home PC as long as you are the only user. 

  • Restricted Number of Concurrent Users License - gives access to software on the server but limits the number of users connected at once.

  • Server License - allows you to install the program on one server and any number of users can connect to it.

  • Site License - gives all users at one site (any group of nodes connected with a high speed connection) unlimited access to the application.

  • Corporate License - gives full access to all sites to the application.


More Information

 

Click Here to download the slides for this chapter

(NOTE: You must have PowerPoint or PowerPoint Viewer if you don't have  either Click Here to download PowerPoint Viewer.)


Home | Chapters | Homework | Grades | Final Project | Calendar | Forums | Syllabus

Forum Policy | Assignment Policy | Games | Tests | E-Mail Mr Hull | FTP