課程資訊
課程名稱
虛擬機器
Virtual Machines 
開課學期
113-1 
授課對象
電機資訊學院  資訊網路與多媒體研究所  
授課教師
黎士瑋 
課號
CSIE5310 
課程識別碼
922EU4140 
班次
 
學分
3.0 
全/半年
半年 
必/選修
選修 
上課時間
星期三7,8,9(14:20~17:20) 
上課地點
資101 
備註
本課程以英語授課。
總人數上限:40人 
 
課程簡介影片
 
核心能力關聯
核心能力與課程規劃關聯圖
課程大綱
為確保您我的權利,請尊重智慧財產權及不得非法影印
課程概述

Virtualization is an essential technology used by many computer systems for innovation. For instance, cloud computing platforms, including Amazon AWS, Google Cloud, and Microsoft Azure, build on virtualization to virtualize the hardware abstraction, allowing multiple virtual machines to run on a single piece of hardware. Typically, virtual machine monitors (hypervisors), such as KVM, Xen, Azure, and VMware, expose the virtual machine interface. In addition, the recent development of containers virtualizes the kernel interface language virtual machines: Furthermore, language virtual machines such as JVM and DVM effectively improve the program portability and support program execution across incompatible computer architectures. In this course, we will introduce the principles of virtualization. We will focus on various perspectives, including the security and performance of different virtualization systems. Students who take this course are expected to get hands-on experience in using and developing virtualization systems software.

PLEASE READ, IF YOU ARE INTERESTED IN SIGNING UP FOR THE COURSE: there will be extra seats offered in the course, please attend the first lecture to know more. 

課程目標
This course aims to help students understand the basic principles of virtualization, its various applications, implementations with respective performance and security considerations, and the innovative application of virtualization technology in multiple fields. In addition to the basic principles and practical techniques, this course is also matched with examples of state-of-art development in the industry. 
課程要求
Systems Programming, Operating Systems, and Computer Architecture. 
預期每週課後學習時數
 
Office Hours
另約時間 備註: 助教 office hours @ R404 in CS Building 
指定閱讀
Virtual Machines: Versatile Platforms for Systems and Processes, James Smith and Ravi Nair, Morgan Kaufmann, 2005  
參考書目
Hardware and Software Support for Virtualization, Edouard Bugnion, Jason Nieh, and Dan Tsafrir, Morgan & Claypool Publishers, 2017 
評量方式
(僅供參考)
   
課程進度
週次
日期
單元主題
第1週
  Introduction to Virtualization 
第2週
  Introduction to Virtualization 
第3週
  Systems Virtual Machines: CPU Virtualization 
第4週
  Systems Virtual Machines: Memory Virtualization 
第5週
  Systems Virtual Machines: I/O, Interrupt, Timer Virtualization 
第6週
  Hypervisor Internals: KVM Walkthrough 
第7週
  Virtual Machines Performance, Management, and Nested Virtualization (recorded class) 
第8週
  Virtualization Security 
第9週
  Midterm 
第10週
  Virtualization Security Cont. 
第11週
  Introduction to Containers 
第12週
  Container Implementations: Dockers and Kubernetes 
第13週
  Process Virtual Machines 
第14週
  Process Virtual Machines 
第15週
  Final Presentation 
第16週
  Final Presentation