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 MoreUnderstanding 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
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 MoreUnderstanding 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 MoreUnderstanding 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 MoreUnderstanding 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
