Multiprogramming And Time Sharing
In a multiprogramming and time sharing environment, several users share the system simultaneously. This situation can result in various security problems.
What are two such problems?
Ans1. (a) In Multiprogramming and time sharing environment multiple users share the data and system so these are following two problems which might occur
There can be the case of pilfering of data, which can result in various problems. It means after gaining illegal access in somebody system and thieving the data is a problem
One more problem can be, “no proper accounting of resources”, it means if somebody is using the resource without maintaining proper accounting data, is a serious problem.
Can we ensure the same degree of security in a time shared machine as in a dedicated machine? Explain your answer.
Ans1. (b) We cannot assure same level of security as it is presented in dedicated machine. Because in time sharing environment, multiple users are accessing the system, so it is somewhat difficult to implement because if we are planning to use a high-level encryption for the sharing environment, than it will be difficult to implement that security. Each and every security system made by human can be broken by another human.
Under what circumstances would a user be better off using a time sharing system rather than a PC or single user workstation?
Ans2. There are two types of basic working environments
Time sharing environment
Dedicated resource environment
In time sharing environment, multiple users are sharing the system and resources and this type of environment is useful when the tasks which are to performed are big or large and hardware resources are fast & efficient. The full power of the resources can be consumed for the user problems.
Dedicated environment is useful when the tasks which are to be performed are small level. This environment is preferred when hardware resources are sufficient to handle the user’s problem.
In the designing of the operating system there are two approaches modular kernel and layered approach? How are they different?
Ans3. Both modular kernel and layered approach are the approaches of the designing of the architecture of operating system.
Layered Approach: Layered approach follows the concept of design in the form of different layers. In this the operating system is divided into layers in which core layer is hardware resources and the topmost layer is User-Interface. The layers which are in-between interact with the layer below it and finish the tasks. In this all the subsystems are to be executed in strict order.
Modular Kernel Approach: This approach divides the operating system designing into modules of various levels. Like for e.g. in modules various different fields like booting, process, jobs, etc are divided and they run their modules in random manner. In a single module a group of various tasks are specified.
Difference between both these designs is that layered approach imposes strict ordering of other layers; lower layers are not allowed to invoke operations corresponding to upper layer operations, whereas in the case of modular approach various modules can invoke each other without any constraint.
There is guest operating system and a host operating system like VMware? List all the factors in choosing the host operating system?
Ans4. The factors which affect the selection of host operating system are:
The host operating system should be of upgraded version which you are using as using as guest operating system.
Hardware resources get shared in case of guest operating system, so care must be taken off. Because if the resources scarcity occurs both the OS will hang.
Operating system used must be stable.
It more depends upon security and speed.
The kernel is responsible for a action with the processes. Search through the action of kernel and describe what the action is?
Ans5. Kernel is known as the heart of the Operating System. Kernel is the main task handler of the OS. It represents as a bridge between applications and the data processing which is performed at hardware level. The actions of Kernel are :
Kernel sets up an address space for the program, loads the files containing the program’s code into memory and executes it.
Multi-tasking kernels are able to give the user the virtual view that the number of processes running simultaneously is higher than the maximum number of processes the computer is actually running.
Kernel uses scheduling algorithms to determine which process is running next and how much time it will be given. The algorithm chosen may allow for some processes to have higher priority than others. The kernel generally also provides these processes a way to communicate; this is known as inter-process communication.
Kernel is responsible for communicating the hardware resources with the software components.
Co-operative multitasking, where each process is allowed to run uninterrupted until it makes a special request that tells the kernel it may switch to another process. Such requests are known as “yielding”.
Q6. Considering both the system level and the programmer level.
Consider the advantage and disadvantage of the following structure.
Synchronous and asynchronous communication.
Ans (a) Synchronous communication is direct communication. In which the communication is time synchronized. It means all the users are involved in the communication are present at the same time.
Asynchronous communication does not require that all the users involved in the communication should be present at the same time. For e.g. e-mails, blogging.
Asynchronous is useful when the communication is done at far scale means online.
Automatic and explicit buffering.
Ans (b) Automatic buffering provides a queue which of infinite length, which will never block the user while waiting to perform a task. Disadvantage: In this large amount of memory space is wasted while allocation.
Explicit Buffering asks explicitly that how much memory must be allocated as the available queue. In this user can be blocked while it is performing some task Advantage: Less Memory space will be wasted with explicit buffering.
Send by copy and send by reference
Ans (c) Send by copy, in this type of method original value of the variable is never changed throughout the program or task. Whereas in the case of send by reference, address of the original variable is passed and any changes made in the reference value will be reflected in the original value.
Fixed-sized and variable-sized messages.