
Explore cpu scheduling in a multi-programmed system, defining arrival, waiting, service, turnaround, and completion times, and learn how throughput and cpu utilization guide first come, first served scheduling.
Explore first come, first serve scheduling, a non-preemptive algorithm based on arrival and service times to compute completion, turnaround, waiting times, and throughput.
Explain the shortest job first scheduling algorithm, its preemptive and non preemptive modes, based on burst time, and show how to compute completion time, turnaround time, waiting time, and throughput.
Explore the shortest remaining time first scheduling algorithm, a preemptive method that dynamically selects the process with the least remaining time, analyzes completion, turnaround, and waiting times, and computes throughput.
Explore priority based scheduling with non-preemptive execution, introducing process priorities, arrival times, and how to compute completion, turnaround, waiting times, and throughput.
Learn how the highest response ratio next scheduling algorithm works, using non-preemptive scheduling to choose the next process by maximizing (waiting time + service time) / service time, with examples.
Explore the round-robin scheduling algorithm, a timesharing method that preempts processes with a fixed time quantum, ensuring fair CPU sharing based on arrival order.
Explore process communication and synchronization, learning how processes share data, coordinate events, and avoid data loss, inconsistency, and deadlocks, with cooperative, communicating, and independent processes contrasted.
Explore the producer consumer problem and how busy waiting happens when the buffer is full or empty, using a circular queue and a count to synchronize production and consumption.
Explore the producer consumer problem without busy waiting, using blocking and sleeping to manage a buffer, full and empty states, and wake up sleeping producers or consumers.
Explore key synchronization terms, including critical section, race condition, pre-emption, and mutual exclusion, and learn how shared resources and non-critical sections influence multiple processes.
Understand the requirements of synchronization mechanisms, including entry, critical, and exit sections for protecting shared resources, and ensure mutual exclusion, progress, and bounded waiting, with or without busy waiting.
The lecture analyzes the log variable as a spin lock for mutual exclusion and shows busy waiting can allow multiple processes into the critical section, failing to guarantee mutual exclusion.
Explore strict alternation as a two-process synchronization mechanism using a turn variable to enforce mutual exclusion in the critical section, while highlighting busy waiting and limited progress.
Explore synchronization with semaphores, including binary and counting types, their down and up operations, and how they prevent race conditions in shared resources and mutual exclusion.
Explore how counting semaphores manage access to the critical section with the down operation and up operation. Initialize the value and manage the waiting queue.
Explore binary semaphores, using down and up operations to enforce mutual exclusion in the critical section, ensuring at most one process executes at a time and managing waiting processes.
Explains four cases of binary semaphores, showing how down and up operations manage access to critical section. Discusses when semaphore is one or zero and when processes wait or wake.
Explains the producer–consumer problem with semaphores, using empty, full, and mutex to synchronize a bounded buffer; prevents data loss and blocking, ensuring mutual exclusion as producers and consumers coordinate.
Explore the readers-writers problem with semaphores, implementing mutex-protected reader counts and database access to allow multiple readers but exclusive writing.
Identify the four necessary deadlock conditions: mutual exclusion, hold and wait, no preemption, and circular wait. Demonstrate how their combination leads to deadlock.
Explore the resource allocation graph and how processes and resources interact with assign and request edges. Understand how cycles relate to deadlock; single and multiple instance resources influence allocation.
Explore deadlock prevention by breaking one of four necessary conditions: mutual exclusion, hold and wait, no preemption, or circular wait, using resource ordering and all at once requests.
Explore deadlock avoidance using the concept of safe and unsafe states, resource allocation, and the bankers algorithm to ensure a system can complete processes without deadlock.
Explore how the banker's algorithm prevents deadlock by using a safety algorithm to test resource requests, track available, allocation, and need, and ensure a safe state.
Demonstrates how the Banker's algorithm avoids deadlock with a single resource by analyzing maximum requirements, current allocations, needs, and a safe execution sequence.
Demonstrate how the banker's algorithm handles multiple resource instances to prevent deadlock, by walking through a multi-type resource scenario with max, allocation, need, available, and a safe sequence.
Explore memory management fundamentals by examining memory structure, word and address concepts, and how memory is organized into fixed-size locations with unique physical addresses in RAM.
Explore memory specification by representing memory in words, bytes, and bits, and learn how address length and capacity determine bits required for memory addressing.
Understand RAM typekit organization: a 128-word memory uses seven address lines and eight-bit words, with bidirectional data lines for read and write, and four chips form 512 bytes.
Connect four 128-byte memory chips and use a decoder to select the active chip. Use a 9-bit address for 512 bytes, with 7-bit per-chip addresses and read/write lines.
Explore how to build bigger memory from small chips. Analyze chip size, word length, address length, and decoder requirements with 128-by-8 and 128-by-1 RAM examples.
Explore memory manager functionalities, including allocation, protection, and free space management, and goals like efficient space utilization while minimizing internal and external fragmentation to run larger programs in small memory.
Study memory management techniques by comparing contiguous and non-contiguous memory allocation, including partitioning, segmentation, and virtual memory, and explore centralized versus decentralized allocation in operating systems.
Illustrates overlay memory management, running large programs in small memory by loading passes with a symbol table, common routines, and a loader driver. Shows how independent passes determine memory needs.
Explore non-contiguous memory allocation to reduce internal fragmentation and avoid external fragmentation by decentralizing a process across memory, and compare logical and physical address spaces in RAM.
Explore the concepts of physical address space and physical addresses, and contrast them with the logical address space and process memory, including how address length determines possible addresses.
Explore the organization of the logical address space through paging, defining page size, pages, and the link to physical address space in a non-contiguous memory model.
Explore how paging divides the logical address space into pages and the physical address space into frames with equal sizes, and how to compute frame numbers and offsets.
Learn how the memory management unit uses a page table to map logical addresses to physical frames, with entries storing frame numbers and memory size considerations.
Explore how a logical address maps to a physical address through page number and offset, using frames in physical memory and a translation process.
Derives the number of pages and frames from address spaces and sizes, then computes the bits for the page number, offset, frame number, and estimates the page table size.
Calculate frame size from physical address space and total frames, then derive page size, logical and physical address lengths, and offset bits for the paging problem.
Examine how the CPU generates a logical address and forms the physical address using page table. See two memory accesses: page table and word, and how the PLB reduces time.
Explore how the translation lookaside buffer accelerates memory access by caching logical-to-physical address translations, reducing main memory requests and highlighting hit and miss ratios.
Determine the optimal page size by balancing fragmentation and table overhead. Derive a formula from logical address size and pages, and discuss multi-level paging.
understand multilevel paging to translate a 32-bit logical address into a physical address using two-level page tables, 4 kb pages, and one million pages.
Analyze multilevel paging performance by tracing main memory access with outer and inner page tables, and see how a tlb hit reduces effective memory access time.
CPU Scheduling is a process of determining which process will own CPU for execution while another process is on hold. The main task of CPU scheduling is to make sure that whenever the CPU remains idle, the OS at least select one of the processes available in the ready queue for execution. The selection process will be carried out by the CPU scheduler. It selects one of the processes in memory that are ready for execution.
What you will Learn :
Scheduling Algorithms:
Non-Preemtitve Scheduling Algorithms:
First Come First Serve Scheduling algorithm.
Shortest Job First Scheduling algorithm.
Priority Based Scheduling algorithm.
Highest Response Ration First Scheduling algorithm.
Preemptive Scheduling Algorithms:
Shortest Remaining Time Scheduling algorithm.
Priority Based Scheduling algorithm.
Round Robin Scheduling algorithm.
InterProcess Communication (IPC) and Synchronization :
Synchronization Mechanisms
Counting Semaphores and Binary Semaphores
Producer - Consumer Problems
Readers - Writers Problem
Dining Philosophers Problem
Deadlocks :
Deadlock Prevention
Deadlock Avoidance
Deadlock Ignorance
Memory Management Unit :
Contiguous Memory
Non-contiguous memory
Paging
Multi-level Paging
Who this course is for:
Academic Students.
Interview Preparation Persons.
Competitive Exam Preparation Aspirants.
Those who want to become a highly paid coding developer.
Those who want to open up doors in your IT career by learning one of the world's most popular and in-demand programming.
Important information before you enroll!
If you find the course is not useful for your career, no worry since it is free.
Once enrolled, you have unlimited, 24/7, lifetime access to the course.
You will have instant and free access to any updates I'll add to the course - video lectures, additional resources, quizzes, exercises.
You will benefit from my full support regarding any question you might have 7 days a week.
Check out the promo video at the top of this page and some of the free preview lectures in the curriculum to get a taste of my teaching style and methods before making your decision.
ALL THE BEST FOR YOUR BRIGHT FUTURE.