A medium sized company needs to upgrade the computer facilities for administration and design & development applications. At the moment all the computer based applications are processed on a very old 'batch' machine whose operating system does not support 'multiprogramming'. As the senior IT person in the company write a report that will convince the board of Directors that the acquisition of a computer system that support multi programming and virtual memory will bring substancial benefits to the company in the modern business arena.
In my report I am assuming that the company has not upgraded the batch processing system since batch systems were 1st introduced 40 years ago and still uses card readers, tape reels and 3 separate machines to complete a processing task, these machines being 2 1401 machines for inputting the data and printing outputs and a more powerful 7094 that does the actual processing. Introduction - a quick lesson on what the computer hardware currently installed is. Batch processing is almost as old as the dinosaurs themselves, in reality multiprocessing started to take off over 40 years ago to put things into perspective.
Currently the computer systems that are in place cause time to be wasted due to staff having to wait for there data to be processed in a batch that may only be processed once every hour, great for the staff who like coffee and cigarette breaks and bad for the employee (you) who's still paying them while they do this. The way in which batch processing works in this company is that all the employees will complete the work they have to do and then need to have the data or design processed, tested or compiled.
In order for this to be done they have to currently submit their data to another department that will feed the data into a machine that is making a long list of jobs that need to be processed. This is done in order to save time and money in comparison to just processing one job at a time. In order to collect enough jobs to make the batch worth while processing a lot of jobs need to be collected, this as I said before this can take an hour or so. Another disadvantage of our current system is that we can only run one program at a time due to the way that the memory is managed.
As the memory can not be partitioned, that is divided up into smaller chunks that each can be a host for a different program, each time a different piece of data needs to be processed the whole machine must be shutdown and a different piece of processing software must be installed, this also takes up time, and as you know time is money. The hardware that is in use, due to its age, is also very slow in comparison to modern day technology which is usually said to double in speed once every two years.
As our hardware is over 40 years old you can work out the time taken to complete jobs is astronomical by modern day standards, again more time and money is wasted here. What is the Operating System? What does it do? The operating system is the piece of software that allows you the end user to run programs and input output data to the machine. The operating system manages the CPU, memory, file system and input output devices. Without an operating system the computer is pretty much useless, unless the employees can knock up their own one to use which is highly unlikely.
The newer operating system that will be on the new machines will allow allot of advanced features to be used that will increase efficiency highly such as the memory management and ability to run more then one task at a time. Multiprogramming what does it do? Multiprogramming is a way to increase the efficiency of the processor and the work that it is doing. It allows many programs to be run at the same time by loading different programs into different chunks in memory. Since there is only one processor inside the computer simultaneous execution of the different programs doesn't actually occur.
Instead it hops from one program to the next doing a little processing for each one that needs it. The operating system executes part of one program, then part of another, and so on in a cycle. So if for example one program is waiting for a user to press ok and they have gone off for lunch for an hour instead of the processor pausing and waiting for the user to get back press ok and allow the computer to finish that job and then move onto the next inline, it simply skips onto the next memory partition and resumes processing where it left off.
Then will hop to the next one and so on. This all happens extremely fast, maybe checking and executing 100's of parts of different jobs per second. To the user it seems as if they have total control of the processing power, when in fact everyone has an equal share of it. Each program in memory must resume where it left of so the program counter will be temporarily stored so the processor can resume where it left off when it gets back to that program. This is essential to the working of this system.
If the machine has the capability of causing an interrupt after a specified time interval, then the operating system will execute each program for a given length of time, regain control, and then execute another program for a given length of time, and so on. In the absence of this mechanism, the operating system has no choice but to begin to execute a program with the expectation, but not the certainty, that the program will eventually return control to the operating system. Virtual Memory the extra bonus
Virtual memory is another advantage of the multiprogramming system that is absent in batch systems. Virtual or logical memory is a way to expand the memory available to the computer system. It allows the system to use a very large range of memory addresses for stored data and programs. When the system runs out of physical memory it can store data that is least accessed on the computers hard drive and then load new data that it needs to work on into the freed up space. The data that is moved is generally known as paged data.
The only real draw back of this is that the hard drive is a mechanical storage medium, and these are very slow in comparison to data being accessed directly from physical RAM. However a hard disk is still faster then a tape drive or punch cards so is not really going to be a draw back in comparison to the old system. Away to get round this issue and keep the system running at full speed would be to install the maximum possible amount of RAM in the system to try to eliminate the need for data to be paged to the hard disk drive.
The memory that is installed in the old batch systems is tiny in compared to the new proposed systems, and a lot slower to. The main memory is that of the tape drive that holds all the data, access times for these drives can be anything between a few seconds of the data is near to the point the tape reader is currently at, or a few minutes is the reader has to wind all the way to the other end of the tape.