Tuesday, November 30, 2010

In a multiprogramming and time-sharing environment, several users share the system simultaneously. This situation can result in various security problems. Name at least two of these problems. Can we ensure the same degree of security in a time-share machine as we have in a dedicated machine? Explain your answer

As we all know multiprogramming is a technique that allows a single processor to process several programs residing simultaneously in main memory and interleaving their execution by overlapping I/O request with CPU request. It attempts to increase CPU utilization by always having something for the CPU to execute. The system switches among the programs for efficient processing and minimal idle time. Time-sharing uses scheduling and multiprogramming to provide an economical interactive system of two or more users. The main advantage of using a time-sharing environment is that it interacts with the computer while the program is still running and will have a short response time which is usually less than ten seconds. But in these environments, several users share the system at the same time.

This situation can result in to variety of security problems. Like for example, it steals or copies one’s program to data or its memory space. For instance, an administrator was having its decryption procedure, but there will be another user that will steal the decryption program or key which is very dangerous when it happen. Another example of these problems is that the resource usage may not be completely controlled and can cause block for particular users.  For example, if user A had resource 1 and was waiting for resource 2, and user B had resource 2 and was waiting for resource 1, deadlock would occur and neither user would be able to make progress in their program, no matter how many time slots they were allocated. Another example of these problems is that causing the printer to mix output by sending data while some other user's file is printing, using system resources like CPU, memory, disk space and peripherals without of its proper accounting.

          A dedicated machine is a computer that services one primary function or task. Like for example, a passenger-carrying road vehicle might have an onboard computer that is dedicated exclusively for navigation. This means in dedicated machine, the scheme is not yet complicated. As stated above, time-sharing uses scheduling and multiprogramming to provide an economical interactive system of two or more users. Technically speaking, even a standard personal computer (PC) is a time-sharing system machine, because you can run many different programs on it at the same time, like browsing, anti virus, etc. The old mainframe systems had a card reader and an output. Only one set of cards could be run one at a time. So, if payroll was running through all 20000 employee's paycheck calculations, you had to wait until they were done. Modern mainframe systems have some time-sharing capabilities by allowing multiple processes to run on the system. In this machine system, all resources are shared among all processes. This means that the scheme of the time-sharing machine is more complex than of the dedicated machine. Which will probably do not have the same degree of security with the dedicated machine, because any protection scheme created by a man can be certainly be broke by him, and the more complex the scheme, the more complicated it is to feel confident whether you made the correct implementation or not .