Introduction to Computer Networking: Protocols, Architectures, and Layers

Chapter 1: Introduction to Computer Networks

Protocol

A protocol defines the format and order of messages exchanged between communicating entities, as well as the actions taken upon message transmission or reception. Key internet protocols include TCP and IP, collectively known as TCP/IP.

Internet

The Internet connects millions of devices, including traditional computers and increasingly, non-traditional devices like smartphones and IoT devices. These devices, called hosts or end systems, communicate

Read More

Understanding Operating Systems: Processes, Threads, and Scheduling

Operating System Concepts

Processes and Threads

Process Fundamentals

A process is a program in execution. It’s dynamic and active, unlike a static program. Each process has components like code, data, stack, and heap.

Threads and Multithreading Models

Threads exist within a process and share resources like code, data, and heap. Each thread has its own stack, registers, and program counter. There are three main multithreading models:

  • One-to-One: Each user thread maps to a kernel thread.
  • One-to-Many: Multiple
Read More

Understanding IP Addresses: Classes, Structures, and Reserved Ranges

IP Address Fundamentals

A computer connected to a network requires an IP address for each connection point. This address allows other computers to locate the device on the network. The combination of the network address and the host address creates a unique identifier for each device. Every computer on a TCP/IP network must have a unique IP address, which operates at Layer 3 of the OSI model. This allows computers to locate each other on the network. In addition to IP addresses, computers also

Read More

Understanding Digital Certificates, Code Signing, HTTPS, and Malware

Digital Certificate

A digital certificate is an electronic “passport” that allows a person, computer, or organization to exchange information securely over the Internet using the public key infrastructure (PKI). A digital certificate may also be referred to as a public key certificate.

Code Signing Certificate

Internet users increasingly need assurance that they can trust websites and downloads. A Code Signing Certificate allows developers to add a layer of assurance that tells users that their software

Read More

Understanding Network Operating Systems: A Comprehensive Guide

Network Operating Systems

Network Definition

Systems of two or more computers connected (physically or not) to share resources (hardware or software).

A network can operate without a dedicated network OS. In such cases, the network exists but lacks centralized resource management. These networks are called “Workgroups.”

A network with a network OS allows resources to be managed centrally from a server.

Components

Clients

Single-user PCs with an OS that validates and connects to a server for network access.

Read More

Understanding Context-Free Grammars (CFGs) in Computer Science

Context-Free Grammar

Early Computers and the Need for Higher-Level Languages

  • Early computers required instructions to be spelled out in their own machine language.
  • These primitive instructions were cumbersome and numerous, even for simple tasks.
  • This led to the need for higher-level languages that could translate complex mathematical expressions into single computer instructions.

The Role of Compilers and the Need for Rules

  • Compilers convert high-level language code into assembler language code.
  • Rules
Read More