This is more complex than you know. It is very difficult.
The first mechanism is using priority scheduling. Here you start with the "IRQ" - the hardware interrupts where the lower the IRQ, the higher priority.
The next is the process priority that the dispatcher use. The OS will be interrupted by the clock, and will then start looking for the highest priority process.
Then to avoid all processes to have the same priority, the OS will add / subtract a value depending on "time slice class".
The worst you can do is to make a piece of code that is tiny and always executable, like in a tine loop doing very much next to nothing - like reading if a memory location has been changed - a "busy wait". If a process waits for another process to complete, and this indicates the completion in another way than expected, you have it. Like your browser waiting for Java, and you just installed a "security upgrade" of Java.
Each process running on a processor needs its own logical address space. This can only be realized if each process has its own page table. To support this, a processor that supports virtual memory must have a page table base register that is accessible by the operating system. For operating system security, this register is only accessible when the processor is in system mode. The operating system maintains information about each process in a process control block. The page table base address for the process is stored there. The operating system loads this address into the PTBR whenever a process is dispatched.
The process concept is necessary in studying operating systems as each task being carried out by the processor is represented by a process. Modern computers can process many tasks simultaneously.
The system that execute the one process at the time and the next job when process is completed it is called the single process system
Some other kinds of waiting in an operating system include waiting on applications, waiting on the user, and waiting for hardware to communicate. The operating system facilities many different components to work in sync.
A process in an operating system is represented by a data structure known as a process control block (PCB) or process descriptor. The PCB contains important information about the specific process includingThe current state of the process i.e., whether it is ready, running, waiting, or whatever.Unique identification of the process in order to track "which is which" information.A pointer to parent process.Similarly, a pointer to child process (if it exists).The priority of process (a part of CPU scheduling information).Pointers to locate memory of processes.A register save area.The processor it is running on.The PCB is a certain store that allows the operating systems to locate key information about a process. Thus, the PCB is the data structure that defines a process to the operating systems.
Each process running on a processor needs its own logical address space. This can only be realized if each process has its own page table. To support this, a processor that supports virtual memory must have a page table base register that is accessible by the operating system. For operating system security, this register is only accessible when the processor is in system mode. The operating system maintains information about each process in a process control block. The page table base address for the process is stored there. The operating system loads this address into the PTBR whenever a process is dispatched.
The process concept is necessary in studying operating systems as each task being carried out by the processor is represented by a process. Modern computers can process many tasks simultaneously.
The system that execute the one process at the time and the next job when process is completed it is called the single process system
19200
The dispatcher in Operating System is a module that selects the process from the ready queue for allotting it the CPU (Processor). There is a switch associated during dispatching and that is the process status changes from ready to running. The dispatcher is placed in between the ready queue and Processor Scheduler (i.e. short term scheduler).Rajiv
Some other kinds of waiting in an operating system include waiting on applications, waiting on the user, and waiting for hardware to communicate. The operating system facilities many different components to work in sync.
Superscalar Page 262 in Operating Sysetm Book
A traditional processor normally isn't 100% active. There are some parts of the processor that specialise in different processes, and they can only process one thread (or task) at a time, so when it is doing one process, other parts of the processor used for other things remain idle. A hyperthreading processor is seen in operating systems as 2 CPUs so it is given 2 threads (or tasks if you like) at once. The processor then processes one thread, and uses inactive parts of the processor to process the other thread.
function of the processor is to process data
processor
Processor affinity takes several forms. When an operating system has a policy of attempting to keep a process running on the same processor-but not guaranteeing that it will do so-we have a situation known as soft affinity. Here, it is possible for a process to migrate between processors. Some systems -such as Linux -also provide system calls that support hard affinity, thereby allowing a process to specify that it is not to migrate to other processors. Solaris allows processes to be assigned to processor sets, limiting which processes can run on which CPUs. It also implements soft affinity. source: Operating System Concepts 8ed.
Only one operating system can hold control of the computer at at time. With virtualization, you can run any number of operating systems inside a process, subject only to memory, space, and realistic processor resources. By multi-booting, you can select an operating to load, again only limited to space.