CS604 Operating Systems Assignment No 1 Solution Fall 2012

Question 1: [Marks 10]
Let us consider a situation in which functionality is placed in device controller instead of keeping that functionality in kernel.
Write down any two advantages and any two disadvantages of this scenario.
Question 2: [Marks 5]
Let us consider a scenario in which a job/process loses its ability of using a CPU when it gets rolled out of memory.
Explain a scenario in which a job/process loses its ability of using a CPU without getting rolled out of memory


Solution:

Device controller
A device controller is a part of a computer system that makes sense of the signals going to, and coming from the CPU. There are many device controllers in a computer system. Any device connected to the computer is connected by a plug and socket, and the socket is connected to a device controller. Device controllers use binary and digital codes. Each device controller has a local buffer and a command register. It communicates with the CPU by interrupts. A device’s controller plays an important role in the operation of that device; it functions as a bridge between the device and the operating system.
I-O devices are generally contains two parts. One is mechanical and another is electrical part.. This electrical part is known as a device controller and can be take form of chip on personal computers.
Device-Operating System Communication
The Device Controller receives the data from a connected device and stores it temporarily in some special purpose registers (i.e. local buffer) inside the controller. Then it communicates the data with a Device Driver. For each device controller there is an equivalent device driver which is the standard interface through which the device controller communicates with the Operating Systems through Interrupts. Device controller is hardware whereas device driver is software. The controller’s job is to convert the serial bit stream to block bytes and perform any error correction necessary.

The Kernel

Kernel is the main 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.
Operating system tasks are done differently by different kernels, depending on their design and implementation. While monolithic kernels execute all the operating system code in the same address space to increase the performance of the system, microkernel’s run most of the operating system services in user space as servers, aiming to improve maintainability and molecularity of the operating system.[2] A range of possibilities exists between these two extremes.

Leave a Reply

Related Posts Plugin for WordPress, Blogger...