Notes, summaries, assignments, exams, and problems for Computers

Sort by
Subject
Level

CPU Scheduling Algorithms and Message Passing Mechanisms

Classified in Computers

Written on in English with a size of 3.21 KB

Guaranteed Scheduling

Guaranteed scheduling algorithms aim to ensure that each process receives its fair share of CPU time. These systems penalize processes that have consumed a large amount of CPU time, though this penalty fades over time. This approach is utilized in most versions of UNIX, Windows NT, and subsequent Linux distributions.

BSD Scheduler

Unlike legacy UNIX schedulers, the BSD scheduler accounts for system load by monitoring the length of the ready queue, known as the "Load average." Additionally, it forgives old CPU usage more slowly when the system load is high.

Linux 2.4 Scheduler

Epoch-Based Allocation

The Linux 2.4 scheduler partitions CPU time into epochs. At the start of each epoch, every process is assigned a time quantum, which... Continue reading "CPU Scheduling Algorithms and Message Passing Mechanisms" »

Graph Theory Fundamentals

Posted by Anonymous and classified in Computers

Written on in English with a size of 3.51 KB

  • Graph (G): A pair (V, E) where V is a set of vertices and E is a set of edges connecting pairs of vertices.
  • Types of Graphs:
    • Simple Graph: No loops or multiple edges.
    • Multigraph: Multiple edges allowed.
    • Directed Graph (Digraph): Edges have directions.
    • Weighted Graph: Edges have weights.

Understanding Subgraphs

  • Subgraph: A graph H is a subgraph of G if V(H) ⊆ V(G) and E(H) ⊆ E(G).
  • Induced Subgraph: Formed by a subset of vertices and all edges between them in G.

Fundamental Graph Properties

  • Order: Number of vertices (|V|).
  • Size: Number of edges (|E|).
  • Degree: Number of edges incident to a vertex.

Common Graph Examples

  • Complete Graph (Kn): Every pair of vertices is connected.
  • Cycle Graph (Cn): Forms a closed loop.
  • Path Graph (Pn): A sequence of vertices connected
... Continue reading "Graph Theory Fundamentals" »

White Box Testing Techniques and Unit Testing Principles

Posted by Anonymous and classified in Computers

Written on in English with a size of 8.98 KB

What is White Box Testing?

White Box Testing (also known as Clear Box, Glass Box, Structural, or Open Box Testing) is a software testing method where the internal structure, design, and implementation of the code are fully visible and known to the tester. Unlike Black Box testing, where you only focus on inputs and outputs, White Box testing requires you to look "under the hood." The tester inspects the actual source code, control flows, data structures, and logic paths to ensure everything operates correctly, securely, and efficiently.

The Need for White Box Testing

While Black Box testing ensures that the software satisfies the user's requirements, White Box testing is essential to guarantee internal code quality and stability. Here is why it... Continue reading "White Box Testing Techniques and Unit Testing Principles" »

V-Model and Black Box Testing in Software Engineering

Posted by Anonymous and classified in Computers

Written on in English with a size of 9.26 KB

The V-Model (also known as the Verification and Validation Model) is a highly structured Software Development Life Cycle (SDLC) framework. It is an extension of the traditional Waterfall model, where instead of moving down in a linear fashion, the process steps bend upward after the coding phase to form a V shape. The core philosophy of the V-Model is that testing activities are planned and paired directly with their corresponding development phases right from the beginning.

The Two Arms of the V-Model

The V-Model is divided into two main tracks, separated by the execution of the actual code:

1. The Left Arm: Verification Phase

Verification happens before code execution. It involves static testing techniques like reviews, walkthroughs, and inspections... Continue reading "V-Model and Black Box Testing in Software Engineering" »

Von Neumann Architecture: Components, Instruction Flow, and RISC Design

Posted by Anonymous and classified in Computers

Written on in English with a size of 3.24 KB

Von Neumann Architecture Fundamentals

The Von Neumann Architecture is a foundational computer architecture model where the Central Processing Unit (CPU), memory, and input/output devices share a single communication pathway—the system bus.

This design is characterized by using the same memory space for both instructions (programs) and data, often referred to as the stored-program concept.

We can examine how instructions flow through this architecture and how it compares to other models, such as the Harvard Architecture.

Essential Components for Instruction Execution

Here is a breakdown of three key registers—the Program Counter (PC), Instruction Register (IR), and Memory Address Register (MAR)—all essential for executing instructions in a... Continue reading "Von Neumann Architecture: Components, Instruction Flow, and RISC Design" »

