Skip to content

ISEL/LEIC - System Virtualization Techniques / Técnicas de Virtualização de Sistemas

License

Notifications You must be signed in to change notification settings

isel-leic-tvs/info

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 

Repository files navigation

ISEL - Instituto Superior de Engenharia de Lisboa

System Virtualization Techniques / Técnicas de Virtualização de Sistemas

en pt

Institutional information


Supplementary information

General Information
Scientific Area Computer Science and Engineering
ECTS Credit Points 6 credit points
Level, Year/Semester Undergraduate, 3rd year / 5th semester
Language English or Portuguese
Available in Autumn-Winter Semester (Sep. - Feb.)
In-class contact hours 15 weeks x 4.5 hours per week in class
Course Manager João Trindade

Description

In order to optimize the use of existing hardware resources and to simplify the management and maintenance of computer systems, software deployment and execution frequently relies on virtualized computing infrastructures, where the virtualization occurs in different levels and forms. Operating systems use basic virtualization techniques to allow multiple programs to execute simultaneously in isolated environments called processes, where a program in execution appears to have a computing environment for itself. Some operating systems also offer, via emulation, the possibility of running programs originally produced for microprocessors with different instruction sets. In other cases, they allow running programs built for a different operating system. Additionally, an hypervisor is a specialized form of system software that is able to provide, on top of a single physical system, multiple instances of virtual computers, usually known as virtual machines. Also, in a different level and form, we have systems ready to run containerized software, where a particular arrangement of software parts is set to run as a group of processes in a dedicated computing environment, known as a container, on top of an operating system.

In this course unit, we will explore these virtualization techniques, mainly from the perspective of software deployment, while also understanding how each type of virtualization is achieved. During the semester, besides attending lectures, students will work in groups to complete assigned coursework, exploring these subjects in practice. A final written test (usually in Jan./Feb.) will assess students' knowledge individually.

Note that there is a partial overlap with topics of traditional course units about Operating Systems, except for concurrency and synchronization, which are covered in a dedicated course unit: Concurrent Programming. Also note that a particular form of virtualization, usually know as managed runtime environments or virtual execution environments (such as the Java Virtual Machine, Microsoft's Common Language Runtime or WebAssembly runtimes) are not covered in this course unit, as there is a specific course unit covering these kind of environments: Languages and Managed Runtimes.

Prerequisites

  • Students will need to write software in C, including interacting with the operating system. We expect at least two (but preferably three) semesters of programming experience, using any language, but including some non-introductory programming experience in C. Equivalent experience in C++ is also acceptable, but it may require an additional effort to adapt.
  • Students are expected to know basic computer architecture, including some assembly language. Ideally, they would understand how a native computer program is executed.
  • We expect students to be familiar with multithreading and synchronization. Although the course is not particularly focused or heavy on these subjects, there will be no effort to circumvent them and they will be used when necessary.
  • We expect student to have basic knowledge about IP networks and to be able to write software using sockets, if needed.

Disclaimer: The above information is provided for convenience and does not replace official institutional information.

About

ISEL/LEIC - System Virtualization Techniques / Técnicas de Virtualização de Sistemas

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published