DMA module itself controls exchange of data between main memory and the I/O device. This function is called Keeps tracks of processor and status of process. An operating system does the following activities related to real-time system activity.A distributed environment refers to multiple independent CPUs or processors in a computer system. System threats creates such an environment that operating system resources/ user files are misused. The linker combines the object program with other necessary object modules into an absolute program, which also includes logical addresses.If you are writing a Dynamically loaded program, then your compiler will compile the program and for all the modules which you want to include dynamically, only references will be provided and rest of the work will be done at the time of execution.As explained above, when static linking is used, the linker combines all other modules needed by a program into a single executable program to avoid any runtime dependency.When dynamic linking is used, it is not required to link the actual module or library with the program, rather a reference to the dynamic module is provided at the time of compilation and linking. Here is a simplified diagram of a PCB −The PCB is maintained for a process throughout its lifetime, and is deleted once the process terminates.The process scheduling is the activity of the process manager that handles the removal of the running process from the CPU and the selection of another process on the basis of a particular strategy.Process scheduling is an essential part of a Multiprogramming operating systems. We live in a connected world. Device drivers encapsulate device-dependent code and implement a standard interface in such a way that code contains device-specific register reads/writes.

Buffering in OS? Ready processes are waiting to have the processor allocated to them by the operating system so that they can run. I/O device operates asynchronously with CPU, interrupts CPU when finished.The advantage to this method is that every instruction which can access memory can be used to manipulate an I/O device. In this chapter, we will discuss some of the important types of operating systems which are most commonly used.The users of a batch operating system do not interact with the computer directly. I/O units (Keyboard, mouse, printer, etc.) The operating system is a vital component of the system software in a computer system. The actual transfer of the 1000K process to or from memory will takeNow considering in and out time, it will take complete 4000 milliseconds plus other overhead where the process competes to regain main memory.Operating system uses the following memory allocation mechanism.In this type of allocation, relocation-register scheme is used to protect user processes from each other, and from changing operating-system code and data. Following is a model for connecting the CPU, memory, controllers, and I/O devices where CPU and device controllers all use a common bus for communication.The CPU must have a way to pass information to and from an I/O device. typically consist of a mechanical component and an electronic component where electronic component is called the device controller.There is always a device controller and a device driver for each device to communicate with the Operating Systems. An operating system is a software which performs all the basic tasks like file management, memory management, process management, handling input and output, and controlling peripheral devices such as disk drives and printers.Some popular Operating Systems include Linux Operating System, Windows Operating System, VMS, OS/400, AIX, z/OS, etc.An operating system is a program that acts as an interface between the user and the computer hardware and controls the execution of all kinds of programs.Following are some of important functions of an operating System.Memory management refers to management of Primary Memory or Main Memory. An Operating System does the following activities for memory management −Keeps tracks of primary memory, i.e., what part of it are in use by whom, what part are not in use.In multiprogramming, the OS decides which process will get memory when and how much.Allocates the memory when a process requests it to do so.De-allocates the memory when a process no longer needs it or has been terminated.In multiprogramming environment, the OS decides which process gets the processor when and for how much time.