Correct Answer: The `fork()? used to create a new process from an existing process The new process is called the child process, and the existing process is called the parent We can tell which is which by checking the return value from `fork()? The parent gets the child?s pid returned to him, but the child gets 0 returned to him
2. How can you get/set an environment variable from a program?
Correct Answer: Getting the value of an environment variable is done by using `getenv()? Setting the value of an environment variable is done by using `putenv()?
3. A Map is an Array,which contains the addresses of the free space in swap device that are allocatable resources,and the number of the resource unit available there.
Correct Answer: Multi programming: Multiprogramming is the technique of running several programs at a time using timesharing It allows a computer to do several things at the same time Multiprogramming creates logical parallelism The concept of multiprogramming is that the operating system keeps several jobs in memory simultaneously The operating system selects a job from the job pool and starts executing a job, when that job needs to wait for any i/o operations the CPU is switched to another job So the main idea here is that the CPU is never idle Multi tasking: Multitasking is the logical extension of multiprogramming The concept of multitasking is quite similar to multiprogramming but difference is that the switching between jobs occurs so frequently that the users can interact with each program while it is running This concept is also known as time-sharing systems A time-shared operating system uses CPU scheduling and multiprogramming to provide each user with a small portion of time-shared system Multi threading: An application typically is implemented as a separate process with several threads of control In some situations a single application may be required to perform several similar tasks for example a web server accepts client requests for web pages, images, sound, and so forth A busy web server may have several of clients concurrently accessing it If the web server ran as a traditional single-threaded process, it would be able to service only one client at a time The amount of time that a client might have to wait for its request to be serviced could be enormous So it is efficient to have one process that contains multiple threads to serve the same purpose This approach would multithread the web-server process, the server would create a separate thread that would listen for client requests when a request was made rather than creating another process it would create another thread to service the request To get the advantages like responsiveness, Resource sharing economy and utilization of multiprocessor architectures multithreading concept can be used
Correct Answer: Turnaround time is the interval between the submission of a job and its completion Response time is the interval between submission of a request, and the first response to that request
7. Describe the Buddy system of memory allocation.
Correct Answer: Free memory is maintained in linked lists, each of equal sized blocks Any such block is of size 2^k When some memory is required by a process, the block size of next higher order is chosen, and broken into two Note that the two such pieces differ in address only in their kth bit Such pieces are called buddies When any used block is freed, the OS checks to see if its buddy is also free If so, it is rejoined, and put into the original free-block linked-list
Correct Answer: It is a technique proposed by Lamport, used to order events in a distributed system without the use of clocks This scheme is intended to order events consisting of the transmission of messages Each system 'i' in the network maintains a counter Ci Every time a system transmits a message, it increments its counter by 1 and attaches the time-stamp Ti to the message When a message is received, the receiving system 'j' sets its counter Cj to 1 more than the maximum of its current value and the incoming time-stamp Ti At each site, the ordering of messages is determined by the following rules: For messages x from site i and y from site j, x precedes y if one of the following conditions holds(a) if Ti
9. How are the wait/signal operations for monitor different from those for semaphores?
Correct Answer: If a process in a monitor signal and no task is waiting on the condition variable, the signal is lost So this allows easier program design Whereas in semaphores, every operation affects the value of the semaphore, so the wait and signal operations should be perfectly balanced in the program
10. What has triggered the need for multitasking in PCs?
Correct Answer: 1 Increased speed and memory capacity of microprocessors together with the support for virtual memory and 2 Growth of client server computing