Тёмный

Lecture 2: OS and Architecture 

UMass OS
Подписаться 7 тыс.
Просмотров 70 тыс.
50% 1

Опубликовано:

 

3 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 33   
@babyduck1000
@babyduck1000 2 года назад
I was thinking "This isn't that hard." Then I realized what a great teacher he was.
@aarushiaiyyar
@aarushiaiyyar 7 лет назад
Best teacher for OS. He looks too young to know this much. Very underrated video series. (Y) from my side.
@ellis6067
@ellis6067 7 лет назад
I never had anyone stop and explain CPUs to this granularity...this is something i have been looking for to assist me in better understanding buffer overflows, assembly and more. You are a good instructor!
@jonathanpritchard6464
@jonathanpritchard6464 6 лет назад
This is really great, as an EE getting into software it's really great to have the interface between hardware and OS laid out in such detail :)
@donghaox212
@donghaox212 8 лет назад
The best teach about OS on RU-vid!
@satrajitsantra3452
@satrajitsantra3452 4 года назад
Incredibly erudite but lucid. A gem series for learning Computer Systems.
@kneedeep185
@kneedeep185 6 лет назад
Excellent pacing and great explanations. Thank you for sharing your knowledge, and for being damn good at it.
@trummelbummelfriedlich4658
@trummelbummelfriedlich4658 3 года назад
Wow thanks that's fascinating content and really well explained!
@Bamcky2k6777
@Bamcky2k6777 7 лет назад
Great videos, but there is a slight error in terminology at 46:06. I believe what he is talking about at this point is called "Direct Memory Access." Memory-mapped I/O is when you assign a device a particular memory location, and write control signals to this location using regular MOV instructions (or equivalent) in order to control the device. The device listens to the bus for any references to its assigned address, then reads and executes the command. At least, this is what I've seen in textbooks, perhaps the terminology is loose.
@antoniofraga3000
@antoniofraga3000 6 лет назад
Actually, the DMA is used along with slow Peripheral devices like disks, and it uses Memory Mapped IO. The DMA controller is a very specific piece of hardware that handles writes from the PCI. Basically, the way this works is whenever a CPU is supposed to context switch to read a disk with very slow input, it delegates to the DMA to read from that disk and write at a specific address that is memory mapped. The CPU is now able to go back executing processes, while the DMA is doing all the work. Whenever the DMA finishes it notifies the CPU, telling that the data is ready to be read. This technique is called buffering. Great video!
@Bamcky2k6777
@Bamcky2k6777 6 лет назад
Right. It is certainly true the DMA controller may use memory-mapped IO. I was just pointing out when he says, "The idea here is that, rather than the CPU essentially going to the IO device, fetching the data, and then bringing it to main memory, we're going to tell the IO controller to go talk to main memory directly, without actually involving the CPU." This is misleading since the slide up at the time is "Memory Mapped IO," when in fact he is describing DMA. The textbook I'm using for reference is Structured Computer Organization by Tanenbaum. In it, he describes DMA essentially as follows (very similar to what you said, only restating so it's clear to anyone reading): Instead of the CPU interacting directly with the IO device's registers, it will: 1) Initialize a buffer in RAM 2) Tell the DMA controller where this buffer is, how long it is, and whether we're reading or writing 3) Tell the DMA controller which device to talk to (e.g., device 6) (The DMA controller itself has registers, which is how the CPU "tells" it these things.) The DMA controller will then read / write from memory, out of / into the specified device's control registers, and then signal an interrupt to the CPU when the IO is complete. This frees up the CPU (provided it's not trying to access the bus while the DMA controller is working, since the DMA controller gets priority; see "cycle stealing") to do other things. As you said, the DMA controller may in fact use memory-mapped IO to write to the device's control registers. For instance, when you tell the DMA controller which device to interact with, it may translate this number to a full-blown memory address, which is either physically wired to the IO device port, or configured in some way to end up there (i.e., memory-mapped IO). That is interesting that you say DMA is used only for slow peripheral devices, but I suppose it makes sense that for faster devices, it would be more efficient to simply interact with the device registers themselves.
@吴国豪-r2y
@吴国豪-r2y 4 года назад
very good abstraction from hardware architecture and os. very clear
@ramansarabha871
@ramansarabha871 2 года назад
Thanks. This lecture is amazing!
@jeanbilong7577
@jeanbilong7577 5 месяцев назад
What a great teacher🥲
@hey01e5
@hey01e5 2 года назад
why are people on the internet always more competent at teaching than my university professors who get paid +$100k a year?? lol
@AllieMeowy
@AllieMeowy Год назад
thank you king
@Monotoba
@Monotoba 5 лет назад
I feel your explanation of memory mapped I/O is misleading. MMIO is simply the mapping of the I/O device into the system's memory address space. Your explanation seems to mix or confuse this with DMA (Direct Memory Access). Not all MMIO devices use DMA.
@Sweet-ut1de
@Sweet-ut1de 3 года назад
Does anyone has the ppt of this course? thanks
@crypto_persia9022
@crypto_persia9022 Год назад
thank you for sharing the video. i guess you use "you know" abundant!
@shankee30
@shankee30 7 лет назад
are interrupts the same as system calls? for example is a system call for fork() an interrupt ?
@antoniofraga3000
@antoniofraga3000 6 лет назад
Not at all. System calls are controlled by interrupts, and ensure that they work correctly. Whenever a system call is having a bad behavior like accessing memory that it's not supposed to access, then a software interrupt is generated. On UNIX systems, software interrupts are handled by the Interrupt Vector Table procedures. Remember, system calls are a way of users to interact with the kernel, and the system must have a way of handling exceptions.
@mahsa5527
@mahsa5527 2 года назад
how we can access these slides?
@ashishpandagre6805
@ashishpandagre6805 2 года назад
lass.cs.umass.edu/~shenoy/courses/fall12/lectures.html
@lololology
@lololology 4 года назад
are there notes / slides available for these lectures?
@Jay-lj2bv
@Jay-lj2bv 2 года назад
what is kernel?
@AmCanTech
@AmCanTech Год назад
what book is this based on?
@vibhas4686
@vibhas4686 5 лет назад
can i get these presentations from somewhere
@kushagr0123
@kushagr0123 5 лет назад
lass.cs.umass.edu/~shenoy/courses/377/lectures.html
@jeyko666
@jeyko666 5 лет назад
Thanks, great explanation
@thdoom81
@thdoom81 6 лет назад
how is he so smart ?dude is young
@gamar1226
@gamar1226 3 года назад
Hard worker
@xyzpdg1313
@xyzpdg1313 Год назад
y'know
@leonardlutz19
@leonardlutz19 6 лет назад
Umm, umm, umm, umm, umm...
Далее
Lecture 3: Operating System Structures
1:07:33
Просмотров 43 тыс.
Unix system calls (1/2)
45:16
Просмотров 434 тыс.
Сколько стоит ПП?
00:57
Просмотров 217 тыс.
How does an OS boot? //Source Dive// 001
50:22
Просмотров 416 тыс.
An Entire Computer Science Degree in 11 Minutes
11:13
Просмотров 816 тыс.
Lecture 12: Paging and Segmentation
1:17:08
Просмотров 32 тыс.
Lecture 1: Introduction to UNIX System Calls Part 1
57:31
What is a MESSAGE QUEUE and Where is it used?
9:59
Просмотров 977 тыс.
Operating System Basics
23:16
Просмотров 665 тыс.
CS162 Lecture 1: What is an Operating System?
1:23:03
Просмотров 92 тыс.
Lecture 8: Semaphores and Monitors
1:10:23
Просмотров 45 тыс.