Skip to main content

Direct memory access in operating system-computer world

                             Direct memory access 

Direct memory access : DMA stands for  direct memory access and it is another mechanism where input output device is given full transfer block of data to from memory without going through the CPU. In other word we can say that it is a method of transferring data from the computers RAM to another part of computer. The DMA controller operate the memory bus directly without the help of main CPU so DMA controller improves the system performance.

Whenever a device uses DMA , it has to specify a DMA channel . Ultra DMA hard drive uses DMA to transfer at high speed. Whereas earlier hard drives were the first to transfer data from CPU which took more time. 

In older computers , the four DMA channel were 0, 1, 2 and 3 were used , when the 16 bit ISA bus was introduced, the channels 5, 6 and 7 were also added to it.

DMA transfer modes

1. Burst mode : Burst mode is the fastest DMA mode in which two or more bytes can be continuously transferred.

2. Cycle steal mode : Cycle steal mode is slower than burst mode. In this mode only one byte is transferred at a time.

3. Transparent mode : This is the slowest data transfer mode in which the processor executes some status that makes it different from the system bus.

Comments

Popular posts from this blog

Deadlock in operating system-computer world

  Deadlock in operating system-computer world Deadlock :  In a multi-programming environment, many process may complete for a minute number of resources. A process make a request for a resource and if the resource is not available at that time, the process enter In a waiting state. A waiting state process is never again-able to change state because the resource it has requested is held by other waiting process. This situation is called deadlock. So we can say that a process is said to be deadlock when it is waiting for an event or resources which will never occurs.   so we can say that in this situation none of the process gets executed  since the resource it needs, is held by some other process which is also waits for some other resource to be released.  Let's assume that there are three process P1, P2, p3 and three different resources R1, R2 and R3. R1 is assigned to p1, R2 is assigned to P2 and R3 is assigned to P3.   After sometime P1 demands for R1 which is being used by  P2.

CPU scheduling in operating system-computer world

  CPU scheduling in operating system CPU scheduling :  Whenever the CPU becomes idle, the operating system must select one of the processes. The selection process is carried by the short-term scheduler. The scheduler selects a process from the processes in memory that that are ready to execute and allocate the CPU to that process. The objective of time sharing is to skip the CPU among processes that user interact with each program while the program is in running position. As we discuss above the process scheduler selects an process for execution on the CPU. There will never more then one running process for a single processor system. If there are many processes, the process will have to wait until the CPU is free CPU Scheduling is basis of multi-programming operating system. In CPU scheduling many processes are kept in memory at a time. The CPU scheduler select a process from the many processes. The process scheduler scheduled different processes to be assigned to the CPU based on part

Single partition allocation, Multiple-partition allocation and Fixed Equal-size partitions in operating system-computer world

  Single partition allocation, Multiple-partition allocation and Fixed Equal-size partitions in operating system Single partition allocation In this scheme operating system is residing in law memory and user process are executing in higher memory. Advantages It is simple  It is easy to understand and use Disadvantages User job is limited to the size of available memory. It leads to poor Utilization of processor and memory. Multiple-partition allocation  It is the simplest method for allocating  memory is divided memory into several fixed size partitions. Fixed Equal-size partitions It divides the main memory Into equal number of fixed sized partitions, operating system occupies some fixed portion and remaining portion of main memory is available for user processes. Advantages It supports multi programming. A process whose size is less then or equal to the partitions size can be loaded into any available partition. Disadvantages If a program is big to fit into a partition use overlay te