Skip to content

Latest commit

 

History

History
61 lines (51 loc) · 4.52 KB

w06.md

File metadata and controls

61 lines (51 loc) · 4.52 KB
permalink
/W06/

Top 10 List of Week 06

DISCLAIMER: NOT IN ORDER

  1. Introduction to Synchronization
    Before we move into Concurrency, it is very important for us to understand what Synchronization is! This one is a bit of a longer read than the rest, but it is very deep! And that is good, because this is a very imporant thing! Understanding it is a must!

  2. Concurrent Programming
    While we are in the topic of Concurrency in Operating System, it is wise to learn the basic first. What is Concurrency? Concurrency is when you do more than one thing in one go. Imagine cooking and doing laundry, while you wait for the oil to heat up, you fill your washing machine with detergents and such! Since we are studying Java in other courses, this website should help you get in the correct mind shape quickly!

  3. Concurrency vs Paralleism
    The concept of Concurrency is often confused with Paralleism, but it is in fact, very different! Distinguishing parallelism from concurrency is important to seek a fitting way to solve large scale problems, but they are considered interchangeable in reality. So, to be prepared, you should read the website because it offers both information in a 10 minutes read!

  4. Concurency in Operating System
    Now that we understand what Concurrency is and how it differs from Paralleism, we can now continue to the next topic, Concurrency in Operating System! Surprisingly, if you have deep knowledge about Synchronization, this one is a rather short read! So, make sure you read the point (1) before reading this one to save time!

  5. States and State Diagram Do you remember Moore's and Mealey's Diagram? No? Well, even so, you should at least know about state diagrams, how so? Simple, it is because we are currently learning state diagrams in Automata Course. But, it is still different from the state diagram in that course, so it is still required for you to study it. Because of that, I suggest this website! This is quite a long read, but it is very deep in knowledge and miss nothing!

  6. Preventing Multi-User Concurrency Problems While this doesn't come to our attention yet, Concurrency is very important, especially when you have a lot of people using the same thing. Then, how do we prevent such a thing? Well, this is more like a TIL version because it is not very indepth, but it is a very short read and gives enough information about how to avoid it! You should definitely read into this to get a grasp on how to avoid it!

  7. Multicore CPUs If you are a tech-geek or someone that is into gaming, or even just into computers in general, you have probably heard about the rave regarding multicore CPUs. So? Why aren't we getting a CPU with 40 cores? Wouldn't that make it go super speed? Well... Not quite... This video explains on why that isn't the case in a 6 minutes time! Go give it a watch!

  8. Roles of Interrupts If you have read my top10 ranks since weeks ago, you would know that I am quite biased towards computerphile. Any events that can happen in any time and needs priority requires the use of Interrupts! Because of this, we should understand about what other roles it have in our PC! The wonder is, this is only a 6 minutes watch, so, go and give it a watch!

  9. Semaphores What are semaphores? How do they work? What are they used for? Well, semaphores are something that is required for concurrency, how so? Semaphores makes changes that would had happen to a variable atomic, well, what does that mean now? It's hard to explain in short, so, go watch the video, its only 13 minutes long for a concept that is rather hard to understand!

  10. Benefits of Concurrency So, why do we want Concurrency anyway? There are of course benefits to it, else, why would we want to implement it! So, go check the website! Not only is it straight to the point, it also gives more information About what can cause problem when you try to implement Concurrency!