Operating System Structures and Core Components

1. Types of OS

Operating systems can be classified based on their structure, usage, and capability:

Batch Operating System

  • Jobs with similar needs are grouped (batched) and run together.
  • No direct interaction between the user and the computer during job execution.
  • Goal: Maximize CPU utilization.
  • Example: Used in environments that process large, repetitive tasks, like payroll systems.

Time-Sharing (Multitasking) OS

  • The CPU switches rapidly between multiple jobs (processes) to give each user the impression
Read More

Mastering Modular Programming and Data Structures in C

Unit 4: Modular Programming Concepts

Modular programming is a software design technique that divides a program into smaller, independent, and reusable units called modules or functions. Each module performs a specific task, which helps in organizing, testing, and debugging programs more efficiently. By breaking a large problem into manageable pieces, programmers can focus on one module at a time, reducing complexity and improving readability. Modules can be developed, tested, and maintained separately,

Read More

Relational Database Theory: Algebra, Calculus, and FDs

SQL Constraints and Implementation

Constraints are rules applied to columns to ensure Data Integrity. They are usually defined during the CREATE TABLE process.

ConstraintSQL Implementation ExamplePurpose
NOT NULLname VARCHAR(50) NOT NULLEnsures a column cannot have an empty value.
UNIQUEemail VARCHAR(50) UNIQUEEnsures all values in a column are different.
PRIMARY KEYid INT PRIMARY KEYUniquely identifies each row (implies NOT NULL + UNIQUE).
FOREIGN KEYdept_id INT REFERENCES Dept(id)Ensures the value exists
Read More

Buffer Overflow and Arbitrary Code Execution: Causes & Defenses

Arbitrary Code Execution (ACE)

Arbitrary Code Execution (ACE): A vulnerability where an attacker supplies input to a program such that the CPU interprets that input as executable instructions and runs it. The CPU cannot distinguish between legitimate program code and malicious injected code. Once ACE happens, the attacker controls instruction flow; security boundaries are effectively gone and the system executes whatever the attacker wants.

Buffer Overflow (BO)

BO (Buffer Overflow): All buffer overflows

Read More

DBMS Architecture, Roles, and Interfaces

Database Interfaces

A DBMS provides various interfaces to suit different types of users (from non-technical clerks to expert administrators).

  • Menu-Based Interfaces: Primarily used for web clients and browsing. Users are presented with a list of options (menus) and do not need to know any query language.
  • Forms-Based Interfaces: Common for “naive users.” Users interact by filling out fields in a form (e.g., a bank account registration form). The DBMS then handles the insertion or retrieval.
  • Graphical
Read More

Modern Web Technologies and JavaScript Essentials

JavaScript: The Language of the Web

JavaScript (often abbreviated as JS) is one of the core technologies of the World Wide Web, alongside HTML and CSS. While HTML provides the structure and CSS provides the style, JavaScript provides the interactivity.

It is a high-level, interpreted programming language that allows you to implement complex features on web pages—from updating content dynamically and controlling multimedia to animating images and handling user input.

Applications of JavaScript

  • Web
Read More