{"ModuleCode":"CS6270","ModuleTitle":"Virtual Machines","Department":"Computer Science","ModuleDescription":"Virtual machines (VMs) have lately generated a lot of interest, both in the academia as well as in the industry. VMs are being seen as a convenient vehicle for managing heterogeneous resources (e.g. server consolidation), and also for solving problems related to running mobile code and security. Commercial VMs from VMware and Microsoft are being successfully used in commodity platforms. High-level language VMs such as the Java Virtual Machine and Microsofts .NET framework have also become highly popular. The aim of this module is to give an overview of the state-of-the-art in virtualization technology. The topics to be covered will include techniques for designing and implementing modern VMs, hardware-level, operating system-level and language-level VMs, CPU virtualization concepts and problems, paravirtualization and binary translation techniques, techniques for memory and input/output virtualization, and applications of VMs in solving problems related to security and software distribution. This will be a half lecture-style and the other half seminar-style course and will be suitable for senior undergraduate and graduate students interested in computer architecture, compilers and operating systems.","ModuleCredit":"4","Workload":"2-0-0-2-6","Prerequisite":"CS2106 and (CS3220 or CS4223)","AcadYear":"2014/2015","History":[{"Semester":2,"Timetable":[{"ClassNo":"1","LessonType":"Lecture","WeekText":"Every Week","DayText":"Wednesday","StartTime":"1400","EndTime":"1600","Venue":"COM1-0207"}],"IVLE":[{"Announcements":null,"Forums":[],"Workbins":[],"Webcasts":[],"Gradebooks":[],"Polls":[],"Multimedia":[],"LessonPlan":[],"ID":"f78194a6-1228-4b63-94d0-ab4ae6dd358b","CourseLevel":"1","CourseCode":"CS6270","CourseName":"VIRTUAL MACHINES","CourseDepartment":"","CourseSemester":"Semester 2","CourseAcadYear":"2014/2015","CourseOpenDate":"/Date(1420732800000+0800)/","CourseOpenDate_js":"2015-01-09T00:00:00","CourseCloseDate":"/Date(1434211140000+0800)/","CourseCloseDate_js":"2015-06-13T23:59:00","CourseMC":"0","isActive":"N","Permission":"S","Creator":{"UserID":null,"Name":"Weng-Fai Wong","Email":null,"Title":null,"UserGuid":"78d6a693-f05c-461c-a45a-a975c26b97be","AccountType":null},"hasGradebookItems":true,"hasTimetableItems":true,"hasGroupsItems":false,"hasClassGroupsForSignUp":false,"hasGuestRosterItems":false,"hasClassRosterItems":true,"hasWeblinkItems":false,"hasLecturerItems":true,"hasDescriptionItems":true,"hasReadingItems":false,"hasAnnouncementItems":false,"hasProjectGroupItems":false,"hasProjectGroupsForSignUp":false,"hasConsultationItems":false,"hasConsultationSlotsForSignUp":false,"hasLessonPlanItems":false,"Badge":0,"BadgeAnnouncement":0,"WebLinks":[],"Lecturers":[{"ID":"291e8c6a-8921-4d03-8507-d64e8c223105","User":{"UserID":null,"Name":"Weng-Fai Wong","Email":null,"Title":null,"UserGuid":"78d6a693-f05c-461c-a45a-a975c26b97be","AccountType":null},"Role":"Lecturer ","Order":1,"ConsultHrs":null}],"Descriptions":[{"ID":"1e5f053b-8835-4692-be49-41f07234cfff","Title":"Learning Outcomes","Description":"Virtual machines (VMs) have lately generated a lot of interest, both in the academia as well as in the industry. VMs are being seen as a convenient vehicle for managing heterogeneous resources (e.g. server consolidation), and also for solving problems related to running mobile code and security. Commercial VMs from VMware and Microsoft are being successfully used in commodity platforms. High-level language VMs such as the Java Virtual Machine and Microsofts .NET framework have also become highly popular.\r\n\r\nThe aim of this module is to give an overview of the state-of-the-art in virtualization technology. The topics to be covered will include techniques for designing and implementing modern VMs, hardware-level, operating system-level and language-level VMs, CPU virtualization concepts and problems, paravirtualization and binary translation techniques, techniques for memory and input/output virtualization, and applications of VMs in solving problems related to security and software distribution. This will be a half lecture-style and the other half seminar-style course and will be suitable for senior undergraduate and graduate students interested in computer architecture, compilers and operating systems. \r\n","Order":1},{"ID":"2e5f053b-8835-4692-be49-41f07234cfff","Title":"Prerequisites","Description":"CS2106 and (CS3220 or CS4223)","Order":2},{"ID":"3e5f053b-8835-4692-be49-41f07234cfff","Title":"Teaching Modes","Description":"First half, lectures.
\n
\nSecond half, paper presentation by students.","Order":3},{"ID":"8e5f053b-8835-4692-be49-41f07234cfff","Title":"Assessment","Description":"