Your browser doesn't support the features required by impress.js, so you are presented with a simplified version of this presentation.

For the best experience please use the latest Chrome, Safari or Firefox browser.

CIS 527

Virtualization & Operating Systems

How a Computer Works
Simple Version

  • The Operating System runs Software
  • The Operating System and software send instructions to the Hardware
  • The Hardware performs the operations instructed through electronic circuits
  • Data is stored and manipulated physically

Image Source: VMWare

Virtualization

  • Software that emulates computer hardware
  • Run multiple operating systems on a single piece of hardware
  • Easily migrate systems between different hardware setups

Image Source: VMWare

Types of Virtualization

  • Hosted
  • Bare Metal (Hypervisor)

  • Hardware
  • Operating System (Containers)
  • Application (Sandboxing)

Image Source: VMWare

Image Source: VMWare

Old & Busted

  • One operating system per server
  • One server per application
  • Storage per-server
  • Lots of servers
  • Redundancy is difficult
  • Management nightmare

New Hotness

  • Many operating systems on a single physical server
  • One virtual machine per application
  • Shared, virtual storage pools
  • Fewer physical servers
  • Easy redundancy

VMWare Workstation

Other Virtual Machines

  • Oracle VirtualBox
  • Hyper-V
  • KVM & Qemu
  • Parallels
  • Virtual PC
  • Xen

Cloud Providers

  • Digital Ocean
  • Azure
  • AWS (Amazon Web Services)
  • OpenStack
  • Rackspace
  • Linode

Operating Systems


Image Source: Wikipedia and Wikipedia

Architecture

Image Source: Wikipedia

Kernel

Image Source: Wikipedia

Image Source: Wikipedia

Windows History

  • Originally a graphical shell for MS-DOS
  • Written in C, C++ and Assembly
  • Windows 95 was a huge success
  • Windows NT became Windows 2000, XP
  • Windows 10 is latest, runs on everything

Image Source: Wikipedia

Image Source: Wikipedia

Windows NT Startup

  • BIOS looks in the first sector for a bootloader (NTLDR)
  • NTLDR checks for hiberfil.sys. If so, resumes from hibernation
  • NTLDR check for boot.ini, displays boot menu to the user
  • NTLDR reads uses ntdetect.com to scan for hardware & collect info
  • The kernel is loaded, given hardware info, and assumes control

Windows 10 Startup

  • Windows Boot Manager is started via EFI
  • It reads the Boot Configuration Data (BCD) from disk
  • BCD is stored on a special EFI partition in the same file format as the registry
  • Using that, it loads winload.exe to load the kernel and device drivers
  • The kernel assumes control

Ubuntu History

  • Based on the Debian Linux system
  • 4.10 - Warty Warthog (Oct. 2004)
  • New releases every 6 months
  • 14.04 - Trusty Tahr (LTS): 5 years of security updates
  • 16.04 - Xenial Xerus due in April

Image Source: Wikipedia

What is Linux?

  • A free operating system kernel written to be compatible with Unix
  • Most use GNU implementations of core Unix utilities and programs
  • Linux Distributions tie a certain kernel to certain programs, utilities, and display managers

Linux History

  • 1971 - Unix released by Bell Labs
  • 1983 - Richard Stallman creates GNU project to create free Unix utilities
  • 1990 - GNU kernel project stalled
  • 1991 - Linus Torvalds develops a kernel for use with GNU tools
  • 1992 - Linux released under GPL License

Linux History

  • 1993 - Slackware & Debian created
  • 1994 - Version 1.0 of the kernel
  • 1994 - Red Hat & SUSE released
  • 1996 - Version 2.0, multiprocessor support
  • 1998 - Compaq, IBM, & Oracle support Linux

Major Ubuntu Components

  • GNOME Desktop with Unity
  • System Settings
  • Software Center
  • File System Layout
  • Configuration Files
  • The Dreaded Terminal
  • Mir, Wayland, Upstart, Init, etc.

Filesystem Layout

  • bin - Binary utilities
  • dev - Devices (as files!)
  • etc - Configuration files
  • home - User files
  • lib - Shared libraries
  • usr - User Programs
  • var - Variable data (logs)

Configuration Files

  • Most Linux programs store configuration in text files
  • They can be found in /etc
  • Usually requires administrator access to edit them
  • MAKE BACKUPS! BE CAREFUL!

Other Stuff

  • X.org - Library for displaying GUI
  • Wayland - Replacing X on most distros
  • Mir - Ubuntu's replacement
  • init - System startup process
  • Upstart - Ubuntu's init replacement
  • systemd - New startup process, most distros (incl. Ubuntu) use it now

Ubuntu Boot Process

  • BIOS looks for a bootloader in first sector of the disk
  • Typically either GRUB or LILO
  • The bootloader loads the kernel and the initial ramdisk (initrd)
  • The root filesystem is found, mounted, and init/upstart/systemd start loading processes

Ubuntu Boot Process

  • The X window system is started
  • The desktop environment is loaded (GNOME, KDE, etc.)
  • Other services are loaded in parallel
  • The system is ready for use

OS Installation

  1. Partition the disk
  2. Copy installation files
  3. Extract & install
  4. Configure basic settings
  5. Reboot

Next Week

  • Command Line Interfaces & Scripts
  • Users & Groups
  • File System Permissions
  • Software
  • Security