FCFS Scheduling in C – First Come First Served CPU Algorithm

First Come First Served (FCFS) is the simplest CPU scheduling algorithm used by an operating system — processes are executed strictly in the order they arrive, with no interruption once a process starts running. It works exactly like a queue at a ticket counter: whoever arrives first gets served first, and everyone else waits their …

K&R C Chapter 4 Exercise Solutions — Functions and Program Structure

Chapter 4: Functions and Program Structure is where K&R builds a non-trivial program: a reverse Polish notation (RPN) calculator. The exercises extend it — adding modulo, unary minus, variables, and last-printed-value recall. Other exercises cover recursive printd, recursive itoa, and the C preprocessor. Exercise 4-12 (recursive itoa) and 4-13 (recursive reverse) are elegance tests. These …

C Program to solve the producer consumer problem

C Program to Solve the Producer-Consumer Problem Using Semaphores The producer-consumer problem (also called the bounded-buffer problem) is a classic process synchronization problem. A producer process generates data items while a consumer process reads them; a semaphore enforces the ordering so the consumer never reads ahead of the producer. Note: This program uses POSIX System …

Round Robin Scheduling in C – Preemptive CPU Algorithm

Round Robin (RR) is a preemptive CPU scheduling algorithm designed for time-sharing systems. Instead of running one process to completion like FCFS, the CPU gives every process a fixed slice of time called a time quantum. If a process doesn’t finish within that slice, it’s paused and moved to the back of the queue, and …

Anagram Program in C – Check if Two Strings are Anagrams

An anagram is a word or phrase formed by rearranging all the characters of another. In C, the standard way to check if two strings are anagrams is to count character frequencies: if both strings have exactly the same character counts, they are anagrams — regardless of order. This page shows a complete anagram program …

K&R C Chapter 3 Exercise Solutions — Control Flow

Chapter 3: Control Flow covers C’s branching and looping constructs. It is short (6 exercises) but the exercises are non-trivial: exercise 3-3 implements expand(s1,s2) to expand shorthand like a-z into the full alphabet; 3-4 handles itoa for the most negative integer (a classic overflow trap); 3-5 converts integers to arbitrary bases. These are worked solutions …