Jump to content

Operating System Calls/Virtual Machines, need tutorial/explanation

- - - - -

  • Please log in to reply
2 replies to this topic

#1
liamzebedee

liamzebedee

    Programmer

  • Members
  • PipPipPipPip
  • 129 posts
I need an explanation of operating system calls and how to use them. To limit this to a single OS I'm going to choose Windows 7 64 bit. I'm trying to understand how virtual machines work and how one would be programmed. And what language would it be programmed in?

If its possible could I have some sample code?

#2
WingedPanther

WingedPanther

    A spammer's worst nightmare

  • Moderators
  • 16,831 posts
  • Location:Upstate, South Carolina
  • Programming Language:C, C++, PL/SQL, Delphi/Object Pascal, Pascal, Transact-SQL, Others
  • Learning:Java, C#, PHP, JavaScript, Lisp, Fortran, Haskell, Others
VirtualBox is opensource. You can download its sourcecode to learn how it works.
Programming is a branch of mathematics.
My CodeCall Blog | My Personal Blog

#3
Milyardo

Milyardo

    Learning Programmer

  • Members
  • PipPipPip
  • 54 posts

WingedPanther said:

VirtualBox is opensource. You can download its sourcecode to learn how it works.

While VirtualBox is open source, I don't think examing its source however will answer fundamental questions on how Virtual Machine work because of its paravirtualized nature.

A better way to learn how virtualization works is to start with CPU emulation, and how software can process binary instruction sets. Instead I would suggest looking into how full CPU emulators for simple 16-bit embedded systems like the z80 which is used in many TI calculators and the gameboy. There are plenty of resources on how to write emulators for z80.

Once you have a firm understanding of how emulation of these simple processors work, then you can attempt to write an emulator for a more complex processor like the x86. Once you have full software emulation of an x86 processor, you then attempt to do paravirtualization, taking advantage of hardware features in the x86 to gain better performance for your now (relatively) modern virtualization application.




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users