 Okay, hi everyone. So today is our final recitation and we're going to do a final exam review. So what we're going to do is going to go over the final exam overview, the date and day and location, then we're going to go through the material quickly and then we're going to go through the final exam format and then I'm going to give you some tips based on midterm grading and also based as a student, last year student of this class. So the final exam will be next Monday, May 9th, from 3.30 to 6.30 in AX104 and please double check the daytime location in my hub. So as of the material, the final exam is cumulative, that means everything is covered in the final exam, whether it's lectures, topics or assignments. So let's go through some of the topics and some basic ideas from the lectures. So the first part is the midterm topics, which is the process abstraction, so you should know all about the process. Yes. Sorry? Yes. So you should know all about the process of abstraction and why do we provide abstraction. So we know that by abstraction we just like separate policy from mechanism, you know you should know what is a policy, what is a mechanism and why do we provide abstraction to just like provide the new capabilities, hide undesirable properties and also organize on formation. You should also know that the thread abstracts a CPU state, a file abstract, disk and address space abstract the memory. Also you should be familiar with the process model that we presented in the recitation. You should know what a process consists of, threads, address space, file tables, how the file abstraction of the three levels that we mentioned is organized and file syscalls, process syscalls from assignment two. So mostly the conceptual part of the assignment, so you're not going to be asked about assignments implementation. But you should have a general idea of how the conceptual part of the assignment goes and how did you implement them because later on maybe you've been asked about data structures, comparing data structures. Then we'll move into the synchronization. So synchronization is basically assignment one. So you should know why we need synchronization. You should have an idea what is a critical section, why do we need to protect shared resources and what are the synchronization parameters. So you've implemented four of them, locks, semaphores, condition variables and reader writer locks. Familiarize yourself with other synchronization primitives, how they work. And also you should be also familiar with deadlocks, race condition and starvation. What are the differences? How should we avoid them in several scenarios? And next we have the interrupt handling. So when an interrupt happens, how do we handle an interrupt? Or before that, what are the interrupts types? We have several types of interrupts. So we have software interrupts like Cisco, we have hardware interrupt, keyboard input, we have software exception, divide by zero. We also have timer interrupt. Those are used with the context switching for just like enforcing, scheduling quantum for example. And then the context switch, why do we need context switch? Scheduling, what are the algorithms that we presented in class for scheduling like RSDL, round robin, and you should be able to just like compare them or let's say as what we had in the midterm, implement a new just like capabilities for these, improve these algorithms. And then we have the memory management. So the memory management basically physical memory and versus virtual memory. You should be able to know how we should handle physical memory. So we know that. So just like we talked about the core map and for the physical memory, what are the limitations for physical memory versus virtual memory? And also then we move into the virtual memory. We have the address space, virtual addresses, how the virtual memory is being managed. How do we physically, we translate physical to virtual addresses and vice versa? How does the TLB work? Why do we need the TLB? And then paging. We have the page table, several algorithms, several data structures we presented for implementing the page table. So this is basically the midterm topics. And then we move on to the post midterm topics, which is the remaining topics that are discussed in the class. For example, continuing the memory management, we discussed the swapping. So you should have an idea. How does the swap function? Why do we need swapping? And what are the several algorithms to just like choose the page that should be swapped? So maybe you're being going to be asked, for example, implement or describe an algorithm that, a new algorithm, let's say, that decides which page should be just like swapped out. Then we move into disks. So you should know the different type of disk, HDD, SSD, pros and cons for those differences. And also, what are the parts of disks? This is important. What, for example, what does, you should have a brief idea, what does each part is responsible for. Then we move into files. So you should be able to define a file. What is a file? What do we expect from a file? For example, it should be reliable. It should retrieve the data that are stored in it. And the structure of a file. How should we save the meta information of the file in the lectures? We presented several ways to where should, for example, we save the meta data of the file. And then file systems. So we have different files. For example, what is a file system? First of all, what are the expectations of file systems? So managing files, organizing files. What else we have also? What are the goals of file systems? When we, for example, have several file systems based on what these file systems are being created. For example, one may be prefers performance while the other prefers consistency. What are the data structures that are used in file systems? Flat, for example, or flat array or link list. There are several data structures that are presented in the lectures. Caching and consistency. So how should we provide caching while maintaining consistency? You should have an idea of this. For consistency, we've just like caching consistency. We've discussed several topics like journaling and FFS, log structured file systems. And how do they handle these capabilities? So this is basically for the post-mortem topics. Then comes the paper part that were presented. So we have several papers. RAID, full virtualization. I believe virtual virtualization is a lecture, but Zen and art of virtualization is a paper. Atlantis. So we have exo-kernel browser versus micro-kernel browser performance and benchmarking. So we have different how should we compare systems and what are the different types of benchmarking? Micro, macro benchmarking. So you should know and have an ideal all of these and you should be able to compare them. Hence for computer system design. This is important. So make sure to know just like a set of these. At least you should be able to define them, talk about them, compare them and just like provide examples for these. Then we have scaling Linux to many cores and the last paper which is virtual mobile smartphone. So for the papers, what is covered in the final is whatever discussed in the lectures. Maybe the slice doesn't cover everything, so you need for example to get a better idea of what are the concepts of these papers you need to read or go through the papers. But what you're required for is whatever is discussed in the lecture. So yes. So I'm gonna discuss this based on the question. So for example, for RAID, you should be able to define what is RAID. What are the different types of RAID? Compare these different types. You should be able to just like be able to compare these. RAID 0, 1, 2, 3, 4. As I said for the hands, know some of the hands. Keep those in mind and make sure that you are able to define them, describe them, give an example and compare them maybe. So this is basically for the final exam material. Any questions on this board? Okay. So now let's go to the final exam format. So the final exam is out of 100 points divided as follows. First you're gonna have 10 multiple choice questions the same as similar to the midterm. So each one is worth one point and those are directly drawn from the second half of the lecture. This information is based on the last year final exam. Most likely it should be correct but still be ready. So and this is also given in the so if you go through the first page of the final exam last year you will see all these information mentioned over there. So it's so the 10 multiple choice questions are drawn directly from the second half of the lecture slides. Then you're gonna have so you're required to answer all 10 of them. Then you're gonna have six short answer questions. You're required to answer four or more and we're gonna just like give you credit for the best four answers. So four by five is gonna be 20 points for the short answer. These are similar to the midterm short answer and these are mostly drawn from the second half. So that mean it might be you might get some questions from the first half in the short answer questions. Some students missed that point on the exam that you're supposed to answer these questions in four or five sentence. Some students even did it in two and they get the full grade. So but unfortunately several students just like they answered it in a full page and that's why they get good points out of the 20 but when it comes to the long answer they just like didn't answer anything. So they just like spent the whole time on the short answer. So the answers to these are supposed to be four to five. So please be direct to the point and yes yes. So make sure you read these instructions and follow them. It will save you time and it will maximize the number of points that you get. So this is for the short answer questions. Then you're gonna have one medium answer question. This is similar or equivalent to the long midterm long answer. So it's gonna be out of 20 points and it's drawn from the second half material. Your answer to the medium answer should be page or a two page similar to the midterm. And finally you're gonna have two long answer questions. You're required to answer both of them. Each 25 point. So total 50 points. And so this is integrate material from the entire system. That mean first and second. And most likely you need to use your knowledge also to link whatever you're being asked to your knowledge and answer them. This is why even if we release them that doesn't mean you're gonna get the right answer. So make sure you really understand all the topics conceptually. Don't memorize. Understand. And this will help you answer this type of questions. Answer to these questions should just like goes to take several pages. So this is the final exam format. Any questions on these? Okay. So let's go through some tips. Please answer clearly. Make a drawing figures providing diagrams help provide them. That's fine. But make sure that when a grader reads your answer will get it from the first or second time. Not just like trying spending half an hour trying to okay. He might be talking about this or that. So make sure your answer is clear. Be concise. Just go to the point and I mean don't go just like providing some unrelated answers. Read the question several time. Make sure you understand what is being asked. So and also be organized. So as you can see from the long answer on the midterm, the questions were divided into parts. So make sure to use bullets for these parts so that it would be clear. For example, where are the new, for example, for the scheduling question, the new two decisions, two new trade-offs. So if you use bullets, it will be clear and you will get the most out of the points for that questions, for these questions. So for medium and long answer questions, so I'm providing here an example from the midterm and some of the common mistakes that the students made. So for example, in the second, I think the second long answer questions which ask you to provide new decisions for scheduling algorithm. So if you can see, tells you first describe how these capabilities complicate the original scheduling problem, identify two new decisions that need to be made. Many students fall into that mistake where they just like, let's say they wrote two pages answer for such question. One page, a total of one page went only for describing how these capabilities complicate the original scheduling algorithm. And the second page was just like answering the questions, which is the 20 points. Where if you read and if you check how many points is allocated for each part of the question, you would know that you need one page for identifying, briefly describing the scheduling problem and then providing two new decisions and two new trade-offs. This is one page because it's a ten point worth. And then you need one page, one full page for the describing the scheduling algorithm itself. And this is ten points. So relate how much you need to write to how many points is given for this question. So make sure you write the most for the part that has the most number of points allocated to it. So this is one of the things, so know what is being asked and also link to your knowledge. And also use the questions. So for example, in the scheduling, we've mentioned the number of cores and the cores frequency. So some students, for example, they didn't use those capabilities and they just like discussed another, other capabilities other than the number of cores and the cores frequency. So I might be able as a grader to give you some partial points for this, but you're going to lose a significant number of points if you don't relate your answer to the question. So use the question, ideas to answer and your answer and also identify what is being asked. Divide them based on the number of points. If the number of points are provided to you, use them. They are not provided to you just like for us to grade. No, it's also for you to just like decide how many time you need to allocate for such a question. Some other few notes. So for the short answer questions, there are some questions that you really should be just like, should be able to answer them. And so they are repeated in several exams. For example, as a student last year, the page table question and the short answer. So this was provided last year in the midterm and in the final. And it was provided in the midterm and might be provided again into the final. But for example, in the midterm, only half of the students answered this question while many of you should have answered because it's really easy. So make sure, for example, questions like the page tables, two-level page table should be able to answer such a question. Also, disc diagram, make sure you really familiarize yourself with this. This is one of the questions that if came, you shouldn't lose points on such a question. So you might be given, as you saw in our last year final, you might be given the disc diagram and you'll be asked for several parts of the disc and maybe just like basic, provide basic functionality of each part. So these are the two questions that you really need to familiarize yourself with. Hence the paper, hence from system design. This is also one of the things that don't miss it out. If you're gonna, for example, you don't have time and you're gonna miss some part of the material, don't miss that one. Make sure you know some of the hints and just like practice on providing examples, defining them, comparing them. What else? System codes. Yeah, so this is basically what I have for the final exam. Any questions? Yeah, for example, hence from computer system design. I mean, this, if you get an equation on this, you shouldn't miss the points on that. Raid, but yeah, again, as a TA I should tell you, go through all of them. I really don't know what's gonna come in the exam, but from my, so whatever I told you is based on my experience as a students last year and as a TA grading the midterm this year. So yeah, this is basically what I have for today. So any other questions on the final exam? Yes. Oh, okay. So for example, the multiple choice census is directly drawn from the second half. You might get some question in the multiple choice. Short answer, especially when you are gonna, for example, compare, let's say, what kind of raid does this and this and this? And for example, you need to just like pick up one or so make sure you just like understand what our concepts with that were presented in the class, have a general idea. And as I said, maybe the slides doesn't cover everything. So you need to refer to the paper itself to get the general ideas of these papers. So yeah, any other questions? No, no, no. For the medium, you're gonna have only one medium and you're gonna need to answer that one. The same goes with the long answer. Two questions, you're required to answer both of them. There's the only option you're given is with the short answer questions. You're gonna give them six and you need to answer four. Yes. Well, for me, the, what I can advise you to do is just like understand, don't memorize. This is the major thing because if you don't understand, you're not gonna be able to answer them. Why? Because you need to relate these concepts to just, just like general knowledge. So yeah, this is the main thing you need to do. But yeah, if you have time, go through the slides, recitation, it will just like review the assignments in general through the recitation slides, papers, general idea, and then allocate some time reviewing the previous exams. Yeah. So this is how you should go about it, I believe. Understanding is the major thing that you need to concentrate on, concentrate on. So any other questions? Yes? So you really don't know what, for example, he asked if we're gonna have, for example, the paper questions gonna come as a multiple choice or long answer. So I really can't tell you in which part this you should concentrate because you need to just like understand all the ideas presented in the lectures. And then you should be able to just like answer whether it is a multiple choice question or long answer. But I can't really tell you which part I did really focus on. Yeah, I can't, you really can't focus on one part because you really don't know what you're gonna get in the final exam, right? Especially for the long answers. But you should be able to be ready to the level that you are able to answer some of the long answer questions that, for example, if you want to test yourself, go to the previous exams, try to answer one of the long answer, medium answer, see how do you do on these? Yes. Any other questions? Okay. Thanks for coming throughout the semester. Good luck with third checkpoint and final exam. Thank you.