دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش: 1st Edition.
نویسندگان: Iain D. Craig
سری:
ISBN (شابک) : 1852339691, 9781852339692
ناشر: Springer
سال نشر: 2005
تعداد صفحات: 276
زبان: English
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 9 مگابایت
در صورت تبدیل فایل کتاب Virtual Machines به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب ماشین های مجازی نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
این کتاب بینش منحصر به فردی را در مورد ساخت ماشین های مجازی برای زبان های متوالی، شی گرا و موازی ارائه می دهد و از مقایسه ماشین های مجازی مختلف برای ارائه مثال های واقعی و عملی استفاده می کند. انتقال حالت به عنوان یک تکنیک رسمی برای مشخصات ماشینهای مجازی در سراسر استفاده میشود و - علاوه بر این، انتقالها و انتقالهای حالت مربوط به عملیات کلی برای مشخصات ماشین مجازی برای سیستم مبتنی بر رویداد گنجانده شدهاند. دو ماشین مجازی با استفاده از یک زبان متوالی ساده تعریف میشوند که سپس تعمیم داده میشود و شامل شی و موازی میشود. سایر موضوعات مورد بررسی شامل اجرای VM ها و پیشنهادات برای کارهای آینده است. ضمائم شامل مشخصات سطح بالا دو کامپایلر است: یکی برای زبان ساده که به عنوان مثال اصلی در سراسر کتاب عمل می کند، دیگری برای زبان مبتنی بر رویداد مشخص شده در فصل 6. این کتاب یک ابزار مرجع ضروری برای محققان دانشگاهی و صنعتی است. و همچنین تحصیلات تکمیلی در این زمینه.
This book offers a unique insight into the building of virtual machines for sequential, object-oriented and parallel languages, and uses comparisons of different VMs to provide actual, practical examples. State transitions are used as a formal technique for the specification of virtual machines throughout and – in addition – transitions and state transitions relating to the general operation are included for specification of the virtual machine for the event-based system. Two virtual machines are defined using a simple sequential language, which is then generalised to include object and parallelism. Other themes explored include the implementation of VMs and proposals for future work. Appendices contain high-level specifications of two compilers: one for the simple language that serves as the basic example throughout the book, the other for the event-based language specified in Chapter 6. This book is an essential reference tool for academic and industrial researchers as well as postgraduates in this area.
1852339691......Page 1
Virtual Machines......Page 3
Copyright Page\r......Page 4
Preface......Page 6
Acknowledgements......Page 8
Table of Contents\r......Page 9
1.1 Introduction......Page 14
1.3 Landin\'s SEeD Machine......Page 16
1.4 The Organisation of this Book......Page 18
1.5 Omissions......Page 20
2.1 Introduction......Page 24
2.2 BCPL the Language......Page 25
2.3 VM Operations......Page 28
2.4 The OeODE Machine......Page 30
2.5.1 Expression Instructions......Page 31
2.5.3 Instructions Relating to Routines......Page 33
2.5 .4 Control Instructions......Page 35
2.5.5 Directives......Page 36
2.6 The Intcode/Cintcode Machine......Page 37
3.1 Introduction......Page 40
3.2 JVM Organisation: An Overview......Page 41
3.2.1 The stack......Page 42
3.2.2 Method areas......Page 43
3.2.3 The PC register......Page 44
3.3 Class Files......Page 45
3.4 Object Representation at Runtime......Page 53
3.5 Initialisation......Page 55
3.6 Object Deletion......Page 57
3.8 Exception Handling......Page 58
3.9 Instructions......Page 59
3.9.1 Data-manipulation instructions......Page 61
3.9.2 Control instructions......Page 64
3.9.3 Stack-manipulating instructions......Page 67
3.9.4 Support for object orientation......Page 69
3.10 Concluding Remarks......Page 72
4.1 Introduction......Page 73
4.2.1 Language Overview......Page 74
4.2.2 What the Virtual Machine Must Support......Page 77
4.2.3 Virtual Machine-Storage Structures......Page 78
4.2.4 Virtual Machine-Registers......Page 80
4.2 .5 Virtual Machine-Instruction Set......Page 82
4.2.6 An Example......Page 91
4.2.7 Implementation......Page 93
4.2.8 Extensions......Page 97
4.2.9 Alternatives......Page 100
4.2.10 Specification......Page 105
4.3 Issues......Page 108
4.3.1 Indirect and Relative Jumps......Page 109
4.3.2 More Data Types......Page 110
4.3.4 Primitive Routines......Page 118
4.4 Concluding Remarks......Page 119
5.1 Introduction......Page 121
5.2.1 Language Overview......Page 122
5.2 .2 Virtual Machine-Storage Structures......Page 123
5.2.4 Virtual Machine-Instruction Set......Page 125
5.2.6 Alternatives......Page 128
5.3.1 Language Overview......Page 129
5.3.2 Virtual Machine-Storage Structures......Page 131
5.3.3 Virtual Machine-Registers......Page 133
5.3.4 Virtual Machine-Instruction Set......Page 134
5.3.5 Implementation......Page 136
5.3.6 Extensions......Page 138
5.3.7 Alternatives......Page 140
5.4.1 Some Optimisations......Page 141
5.4.2 Combining the Languages......Page 142
6.1 Introduction......Page 143
6.2 The Structure of Rules......Page 145
6.4 Execution Cycle......Page 148
6.5 Interpretation Rules......Page 150
6.6 VM Specification......Page 153
6.6.1 States and Notational Conventions......Page 154
6.6.2 Infra-Rule Transitions......Page 157
6.6.3 Extra-Rule Transitions......Page 160
6.6.4 VM-Only Transitions......Page 162
6.6.5 Introspective Operations......Page 163
6.7 Rule Equivalences......Page 165
6.8 Concluding Remarks......Page 166
7.1 Introduction......Page 168
7.2 The Register-Transfer Model......Page 169
7.3 Register Machine Organisation......Page 172
7.4 Parrot-General Organisation......Page 176
7.5 Parrot Instruction Set......Page 179
7.5.2 Data management instructions......Page 180
7.5.3 Register and stack operations......Page 181
7.6 DIY Register-Based Virtual Machine......Page 182
7.6.1 Informal Design......Page 183
7.6.2 Extensions......Page 187
7.6.3 Transition Rules......Page 188
7.7 Translating ALEXVM into RTM......Page 194
7.9 Correctness of the Translation......Page 197
7.10 More Natural Compilation......Page 207
7.11 Extensions......Page 211
8 Implementation Techniques......Page 212
8.1.1 Direct Implementation......Page 213
8.1.2 Translation......Page 214
8.1.3 Threaded Code......Page 218
8.2 Register Machines......Page 220
8.2.2 Addressing......Page 221
8.3 Using Transitions......Page 223
8.4 Concluding Remarks......Page 224
9.1 Security......Page 226
9.3 Typed Instruction Sets and Intermediate Codes......Page 227
9.6 Compiler Correctness......Page 229
9.7 Dynamic Code Insertion......Page 230
9.8 Instrumentation......Page 231
9.9 Including more Information about Source Code......Page 232
9.11 Increased Inter-Operability......Page 233
9.12 Code Mobility......Page 234
9.13 Small Platforms......Page 235
9.14 Real-Time VMs......Page 237
9.16 Greater Optimisation......Page 238
9.17 Operating System Constructs......Page 239
9.20 Objects and VMs......Page 240
9.21 Virtual VMs......Page 241
9.22 By Way of a Conclusion......Page 242
Compiling ALEX\r......Page 243
Harrison Machine Compilation Rules......Page 251
Harrison Machine Instruction Set......Page 266
References......Page 269
Index......Page 272