Instruction pipelining is a technique of organising the instructions for execution in such a way that the execution of the current instruction is overlapped by the execution of its subsequent instruction. Instruction pipelining improves the performance of the processor by increasing its throughput i.e. number of instructions per unit time. In this context, we will discuss … [Read more...] about Instruction Pipelining
Cache Memory
Cache memory is the fastest memory in a computer that improve the processing speed of the central processing unit i.e. CPU. The cache memory stores the instructions and the data that is frequently used by the processor. In this section, we will discuss various features of cache memory along with the types of cache memory. We will wind up the discussion with the advantages … [Read more...] about Cache Memory
Instruction Cycle
The structure of the instruction cycle defines the processing of a single instruction. The processing of instruction takes various form during the occurrence of an interrupt or if there is indirect addressing present in the instruction. In this section, we will discuss various forms of the instruction cycle. Instruction Cycle Definition The processing involved in the … [Read more...] about Instruction Cycle
Optical Memory
Optical memory is an electronic storage medium that uses a laser beam to store and retrieve the data. If we classify the memory system then optical memory comes under the external memory in the computer system. Optical memory can be classified into many types. What is Optical Memory? Optical storage was introduced by Philips and Sony in mid of the 1980s. The optical memory is … [Read more...] about Optical Memory
Synchronization Hardware
Synchronization hardware is a hardware-based solution to resolve the critical section problem. In our earlier content of the critical section, we have discussed how the multiple processes sharing common resources must be synchronized to avoid inconsistent results. Well, we can synchronize the processes sharing a common variable in two ways. First is the software-based … [Read more...] about Synchronization Hardware
Difference Between fork() and exec() System Call
The fork() and exec() are the system calls that are used for controlling processes. Both are used to create a new process where the process is the program in execution. The fork() system call when invoked by any process creates a new duplicate child process of the invoking process. However, the exec() system call when invoked by any process replaces the invoking process … [Read more...] about Difference Between fork() and exec() System Call
Multiple Processor Scheduling
Multiple processor scheduling or multiprocessor scheduling focuses on designing the scheduling function for the system which is consist of 'more than one processor'. With multiple processors in the system, the load sharing becomes feasible but it makes scheduling more complex. As there is no policy or rule which can be declared as the best scheduling solution to a system … [Read more...] about Multiple Processor Scheduling
Threading Issues in OS
There are several threading issues when we are in a multithreading environment. In this section, we will discuss the threading issues with system calls, cancellation of thread, signal handling, thread pool and thread-specific data. Along with the threading issues, we will also discuss how these issues can be deal or resolve to retain the benefit of the multithreaded … [Read more...] about Threading Issues in OS
Structure of Page Table
Structure of page table simply defines, in how many ways a page table can be structured. Well, the paging is a memory management technique where a large process is divided into pages and is placed in physical memory which is also divided into frames. Frame and page size is equivalent. The operating system uses a page table to map the logical address of the page generated by CPU … [Read more...] about Structure of Page Table
Deadlock Characterization
Deadlock characterization describes the distinctive features that are the cause of deadlock occurrence. Deadlock is a condition in the multiprogramming environment where the executing processes get stuck in the middle of execution waiting for the resources that have been held by the other waiting processes thereby preventing the execution of the processes. In this content, … [Read more...] about Deadlock Characterization