Virtual Memory: 8 Page Faults

แชร์
ฝัง
  • เผยแพร่เมื่อ 14 ม.ค. 2025

ความคิดเห็น • 69

  • @kelcamer
    @kelcamer 7 ปีที่แล้ว +27

    you just explained nearly all of the content of a test I will take tomorrow in 15 minutes. Thank you!!! Awesome explanations, awesome teaching, you are VALUED.

  • @fezzbal7512
    @fezzbal7512 8 ปีที่แล้ว +9

    The only tutorial set on TH-cam that makes clear sense with clear explanations. Thanks a bunch 😊

  • @fredxu9826
    @fredxu9826 8 ปีที่แล้ว +70

    YOu are just better than my OS professor at lecturing this!!! Thanks :))

    • @kenzaifun
      @kenzaifun 7 ปีที่แล้ว +4

      That is an understatement.

  • @Charlie-hk8fe
    @Charlie-hk8fe 4 ปีที่แล้ว +2

    These videos are golden. Thank you for getting me through college.

  • @paavnishukla
    @paavnishukla 2 ปีที่แล้ว +1

    Explaining such complex concepts so simply is what every Prof should learn from you.

    • @w0nnafight
      @w0nnafight ปีที่แล้ว

      mind your own buissness

  • @leandrormor
    @leandrormor ปีที่แล้ว

    thank you so much, I've been looking for a content that explains VM and yours is just quintessential, thank you a million times

  • @4Seaofthoughts
    @4Seaofthoughts 8 ปีที่แล้ว +2

    These videos are amazingly informative.The concepts are beautifully explained with the help of drawings.Thanks David Black for sharing the knowledge

  • @shubham709
    @shubham709 5 ปีที่แล้ว

    Clear and concise explanation, I got more in these 6 minutes than I did from ploughing through the text. Thank you very much :).

  • @TheChrisey
    @TheChrisey 4 ปีที่แล้ว +3

    One thing worth mentioning. The page table itself is stored in RAM, which means it takes way more than a single cycle to find out whether the page is on disk or not.

  • @iammituraj
    @iammituraj 5 ปีที่แล้ว

    Finally , after years of confusions, I understood all this Virtual memory and paging stuff basics..................

  • @chrised132
    @chrised132 9 ปีที่แล้ว +2

    Thank you. Very informative. A life saver. I was searching for something like this the whole day. Thanks Again. Cheers.

    • @davidblack-schaffer219
      @davidblack-schaffer219  9 ปีที่แล้ว +5

      sanjith edward You're most welcome. If you're looking for more check out the full course at test.scalable-learning.com, enrollment key YRLRX-25436.

  • @ashenisuranga2915
    @ashenisuranga2915 ปีที่แล้ว

    this is very clear. im having this lessons for my A\L examination. thanks a lot

  • @hdmupload8727
    @hdmupload8727 5 ปีที่แล้ว

    Do us a favor and become a professor. You are incredibly good at breaking down things and explaining them :)

  • @RussTeeTrombone
    @RussTeeTrombone 5 ปีที่แล้ว

    These really are an excellent resource. Many thanks!

  • @draganostojic6297
    @draganostojic6297 ปีที่แล้ว

    Fast paced and super clear

  • @ShailJava
    @ShailJava 2 ปีที่แล้ว

    Clear and precise explanation. Thanks for such videos.

  • @vortyx090
    @vortyx090 8 ปีที่แล้ว +1

    I am learning a lot from your videos :D

  • @a101activist
    @a101activist 9 ปีที่แล้ว +7

    Thanks a lot David for the videos. I have signed up on your website and used the promo code that you provided to the comment below. Virtual memory makes sense to now. I am currently enrolled in a operating systems class, do you offer any courses that teach similar subject matter?

    • @davidblack-schaffer219
      @davidblack-schaffer219  9 ปีที่แล้ว +1

      +a101activist I'm afraid I only teach architecture and parallel programming at the moment.

  • @sabrinao.1251
    @sabrinao.1251 8 ปีที่แล้ว

    Thanks David for your videos! It helps me a lot.

  • @wadewang574
    @wadewang574 3 ปีที่แล้ว

    From 1:06, is it describing "swap" page between RAM and disk ?

  • @akhileshpatil7500
    @akhileshpatil7500 ปีที่แล้ว

    Thanks for these very nice slides and presentation very valuable 🎉

  • @hmak5423
    @hmak5423 4 ปีที่แล้ว +2

    1.40. If the page we're evicting to the disk is dirty, we write it on the disk first. But aren't we already evicting it to the disk? Does that mean that the dirty page will not move, instead we take the changed version of the data from VA and write it to disk first, move it to RAM again, and finally evict it? I'm a bit confused about that.

  • @NadinePigida
    @NadinePigida 2 ปีที่แล้ว +1

    Hi David, your videos are amazing, I love the way you explain the content. My profs could not compare. I am wondering if your course is still available? The link seems to be broken.

  • @milajoy945
    @milajoy945 3 ปีที่แล้ว

    It’s soooo good! Because it’s very very clear ! Thank you 🙏🏻 🙏🏻🙏🏻

  • @flashliqu
    @flashliqu 7 ปีที่แล้ว

    Great lecture and very photographic learning , hope that to obtain more sophisticated resources from you

  • @alphhan
    @alphhan 8 ปีที่แล้ว

    About the answer to the opening question: You said "we cannot have no entry in the page table." But the entry could point to an invalid location, i.e. not in RAM, not in the disk. (Say, RAM + disk < 4GB)
    As I understand, a page fault always implies that the requested page is on the disk. So "page fault" is a misnomer, then. It is not a "fault" that some VA map to the disk, the system was designed that way.

  • @DinhQHuy
    @DinhQHuy 8 ปีที่แล้ว +2

    at about 4:10, why does it take 1000 cycles to change the mapping of just 1 page? Shouldn't it be just a simple write?
    Great lectures by the way! Much better than my CS professor!

    • @iammituraj
      @iammituraj 5 ปีที่แล้ว

      cz OS is running on top of the processor. Bare processors will take only less than 100 cycles to write a 4kB page.

  • @forrestkong3455
    @forrestkong3455 4 ปีที่แล้ว

    I like your video so much , clear english accent

  • @pegah9413
    @pegah9413 8 ปีที่แล้ว

    you literally saved me. Thanks a lot!

  • @123chen9
    @123chen9 4 ปีที่แล้ว

    Thank you so much for your explaination!

  • @slingshot7602
    @slingshot7602 ปีที่แล้ว

    At which location of disk is the evicted page, how does the os knows from which location of the disk to fetch the os?

  • @leodarkk
    @leodarkk ปีที่แล้ว

    How do we know where to find the memory on disk?
    Is there like a second translation table written somewhere...?

  • @garrykevin97
    @garrykevin97 8 ปีที่แล้ว +2

    what software do you use ,to make the presentation

    • @nuduakj
      @nuduakj 7 ปีที่แล้ว +1

      Looks like a regular presentation program. i.e Libreoffice Impress, Apple Keynote or Microsoft PowerPoint.

  • @haipengzhang4840
    @haipengzhang4840 3 ปีที่แล้ว

    Fantastic lecture

  • @simsonlory1459
    @simsonlory1459 5 ปีที่แล้ว

    good for sharing this exellent material.

  • @kingAjwad
    @kingAjwad 6 ปีที่แล้ว

    Does page fault happen even if there is infinite amount of ram ?

  • @jwine1957
    @jwine1957 11 หลายเดือนก่อน

    great content still, thanks.

  • @justinahurry
    @justinahurry 4 ปีที่แล้ว

    Oh my gosh. Thank you, thank you.

  • @vyorkin
    @vyorkin 7 ปีที่แล้ว

    excellent explanation, thank you

  • @Midaspl
    @Midaspl 9 ปีที่แล้ว

    Can processor use DMA and do other stuff while rewriting pages?

  • @UdaySingh-im4hd
    @UdaySingh-im4hd 5 ปีที่แล้ว

    questions: the size of virtual memory that we set in RHEl OS is the size of page table?? Is the size of page table fixed by OS architecture?? Can we modify the amount of Virtual memory set in the system, what would be the impact on PT?

  • @AnkitSharma-lp5rl
    @AnkitSharma-lp5rl 4 ปีที่แล้ว

    Do we have dedicated memory for Page tables or do they acquire some portion of RAM?

    • @granitdula
      @granitdula 4 ปีที่แล้ว +1

      In Linux's Virtual Memory system, there is dedicated space allocated for the Kernel in the RAM. Page tables are stored in this dedicated space.

  • @kejianshi9196
    @kejianshi9196 5 ปีที่แล้ว +2

    1:37 confuses me

  • @harshilapadwal3454
    @harshilapadwal3454 6 ปีที่แล้ว

    really sir your lecture help me so much, sir i have one question i had read in so many places that "cpu generate logical address " how is it so can you explain it any any of your video if yes then please share link

  • @sailajat5859
    @sailajat5859 4 ปีที่แล้ว

    Can you share these slides

  • @expertiza2347
    @expertiza2347 9 ปีที่แล้ว

    really helpful .. Thank you

  • @amirabozaid5457
    @amirabozaid5457 5 ปีที่แล้ว

    Brilliant

  • @u263a3
    @u263a3 3 ปีที่แล้ว

    With the speed of NVME drives these days, page faults aren't that bad anymore

    • @Frozoken
      @Frozoken 11 หลายเดือนก่อน

      no nvme has only bared halved sata ssd access times 7 years later. Here's a rough guide.
      Hard drive:~10 milliseconds
      good sata ssd:~100 microseconds
      good nvme ssd:~50 microseconds
      The only nvme ssds that are significantly better for this are optane ssds at ~10 microseconds and they also don't double in access time like other ssds the moment ur not doing purely a read or write. In other words in the real world, the ssds would have 200, 100 and 10 microsecond access times respectively.

  • @typingcat
    @typingcat ปีที่แล้ว

    Ha! My PC has 32GB of RAM, and it probably is "too much RAM". I have never been able to use anywhere close to that amount.

    • @OpenGL4ever
      @OpenGL4ever ปีที่แล้ว

      Today this is the case for most users. Back in the day, around 1992-1995, you only had 4-8 MB of RAM and Windows 3.1 was crawling along. Windows NT, on which Windows 10 is based, didn't even run with so little RAM.
      The more RAM the computers got, the rarer the moments when the RAM became too scarce became. From around 8 GB of RAM onwards, this was practically no longer a big issue for the normal user. Of course, there is also software today that requires more than 8 GB of RAM; it is in the nature of things that the need continues to increase as the installed base of computers has more and more RAM.
      The gaming industry these days is oriented towards consoles. The current consoles like the PS5 have 16 GiB RAM, so 16 GiB RAM will be enough on the PC for a while. You can also leave a few other programs running in the background, so it doesn't hurt if you always have a little more RAM installed on your PC than the RAM on the consoles.
      You will only use your 32 GB of RAM with games from the next generation of consoles, unless you have your own areas of application where you need that much RAM.
      I have a few virtual machines running at the same time, so it helps to have a lot of RAM.

    • @typingcat
      @typingcat ปีที่แล้ว

      @@OpenGL4ever My first PC had 8MB of RAM and could run Windows 95. I have no idea how Windows could even run on 8MB of RAM, considering now even Notepad alone could use more than that.

    • @OpenGL4ever
      @OpenGL4ever ปีที่แล้ว

      @@typingcat Windows 95 is basically an improved 32/16 bit version of Windows 3.x.
      It's a 16 bit and 32 bit hybrid kernel.
      The version of Notepad in Windows 11 is a new version of Notepad. If I'm not mistaken, this was written in C# and .NET instead of the old version which was written in assembly language (Notepad for Windows NT was written in C). This alone increases the RAM requirement significantly.
      Since they are completely different versions, you cannot compare them.
      Additionally, the first Notepad could only read files no larger than 45 KiB. The limitation comes from the 16 bit real mode world it was once programmed for. A data segment can only be 64 KiB in size, if you want to use more, you have to do a lot of tricks in Real Mode. Notepad was written for Windows 1.0 which run in Real Mode only.
      Windows NT 3.1 required 4 MiB for the page tables alone. In addition, there was the memory requirement for the rest of the actual system, so it ran reasonably well from 12 MiB.

    • @typingcat
      @typingcat ปีที่แล้ว

      @@OpenGL4ever I was not talking about the new UWP Notepad, but those old one in Windows 10. Anyway, I remembered by reading your comments that in the Windows, if I tried to open a relatively large text file with Notepad, it said something like, "This file is too big, would you open it in WordPad instead?"

  • @cilantrogingergarlic
    @cilantrogingergarlic ปีที่แล้ว

    A 3GHz CPU needs 0,0267 sec for 80 million cycles. A painful, long time...

    • @OpenGL4ever
      @OpenGL4ever ปีที่แล้ว

      Random Access time of a typical hard drive where about 11 to 16 ms. Server hard drives that run at a speed of over 7200 rpm where a little bit faster and much louder. And to exchange two data blocks you will at least have to access the HD two times. And usually you had to exchange more than just 4 kiB of Data. As soon as the computer has to transfer data to hard drives and you want to access this data later, things get really slow. It therefore made more sense to close programs that you don't urgently need.

  • @md.mottakinchowdhury7898
    @md.mottakinchowdhury7898 8 ปีที่แล้ว

    Now I understand why the Apple products are fast!

  • @Z-wn4yp
    @Z-wn4yp 8 หลายเดือนก่อน

    i love you

  • @dexmoe
    @dexmoe 7 ปีที่แล้ว +6

    it only slower than interaction with humans ....

  • @Harsh1K20
    @Harsh1K20 6 ปีที่แล้ว +2

    iOS kills your programs X(

  • @zionlee1004
    @zionlee1004 6 ปีที่แล้ว

    Ive seen 1tb of ram...