1) 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?
Can we ensure the same degree of security in a time shared machine as in a dedicated machine? Explain your answer.
Ans 1. A) Problems Stealing or copying a user's files; Writing over another program's (belonging to another user or to the OS) area in memory; Using system resources (CPU, disk space) without proper accounting; Causing the printer to mix output by sending data while some other user's file is printing.
B) Yes we can ensure the same degree of security in the time sheared mechanism first their USBs should be disabled through the server.
Their ICMP Protocol should also be disabled, so that there
wil no communication among the users.
2) Under what circumstances would a user be better off using a time sharing system rather than a PC or single user workstation?
Ans 2.) The benefits to this are the same as you are using right now reading this page. A time-sharing system (what we call a server nowdays) provides many many people the opportunity to use the system. Technically, even a standard PC is a time-sharing system, because you can run many different programs on it at a time (think Browser, iTunes, Anti-Virus, etc.).
The old mainframe systems had a card reader and an output. Only one set of cards could be run through at a time. So, if payroll was running through all 14000 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, but those processes are virtualized, rather than a true sharing system. However, the details of that can be left to others.
There are benefits and downsides to every type of system. In a mainframe-style system, all resources are available to the process being run, which benefits large data crunching operations (like payroll). The downside to a mainframe-style system is that only one process can run at a time in each virtual machine.
In a server-style system, all resources are shared among all processes. If a process "runs away" by using more processes than it should, then the other processes suffer, which the end-user sees as a server responding very slowly and/or "timing out". The upside to a server-style system is that you can serve web pages to thousands of people, while at the same time handling thousands of pieces of email.
In the designing of the operating system there are two approaches modular kernel and layered approach? How are they different?
Ans 3.) modular kernels:- 1. The modules for a particular kernel are stored in /lib/modules/kernel-version
2. The best components to modularise are ones not required at boot time, for example peripheral devices and supplementary file systems.
3. Kernel modules are controlled by utilities supplied by the modules package
The following is a list of 'user space' commands that can be used to control kernel modules. Notice that we will spend more time on the depmod, modprobe and modinfo commands below.
lsmod
list currently loaded modules
rmmod
remove a single module
insmod
insert a single module
depmod
create the database of module dependencies modules.dep
layered approach:- 1. The main advantage of the layered approach is modularity. The layered are selected such that each uses function and services of only lower level layers. This approach simplifies debugging and system verification.
2. D layers r selected such that each uses function &services of only lower levels .
It simplifies debugging and system verification.
3. System is easier to debug and modify
changes affect only limited portions of the code and the programmer
4) There is guest operating system and a host operating system like VMware? List all the factors in choosing the host operating system?
Ans 4.) PC Hardware
Memory
Display
Disk Drives
Local Area Networking (Optional)
Host Operating System
The kernel is responsible for a action with the processes. Search through the action of kernel and describe what is the action?
Ans 5.) In computing, the kernel is the central component of most computer operating systems; it is a bridge between applications and the actual data processing done at the hardware level. The kernel's responsibilities include managing the system's resources (the communication between hardware and software components). Usually as a basic component of an operating system, a kernel can provide the lowest-level abstraction layer for the resources (especially processors and I/O devices) that application software must control to perform its function. It typically makes these facilities available to application processes through inter-process communication mechanisms and system calls.
6) Considering both the system level and the programmer level.
Consider the advantage and disadvantage of the following structure.
Synchronous and asynchronous communication.
Automatic and explicit buffering.
Send by copy and send by reference
Fixed-sized and variable-sized messages.
Ans 6.) a. Synchronous and asynchronous communication-A benefit of
synchronous communication is that it allows a rendezvous between
the sender and receiver. A disadvantage of a blocking send
is that a rendezvous may not be required and the message could
be delivered asynchronously. As a result, message-passing systems
often provide both forms of synchronization.
b. Automatic and explicit buffering-Automatic buffering provides
a queue with indefinite length, thus ensuring the sender will never
have to block while waiting to copy a message. There are no specie-
fictions on how automatic buffering will be provided; one scheme
may reserve sufficiently large memory where much of theme mory
iswasted. Explicit buffering specifies how large the buffer is. In this
situation, the sender may be blocked while waiting for available
space in the queue. However, it is less likely that memory will be
wasted with explicit buffering.
c. Send by copy and send by reference-Send by copy does not
allow the receiver to alter the state of the parameter; send by reference
does allow it. A benefit of send by reference is that it allows
the programmer to write a distributed version of a centralized application.
Java's RMI provides both; however, passing a parameter
by reference requires declaring the parameter as a remote object as
well.
d. Fixed-sized and variable-sized messages-The implications of
this are mostly related to buffering issues; with fixed-size messages,
a buffer with a specific size can hold a known number of
messages. The number of variable-sized messages that can be held
by such a buffer is unknown. Consider how Windows 2000 handles
this situation: with fixed-sized messages (anything < 256 bytes),
the messages are copied from the address space of the sender to
the address space of the receiving process. Larger messages (i.e.
variable-sized messages) use shared memory to pass the message.