Save this video free

cs6465 Advanced OS - Lecture 07 - Physical and virtual devices

Anton Burtsev · 1:20:57 · Watch on YouTube

Part of University of Utah CS 6465. See all 15 lectures and search them

These notes were made with YouTube Collector. Paste any YouTube link and get the same: a summary, chapters and a searchable transcript.

cs6465 Advanced OS - Lecture 07 - Physical and virtual devices Watch on YouTube →

Overview

Anton Burtsev explains how Linux discovers and communicates with physical PCI devices, using the 1 Gbps Intel E1000 network interface to show MMIO, BAR allocation, DMA rings, doorbell registers, and interrupts. He then compares full E1000 emulation, which requires costly VM exits, with Xen-style split drivers and Virtio queues, which share memory and support asynchronous, potentially out-of-order I/O with fewer exits.

Key takeaways

Chapters

0:00 Homework Timing and VMX Setup for the Hypervisor Assignment
5:30 From Device Drivers to the E1000 and Virtio
7:30 PCI MMIO, Port I/O, Interrupts, and DMA
11:50 How Firmware and Linux Discover PCI Devices
14:30 PCI Bus Topology and Depth-First Enumeration
21:40 Sizing and Assigning PCI BAR Address Regions
27:20 Linux PCI Driver Matching and Probe Functions
34:00 E1000 BAR Registers and DMA Descriptor Rings
40:00 E1000 Transmit and Receive Doorbell Workflow
48:00 Ring Completion, Ordering, and Buffer Reuse
51:00 Linux Socket Buffers and E1000 Packet Fragmentation
55:20 The Costs of Emulating an E1000 in a Virtual Machine
1:01:00 Xen Split Drivers and the Case for Shared-Memory I/O
1:06:50 Virtio PCI Discovery and the Guest Driver Stack
1:10:20 Virtio Descriptor Tables and Available and Used Rings
1:17:00 Virtio Completions Avoid Slow Device-Register Reads

Keep these chapters and the full searchable transcript in your own library.

Transcript excerpt

0:32 Okay, let me share my screen. Uh, I have a question though. So, I did assign the homework, right? So, but I I don't think I realized that the next week is a spring break. Is it Am I right? So is it really the next week uh we don't have any classes and everyone is on break? >> Yes. >> Uh then probably we should move it right. So we should move it to the week after so people can uh can actually work on it. Uh and uh like I can I can do the office hours, right? So something like a Friday after the spring break. Will it work? It's just that I wanted to assign the

1:19 next one as well. Or if it's like super easy, then there is obviously no reason to move. But wait, I assigned it when I assigned it uh on over the weekend on last Friday or something. I probably need at least two weeks, right? Yeah, let's move it after the spring break. Uh after the fall break. Um, makes sense. And uh, are there any are there any like immediate questions about the homework? Right now, >> yes, I do have a question. Um, let's say if I want to use a cloud machine, does that is it going to work on that or not? >> It will, but you don't need to honestly. So like I did not check all the CAD

2:07 machines, right? But most of the CAD machines have uh hardware supported virtualization, right? which means that uh the instructions should work on Kate. I can specifically post the ones which I tried. >> But what what's your reason why do you think you need an Angulab machine? >> Uh not specifically. I mean I just kind

This is the start of the transcript. Save this video free for the whole transcript, searchable and time-coded.

In this course

Related notes

Summary, takeaways, and chapters were generated by AI from the video's transcript and may contain errors. The video belongs to its creator, Anton Burtsev.

Want the full transcript?

Save this video in YouTube Collector to get its complete searchable transcript, your own AI summaries, and a library that keeps every video you collect in one place.