• Overview Process management is the core function of an operating system’s kernel, responsible for creating, scheduling, and terminating processes. It ensures that the CPU is utilized efficiently and that multiple programs can run concurrently. Core Concepts Process vs. Thread: Process: An executing instance of a program. It has its own isolated memory space (stack, heap,…

  • Overview Inter-Process Communication (IPC) is a set of mechanisms provided by the operating system to allow processes to communicate and synchronize their actions. Since processes have isolated memory spaces, they cannot simply read/write to each other’s variables. Core Concepts Shared Memory: Two or more processes map the same region of physical memory into their own…

  • Overview A file system is the method and data structure that an operating system uses to control how data is stored and retrieved. Without a file system, data placed in a storage medium would be one large body of data with no way to tell where one piece of information stops and the next begins.…

  • Overview Transactions and concurrency control ensure that a database remains in a consistent state even when multiple users are modifying data simultaneously. This is critical for preventing data corruption and ensuring reliability. Core Concepts Transaction: A logical unit of work that must be completed entirely or not at all (Atomicity). Concurrency Problems: Dirty Read: Reading…

  • Overview Relational databases (RDBMS) store data in structured tables with predefined schemas. They are based on the relational model of data and use Structured Query Language (SQL) for data manipulation and retrieval. Core Concepts Tables, Rows, and Columns: Table: A collection of related data (e.g., Users). Row (Tuple): A single record in a table. Column…

  • Overview NoSQL (“Not only SQL”) databases are non-relational data stores that provide flexible schemas and horizontal scalability. They are designed to handle large volumes of unstructured or semi-structured data. Core Concepts Data Models: Document Store: Stores data as documents (e.g., JSON/BSON). Great for content management. (e.g., MongoDB). Key-Value Store: Simple map of keys to values.…

  • Overview Indexing is a data structure technique used to quickly locate data without having to search every row in a database table. An index is like a table of contents for a database, storing a sorted version of a column’s values and a pointer to the original row. Core Concepts B-Trees (Balanced Trees): The most…

  • Overview SOLID is an acronym for five design principles intended to make software designs more understandable, flexible, and maintainable. Core Concepts S – Single Responsibility Principle (SRP): A class should have one, and only one, reason to change. It should perform only one job. O – Open/Closed Principle (OCP): Software entities should be open for…

  • Overview Object-Oriented Programming (OOP) is a programming paradigm based on the concept of “objects”, which can contain data (attributes/properties) and code (methods). It aims to implement real-world entities like inclusive objects to make the codebase more modular and intuitive. Core Concepts Class: A blueprint for creating objects. Object: An instance of a class. Encapsulation: Bundling…

  • Overview This topic compares two primary architectural styles for building applications: the Monolith (a single, unified unit) and Microservices (a collection of small, independent services). Core Concepts Monolithic Architecture: Unified: All business logic, data access, and UI are in one codebase. Pros: Simple to develop, test, and deploy initially. Low latency between components. Cons: Becomes…