Pre Lab - 1
CO1
Foundations Beginner ⏱ 2 Hours

Understand the correlation among the Hardware, Networking, and Operating Systems Environment

🎯

Aim / Objective

To study and understand the fundamental correlation and inter-dependency between physical computer hardware, the operating system kernel/HAL, and networking protocol stacks in a modern computing environment.

🧰

Hardware & Software Requirements

Hardware Components

  • Desktop PC / Laptop with x86_64 architecture
  • Network Interface Card (Integrated Gigabit Ethernet NIC and/or Wi-Fi 802.11ac/ax chip)
  • Physical Cat6 Ethernet Patch Cable and Switch Port
  • Visual demonstration board / block diagram of Motherboard Bus Architecture

Software, OS & Tools

  • Windows 10/11 or Ubuntu Linux 22.04 LTS Desktop
  • System Information Utilities (Windows: `msinfo32`, `devmgmt.msc`, `resmon` | Linux: `lshw`, `lspci`, `lscpu`)
  • Network diagnostic utilities (`ping`, `ipconfig` / `ip addr`, `netstat`, `tracert` / `traceroute`)
👨‍🏫

Teacher's Lab Delivery Guide

Essential briefing notes, pedagogy, and setup tips for lab instructors
Faculty Exclusive

⏱ 5-Minute Pre-Lab Lecture Briefing:

Explain to students that Hardware without an OS is just silent silicon, and an OS without a Network is an isolated island. Use the postal service or restaurant analogy: Hardware is the physical kitchen/appliances, OS is the chef managing resources and queues, and Networking is the delivery network connecting restaurants together.

📝 Key Concepts to Write on Whiteboard:

  • Von Neumann Architecture & Bus Subsystems (System Bus, PCIe, Memory Bus)
  • OS Hardware Abstraction Layer (HAL), Kernel Ring 0 vs User Ring 3
  • Device Drivers as the bridge between OS system calls and hardware registers
  • Network Interface Card (NIC) & DMA (Direct Memory Access) packet processing
  • How a keystroke or web click travels down the stack: Browser -> OS Socket API -> TCP/IP -> NIC Driver -> Physical Cable
⚙ Pre-Class Lab Setup:

Ensure all lab systems have administrative terminal access and network connectivity enabled. Open Device Manager or Linux terminal beforehand to show physical device listings.

⚠ Common Student Pitfalls & Fixes:

Students often confuse the physical NIC with the IP address. Clarify that MAC address is burned into hardware (Layer 2), while IP address is assigned by the OS/Network (Layer 3).

🛡 Lab Safety & ESD Precautions:

No electrical hazards in this theoretical/observational lab. Remind students not to modify system-level hardware drivers without instructor supervision.

📜

Step-by-Step Practical Procedure

1

Inspect Hardware Components through Operating System Abstraction

Open the system information utility to observe how the operating system detects, categorizes, and communicates with physical hardware devices via device drivers.

Command / Action:
msinfo32 (Windows) OR sudo lshw -short (Linux)
💡
Teacher Note / Pro-Tip: Notice how the OS assigns IRQ (Interrupt Request) channels and Memory Ranges to each hardware device.
2

Analyze Network Interface Card (NIC) Hardware & Driver Linkage

Examine the physical network adapter properties in Device Manager or Linux `lspci | grep -i net` to identify the controller model, PCIe bus slot, and MAC address.

Command / Action:
getmac /v (Windows) OR ip link show (Linux)
💡
Teacher Note / Pro-Tip: The MAC address is a 48-bit physical identifier burned into the NIC EEPROM chip.
3

Trace an Outbound Network Packet through the Triad Layers

Generate active network traffic using `ping` and monitor CPU/network subsystem utilization in Task Manager / Performance Monitor to observe the real-time interaction between CPU, RAM, OS TCP/IP stack, and NIC.

Command / Action:
ping 8.8.8.8 -n 10 (Windows) OR ping -c 10 8.8.8.8 (Linux)
💡
Teacher Note / Pro-Tip: Watch how the OS translates ICMP socket requests into Ethernet II frames sent via the NIC.
4

Map the Triad Architecture onto the OSI 7-Layer Model

Correlate the physical hardware with OSI Layers 1 & 2 (Cabling, NIC), the Operating System kernel with Layers 3 & 4 (IP, TCP/UDP sockets), and user applications with Layers 5, 6, & 7 (HTTP, DNS, SSH).

Command / Action:
netstat -ano (Windows) OR ss -tulpn (Linux)
💡
Teacher Note / Pro-Tip: This command displays active OS sockets bound to physical network IP addresses and hardware ports.

Interactive Hands-On Lab Simulator

Practice and test concepts virtually before or after performing on physical lab equipment
Live Interactive
Loading simulator...
📊

Observations & Student Lab Record

Students are required to record the following measured parameters, hardware specifications, and output status into their physical lab journals:

Parameter / Component Hardware Attribute OS Representation Networking Role
Network Adapter PCIe Gigabit NIC / MAC Address Driver (`e1000e` / Realtek PCIe) Translates digital bits to electrical/optical signals (Layer 1-2)
Central Processor (CPU) x86_64 Cores, Clock, L3 Cache Kernel Task Scheduler, Threads Executes OS kernel TCP/IP stack & application code
Memory (RAM) DDR4/DDR5 DIMMs, Dual Channel Virtual Memory, Socket Buffers (sk_buff) Buffers incoming/outgoing network frames via Direct Memory Access (DMA)
Socket API Motherboard I/O Port / Bus System Calls (`socket()`, `bind()`, `send()`) Software endpoint allowing apps to transmit data over the network
💡

Conclusions & Learning Outcome

A computing system functions through tight synchronization among Hardware, OS, and Networking. The hardware provides the physical compute and communication channels; the OS orchestrates resource management and abstracts raw silicon via device drivers; and the networking subsystem enables inter-system communication using standardized protocol stacks.

Oral Exam & Viva Questions with Answers

Essential questions asked by external examiners and lab evaluators (Accordion UI)
Answer:

A device driver is a specialized kernel-mode software program that acts as a translator between the operating system and the hardware device registers. It translates high-level OS system calls (e.g., read, write) into low-level device-specific commands that the hardware controller can understand.