No video

Dining Philosophers Problem with Solution

  Рет қаралды 78,553

Gary Explains

Gary Explains

Күн бұрын

Пікірлер: 119
@NotQuiteFirst
@NotQuiteFirst 6 жыл бұрын
Good explanation... except that it was illustrated with pizzas which require 0 forks to eat lol
@GaryExplains
@GaryExplains 6 жыл бұрын
LOL
@evanskeletsophuswane2039
@evanskeletsophuswane2039 5 жыл бұрын
hahaha
@berni2905
@berni2905 4 жыл бұрын
And if you decide to use a fork nevertheless, you still need a knife.
@Amy-tw3zh
@Amy-tw3zh 4 жыл бұрын
Unless you're Italian!
@FreakingRockstar101
@FreakingRockstar101 4 жыл бұрын
The original is bowl of noodles and chopsticks lol...I was thinking the same thing...this problem makes no sense in reality
@nimrodlevy
@nimrodlevy 6 жыл бұрын
Lol my professor tried to explain that for 40 minutes and couldnt... In 8 min youve done a much better job! Many many thanks!
@christinboicourt9053
@christinboicourt9053 3 жыл бұрын
For real!
@jazz4398
@jazz4398 2 жыл бұрын
My professors sucked too
@t_rm2119
@t_rm2119 2 жыл бұрын
mine didn't even try explaining lol just showed the code and told us to it by ourselves
@aymanmakhoukhi3591
@aymanmakhoukhi3591 Жыл бұрын
my professor tried to do so for 2 hours and now I'm here trying to understand. thank you sir! that was crystal clear
@Maksum1ua
@Maksum1ua 5 жыл бұрын
3 lectures x 1.5 hour = your 8-minute video. Thank you!
@Soumyadip_Pal
@Soumyadip_Pal 6 жыл бұрын
I was literally learning "Dining Philosopher's Problem" for my upcoming semester until I saw this notification!! You literally read my mind, professor....
@notaekbitcoin6314
@notaekbitcoin6314 6 жыл бұрын
Soumyadip Pal lol
@ummm74
@ummm74 5 ай бұрын
@@notaekbitcoin6314
@Mooooooof
@Mooooooof 6 жыл бұрын
I’ve covered this recently on my course but you’re still a godsend to anyone who studies CS or has an interest in it. I’m glad you have your own channel, had been saying it for a long time on android authority
@fuzz33594
@fuzz33594 6 жыл бұрын
Professor Sims - another excellent explanation and whilst I am tempted to continue heaping praise on you I find myself overwhelmed with a desire to eat.
@GaryExplains
@GaryExplains 6 жыл бұрын
LOL. Pizza to go!
@niharikapatil902
@niharikapatil902 5 жыл бұрын
loved how you started the video right to the point ! Your computer is already running multiple processes at the same time. Loved it! catches attention and you immediately start to think!
@ToPFeE1234
@ToPFeE1234 3 жыл бұрын
I just learning this problem in class, you really help me, bro.
@tomjosi742
@tomjosi742 6 жыл бұрын
Wow, you really just made it so easy. So easy to follow you and loved your way of explaining your ideas easily and in short time. Thumbs up professor.
@ilhemwalker9145
@ilhemwalker9145 2 жыл бұрын
exactlyy he's awesome
@adamking1330
@adamking1330 2 жыл бұрын
Got an exam on this in 11 minutes. Never understood it until now. Cheers!
@katierobinson5464
@katierobinson5464 5 жыл бұрын
Thanks for making a couple of the philosophers women! I noticed and appreciated it lol
@sandralloyd3754
@sandralloyd3754 3 жыл бұрын
Agreed! Just a small gesture like including diverse faces in an example goes a long way to help underrepresented folks feel welcome! Thank you, @Gary Explains !
@1MarkKeller
@1MarkKeller 6 жыл бұрын
*GARY!!!* *Good Afternoon Professor!!!* Still at work ... Sigh!
@GaryExplains
@GaryExplains 6 жыл бұрын
MARK!!! Stay strong! :-)
@Rajorsi
@Rajorsi 6 жыл бұрын
Too late!! My OS exam was a week ago. lol
@michaeloffordum6438
@michaeloffordum6438 2 жыл бұрын
This really helped me a lot cause we are currently at this problem in one of my courses this semester. Thanks a lot 👍
@napalm5
@napalm5 2 жыл бұрын
You explained this really well, great presentation
@TMNIARB3A
@TMNIARB3A 2 ай бұрын
great explanation sir... thank you sm!
@rpsgrayfox
@rpsgrayfox 6 жыл бұрын
Thanks Gary! It's a very good visualization of some of the complex systems cpus have to work with. I now understand a little better what modifying the cpu scheduler on a custom kernel does in Android 😊
@Jurkox26
@Jurkox26 2 жыл бұрын
It's actually a task for OS.
@DavidDeLuge
@DavidDeLuge 6 жыл бұрын
Nicely explained. Love this channel!
@reggiebush49
@reggiebush49 5 жыл бұрын
How did this guy just explain in 8 minutes what my Operating Systems professor has been trying to explain for weeks?
@SamiurRahmanTonmoy
@SamiurRahmanTonmoy 6 жыл бұрын
Heard about it somewhere a long time ago but didn't know it has a fancy title... Good one!
@BatoulQ0182
@BatoulQ0182 4 жыл бұрын
omg whyy did I see this just now, I was trying to understand it for a month, and here I am understanding it in 8 mins ahahaha. thank you Garyyyy
@GaryExplains
@GaryExplains 4 жыл бұрын
Glad it helped!
@BatoulQ0182
@BatoulQ0182 4 жыл бұрын
Gary Explains 👌🏼👌🏼
@bennyabramovici6718
@bennyabramovici6718 4 жыл бұрын
If I may add about what atomic means:As the ancient Greeks believed that atoms are fundamental building blocks and can not be further broken into smaller components. In Computer science, Atomic operation must be completed from start till finish. For example if the locking operation is 5 lines of code then they must all be completed from start till finish. there my be no interups accepted, context switching by the scheduler or anything till the whole thing is complete. Thats why atomic operations have to be very short.
@gakwayadavid1558
@gakwayadavid1558 6 жыл бұрын
Well Explained!
@khurshidernazarov809
@khurshidernazarov809 3 жыл бұрын
Thank you very much, this is a really nice way to explain threads and concurrent processes.
@uttamchandra9726
@uttamchandra9726 6 жыл бұрын
Good evening again professor...
@GaryExplains
@GaryExplains 6 жыл бұрын
Two uploads today!!! :-)
@uttamchandra9726
@uttamchandra9726 6 жыл бұрын
Ya I know, already watched that sir!!!
@golsaemdadi
@golsaemdadi 6 жыл бұрын
Very clear and good description, Thank YOu
@ChinmayBS
@ChinmayBS 3 жыл бұрын
Thank you good explanation
@Ryuseigan
@Ryuseigan 6 жыл бұрын
Nicely explained Thanks for explaining deadlock
@blessinggandi3762
@blessinggandi3762 Жыл бұрын
Perfect explanation thank you....very helpful
@RotroBreakteve
@RotroBreakteve 5 жыл бұрын
Thanks for explaining this Gary :)
@INT_MAX
@INT_MAX 6 жыл бұрын
Great explanation, but I've never seen someone eat a meal with two forks. Seen plenty of people eat a meal with two chopsticks, however, I've never seen someone eat a meal with one chopstick. Maybe chopsticks are more appropriate for this illustration?
@GaryExplains
@GaryExplains 6 жыл бұрын
LOL. I have never met a group of philosophers who when dining didn't have enough cutlery in the first place! I don't think the type of cutlery used is really the issue here!
@niloofar156
@niloofar156 5 жыл бұрын
Very clear, very helpful, thank you 🌹🌹
@indranilbhattacharji
@indranilbhattacharji 6 жыл бұрын
Loved it sir!!
@Mr12Rishabh
@Mr12Rishabh 6 жыл бұрын
i am studying engineering , and tomorrow i have an exam of Operating Systems. The timing of this video is lovely
@aboodsaymeh13
@aboodsaymeh13 6 жыл бұрын
I didn't know there was something called "dining philosophers problem" so I literally thought you were going to talk about dining philosophers...
@GaryExplains
@GaryExplains 6 жыл бұрын
LOL
@MeenuMathew
@MeenuMathew 5 жыл бұрын
Really helpful ...You explained it in excellent way...Thank You So much...
@bs5am
@bs5am 2 жыл бұрын
Gary, I love you!
@oykuercin7987
@oykuercin7987 5 жыл бұрын
Perfect explanation, thanks :)
@zeynepsedabirinci1409
@zeynepsedabirinci1409 5 жыл бұрын
kind comment öykü, I wish you a good luck in midterm
@oykuercin7987
@oykuercin7987 5 жыл бұрын
@@zeynepsedabirinci1409 hahahahhahahahahha you too
@alenkruth
@alenkruth 6 жыл бұрын
Nice explainations sir!
@venkataravieluri9625
@venkataravieluri9625 6 жыл бұрын
Very nicely explained and informative.
@katherinelee5247
@katherinelee5247 5 жыл бұрын
Really thanks for your explanation. Love it so muchhh. Hope you can do more videos about cs.
@aishahrosdee6169
@aishahrosdee6169 3 жыл бұрын
thank you Gary this helps a lot!!
@ZamanSiddiqui
@ZamanSiddiqui 6 жыл бұрын
*GARY!* *Good evening, Professor!*
@GaryExplains
@GaryExplains 6 жыл бұрын
ZAMAN!!!
@ameydatar8078
@ameydatar8078 6 жыл бұрын
Very nicely explained👍🏻 big thums up. Also can you please continue with your Python tutorials? Along with these OS concepts
@AnshumanKumar007
@AnshumanKumar007 6 жыл бұрын
Part of my syllabus this sem :)
@DavidGarcia-pm4qj
@DavidGarcia-pm4qj 5 жыл бұрын
You have described the request as a polling mechanism but it’s more of a queuing mechanism handled by the scheduler isn’t it? Maybe the waiter should write down the request.
@GaryExplains
@GaryExplains 5 жыл бұрын
In which part am I describing as a polling mechanism, in the description of the problem or the solution? If it is the former, then that is the whole point there is no scheduler nor is there a queue. Such things form part of possible solutions.
@DavidGarcia-pm4qj
@DavidGarcia-pm4qj 5 жыл бұрын
Gary Explains True. This is a great explanation either way.
@sirishtadepalli4363
@sirishtadepalli4363 8 ай бұрын
Thank you.
@rubencristobal655
@rubencristobal655 5 жыл бұрын
Great explanation, thanks
@MrGyges
@MrGyges 6 жыл бұрын
Thanks Gary, excellent stuff. Er, I’m on a diet, so eggheads, eat away
@natikrak
@natikrak 4 жыл бұрын
Thank you, thank you very much! You explained it very good! English is not my native language. It would be great if you could add some key words (few titles of your speech) so it would be easier:) have a nice day!
@fazalkhan8515
@fazalkhan8515 3 жыл бұрын
Love u..grt explanation
@danicruz226
@danicruz226 Жыл бұрын
My question is, how does the waiter knows who is eating or not
@haoz5259
@haoz5259 6 жыл бұрын
like! Professor, could u please explain how the I/O channel and DMA works??
@jakweed
@jakweed 10 ай бұрын
This was great
@tomkruger9869
@tomkruger9869 5 жыл бұрын
Thank you !
@Pages_Perfected
@Pages_Perfected 2 жыл бұрын
ty
@RahulAgarwal97
@RahulAgarwal97 6 жыл бұрын
Sir, you have presented a simple solution for beginners. But in real life system the requests are random and concurrent. How would the 'waiter' here deal with random requests? Also u have provided a solution that is not starvation free as the philosopher lets down the fork is he doesn't get the second one. In a real world situation, there might be a very resource hungry process that might run for a long time. In such a scenario the other process or philosopher might starve to death. Is there a concurrent solution without essentially using locks? (Maybe using semaphores or monitors). I know this is way beyond the limits of youtube and the type of videos you do, but would be great if you coukd answer or refer me to some place where i can find answer. ( I have a course on Parallel and Concurrent programming running)
@GaryExplains
@GaryExplains 6 жыл бұрын
It doesn't matter if the requests are random and concurrent. I was presenting the requests in order to demonstrate what would happen, but the principle is still the same. As for resource hungry processes that is beyond the scope of the Dining Philosophers illustration, as here the main point is how to avoid deadlock. Having said that I did hint at the problem of the 5th philosopher not getting a shot at asking for the forks. There are various different solutions to this, one of which is to assign the requests for forks with a priority. Dijkstra suggested a solution that doesn't use locks called the "Resource hierarchy solution."
@vinayaktyagi8773
@vinayaktyagi8773 3 жыл бұрын
This process contradict with google docs and Github where multiple user can edit it simultaneously. Can u plzzz how these process works ???
@GaryExplains
@GaryExplains 3 жыл бұрын
No, contradiction. They are two different problems. You don't need to exclusively lock a document.
@sergiip619
@sergiip619 5 жыл бұрын
good explanation, interesting problem. but eating from the same fork is kinda gross
@venkataravieluri9625
@venkataravieluri9625 6 жыл бұрын
Any you make videos on semaphores and mutex.
@gk26071983
@gk26071983 6 жыл бұрын
impressive
@biggywan9765
@biggywan9765 3 жыл бұрын
Dude I came here to see what philosophers ate at dinner
@malgailany
@malgailany 6 жыл бұрын
This locking mechanism looks similar to semaphore in RTOS.
@GaryExplains
@GaryExplains 6 жыл бұрын
Yes that is right, there are different types of locks including mutexes, semaphores and critical sections.
@RootkitStudios
@RootkitStudios 6 жыл бұрын
Change the word "problem" to "paradox" in the title and you'll have a viral. Trust me.
@user-xt2tp4dz3f
@user-xt2tp4dz3f 6 жыл бұрын
Interesting, but it does not seem the waiter solves the problem. Instead of all picking up the left fork at the same time, now they will all be asking the waiter at the same time for permission and the 5 concurrent requests will cause a different lock.
@GaryExplains
@GaryExplains 6 жыл бұрын
I understand why you say that, but no. As I said towards the end of the video the locking mechanism is atomic, which means that only one philosopher can be granted the lock and allowed to pickup forks. There is a slightly deeper level which I didn't discuss which is what happens when a philosopher doesn't get a lock, but it is enough to say (at this level) that deadlock doesn't occur.
@user-xt2tp4dz3f
@user-xt2tp4dz3f 6 жыл бұрын
I see what you mean, but I’m talking about the problem in general.. The monitor giving locks does not seem to solve anything because if requests keep colliding with each other he will not have received a request to give a lock to. Seems like you would need some kind of randomly generated wait period before retry
@GaryExplains
@GaryExplains 6 жыл бұрын
They can't collide, it is a queue.
@shuaib3788
@shuaib3788 2 жыл бұрын
Cheers to 8 minutes !
@arunwarrier1545
@arunwarrier1545 2 жыл бұрын
hey great video. but fam y u got forks wid a pizza. whats wrong xD
@gillo9070
@gillo9070 6 жыл бұрын
Hi professor, where can i get a « lock » for my girlfriend please? 🧐
@iBangGOODMusic
@iBangGOODMusic Жыл бұрын
I would just eat with my hands ✋️ 😩
@_Amilio_
@_Amilio_ 3 жыл бұрын
Chinese food and chopsticks would work better in this analogy
@carlomorischi3435
@carlomorischi3435 6 жыл бұрын
I’m watching this on a TABLET not smartphone nor laptop
@GaryExplains
@GaryExplains 6 жыл бұрын
Congratulations.
@marufasatullaev1436
@marufasatullaev1436 2 жыл бұрын
Объяснение на Сшку, вы не проходите префайнал.
@leticiaunisesky4852
@leticiaunisesky4852 2 жыл бұрын
비디오의 의미를 말해 줄 수 있니
@edington6302
@edington6302 Жыл бұрын
In Africa, we can just eat with our hands and do away with the forks.
@AAYMF
@AAYMF 6 жыл бұрын
👍
@vgamesx1
@vgamesx1 6 жыл бұрын
Solution, provide double the forks, who wants to share silverware?
@havenbastion
@havenbastion 3 жыл бұрын
If they can't figure out how to collaborate sufficient to eat, they're pretty bad philosopers.
@kennethholvoet1178
@kennethholvoet1178 4 жыл бұрын
Good video, but explaining this with chopsticks makes much more sense because you acutally need two of them to eat. Have to replace the pizza with something asian of course :-)
@xscout4lifex
@xscout4lifex 3 жыл бұрын
little does Gary know we have processors up to 64 cores in 2021, that's a lot of pizza
@GaryExplains
@GaryExplains 3 жыл бұрын
"little does Gary know we have processors up to 64 cores"... eh?
@joerogan3079
@joerogan3079 Жыл бұрын
*MY PROFESSOR COULDN'T EXPLAIN SOMETHING SO SIMPLE* 🤦‍♂️
The Dining Philosophers Problem
20:16
Neso Academy
Рет қаралды 317 М.
W7 L1 Dining Philosophers Problem
21:26
Introduction to Operating Systems
Рет қаралды 48 М.
Survive 100 Days In Nuclear Bunker, Win $500,000
32:21
MrBeast
Рет қаралды 161 МЛН
لااا! هذه البرتقالة مزعجة جدًا #قصير
00:15
One More Arabic
Рет қаралды 51 МЛН
The Bounded Buffer Problem
15:48
Neso Academy
Рет қаралды 274 М.
That Viral Math Problem (Cheryl's Birthday) - Numberphile
11:34
Numberphile
Рет қаралды 1,5 МЛН
Dining Philosophers Solution using Monitors
15:04
Neso Academy
Рет қаралды 108 М.
Deadlock 3: Dining Philosophers
12:19
Jacob Schrum
Рет қаралды 46 М.
Philosophers, 42 School Project. Dining Philosophers Project. C Implementation
38:21
Multitasking vs Multithreading vs Multiprocessing
10:30
Gary Explains
Рет қаралды 85 М.
Learn OS Concepts easy: Dining philosophers problem
11:48
Spritual Journey..
Рет қаралды 38 М.