The Most Successful Idea in Computer Science

Поділитися
Вставка
  • Опубліковано 17 лис 2024

КОМЕНТАРІ • 255

  • @griffenmorrison2560
    @griffenmorrison2560 Місяць тому +278

    Getting this compliment in early in hopes you see it before it gets buried. Your videos have demystified the fundamental parts of computers I had thought I wasnt smart enough to understand. You have given me the confidence to feel like I can tackle any computer challenge I come across. I ravenously wait for your next video after each one is released. Thank you!

  • @bodycowlin
    @bodycowlin Місяць тому +53

    I hardly ever comment on anything, but the quality here is insane. Not just the graphical quality either, the quality and accessibility of the information blows my mind. Like others have said you are a wizard at demystifying the concepts you explain. I come from a mechanical engineering background but feel as though even I can grasp these concepts now. Keep up the good work! You've made a lifelong fan here.

    • @gabrielbonfim1
      @gabrielbonfim1 Місяць тому

      Man, I recentely commented the same thing as you, I never comment on youtube videos, but this guy is simply extraordinary, I had to share the video with everyone I know. It just blows my mind how can someone teach something so clearly.

  • @AlgoRhythmsWithAyush
    @AlgoRhythmsWithAyush Місяць тому +50

    This is truly amazing, as a low level enthusiast, I now know what processes really look like at the low level, you really explained the concepts in one of the most beginner friendly ways possible. Keep going George! looking forward for the next episode.

  • @IngPleb
    @IngPleb Місяць тому +118

    Once again, the production and educational quality are absolutely marvelous! Even though I’ve already read about many of these things, the visuals always solidify my knowledge and somehow excite me because I get to live in this wonderful era of computing. Please keep it up.

    • @CoreDumpped
      @CoreDumpped  Місяць тому +12

      Will do! Thanks for the support!

    • @jaison9
      @jaison9 Місяць тому +2

      ​@@CoreDumppedwhere are you from? Please keep the brilliant work

    • @eduimaji
      @eduimaji Місяць тому

      @@CoreDumpped i stack with the "cache mapping" especially the h/w implementation. could you explain it, please? thanks.

    • @MathCuriousity
      @MathCuriousity Місяць тому

      @@CoreDumpped hope you do a video accessible to noobs like me concerning what an API is (focusing on non-web apis)

  • @fooBarFalan
    @fooBarFalan Місяць тому +26

    I wish these videos existed back when I was taking OS course. Simply amazing.

    • @_dnL
      @_dnL 16 годин тому

      yea me too

  • @MyMax1919
    @MyMax1919 Місяць тому +17

    The Linux scheduler code part was neat, I would love to see more real-world code snippets in future videos!

    • @_dnL
      @_dnL 16 годин тому

      yes, love real world examples :D

  • @EduardoTardinCosta
    @EduardoTardinCosta Місяць тому +9

    Well done! My suggestion: after your video about threads, a video about forks and pipes to explain how process "talk" to each other.

  • @Piyush-bm6ho
    @Piyush-bm6ho Місяць тому +19

    @CoreDumpped your creations are excellent. I'm waiting for video of Virtual memory, mapping of virtual memory to physical memory, pages, page tables,TLB. Please make it proper descriptive take your time and make us understand it crystal clear.

  • @shyamkawadkar693
    @shyamkawadkar693 Місяць тому +12

    your work is truly amazing but if possible share some of the resources is description section so that viewer who is interested could understand it more clearly. thank you for amazing content

  • @ryan_chew97
    @ryan_chew97 Місяць тому +12

    Bro keep making low level videos these visuals aren’t found any where else. You’re gonna blow up in subs there’s a huge market for this.

  • @martingeorgiev999
    @martingeorgiev999 Місяць тому +2

    14:10 I am not sure about the memory limits part. Each process works in a virtual address space so when it wants to fetch anything from it the MMU just translates it to the physical address or produces an exception/interrupt if there is no current mapping for the accessed address (or if the process does not have permissions to access the mapping). Now, to access the memory of another process as in the example, the OS should have mapped that memory previously and this can be achieved solely through system calls. If the OS works correctly it should never allow a process to map any resource that's beyond the process' privileges. Another note, the 1:07 image is a bit incomplete, usually half of the virtual address space of a process is kernel space where kernel code is mapped (obviously when the process is running in user mode it can't access the kernel mappings).

    • @CoreDumpped
      @CoreDumpped  Місяць тому +2

      Yeah, explaining this would have make the video 30 minutes longer. So I tend to oversimplify some concepts.

  • @ВладФоменко-р4е
    @ВладФоменко-р4е Місяць тому +1

    The explanation is... brilliant!) Ever wondered what those registers are, now I understand that this is just a cpu space to load data from memory for execution. Thank you so much!

  • @barryallen5243
    @barryallen5243 Місяць тому +1

    Thanks for the brilliant video once again.
    On another note, what does ARC represent here.
    ARC
    vec

    • @CoreDumpped
      @CoreDumpped  Місяць тому +4

      Arc stands for Atomic Reference Count

  • @MrSomethingdark
    @MrSomethingdark Місяць тому +4

    Best video on modern digital computing on the whole wide web. Thanks a lot Core Dumped.

    • @nesa6582
      @nesa6582 Місяць тому

      And whats crazy, it is free.

  • @handlewithoutsuitcase
    @handlewithoutsuitcase Місяць тому +1

    Thanks to all the team working on this! Well done!

  • @moyoloco09
    @moyoloco09 Місяць тому +1

    I'm currently taking an OS subject at university, and oh my god, what a perfect timing. Your videos are really helping me to better understand theory around the subject. Nice video, I'll be waiting for next!

  • @roadrunner3563
    @roadrunner3563 Місяць тому

    Terminology varies over time and by operating system. At least one older OS refers to an executing program unit as a process (program vs process virtually synonymous). It didn't specifically have "threads" but could perform some types of asynchronous operations within a program/process and "enter-process" (enter-program) communication was via shared memory DMA (usually extremely fast ECL) or other bus interfaces.

  • @artyomtimiriazev2070
    @artyomtimiriazev2070 Місяць тому

    I love your videos. I've finished university a few years ago and some concepts started to fade away from my mind but your videos are not only a perfect refresher but also add some new and interesting information. And so well produced. I do hope you keep getting more and more sponsorships

  • @mmmm123456780
    @mmmm123456780 Місяць тому +3

    Great video! It just misses one thing. I think you should mention that the OS itself also is something that is executed by the CPU, so simply claiming that it manages a context switch doesn't really explain how it works. Therefore I hope that you plan some video about interrupts.

  • @NoahSteckley
    @NoahSteckley Місяць тому +1

    Love that the code representations are in Rust. It’s such a clear matter-of-fact expressive language

  • @aitanapalomanespardos7089
    @aitanapalomanespardos7089 Місяць тому

    Wonderful video! The part where you show files as something that is not part of the program but the process has helped me better understand the question I asked you in the previous video (I had thought the file was part of the data section, so I had thought that if the data section was different, they were different programs). Thank you for making these videos, you tackle most of the questions the viewer might get visually and in detail. Looking forward to more videos from you!

  • @crystal93pl
    @crystal93pl Місяць тому

    They should show this video in IT department classes. The visualizations are incredibly fascinating. I recommend your videos to other developers. I can see that they are starting to understand more.

  • @oglothenerd
    @oglothenerd Місяць тому +1

    Lookin' forward to the one about the MMU.

  • @adamboyd348
    @adamboyd348 Місяць тому

    This is unbelievably good!! This is exactly what I want to learn as a junior software engineer who lacks a computer science degree. Said by a few others in the comments, there is a big interest in this content. Thank you.

  • @DemonAspicious
    @DemonAspicious Місяць тому

    I don't usually coment on any video, but this channel has something different. You explain these low level concepts in a way no one else does. The clarity of the explanations is astonishing.
    Keep going, you're doing a great job! I can't wait to see your next videos!

  • @tech_simpleterms
    @tech_simpleterms Місяць тому

    The way the explanation is taking place from the beginning to end really marvelous. Eagerly waiting for the next episode.

  • @ckpioo
    @ckpioo Місяць тому +1

    woah this was extremely easy to follow, and thank you for using rust for the example code, I think rust is the best language to show examples for such concepts

  • @tratmir
    @tratmir Місяць тому

    Literally love this channel! Personally I can't imagine the amount of work that goes into animating and editing all of this. Please keep it up!

  • @cofrante6560
    @cofrante6560 Місяць тому

    George, your videos are absolutely perfect, easy to follow, well animated. I can't explain how grateful i am with your content. Keep it up!

  • @reylui0250
    @reylui0250 Місяць тому

    i have an exam this friday about processes, os, threads and cpu scheduling... i need your videos more than water

  • @SayedAli-gq8bl
    @SayedAli-gq8bl Місяць тому

    Hey George. Your videos are incredibly satisfying to watch. They let me follow your train of thought both visually and by listening to your well-articulated words. I get multiple "aha" moments in each video. I'm sure tons of work goes into creating each one, so I hope you can keep it up.

  • @amj864
    @amj864 Місяць тому

    By the time you finish this series, these should be taught in unis. Great work.

  • @deezydoezeet
    @deezydoezeet Місяць тому

    Oh my goodness, I could like the video a thousand times over. The Process Control Block has been the missing piece for me all this while. This is such a great resource

  • @MukundNivas
    @MukundNivas Місяць тому +3

    I really enjoyed watching this! Thank you for making this. I would love to do some additional reading on this, would it be possible to reference books/articles that you referenced through while making this video? Thanks man.

    • @CoreDumpped
      @CoreDumpped  Місяць тому +1

      For Operating Systems theory: "Operating System Concepts" by Silverschatz.
      For low-level stuff in general: "Computer systems a programmer's perspective" by Bryant, O'Hallaron.

  • @reeshabhchoudhary5112
    @reeshabhchoudhary5112 Місяць тому

    Core Dumped is one channel which I made sure, I visited regularly while researching and writing my book.

  • @hackytech7494
    @hackytech7494 Місяць тому

    Thank you so much for this wonderful amazing explanation. Eagerly waiting for CPU scheduling video.

  • @MathCuriousity
    @MathCuriousity Місяць тому +1

    Please do a video on “NON-WEB API’s”. I would love to learn about API’s (the non web ones) as well as kernel level and user level! Please do an incredible 30 min video on this!!!!❤❤❤❤❤

    • @SirusStarTV
      @SirusStarTV Місяць тому

      @nirlichtman have some good stuff about win api

    • @MathCuriousity
      @MathCuriousity Місяць тому

      @@SirusStarTV where? Can you add link?

  • @davevann9795
    @davevann9795 Місяць тому +1

    Each component of a computer is functionally very simple. They only appear complex because humans try to do complex things with these simple functional units, and therefore have to combine many layers of many simple functional units, interacting in many ways.

  • @prajwals8203
    @prajwals8203 Місяць тому

    Thanks for vid.....I think some part of what you cover is from "Operating System Concepts" book
    And luckily that's our textbook ....so this helps in exam prep

  • @jeffersonwu952
    @jeffersonwu952 Місяць тому

    I have watched every video that you have made here, and I just want you to know they are extremely well done! Thank you so much! You are definitely making an impact to the world of learning :)
    PS: if videos like these are used in college, professors can probably skip the lecturing part and just do Question and Answer.

  • @Andrew90046zero
    @Andrew90046zero Місяць тому

    I was hoping the video would've gotten into how many instructions done computed before a process is switched, or just how the scheduling is done.
    But I can't wait to watch the next video that goes into that.

  • @AnantaAkash.Podder
    @AnantaAkash.Podder Місяць тому

    Following you for almost more than 6 months+... You truly are Criminally Underrated UA-camr... Even after Subscribing I am Not getting your Videos Update... I have to manually Come here to see if any New Video is being Uploaded.

  • @aaliboyev
    @aaliboyev Місяць тому +6

    Absolutely amazing content, thank you! BTW what animation tools you use for creating animations like this?

    • @CoreDumpped
      @CoreDumpped  Місяць тому +19

      Everything you see on my videos is PowerPoint slides.

    • @charlesbabbage6786
      @charlesbabbage6786 Місяць тому +1

      @@CoreDumpped Respect! 👍

    • @Adhithya2003
      @Adhithya2003 Місяць тому +4

      @@CoreDumpped WHAT!!? Awesome, I thought you custom made your own animation framework (like manim python). I guess I grossly understimated powerpoint 😅

    • @skilz8098
      @skilz8098 Місяць тому +5

      For those who aren't aware, the Power Point application is Turing Complete. Someone has actually made a basic general-purpose CPU with its slides and transitions states. Power Point is very flexible and powerful!

  • @lkiller4788
    @lkiller4788 Місяць тому

    Great video as always! I want you to explain how the snapshot of the CPU gets done in low level in a future episode

  • @sacate5413
    @sacate5413 Місяць тому

    Hey core dumped, i really enjoy your series of providing better understanding of low-level concept. I also like the animation style, may i ask what software you use to do these animations?

  • @badtrevor773
    @badtrevor773 Місяць тому +1

    I watched your video about how transistors remember data, and I found it brilliant, your explanation was excellent.
    I would like to make a request: if possible, please dub your videos with AI (or however you prefer) to reach more people.
    I watched your video using an Opera extension to read the automatically generated subtitles. I am Brazilian and only speak Portuguese, my native language. I believe it would be very beneficial for you and for those who enjoy this kind of content if it were more widely shared. Your videos deserve to spread worldwide and reach as many people as possible.
    If you can't or don't want to do it yourself, I would like to ask for your permission to dub your videos with AI and post them (I won't monetize the content, nor do I have a subscription, I'll just make a "gambiarra" haha) giving you full credit.
    That's all. I loved your video and wish you all the best and much success. Congratulations on the excellent work and the care you put into your content.

  • @priyank_panchal
    @priyank_panchal Місяць тому

    I'm totally addicted to your videos. I'm always eagerly anticipating the next one. Your content on OS fundamentals is fantastic. Keep up the great work.🎉

  • @imadhamaidi
    @imadhamaidi Місяць тому

    Your channel is a hidden treasure! Keep up the good work! I wonder if you are interested in covering virtualization topics in the future like Popek and Goldberg requirements.

  • @sharathkumar8338
    @sharathkumar8338 Місяць тому +1

    Please make a video on threads next.

  • @viktornikolov1570
    @viktornikolov1570 Місяць тому +1

    Your videos are gold. Are there any resources you can share for further reading?

  • @randomsearches369
    @randomsearches369 Місяць тому

    I have never been hooked on such a complex topic

  • @luisalves9738
    @luisalves9738 Місяць тому

    Loved the production! What a fantastic channel 👌👌

  • @Dr10na1995
    @Dr10na1995 Місяць тому

    Your videos are amazing! So clear and interesting!

  • @glaisonpassos3775
    @glaisonpassos3775 Місяць тому

    Jorge, seus vídeos são excelentes! Muito obrigado pelo trabalho formidável.

  • @JaredFarrer
    @JaredFarrer 24 дні тому

    Great channel find! Great job dude.

  • @skilz8098
    @skilz8098 Місяць тому

    The overview of a process being context switch is very good and all and the mentioning of the scheduler is nice, however, I noticed that there was no mention of or lack thereof of what is typically called an Activation Record(s) within computer science either it being software or hardware engineering. I think this ought to be mentioned and well explained as well as I feel or believe that it is related, relevant within the context of this topic or material. Other than that, excellent video, great material.

    • @ArthurSchoppenweghauer
      @ArthurSchoppenweghauer Місяць тому

      This was AI generated so don't expect correct answers.

    • @skilz8098
      @skilz8098 Місяць тому

      @@ArthurSchoppenweghauer Possibly.

    • @CoreDumpped
      @CoreDumpped  Місяць тому +2

      Activation Records are stored in the Stack, and the Stack was in deed mentioned. I even specified that, during execution, programs need memory space to save temporary results.
      A lot information omitted, I know. But it's very difficult to put so much information into a 15 minute video.

    • @skilz8098
      @skilz8098 Місяць тому

      @@CoreDumpped True. So perhaps it was in an older video leading into this one. It's just that the association of it within the context of process space was kind of left out.

  • @tornado3007
    @tornado3007 Місяць тому

    i always love your videos the animations are very well done and you explain it in detail without overwhelming. please keep this series going i already learned a lot < 3

  • @milosmandic6129
    @milosmandic6129 Місяць тому

    Great video man.
    Where is the PCB stored? Is it in the heap of the process or is ist stored in the OS memory?

  • @FossWolf
    @FossWolf Місяць тому

    This is some really awesome work buddy ❤
    Keep up the good work 🙌

  • @ncsham9103
    @ncsham9103 Місяць тому

    I don’t know how to commend you man, the videos are just damn good and crystal clear. Thanks so much for demystifying!

  • @sshrek1996
    @sshrek1996 Місяць тому

    Hello! This is absolutely amazing work. Computer Architecture fundamentals in its easiest form. Can you please suggest any books on microprocessors and computer architecture?

  • @Gigasharik5
    @Gigasharik5 Місяць тому

    Bro your channel is hidden gem

  • @charlesbabbage6786
    @charlesbabbage6786 Місяць тому

    Absolutely in love with these videos!! Very clear explanations. Keep em coming! 👏👏

  • @kraller7
    @kraller7 Місяць тому

    amazing man as always this content is pure pure gold

  • @DracoIgnem
    @DracoIgnem Місяць тому

    Another Great Video with Great Animation. Thank You for your work !!

  • @a.v7998
    @a.v7998 Місяць тому

    Amazing video! Learning these low-level concepts is so fascinating!

  • @sudharsandas5779
    @sudharsandas5779 27 днів тому

    Fantastic work! I will be avidly waiting for your videos.
    Lastly, please tell us how you make the graphics for your videos. I am hoping to put out some educational content as well, would really appreciate if you could provide some information on this. Thanks.

  • @MasterGxt
    @MasterGxt Місяць тому +1

    Love how Core Dumped uses Rust for psuedo code

  • @Steamrick
    @Steamrick Місяць тому

    I've got to say - I look forward to when you do a video about branch prediction in the CPU. To me, it is black magic. I mean - I get the basics, 'cpu tries to predict what the next command will be and goes ahead to calculate the result just in case', but the actual implementation...

  • @Shahikulariyan
    @Shahikulariyan Місяць тому +1

    you are a awesome teacher in my life i have ever seen 🥰🥰🥰

  • @siwoopark2898
    @siwoopark2898 Місяць тому

    Sir, you will be recognized someday, at least 1M sub. Please keep up these great work!

  • @jeremymcadams7743
    @jeremymcadams7743 Місяць тому +13

    Where is the cpu state being stored?
    Is the capturing of the cpu state something that is stored in heap memory? Or some special memory location?
    Edit: I should have waited longer before asking the question

    • @CoreDumpped
      @CoreDumpped  Місяць тому +31

      I guess the real question is: where is that structure (PCB) stored? Does the OS have a stack and a heap? Interesting topic for a future episode😉

    • @jeremymcadams7743
      @jeremymcadams7743 Місяць тому +5

      @CoreDumpped That is an interesting question. The stack is normally restricted in size by the OS, but the OS makes the rules, so I guess it could hypothetically run solely on a very large stack, but it would seem useful to save user process cpu snapshots on the heap external to the stack since you have a dynamic number of processes being generated and terminated.

    • @xOWSLA
      @xOWSLA Місяць тому

      @@CoreDumppedcannot wait to watch!

    • @ltecheroffical
      @ltecheroffical Місяць тому

      @@CoreDumpped I noticed you have a double p in your handle. But it's most likely too late to change it.

    • @SweepAndZone
      @SweepAndZone Місяць тому

      ​@@ltecherofficalyou think he doesn't know that brother 😂😂❤❤

  • @ShinSpiegel
    @ShinSpiegel Місяць тому

    Amazing video, super educational. Thanks for sharing.

  • @Chris-op7yt
    @Chris-op7yt Місяць тому

    would be nice to have a utility to see which cores programs are using and some basic insight into context switching going on. with this knowledge should then be able to direct scheduler for better performance, maximizing cores used and minimizing context switching. Seems that neither windows nor linux give you this kind of control

  • @Cool-Game-Dev
    @Cool-Game-Dev Місяць тому

    Another great video, keep it up! One question tho, how does the GPU play into this!

  • @furkanvural4384
    @furkanvural4384 22 дні тому

    Your explanation is insane .keep going

  • @Czeckie
    @Czeckie Місяць тому

    this is very cool, thanks. Do modern CPUs offer a way for the OS to do this efficiently? The context switch seems incredibly expensive to me.

  • @adityav7020
    @adityav7020 Місяць тому

    Thank you for this video CoreDumped

  • @d4vidyo
    @d4vidyo Місяць тому

    Great Video!
    Now im curious how interrupts work.

  • @ManojKrVerma-vw4dx
    @ManojKrVerma-vw4dx Місяць тому +13

    What app do you use to make these animations ?

    • @Colaholiker
      @Colaholiker Місяць тому

      I was curious about the same

    • @SetKat-Alex
      @SetKat-Alex Місяць тому +6

      From another comment, it's PowerPoint!

    • @Colaholiker
      @Colaholiker Місяць тому +2

      @@SetKat-Alex 🤯! That is amazing. I personally find it (and the entire Microsoft Office product family for that matter) so not user friendly,thst I prefer Libre Office I didn't even know that this is possible in what I always call "the game managers can play at work".

    • @thefanboy3285
      @thefanboy3285 Місяць тому

      @@Colaholiker The MSOffice suite is HELLA powerful ! Unfortunately, it came from a time when UI/UX designers didn't exist yet and because of legacy teachings, the layout can't really adapt to modern principles. So it got just more and more powerful and also more messy. But I can guarantee you, these things are fking powerful. Someone even used Excel as a game engine because it can simulate (albeit a bit slow) 3d renders and 2d renders also.

    • @Colaholiker
      @Colaholiker Місяць тому +1

      @@thefanboy3285 I have to disagree when it comes to UI design.
      My last MSOffice that I used personally was Office 97. Great UI. Menus well thought out and it made sense.
      Than some drunk lobster at Microsoft invented the "ribbons" and things went downhill from there. These things rearrange all the time, you don't find what you are looking for, they are terrible for keyboard-focused users... I don't doubt that the programs are powerful. But they are just terrible to use. And the Windows 10 theme that flattened all control elements, where you can't tell a button from a label, especially in dark mode, made it even worse...

  • @pixelcatcher123
    @pixelcatcher123 27 днів тому

    Its fun looking in all those things with cheat engine u can gather so much Info and over time u learn a bit assembly and stuff i love CE

  • @xiaAi-n1r
    @xiaAi-n1r 14 днів тому

    Very good video! Very good animation! Easy to understand and impressive😻

  • @kamayosh1
    @kamayosh1 Місяць тому

    Thank coredumped, I'm lookin' forward to the Operating System

  • @abdeljalilelmajjodi4954
    @abdeljalilelmajjodi4954 Місяць тому

    Ammazziiiing , Thank you very much

  • @filipniklas
    @filipniklas Місяць тому

    Great video! But doesn't the OS itself also need to be run on the CPU? The context switching must require processing as well, right? How would the whole thing be juggled then?

    • @CoreDumpped
      @CoreDumpped  Місяць тому +2

      I was waiting for this question😄
      I'll cover this soon in an episode. But the short answer is: Hardware support.
      Operating systems have access to Privilege Instructions that User Programs don't.
      The problem can be addressed by:
      Using multiple sets of registers, so when the OS is invoke it uses its own register set to operate, hence not altering the state of the interrupted process.
      Another way can be a Privilege Instruction that copies (in one go) the content of ALL the registers into a specific memory location whenever an interruption is fired.
      These are only two examples, I'm pretty sure there are more ways to do it.

    • @filipniklas
      @filipniklas Місяць тому

      ​@@CoreDumppedappreciate the reply! Yes, this makes sense. I look forward to the episode on this 😃

  • @GeoffryGifari
    @GeoffryGifari Місяць тому +1

    If there are parent and children processes, do all of them share one address space? Can the child process access a memory slot dedicated to the parent process?

    • @SirusStarTV
      @SirusStarTV Місяць тому +1

      They have their own address space, sections that read only like 'code' section and 'read only data' section aren't duplicated in memory.

  • @stof_-6785
    @stof_-6785 Місяць тому

    Please don't stop making videos 🙏🙏

  • @Griffin12536
    @Griffin12536 Місяць тому

    I’d love to know how hyper threading deals with all this. I read that it “exposes” 2 contexts to the core but my understanding just can’t fit the puzzle piece. Shoving another dependency chain into the execution unit is straight forward, but what about the non-general purpose registers? Does each core have 2 PCs and SPs and etc.? Can you context switch one without the other or are they switched out together?

    • @olhoTron
      @olhoTron Місяць тому

      For the operating system they are just 2 independent CPUs with their own set of independent registers
      what really happens inside the physical core.... who knows?

  • @Holsp
    @Holsp Місяць тому +1

    Where is that snapshot stored? In the cache?

  • @promisemichael7556
    @promisemichael7556 Місяць тому

    Thank you very much am grateful

  • @spaghettiking653
    @spaghettiking653 Місяць тому

    Thanks, I just have one question: when the OS starts executing some other program, how does it ever get back out? E.g., if the OS hops into a part of an entirely separate process, and changes the program counter to point to that program instead, how does it regain control and switch back to its own execution?

    • @CoreDumpped
      @CoreDumpped  Місяць тому

      I explained this on my video about concurrency.
      There are two ways:
      -System calls: The process itself calls the OS when requesting some resource.
      -Timer interruptions: Right before allocating the CPU to the "next" process, the OS uses an special instructions to set a hardware timer. The process might still return control to the OS via a system call, but if it doesn't, once the timer expires it will trigger an hardware interruption that makes the CPU jump to the OS executable code.

  • @nicholas_obert
    @nicholas_obert Місяць тому

    Wow, this is one of the best channels about low level stuff

  • @vitobrusnik6953
    @vitobrusnik6953 7 днів тому

    High quality content. Well done.

  • @thisisnotok2100
    @thisisnotok2100 Місяць тому

    Can you do a video about how in process threads split their scheduling? Such as tokio for rust

    • @CoreDumpped
      @CoreDumpped  Місяць тому +1

      Async runtimes like tokio, require implementing a very complex task scheduler, pretty similar to an OS-level CPU scheduler. So I guess my video about CPU-scheduling will answer a lot of questions.
      I've also been thinking on recording a video exclusively about how async-rust works, but is not a priority.

  • @gonzothegreat1317
    @gonzothegreat1317 Місяць тому

    Another great video! Thanks.

  • @oriel-elkabets
    @oriel-elkabets Місяць тому

    I want to like your videos more than once 😅
    Love your content, you are amazing!!!

  • @dasdchen
    @dasdchen 14 днів тому

    WOW! Amazing Work! Amazing explaination! Keep it up! I believe you will grow to a UA-camr with millions of subscriber!

  • @domino2560
    @domino2560 Місяць тому +1

    But where does the operating system run on in the corruption example?

  • @letsgetrusty
    @letsgetrusty Місяць тому

    Peak CS content 🔥

  • @Nathan00at78Uuiu
    @Nathan00at78Uuiu 29 днів тому

    that was really cool showing the linux source code.