311 (1) VIRTUAL MACHINE
Page 2: Operating Systems
Definition of an operating system (OS)
Software that manages machine hardware and provides interface and abstractions for user applications and systems software
Types of machines/hardware
Desktops, laptops, servers, mobile devices
Examples of OSs
Windows, macOS, Linux, FreeBSD, Android, iOS
OS dominance by sector
Desktop/laptops: Windows > macOS > Linux
Server: no reliable source, probably Linux
Mobile: Android > iOS
Page 3: Why learn systems programming on Linux?
Reasons to learn systems programming on Linux
It is free and ubiquitous
Ideal for running a tech company on Linux
Page 4: How to run Linux on your machines?
Running Linux on machines with Windows or macOS
Use VirtualBox/VMware as a hypervisor or virtual machine monitor
Create a virtual machine (VM) to run Linux alongside the host OS
Page 5: More on hypervisors
Types of hypervisors
Type 1: runs on bare physical machine
Type 2: runs on an operating system
Examples of type 2 hypervisors
VMware Workstation (Fusion), QEMU, VirtualBox, Parallels Desktop for Mac, UTM
Examples of type 1 hypervisors
VMware ESXi, Xen
Page 6: Benefits of Virtualization
Benefits of virtualization
Without virtualization: OS tightly coupled to hardware, one point of failure
With virtualization: provide virtual machine image (VMI), OS as a portable file, backups of entire OS (snapshot)
Page 7: Virtual Machine Image (VMI)
Characteristics of VMI
Secure, portable, not dependent on physical server
Page 8: What We Need
Required tools and resources
Virtual machine: VMware
Guest OS: Ubuntu
Github account for lab assignments
SSH keys for Github account
Page 9: FAQs
Frequently asked questions
Q1: Can we use VirtualBox instead of VMware?
Answer: VirtualBox is allowed, but VMware is recommended for lab assignments and grading.
Q2: Is there a reason to use a virtual machine if we already have Ubuntu on a separate computer?
Answer: Using a virtual machine ensures consistency and avoids compatibility issues when testing/grading lab submissions.
Page 10: Creating Virtual Machine for Windows or Intel based MacBooks
Steps to create a virtual machine
Install and run VMware Workstation Player (or Fusion for older MacBooks)
Select the downloaded Ubuntu 22.04 ISO as the installer disk image
Create a username and password
Customize virtual disk size and type (at least 35 GB)
Customize hardware settings (at least 4 GB RAM)
Page 11: Installing Ubuntu on VMWare for Windows or Intel based MacBooks
Steps to install Ubuntu on VMware
Start the virtual machine and follow the installation instructions
Remove the Ubuntu ISO file in the virtual machine settings if prompted to try or install Ubuntu
After logging in, install the required packages: build-essential and libssl-dev
Create SSH keys for the GitHub account