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

Sort by
Subject
Level

Network Congestion Control and Traffic Shaping

Posted by Anonymous and classified in Computers

Written on in English with a size of 6 KB

Network Layer Design Issues

The network layer involves several critical design considerations, including store-and-forward switching, transport-layer services, the distinction between Virtual Circuits (VC) and Datagrams, and congestion management.

Understanding Network Congestion

Congestion occurs when too much traffic enters the network, leading to overloaded routers and a sharp drop in overall performance.

Congestion Control vs Flow Control

  • Congestion Control: A global issue involving all routers and hosts to manage total network load.
  • Flow Control: A point-to-point mechanism ensuring a sender does not overwhelm a specific receiver.

General Principles of Congestion Management

  1. Monitor the system to detect where and when congestion occurs.
  2. Distribute
... Continue reading "Network Congestion Control and Traffic Shaping" »

Essential Python Programming Snippets

Posted by Anonymous and classified in Computers

Written on in English with a size of 2.76 KB

File Handling

# Basic file reading
file = open("data.txt", "r")
content = file.read()          # Read entire file
lines = file.readlines()       # Read as list of lines
file.close()

# Reading line by line
file = open("data.txt", "r")
for line in file:
    print(line.strip())        # strip() removes \n
file.close()

# Write to file (overwrites)
file = open("output.txt", "w")
file.write("Hello World\n")
file.close()

# Append to file (adds to end)
file = open("output.txt", "a")
file.write("New line\n")
file.close()

Working with Lists

# Creating lists
numbers = [1, 2, 3, 4, 5]
names = ["John", "Maria", "Carlos"]

# Accessing elements
first = numbers[0]            # First element
last = numbers[-1]            # Last element
slice = numbers[1:4]
... Continue reading "Essential Python Programming Snippets" »

Synchronization and CPU Scheduling in Operating Systems

Posted by Anonymous and classified in Computers

Written on in English with a size of 3.87 KB

Chapter 5: Synchronization

Critical Section Conditions

  • Mutual Exclusion: Only one process may be in the critical section at a time.
  • Progress: If the critical section is empty, some waiting process can enter.
  • Bounded Waiting: No starvation; each process waits a bounded number of turns.

Atomic Instructions

  • Test-and-Set: old = *b; *b = TRUE; return old
  • Swap: temp = *a; *a = *b; *b = temp

Spinlocks

  • TAS:
    bool m = false;
    lock() { while (TestAndSet(&m)); }
    unlock() { m = false; }
    
  • Swap:
    bool m = false;
    lock() { bool key = true; while (key) Swap(&m, &key); }
    unlock() { m = false; }
    

Semaphores

  • wait(S): S.val--; if S.val < 0 block
  • signal(S): S.val++; if S.val <= 0 wake one
  • Binary semaphore as mutex: init = 1; lock = wait; unlock = signal

Peterson's

... Continue reading "Synchronization and CPU Scheduling in Operating Systems" »

Assembly Language Fundamentals: Registers, Operands, and Data Types

Posted by Anonymous and classified in Computers

Written on in English with a size of 4.73 KB

Assembly Language Fundamentals: Key Concepts and Definitions

1. Clock Frequency and Cycle Time

A clock that oscillates 1 million times per second (1 MHz) produces a clock cycle duration of $10^{-6}$ seconds (1 microsecond).

2. General-Purpose Registers (8-bit, 16-bit, and 32-bit Access)

The general-purpose registers that can be accessed in 8 bits, 16 bits, and 32 bits are: EAX, EBX, ECX, and EDX.

3. Purpose of EAX and ECX Registers

These registers serve specific roles in CPU operations:

  • EAX – Accumulator: Automatically used by multiplication and division instructions. It is often referred to as the extended accumulator register.
  • ECX – Loop Counter: The CPU automatically uses ECX as a counter for loop instructions.

4. Reserved Words and Identifiers

... Continue reading "Assembly Language Fundamentals: Registers, Operands, and Data Types" »

Python Fundamentals and String Methods for Data Preparation

Posted by Anonymous and classified in Computers

Written on in English with a size of 5.02 KB

Day 1: Python Basics for AI/ML Preparation

Output Statements

  • print() – Displays output to the console.
  • end=" " – Prevents a new line after the print statement.
  • sep="," – Specifies the character used to separate multiple items in the output.

Input and Type Casting

  • The input() function always returns a string data type.
  • Adding strings results in *concatenation* (e.g., "5" + "10" = "510").
  • Use int() or float() for numerical input conversion:

    Example: num = int(input("Enter a number: "))