Data Integrity and Number Systems in Computing

Posted by Anonymous and classified in Computers

Written on in English with a size of 9.13 KB

This is a great request covering two fundamental areas of digital communications and computing!
1. Error Detecting and Correcting Codes
Error control codes are essential for ensuring data integrity during transmission or storage by adding redundancy (extra bits) to the original data.
A. Error Detection Codes
These codes can only signal that an error has occurred but cannot determine the location of the error to fix it.
| Code | Principle | Capability |
|---|---|---|
| Parity Check (Simplest) | An extra bit (parity bit) is added to the data word to make the total number of '1's either even (Even Parity) or odd (Odd Parity). | Detects any single-bit error or any odd number of errors. Cannot detect an even number of errors. |
| Checksum | Data is divided... Continue reading "Data Integrity and Number Systems in Computing" »

Computer Science Core Concepts: Data, Systems, and Networks

Posted by Anonymous and classified in Computers

Written on in English with a size of 74.9 KB

💾 Data Representation Fundamentals

Binary Coded Decimal (BCD) Benefits

BCD is a method to represent decimal numbers in binary form, where each decimal digit is represented by a fixed number of bits, usually four.

Benefits of BCD include:

  • Straightforward conversion between BCD and **decimal (base 10)**.
  • Less complex to encode and decode for programmers.
  • Easier for digital equipment to use BCD to display information.
  • Can represent monetary values exactly.

Applications of BCD:

  • Electronic displays (e.g., calculators, digital clocks) - easier conversion between decimal and BCD when only individual digits need to be shown.
  • Storage of date and time in PC BIOS - easier conversion with decimal values.

Hexadecimal Applications

Hexadecimal is used in:

  1. MAC addresses.
... Continue reading "Computer Science Core Concepts: Data, Systems, and Networks" »

Processor Architectures: RISC, CISC, and Micro-operations Demystified

Posted by Anonymous and classified in Computers

Written on in English with a size of 3.23 KB

CISC: Complex Instruction Set Computer

The Complex Instruction Set Computer (CISC) architecture packs more complex instructions into the processor. Some instructions might perform several tasks in one go. This design reduces the number of instructions a programmer needs to write but makes the CPU's internal logic more complicated and potentially slower for some tasks.

  • Think: “Do more, but it might take longer.”

CISC is commonly found in x86 architectures (e.g., typical laptops or desktops), where compatibility and code density often matter more than raw efficiency.

RISC vs. CISC: Architectural Approaches

Both RISC (Reduced Instruction Set Computer) and CISC architectures aim to solve the same problem—efficient program execution—but they... Continue reading "Processor Architectures: RISC, CISC, and Micro-operations Demystified" »

Software Testing Fundamentals and Techniques

Classified in Computers

Written on in English with a size of 3.93 KB

1. Basics of Software Testing

  • Definition of Software Testing: The process of verifying and validating that a software application or product meets specified requirements.
  • Key Objectives: Ensure quality, detect errors, and assess functionality.

2. Differences Between:

  • Errors: Mistakes made by developers during coding or design.
  • Faults (Defects): Errors in the code that can cause failures when executed.
  • Failures: The manifestation of a fault during program execution.
  • Bugs: Common term for faults/defects found in the software.

3. Debugging

  • Definition: The process of identifying, analyzing, and fixing bugs in software.
  • Key Difference: Debugging fixes the bugs detected during testing.

4 & 5. Static Techniques and Testing Methods

Static Techniques:

  • Benefits:
... Continue reading "Software Testing Fundamentals and Techniques" »

Digital Business, Programming, and Software Essentials

Posted by Anonymous and classified in Computers

Written on in English with a size of 5.55 KB

Digital Entrepreneurship

Digital entrepreneurship refers to the process of creating a business on the internet and selling products online. This model eliminates the need for physical business operations. Examples include online courses, e-commerce, blogs, and YouTube channels.

Search Engine Optimization (SEO)

SEO is the process of increasing a website's visibility on the internet when users search for products or services related to the business on Google or other search engines.

Business Planning

A business plan is a document that describes the company's objectives, operations, marketing goals, and financial projections. Key components include:

  • Executive Summary: A brief explanation of the business idea.
  • Business Description and Structure: Details
... Continue reading "Digital Business, Programming, and Software Essentials" »