Intro to Processes & Threads

Поделиться
HTML-код
  • Опубликовано: 29 дек 2024

Комментарии • 161

  • @andriymit7401
    @andriymit7401 7 лет назад +74

    Clear, concise, illustrated, well explained and done in a nice English! Thank you so much Dave!

    • @bro_chenzox
      @bro_chenzox 4 года назад +2

      Yes it is made for humans - Thank you for your leisurely and detailed style, Dave!

    • @alonhillel-tuch6560
      @alonhillel-tuch6560 4 года назад +1

      What is a "not nice English"? To avoid misinterpretation of your comment, for me, it's folks using abbreviations when trying to explain to students (missing the point).

    • @abstractapproach634
      @abstractapproach634 3 года назад

      @@alonhillel-tuch6560 if you want know what "not nice english" is your checking the right places.
      Normally the only thing more toxic than a RUclips comment section is the "professionals" on stack exchange!
      However these comments seem quite respectful, check out a linus comment section for some great examples.

  • @Frankiemiboy
    @Frankiemiboy Месяц назад

    7 years down the line, and this has helped me understand the difference between these two concepts. Thank you so much!

  • @Emir-xq7jt
    @Emir-xq7jt 2 года назад +1

    Finally someone "explained" rather than "re-read" from pre-made text. Thanks a lot!

  • @ruixue6955
    @ruixue6955 7 лет назад +39

    0:39 a simple program
    0:55 every step of a program corresponds to an instruction 1:04 each instuction corresponds to binary code
    4:50 thread
    5:28 think of this as a unit of execution
    6:56 scheduler of operating system
    8:11 time slice
    11:09 proces
    12:42 today's CPU
    13:06 hyper threading
    14:10 multi-core
    14:38 multi-CPU (the best solution)
    15:11 summary

  • @srikanth_y
    @srikanth_y 3 года назад +1

    I've watched a lot of videos on this topic and none of them made sense to me except this one. Thank you.

  • @joshfoster3959
    @joshfoster3959 5 лет назад +8

    Great Lecture! I really wish my professors at my university would teach like this. Very clear, concise, and not too fast... really like the pace of your teaching style. Thanks!

  • @CarlitoProductions
    @CarlitoProductions 7 лет назад +1

    This is what I needed. My teacher can't explain, and this has the been the clearest explanation I found on RUclips so far

  • @B-Billy
    @B-Billy Год назад

    The best explanation over the whole internet!! Thank you

  • @patc9191
    @patc9191 4 года назад +1

    I wish I could give you multiple likes. Excellent, orderly, impacting lecture. Thank you.

  • @anuj.sharma13
    @anuj.sharma13 4 месяца назад

    Explained in a very beautiful way, it was so easy to grasp this concept through your explanation. It is well illustrated. Thank you

  • @_romeopeter
    @_romeopeter 4 года назад +2

    This explanation was a bit broad and clear compared to the other videos I’ve seen. Exactly what I needed. Thanks

  • @abbasramees4238
    @abbasramees4238 2 года назад

    I have been looking for this kind of explanation, and finally got it. everyone is explaining threads with jargon terms.

  • @voltaralcala9021
    @voltaralcala9021 5 лет назад +1

    My teachers call me stupid because I question them and they can't answer. And try to shut students up they go like do the research yourself. I am glad after three days wasting with them and on research, I finally found your channel and finally got my answer with examples. Thank you, good sir, great explanation.

    • @davecrabbe4579
      @davecrabbe4579  4 года назад

      grin.. I'll bet they don't call you stupid..

  • @shanegrayson7068
    @shanegrayson7068 6 лет назад +1

    Slowly explaining and with relevant example. This is perfect.

  • @rahulshekhary9420
    @rahulshekhary9420 2 года назад

    Best explanation in you tube on Processes & Threads..............super subscribed:)

  • @nicoleanne967
    @nicoleanne967 6 лет назад +2

    THANK YOU VERY MUCH FOR BEING SO DETAILED AND CONCISE!! PLEASE KEEP UP THE GOOD WORK! YOU'VE HELPED ME SO MUCH!!

  • @repairspots
    @repairspots Год назад

    Awesome video explanation. Thanks for sharing your knowledge

  • @dannggg
    @dannggg 3 года назад

    i finally understood it. tired of all these professors with slides that doesn't explain crap. Thank mr. crabbe!

  • @konarkmodi3799
    @konarkmodi3799 6 лет назад +1

    Far best explaination with beautiful overview to internal relation of threads with the operating system. Schedular, time slice, round Robin, queue, locking.. Tysm.. For this video🤗😊

  • @hellosonymoto
    @hellosonymoto 2 года назад

    Nice content and great teaching skills. Thanks so much.

  • @ravikumarprasad8772
    @ravikumarprasad8772 4 года назад +2

    Very simple and elaborate explanation, Thank you Dave :)

  • @mariopichardo376
    @mariopichardo376 7 лет назад +5

    This was excellent, thank you so much. Very concise and well explained.

  • @Victor-cg4hx
    @Victor-cg4hx 2 года назад

    It is an amazing video that helps me to clearly understand the relationship, thanks a lot !

  • @vinhtruonghuynh7968
    @vinhtruonghuynh7968 5 лет назад +1

    A very informative lecture for a brief introduction about the basic concepts of processes and threads.
    Thank you a lot.

  • @user-tw4kt8du9t
    @user-tw4kt8du9t 3 года назад +1

    This was incredibly clear!

  • @JC-cu2ym
    @JC-cu2ym 4 года назад +1

    Thankyou so much for your explanation!!!! I was having a bit of a hard time connecting all of the new concepts I had just learnt but you made it so much easier and explained precisely in a short time. :D

  • @youssefsabbagh4341
    @youssefsabbagh4341 3 года назад

    It can't get any better than that !! Great explanation

  • @daleashman434
    @daleashman434 5 лет назад

    Thank you very much, subscribed to this hidden gem for teaching you basics of computer systems!

  • @praveenbs8146
    @praveenbs8146 3 года назад

    very helpful video , amazing

  • @mahmoudsalhab3007
    @mahmoudsalhab3007 4 года назад

    well explained, looking forward for more videos, Thank You :)

  • @imedt4385
    @imedt4385 4 года назад

    clear rich contents well explained.

    • @techbbas
      @techbbas 4 года назад

      if you need c++ easy coding then visit my channel. and also subscribe plz
      ruclips.net/channel/UC1LJDu2koq9y146MUH8prAg

  • @datafluids6654
    @datafluids6654 5 лет назад +1

    The example cited is not of multi threading but of multi processing. Word and Excel are two separate programs and therefore spawn separate processes each with their own process ID. It would be multi threading only if its the same program and they share the same memory address space.

    • @davecrabbe4579
      @davecrabbe4579  5 лет назад +1

      Absolutely.. I am explaining a bunch of concepts here. First the idea of the scheduler controlling a thread's access to the CPU. So my first example between Word and Excel is multi-processing. But to the scheduler it is just arbitrating between 2 threads. At about 11:40, I show multi-threading in a Word application by describing one thread that handles keyboard input and one thread that handles printing. Both from the Word application. To the scheduler, it is just 2 threads. So there are multiple threads vying for the CPUs execution engine all the time. Sometimes the threads come from one application (called a multi-threaded app) and sometimes the threads come from different apps (or processes), and this is multi-processing (loosely referred to as multi-tasking).

    • @datafluids6654
      @datafluids6654 5 лет назад +1

      @@davecrabbe4579 Ok great, I got it now. Thanks Dave for the video and the detailed reply, its really appreciated.

  • @aaronw6485
    @aaronw6485 4 года назад

    Fantastic explanation, keep up the great content Dave!

  • @pratim995
    @pratim995 Год назад

    Very well explained. Thanks

  • @AvinashSingh-bk8kg
    @AvinashSingh-bk8kg 5 лет назад +3

    Video Published on 1st May 2017.
    Me Watching it on 1st May 2019
    A great Co-incidence and exposure to a fantastic tutorial.
    Thanks Mr. DAVE.

  • @serinagrill3607
    @serinagrill3607 2 года назад

    Well-explained, thanks so much!

  • @alonfriling301
    @alonfriling301 Год назад

    Great introduction to Threads and multiThreading

  • @laughingalien
    @laughingalien 7 лет назад

    Brilliantly explained, Dave.

  • @Sulerhy
    @Sulerhy 2 месяца назад

    This is absolutely the best explaination. I studied 4 years in university and still can't understand it

  • @leegaines2391
    @leegaines2391 6 лет назад +1

    Thank you so much for sharing this. This filled some gaps in my knowledge.

  • @romannagel2414
    @romannagel2414 5 лет назад +1

    Excellent explanation!!!

  • @shindurireddy3469
    @shindurireddy3469 6 лет назад +1

    Very well explained... enjoyed learning!

    • @techbbas
      @techbbas 4 года назад

      if you need c++ easy coding then visit my channel. and also subscribe plz
      ruclips.net/channel/UC1LJDu2koq9y146MUH8prAg

  • @minirasamedova648
    @minirasamedova648 3 года назад

    Great explanation, thank you so much!!!

  • @whatdoyousay4236
    @whatdoyousay4236 5 лет назад

    Concise and practical! Brilliant. Thank you!

  • @pnamgay1477
    @pnamgay1477 7 лет назад

    Wonderful tutorial on Process and Thread. Thank you!

  • @SzTz100
    @SzTz100 3 года назад

    Nice job explaining this so clearly

  • @tusharsharma6715
    @tusharsharma6715 2 месяца назад

    excellent explanation sir!

  • @DanielSColao
    @DanielSColao 3 года назад

    Great lecture! Well explained

  • @lihaozhang6611
    @lihaozhang6611 4 года назад

    Excellent Video, Really Help me a lot

    • @techbbas
      @techbbas 4 года назад

      if you need c++ easy coding then visit my channel. and also subscribe plz
      ruclips.net/channel/UC1LJDu2koq9y146MUH8prAg

  • @imperialguardsman3154
    @imperialguardsman3154 2 года назад

    Thank you for great explanation :)

  • @prathameshkaole8683
    @prathameshkaole8683 2 года назад +1

    Tom cruise giving a great explanation !

  • @pujithag9485
    @pujithag9485 4 года назад

    Amazing sir !!! Thanks a lot !

  • @StephenChapman
    @StephenChapman 7 лет назад

    Thanks for your effort with these videos, Dave! This one really helped me shore up some loose ends on the topic. Looking forward to more!

    • @techbbas
      @techbbas 4 года назад

      if you need c++ easy coding then visit my channel. and also subscribe plz
      ruclips.net/channel/UC1LJDu2koq9y146MUH8prAg

    • @StephenChapman
      @StephenChapman 4 года назад

      Just FYI: Spamming comments like this will actually hurt your channel and ranking, so you should reconsider that as a strategy to grow your channel.

  • @orimahn3523
    @orimahn3523 7 лет назад

    WOW!!! Thank you so much for such a clear explanation!!!

    • @techbbas
      @techbbas 4 года назад

      if you need c++ easy coding then visit my channel. and also subscribe plz
      ruclips.net/channel/UC1LJDu2koq9y146MUH8prAg

  • @footballCartoon91
    @footballCartoon91 4 года назад

    @8:07
    I have one question..
    If an operating system controls the thread of a program other than operating system thread itself(because os too is a program)..
    Then, what program controls OS?
    Then the questions keep going..
    Hmm..

    • @davecrabbe4579
      @davecrabbe4579  4 года назад +1

      You’d have to delve into OS design to really answer. But the OS is the first software thread that gets executed from reboot. Nothing controls it. I’m guessing that the way the Interrupt structure works permits the OS to regain control after application threads get some CPU time.

    • @footballCartoon91
      @footballCartoon91 4 года назад

      @@davecrabbe4579
      How about system BIOS/UEFI ?
      Aren't they are the first program that boots when a computer is started..
      If that's the case..
      they too have thread right?
      I.e requires CPU..
      Does OS control system BIOS too?

    • @davecrabbe4579
      @davecrabbe4579  4 года назад

      @@footballCartoon91 The UEFI is more complicated than the BIOS software as CPUs became more complex as time went on and more security features were needed. Yes, the "boot strap code" (which is BIOS/UEFI) prepares the hardware by loading drivers for the hard disk/SSD so that it can retrieve the OS software. (It also does much, much more). The basic job of the UEFI is to load the OS and provide some "secure boot" features.. so the system can't be hacked or hijacked on booting up. The details are complex, but basically the BIOS loads the OS and then the BIOS is exited. Think of the BIOS loading the OS and then "jumping" into the code of the OS. From this point the BIOS code is not really executed. (a simplified version).

  • @zuzukouzina-original
    @zuzukouzina-original 6 лет назад

    Really good and clearly explained. Thnx!

  • @etbilu6265
    @etbilu6265 6 лет назад

    thanks for the explanation, Dave! greetings from Brazil.in 5:54 , i have a question:thread is a full sequence of the instructions of process or a small group the instructions of process (6a,2b,8f,3c in the example)?

    • @davecrabbe4579
      @davecrabbe4579  6 лет назад +1

      a thread is the complete set of instructions that complete some sub-task for the process. For instance, when the user hits PRINT in a word processing program. A 'thread is spawned", meaning a set of instructions that contain all the code to do the printing function are generated and sent into the queue to be executed by the CPU.

    • @etbilu6265
      @etbilu6265 6 лет назад

      Thank you, I couldn’t have done it without you

  • @johndocherty2349
    @johndocherty2349 5 лет назад

    This helped tremendously. Thanks.

  • @snehamayroy339
    @snehamayroy339 Год назад +1

    Thanks a lot sir

  • @pratikkhairnar8037
    @pratikkhairnar8037 3 года назад

    thank u for such a knowledgeable lecture

  • @リンゴ酢-b8g
    @リンゴ酢-b8g 2 года назад

    When we talk about multithread programming, it means that the application process(es) can have several running threads. When we have multiple threads, the process can answer multiple concurrent requests. There is a catch in this programming paradigm though; the running application can only benefit if it is using more than one processor core, otherwise it will be as if it were a single process.

    • @davecrabbe4579
      @davecrabbe4579  2 года назад

      yes.. but for desktop OSes, they all can access multiple cores on today's CPUs.

  • @chaitanyajharbadem-1740
    @chaitanyajharbadem-1740 3 года назад +1

    One thing confuses me if OS is an program that means it is going to use cpu and we know our cpu can handle one process at a time so is that means excution of OS is halted when we use other applications

    • @davecrabbe4579
      @davecrabbe4579  3 года назад +1

      Yes.. that is true.. but the OS executes for 1ms, then your program for 1milli-second, then the OS, then the program so it *appears* as if both are working full time.

    • @chaitanyajharbadem-1740
      @chaitanyajharbadem-1740 3 года назад

      @@davecrabbe4579 oh and correct me if I am wrong, when we close a window the excution of os restart right thanks man good video ❤

  • @abstractapproach634
    @abstractapproach634 3 года назад

    My other post was a joke,but *I actually have a question* after watching your next video (where comments are turned off)
    *Does this mean I have no way to tell my 32 core 64 thread threadripper 3970x which core/thread to use?*
    I want control of my system, and I'm starting to feel like I'm going to need hardware modifications. *Is there a way* via prioritizing cleverly *to* truly *control what information goes to thread `a' on core `x'* ? or am I stuck outside, having to trust this "scheduler" to decide what part of my code can be done in parallel when and in the optimal way considering each cores silicone lottery and proximity. That's a lot of trust,
    AMD is supposedly all about open source. There must be a way to gain full control.

    • @davecrabbe4579
      @davecrabbe4579  3 года назад

      The scheduler chooses the highest priority thread.. The best you can do is to write your own software and set a thread priority to be very high. Even then, you likely have some limits.. as the scheduler will need to run OS maintenance threads before app threads.

    • @abstractapproach634
      @abstractapproach634 3 года назад

      @@davecrabbe4579 that sucks, I'm determined to learn machine code then.
      Send it the voltages where they need to be to make what I want happen if need be.
      First for my system, them for others. I'n sure there will be patterns that emerge eventually. More of a daunting task then I realized, maybe even a lifes work.......

  • @matheusmansourelbatti7716
    @matheusmansourelbatti7716 3 года назад

    Thank you, Dave! I think you couldn´t possibly have explained it better. I was struggling with these concepts before but they are now clear. Subscribed!

  • @giddy222
    @giddy222 6 лет назад

    thank you very much. The explanations are precise and simple

    • @techbbas
      @techbbas 4 года назад

      if you need c++ easy coding then visit my channel. and also subscribe plz
      ruclips.net/channel/UC1LJDu2koq9y146MUH8prAg

  • @sunnykumar4780
    @sunnykumar4780 5 лет назад

    thank you sir for explaining it so nicely...

  • @LuaneCarolineAquinoCavalcanti
    @LuaneCarolineAquinoCavalcanti 4 года назад

    Thanks, It is a very clear explanation

    • @techbbas
      @techbbas 4 года назад

      if you need c++ easy coding then visit my channel. and also subscribe plz
      ruclips.net/channel/UC1LJDu2koq9y146MUH8prAg

  • @rajcodes100
    @rajcodes100 6 лет назад

    Thanks sir for explaining this concept in such a simple way.

  • @Creeping66
    @Creeping66 5 лет назад

    Many many thanks for the explanation!

  • @derekdj6790
    @derekdj6790 6 лет назад

    Phenomenal explanation

  • @kaoengine
    @kaoengine 6 лет назад

    tks sir, your explanation more understandable than my professor

  • @brunoloverius5777
    @brunoloverius5777 5 лет назад

    Hey Dave, thank you verry much!
    cheers from belgium! :)

  • @thedhanjit
    @thedhanjit 7 лет назад

    brilliant explanation.....thank you ...so much ...

  • @partha95123
    @partha95123 7 лет назад

    Very good video tutorial!! Thank you Sir :)

    • @techbbas
      @techbbas 4 года назад

      if you need c++ easy coding then visit my channel. and also subscribe plz
      ruclips.net/channel/UC1LJDu2koq9y146MUH8prAg

  • @lycorice2219
    @lycorice2219 2 года назад

    ah I wish you were my professor. You explain it sooo much better - I'd probably enjoy the class more if you were my prof instead T---T

  • @ashraffayad
    @ashraffayad 7 лет назад

    That was very useful. Thank you.

  • @siva.1334
    @siva.1334 2 года назад

    very imformative.thanks.

  • @thejkeenan21
    @thejkeenan21 4 года назад

    great tutorial

  • @GerardoMares
    @GerardoMares 5 лет назад

    Great video!

  • @jujijiju6929
    @jujijiju6929 3 года назад +1

    Where is this school of applied arts and new media?

    • @davecrabbe4579
      @davecrabbe4579  3 года назад

      It has changed its name now.. It is the IT section of the Nova Scotia Community College in Halifax, NS, Canada

    • @jujijiju6929
      @jujijiju6929 3 года назад

      @@davecrabbe4579 Thanks for replying

  • @andresao
    @andresao 4 года назад

    I think this is a great explanation of Process vs Threads, but it is just a bit confusing when talks indifferently about threads ex. and processes ex.

  • @samyakjain9367
    @samyakjain9367 3 года назад

    Thanks a LOT sir.!

  • @hangchen6131
    @hangchen6131 7 лет назад

    Can one program have more than one process? Can a thread still include other threads? Thanks.

    • @davecrabbe4579
      @davecrabbe4579  7 лет назад +2

      By definition, a process and a program tend to be synonymous. A thread is a single unit of execution. In my explanation here, only a process can spawn a thread. Software development evolves constantly and since I am not an active software developer, this is not designed to keep current with new technologies. This video is designed to explain the fundamental concepts of how an Operating System handles multi-tasking. The advanced details of threads and processes are much more complex.

    • @hangchen6131
      @hangchen6131 7 лет назад

      Oh okay I got it now. Thank you very much for your reply sir! Your video is great in explaining how processes and threads work in terms of OS and hardware layers. I will check out your other videos too :)

  • @ccjx_space
    @ccjx_space 2 года назад

    Thank you! 👏

  • @jammin004
    @jammin004 5 лет назад

    very nice Sir

  • @vijaydosth4339
    @vijaydosth4339 5 лет назад

    well explained.

  • @imcnx1563
    @imcnx1563 5 лет назад

    Are you sure about the priority! 10 is prior in front of 0? It’s the reverse in my mind

    • @davecrabbe4579
      @davecrabbe4579  5 лет назад

      I am not sure what you mean or the question you are asking. In my video I used the example of a thread with a priority of 10 and one with priority of 2. The 10 is the higher priority thread and gets executed first.. I could not find a 0 priority thread..

  • @moazelsawaf2000
    @moazelsawaf2000 5 лет назад +1

    Thanks sir ❤️

  • @alexrosellverges8345
    @alexrosellverges8345 6 лет назад

    Thank you very much, really good video! Now, I'd like to ask whether you could recommend me some book to learn a bit more in-depth all this knoledge you explain, maybe some books you liked would be great. Thanks again!

    • @davecrabbe4579
      @davecrabbe4579  6 лет назад

      This field changes rapidly. We don't tend to use many texts at my College and so I am unsure what the current books on the topic might be.

    • @alexrosellverges8345
      @alexrosellverges8345 6 лет назад

      Dave Crabbe okay, thanks anyway!

  • @brettvanderwerff3158
    @brettvanderwerff3158 6 лет назад

    This was really good

  • @genlucero2974
    @genlucero2974 5 лет назад

    Nice tutorial!

  • @shivanshutiwari8452
    @shivanshutiwari8452 6 лет назад

    Nice Explanation .. :)

  • @SOCnoob
    @SOCnoob 3 года назад

    which is better: 8c,8t or 4c,8t

    • @davecrabbe4579
      @davecrabbe4579  3 года назад +1

      1 thread per core is always better than using a single core (hyper-threaded) to process 2 threads.. so 8c,8t. You see this now in graphic processors which have many cores.. and even in Apple’s new M1 cpu

    • @SOCnoob
      @SOCnoob 3 года назад

      @@davecrabbe4579 Thanks ♥️

  • @CartmanBrah
    @CartmanBrah 7 лет назад

    Great video Dave, if only my lecturer was as articulate !

  • @jonassteinberg3779
    @jonassteinberg3779 7 лет назад

    a nice intro to threads from the cpu's perspective.

  • @muradheyderov
    @muradheyderov 5 лет назад

    Great, Thanks

  • @sharrehabibi
    @sharrehabibi 11 месяцев назад

    Great!

  • @estatedealzru
    @estatedealzru 7 лет назад

    Awesome) thank you very much

  • @vlad981
    @vlad981 7 лет назад

    Thanks! very useful!

  • @xyz8869
    @xyz8869 5 лет назад

    BEST EVER!!