Extended OS
Virtual MachinesReferences:Smith, J.E.; Ravi Nair; , "The architecture of virtual machines,"  Computer , vol.38, no.5, pp....
Abstraction & Virtualisation
Interface Levels
Instruction Set Architecture• Interface between  software and  hardware• Divided between  privileged and un-  privileged p...
Application Binary            Interface• Interface between  programs hardware  + OS• Consists of system  call interface + ...
Application Programming          Interface• Interface between  programs hardware  + OS• Consists of library  calls + un-pr...
Process versus System   Virtual Machine
OS is an extended virtual              machine• Multiplexes the “machine” between  applications  – Time sharing, multitask...
JAVA – Higher-level Virtual          Machine• write a program once, and run it anywhere  – Architecture independent  – Ope...
Conventional versusEmulation/Translation
Issues• Legacy applications• No isolation nor resource management  between applets• Security  – Trust JVM implementation? ...
Is the OS the “right” level of       extended machine?• Security  – Trust the underlying OS?• Legacy application and OSs• ...
Virtual Machine Monitors• Provide scheduling and resource  management• Extended “machine” is the actual  machine interface.
IBM VM/370
Advantages• Legacy OSes (and applications)• Server consolidation• Concurrent OSes   – Linux – Windows   – Primary – Backup...
Virtual R3000???• Interpret  – System/161     • slow  – JIT dynamic compilation• Run on the real hardware??
R3000 Virtual Memory Addressing• MMU – address translation in   hardware – management of   translation is software        ...
0xFFFFFFFF       R3000 Address                           kseg2        Space Layout                                  0xC000...
R3000 Address                           0xffffffff                                                        kseg2    Space L...
R3000 Address                           0xffffffff                                                        kseg2    Space L...
R3000 Address        0xffffffff                                    kseg2   Space Layout        0xC0000000• kseg2:         ...
Issues• Privileged registers (CP0)• Privileged instructions• Address Spaces• Exceptions (including syscalls,  interrupts)•...
Extlect01
Extlect01
Extlect01
Extlect01
Extlect01
Extlect01
Extlect01
Extlect01
Upcoming SlideShare
Loading in …5
×

Extlect01

285 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
285
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Extlect01

  1. 1. Extended OS
  2. 2. Virtual MachinesReferences:Smith, J.E.; Ravi Nair; , "The architecture of virtual machines," Computer , vol.38, no.5, pp. 32- 38, May 2005
  3. 3. Abstraction & Virtualisation
  4. 4. Interface Levels
  5. 5. Instruction Set Architecture• Interface between software and hardware• Divided between privileged and un- privileged parts
  6. 6. Application Binary Interface• Interface between programs hardware + OS• Consists of system call interface + un- privileged ISA
  7. 7. Application Programming Interface• Interface between programs hardware + OS• Consists of library calls + un-privileged ISA – Syscalls usually called through library.
  8. 8. Process versus System Virtual Machine
  9. 9. OS is an extended virtual machine• Multiplexes the “machine” between applications – Time sharing, multitasking, batching• Provided a higher-level machine for – Ease of use – Portability – Efficiency – Security – Etc….
  10. 10. JAVA – Higher-level Virtual Machine• write a program once, and run it anywhere – Architecture independent – Operating System independent• Language itself was clean, robust, garbage collection• Program compiled into bytecode – Interpreted or just-in-time compiled. – Lower than native performance
  11. 11. Conventional versusEmulation/Translation
  12. 12. Issues• Legacy applications• No isolation nor resource management between applets• Security – Trust JVM implementation? Trust underlying OS?• Performance compared to native
  13. 13. Is the OS the “right” level of extended machine?• Security – Trust the underlying OS?• Legacy application and OSs• Resource management of existing systems suitable for all applications?• What about activities requiring “root” privileges
  14. 14. Virtual Machine Monitors• Provide scheduling and resource management• Extended “machine” is the actual machine interface.
  15. 15. IBM VM/370
  16. 16. Advantages• Legacy OSes (and applications)• Server consolidation• Concurrent OSes – Linux – Windows – Primary – Backup • High availability• Test and Development• Security – VMM (hopefully) small and correct• Performance near bare hardware – For some applications
  17. 17. Virtual R3000???• Interpret – System/161 • slow – JIT dynamic compilation• Run on the real hardware??
  18. 18. R3000 Virtual Memory Addressing• MMU – address translation in hardware – management of translation is software 21
  19. 19. 0xFFFFFFFF R3000 Address kseg2 Space Layout 0xC0000000• kuseg: kseg1 – 2 gigabytes 0xA0000000 – MMU translated – Cacheable kseg0 – user-mode and kernel mode 0x80000000 accessible kuseg 22 0x00000000
  20. 20. R3000 Address 0xffffffff kseg2 Space Layout 0xC0000000• kseg0: kseg1 – 512 megabytes 0xA0000000 – Fixed translation window to physical memory kseg0 • 0x80000000 - 0x9fffffff virtual = 0x80000000 0x00000000 - 0x1fffffff physical • MMU not used – Cacheable – Only kernel-mode accessible – Usually where the kernel code is placed kuseg Physical Memory 23 0x00000000
  21. 21. R3000 Address 0xffffffff kseg2 Space Layout 0xC0000000• kseg1: kseg1 – 512 megabytes 0xA0000000 – Fixed translation window to physical memory kseg0 • 0xa0000000 - 0xbfffffff virtual = 0x80000000 0x00000000 - 0x1fffffff physical • MMU not used – NOT cacheable – Only kernel-mode accessible – Where devices are accessed (and boot ROM) kuseg Physical Memory 24 0x00000000
  22. 22. R3000 Address 0xffffffff kseg2 Space Layout 0xC0000000• kseg2: kseg1 0xA0000000 – 1024 megabytes – MMU translated kseg0 0x80000000 – Cacheable – Only kernel-mode accessible kuseg 25 0x00000000
  23. 23. Issues• Privileged registers (CP0)• Privileged instructions• Address Spaces• Exceptions (including syscalls, interrupts)• Devices

×