Variables and Data Types

  • Common types include int (integer), float (decimal), str (string), and bool (boolean).
  • Use type(variable) to check the data type of any variable.

Formatted Strings (f-Strings)

  • Used for easy string formatting and embedding variables:

    Example: print(

... Continue reading "Python Fundamentals and String Methods for Data Preparation" »

Core Concepts in Network Layer Protocols and Routing

Posted by Anonymous and classified in Computers

Written on in English with a size of 578.11 KB

1)A virtual-circuit network (VCN) is a hybrid network model that combines features of both circuit-switched and datagram networks. It provides a balance between connection-oriented and connectionless transmission methods :-Three Phases in a Virtual-Circuit Network In a virtual-circuit network, the communication between a source and destination involves three phases: setup, data transfer, and teardown. These phases ensure that a reliable path is established and maintained for the communication session. 1. Setup Phase: o The source and destination use their global addresses to establish a connection. During this phase, switches along the path create table entries to store information about the virtual circuit. This phase ensures that each switch... Continue reading "Core Concepts in Network Layer Protocols and Routing" »

C# and .NET Core Fundamentals: Essential Programming Concepts

Posted by Anonymous and classified in Computers

Written on in English with a size of 14.54 KB

.NET Framework and Its Core Components

The Microsoft .NET Framework is a comprehensive and consistent programming model developed by Microsoft for building applications with visually stunning user experiences, seamless and secure communication, and the ability to model a range of business processes. The .NET Framework is a software development platform used for building and running Windows applications. It provides a controlled programming environment where software can be developed, installed, and executed primarily on Windows-based operating systems.

Key Components of .NET Framework:

  1. Common Language Runtime (CLR): The CLR is the execution engine for .NET applications. It provides core services such as:
    • Memory management (garbage collection)
    • Thread
... Continue reading "C# and .NET Core Fundamentals: Essential Programming Concepts" »

Operating System Concepts: Loaders, Memory, Processes, Synchronization

Posted by Anonymous and classified in Computers

Written on in English with a size of 26.57 KB

Compile and Go Loaders

In this type of loader, the linker and loader instructions are read line by line, their machine code is obtained, and it is directly placed in the main memory at some known address. This means the assembler runs in one part of memory, and the assembled machine instructions and data are directly put into their assigned memory locations. After completion of the assembly process, the loader contains the instruction using which the location counter is set to the start of the newly assembled program. A typical example is WATFOR-77, a FORTRAN compiler which uses such a "load-and-go" scheme. This loading scheme is also called "assemble-and-go".

Advantages

  • Simplicity
  • Quick Testing
  • No Separate Linking
  • Immediate Feedback
  • Low Resource
... Continue reading "Operating System Concepts: Loaders, Memory, Processes, Synchronization" »

Object-Oriented Programming Examples: Delphi and C++

Posted by Anonymous and classified in Computers

Written on in English with a size of 9.22 KB

Introduction to OOP Concepts

This document presents practical code examples demonstrating fundamental Object-Oriented Programming (OOP) concepts in both Delphi (Pascal) and C++. It covers class definitions, object instantiation, properties, events, static members, inheritance, polymorphism, memory management, and exception handling.

Delphi Object-Oriented Programming

The following Delphi code illustrates the creation of classes, properties, events, and static members, along with their usage in a console application.


program Cheat;
{$APPTYPE CONSOLE}

uses
  SysUtils, Classes;

type
  TNotify = procedure(Sender: TObject) of object;

  TEngine = class
    procedure Start;
    begin
      Writeln('Engine Started');
    end;
  end;

  TCar = class
... Continue reading "Object-Oriented Programming Examples: Delphi and C++" »

Computer Networks: Benefits and Twisted Pair Cabling Explained

Posted by Anonymous and classified in Computers

Written on in English with a size of 2.74 KB

What is a Computer Network?

A computer network connects two or more computing devices, such as computers, servers, routers, or switches, through wired or wireless communication channels. This enables efficient sharing of data, resources, and applications.

The primary purpose of a computer network is to facilitate communication and resource sharing among users and devices, whether within a small area like a home or office, or across large geographical regions like the internet.

Advantages of Computer Networks

  1. Resource Sharing: Devices like printers, scanners, and internet connections can be shared across the network, reducing hardware costs.
  2. Data Sharing: Users can easily share files and data in real-time, improving collaboration and efficiency.
  3. Centralized
... Continue reading "Computer Networks: Benefits and Twisted Pair Cabling Explained" »