Virtual Machine Design and Implementation C C 1st Edition by Bill Blunden- Ebook PDF Instant Download/Delivery: 978-1556229039, 1556229038
Full download Virtual Machine Design and Implementation C C 1st Edition after payment

Product details:
ISBN 10: 1556229038
ISBN 13: 978-1556229039
Author: Bill Blunden
With the emergence of multiplatform production systems and network-centric computing, the software industry has witnessed the resurgence of the virtual machine. Rather than committing to any single operating system, software engineers have embraced platform-neutral development tools and run-time environments. Virtual Machine Design and Implementation in C/C++ provides an in-depth look at the construction and underlying theory of a fully functional virtual machine and an entire suite of related development tools.
The book begins with a discussion of the theoretical underpinnings of the author’s HEC virtual machine and its fundamental design goals, and continues with a section on the implementation of the virtual machine and its debugger. The final section focuses on the HEC assembler, including its interface to the native operating system, interrupts, the assembly language, and how to implement object-oriented constructs. There is also an extended discussion of porting the HEC virtual machine to other platforms. To assist in accomplishing this goal, the author offers a critical path analysis of the development process so that readers can build both their own virtual machine and an entire operating system.
The companion CD contains the source code for both the Win32 and Linux ports of the HEC distribution, including the HEC virtual machine, assembler, debugger, and associated development utilities.
Table of contents:
Part I – Overview.
Chapter 1
History and Goals.
Setting the Stage
TheNeedfora Virtual Machine
Depreciating Assets
A Delicate Balance
Arguments Againsta Virtual Machine.
Looking Ahead
Lessons Learned.
References.
Chapter 2
Basic Execution Environment
Overview
Notation Conventions.
Run-time Systemsand Virtual Machines
Memory Management.
Machine-Level Management
Operating System Level
Application Level.
Dynamic Memory Management
HEC Memory Management.
Machine Design.
HEC Machine Design.
Task Management.
Threads
HEC Task Management.
Input/Output.
HEC I/O.
References.
Part II – The HEC Virtual Machine
Chapter 3
Virtual Machine Implementation
Overview
Global Elements.
common.c.
win32.c
iset.c.
exenv.c
error.c
Command-Line Invocation
Debugging Code
Handling Configuration Options
Setting Up the Environment.
Verification.
Instruction Execution
load.c
store.c
pushpop.c
move.c.
jump.c
bitwise.c
shift.c
intmath.c.
fltmath.c.
dblmath.c
interrupt.c.
intwin32.c
Review.
References
Chapter 4 The HEC Debugger
Overview.
Debugging Techniques.
Breakpoints
Single-Step Execution.
Debugging Techniques on Intel
Intel Interrupts
Real-Mode Addressing
Real-Mode Registers
Real-Mode Interrupt Handling
Dosdbg.
Monkey Business
Stack Smashing
Multithreaded Mayhem
Self-Modifying Programs
Mixed Memory Models.
Assorted Fun and Games
HEC File Format.
Header Section.
Symbol Table
String Table
Bytecode Section
Modes of Operation
Implementation Overview.
Command-Line Processing
Storing Debug Metadata.
The Problem with Structures
Processing Debug Commands.
? – Help
Q- Quit
F-Executable Information
DStartStop-DumpMemory.
SStartStopString-SearchforString
LString-SymbolLookup
P-Procedure Display.
RX-RegisterDisplay(Ri,Rf,Rd).
T-Trace.
Future Considerations
Faster Algorithms
O(n) Notation
Dynamic Patching
Dynamic Breakpoints
Session Logging
Program Frequency Counts Symbolic Debugger..
Taking HECforaTestDrive
References.
Part III HEC Assembly
Assembler Implementation.
Chapter 5
Overview.
Data Structure Briefing
HASM Assembler Algorithms
Abstract Data Types.
Vector ADT
Extendable Arrays.
Tree ADT
Binary Search Trees
Dictionary ADT
Hash Tables
Summary.
Command-Line Usage.
Implementation
Global Elements.
Handling Configuration Options.
Pass 1-Populate the Symbol Table
Overview
LineScanner
LineTokenizer
Passl.
String Table
Symbol Table.
HashTable
Pass2-GenerateBytecodeandListings.
Building the Compilation Unit.
Reading a Listing File
Taking HASM for a Test Drive
References
Chapter 6 Virtual Machine Interrupts.
Overview and Organization.
INTO-File Input/Output
INT 1-File Management
INT2-Process Management
INT 3-Breakpoints
INT4-Timeand DateCalls
INT5-HandlingCommand-Line Arguments.
INT6-Memory Diagnostics.
INT7-DynamicMemory Allocation
INT 8-Mathematical Functions.
INT 9-Interfacing with Native Code
INT 10-Interprocess Communication (IPC)
IPC Overview
TCP/IP Sockets
TCP/IP Addressing
Implementation
References
Chapter 7 HEC Assembly Language.
Constituentsofan Assembly Language Program.
Instructions
Directives
. Comments
Defining Procedures and Labels.
LoadingandMovingImmediate Data
Direct Memory Addressing Mode.
Loading and Storing Data.
Arithmetic
Bitwise Operations.
Data Conversion.
Program Flow Control.
Jumping
Selection.
Iteration
Manipulating the Stack
Indirect Memory Addressing Mode
Defining Global Variable Storage
Constructing Activation Records
Data Type Mappings.
Scope.
Instruction and Directive Summary
References.
Chapter 8 Advanced Topics.
Targeting HEC: Compiler Design
Managing Complexity.
Approach
Supporting Object-Oriented Features
The Basic Tenets.
Encapsulation
Inheritance.
Polymorphism
Exceptions
Exceptions in Java.
Implementing Exceptions
Example Implementation
Abusing Exceptions.
Porting
Observations on Linux
linux.c
intlinux.c.
Building HEC
Rolling Your Own…Run-Time System
Creating and Following Trends.
Project Management Critical Paths.
Run-Time System Critical Path.
Operating System Critical Path
References.
Compiler Theory
Crypto.
Exceptions.
Java
Linux.
People also search for:
virtual machine design
java virtual machine design
advanced virtual machine design and implementation pdf
virtual machine design and implementation in c c++ pdf
virtual machine design and implementation in c c++
Tags: Bill Blunden, Virtual Machine, Design and Implementation


