Dining Philosophers Solution using Monitors

Поділитися
Вставка
  • Опубліковано 9 вер 2024
  • Operating System: Monitors
    Topics discussed:
    1. A Solution to the Dining Philosophers Problem using Monitors.
    Follow Neso Academy on Instagram: @nesoacademy (bit.ly/2XP63OE)
    Follow me on Instagram: @jaiz_itech (bit.ly/2M3xyOa)
    Contribute: www.nesoacadem...
    Memberships: bit.ly/2U7YSPI
    Books: www.nesoacadem...
    Website ► www.nesoacadem...
    Forum ► forum.nesoacad...
    Facebook ► goo.gl/Nt0PmB
    Twitter ► / nesoacademy
    Music:
    Axol x Alex Skrindo - You [NCS Release]
    #OperatingSystemByNeso #OperatingSystem #ProcessSynchronization #Monitors

КОМЕНТАРІ • 35

  • @Lucy92735
    @Lucy92735 5 місяців тому +1

    Thank you very much, you guys have been our constant support to pass my exams every semester!! Love you Neso Academy

  • @FarmanOfficial777
    @FarmanOfficial777 2 роки тому +10

    you are a lifesaver...in the world of operating system

  • @keshavchander2705
    @keshavchander2705 3 роки тому +12

    You are superb teacher 👍👍👍
    You make me motivated to complete that very big book like galvin 😁😁 ty so much

  • @selviarora3093
    @selviarora3093 Рік тому +1

    Thank you so much for the step by step explanation

  • @sreelakshmik35
    @sreelakshmik35 2 місяці тому

    Thank you. Well explained

  • @vkatasonov
    @vkatasonov 10 місяців тому +1

    Thx for a video. One question: will that solution let us make all of philosophers eat in the correct time? I mean if simultaneously odd and even ones can eat not to die?

  • @sagarguggari2544
    @sagarguggari2544 2 місяці тому

    Watching one day before exam

  • @bhavaniraja5618
    @bhavaniraja5618 Рік тому

    Very clear explanation

  • @nehapol9862
    @nehapol9862 Рік тому

    great explaination

  • @sanathkumar6526
    @sanathkumar6526 Рік тому +2

    Shouldn't putdown(i); come after test(i); in pickup function? Cus in this logic nothing is calling the putdown function

    • @anisksouri6905
      @anisksouri6905 8 місяців тому

      you will use those functions in your main code then you can call each functions however u need

    • @eyepatch8430
      @eyepatch8430 4 місяці тому

      Bro this is pseudo code those are just functions

  • @farahmohamed2104
    @farahmohamed2104 9 місяців тому

    well done

  • @deekshabhat5194
    @deekshabhat5194 11 місяців тому

    thnk u

  • @sukriti9702
    @sukriti9702 3 роки тому +2

    plz complete data structure playlist

  • @viswanadareddyindupuru5831
    @viswanadareddyindupuru5831 2 роки тому

    Nice Explanation Great Work

  • @hamzafeghouli4297
    @hamzafeghouli4297 2 роки тому

    you're awesome

  • @imranimmu4714
    @imranimmu4714 2 роки тому

    awesomme

  • @AnonymousAnonymous-pz8iz
    @AnonymousAnonymous-pz8iz 28 днів тому

    Pls someone explain (i+1%5)

  • @bronwyndrummer8326
    @bronwyndrummer8326 Рік тому

    How does the putdown function work when testing the next left and right philosophers? The test function requires that the current philosopher is hungry but we never got to change the state of that current philosopher to hungry?

    • @bronwyndrummer8326
      @bronwyndrummer8326 Рік тому

      We only got to change the current philosopher's state to hungry in the pickup function, so how can the current philosopher be hungry in the putdown function?

    • @SajidAli-ub6th
      @SajidAli-ub6th Рік тому

      @@bronwyndrummer8326 Let's say we are calling putdown function for philosopher 1; we are setting its state back to thinking. Fine so far?
      Now since it is putting its chopsticks his left and right philosopher can eat now, we are calling test function on them. For ex, when we call test ((i+4)%5), the parameter of the test function is index of right philosopher, not the current one. Is your confusion because we are checking the state of i as hungry in the test function? if yes, please check the basic function concepts. When executing the test function, i is actually the right philosopher's index, not the current one.

    • @bronwyndrummer8326
      @bronwyndrummer8326 Рік тому +1

      ​@@SajidAli-ub6th
      Yes I am a tiny bit confused because let's say Philosopher 1 initially wanted to eat. So his state is set to hungry when he picks up the chopsticks.
      When he is done he will put them down and the putdown function will test the philosopher to the right of him. The test function requires him (the philosopher that was on the right) to be hungry. But in the putdown function did not allow him to change his state to hungry as of yet. That only happens in the pickup function? So to my understanding that test function would evaluate to false for this philosopher because he never got to change his state to hungry yet?

    • @lindadeng3149
      @lindadeng3149 Рік тому

      @@bronwyndrummer8326 I have the same question. Also, I remember philosopher dinner only allows one philosopher to eat at a time, so if we test the left and the right both, will it result both of them can eat together?

  • @iamright5818
    @iamright5818 2 роки тому

    When will be putdown function called?

  • @iennguyenphuong7687
    @iennguyenphuong7687 2 роки тому

    I have main function

  • @ScantaniouslyCombust
    @ScantaniouslyCombust 2 роки тому

    The code makes sense, but I don't understand how and where initialization-code is run or the monitor is accessed?

    • @fritz6600
      @fritz6600 2 роки тому +1

      Whenever a process (philosopher) wants to eat they would call the two functions (pickup and put down).

    • @physicslover6840
      @physicslover6840 2 роки тому

      Initially assume all are hungry then it start clearly what code will do

  • @surajsuryawanshi7835
    @surajsuryawanshi7835 2 роки тому +3

    6.33
    test function{
    if( i==1 )
    state[(i+4)]!=eating) and state[(i+1)%5]!=eating
    else if(i==4)
    state[(i+4)%5]!=eating) and state[(i+1)]!=eating
    else
    state[(i+4)%5]!=eating) and state[(i+1)%5]!=eating
    }

    • @L3Moody
      @L3Moody Рік тому +3

      you have to remember that in an array, the first variable in the array is considered item 0 rather than item 1. meaning the array would have [0, 1, 2, 3, 4] therefor, the original solution is actually correct.

    • @jatinkumar6748
      @jatinkumar6748 Рік тому

      This code is actually saying that only philosopher with i=1 can eat except other philosopher 0,2,3,4😂😂😂

  • @swarajya.55
    @swarajya.55 3 роки тому +1

    First!