How we did it:
For any feedback, any questions, any notes or just for chat - feel free to follow us on social networks
Gregor Hohpe, Bobby Woolf
Would you like to use a consistent visual notation for drawing integration solutions? "Look inside the front cover." Do you want to harness the power of asynchronous systems without getting caught in the pitfalls? "See "Thinking Asynchronously" in the Introduction." Do you want to know which style of application integration is best for your purposes? "See Chapter 2, Integration Styles." Do you want to learn techniques for processing messages concurrently? "See Chapter 10, Competing Consumers and Message Dispatcher." Do you want to learn how you can track asynchronous messages as they flow across distributed systems? "See Chapter 11, Message History and Message Store." Do you want to understand how a system designed using integration patterns can be implemented using Java Web services, .NET message queuing, and a TIBCO-based publish-subscribe architecture? "See Chapter 9, Interlude: Composed Messaging." Utilizing years of practical experience, seasoned experts Gregor Hohpe and Bobby Woolf show how asynchronous messaging has proven to be the best strategy for enterprise integration success. However, building and deploying messaging solutions presents a number of problems for developers. " Enterprise Integration Patterns " provides an invaluable catalog of sixty-five patterns, with real-world solutions that demonstrate the formidable of messaging and help you to design effective messaging solutions for your enterprise. The authors also include examples covering a variety of different integration technologies, such as JMS, MSMQ, TIBCO ActiveEnterprise, Microsoft BizTalk, SOAP, and XSL. A case study describing a bond trading system illustrates the patterns in practice, and the book offers a look at emerging standards, as well as insights into what the future of enterprise integration might hold. This book provides a consistent vocabulary and visual notation framework to describe large-scale integration solutions across many technologies. It also explores in detail the advantages and limitations of asynchronous messaging architectures. The authors present practical advice on designing code that connects an application to a messaging system, and provide extensive information to help you determine when to send a message, how to route it to the proper destination, and how to monitor the health of a messaging system. If you want to know how to manage, monitor, and maintain a messaging system once it is in use, get this book. 0321200683B09122003
Mark E. Russinovich, David A. Solomon, Alex Ionescu
See how the core components of the Windows operating system work behind the scenes--guided by a team of internationally renowned internals experts. Fully updated for Windows Server(R) 2008 and Windows Vista(R), this classic guide delivers key architectural insights on system design, debugging, performance, and support--along with hands-on experiments to experience Windows internal behavior firsthand. Delve inside Windows architecture and internals: Understand how the core system and management mechanisms work--from the object manager to services to the registry Explore internal system data structures using tools like the kernel debugger Grasp the scheduler's priority and CPU placement algorithms Go inside the Windows security model to see how it authorizes access to data Understand how Windows manages physical and virtual memory Tour the Windows networking stack from top to bottom--including APIs, protocol drivers, and network adapter drivers Troubleshoot file-system access problems and system boot problems Learn how to analyze crashes
Maurice J. Bach
This is the first, and still, the most comprehensive book to describe the sophisticated workings of the UNIX System V kernel--the internal algorithms, the structures that form the basis of the UNIX operating system, and their relationship to the programming interface. System programmers will gain a better understanding of how the kernel works and will be able to compare algorithms used in the UNIX system to algorithms used in other operating systems. Programmers on UNIX systems will gain a deeper understanding of how their programs interact with the system and can thereby code more efficient programs.
John L. Hennessy, David A. Patterson
The computing world today is in the middle of a revolution: mobile clients and cloud computing have emerged as the dominant paradigms driving programming and hardware innovation today. The Fifth Edition of Computer Architecture focuses on this dramatic shift, exploring the ways in which software and technology in the cloud are accessed by cell phones, tablets, laptops, and other mobile computing devices. Each chapter includes two real-world examples, one mobile and one datacenter, to illustrate this revolutionary change. Updated to cover the mobile computing revolution Emphasizes the two most important topics in architecture today: memory hierarchy and parallelism in all its forms. Develops common themes throughout each chapter: power, performance, cost, dependability, protection, programming models, and emerging trends ("What's Next") Includes three review appendices in the printed text. Additional reference appendices are available online. Includes updated Case Studies and completely new exercises.
John L. Hennessy, David A. Patterson
This best-selling title, considered for over a decade to be essential reading for every serious student and practitioner of computer design, has been updated throughout to address the most important trends facing computer designers today. In this edition, the authors bring their trademark method of quantitative analysis not only to high performance desktop machine design, but also to the design of embedded and server systems. They have illustrated their principles with designs from all three of these domains, including examples from consumer electronics, multimedia and web technologies, and high performance computing. The book retains its highly rated features: Fallacies and Pitfalls, which share the hard-won lessons of real designers; Historical Perspectives, which provide a deeper look at computer design history; Putting it all Together, which present a design example that illustrates the principles of the chapter; Worked Examples, which challenge the reader to apply the concepts, theories and methods in smaller scale problems; and Cross-Cutting Issues, which show how the ideas covered in one chapter interact with those presented in others. In addition, a new feature, Another View, presents brief design examples in one of the three domains other than the one chosen for Putting It All Together. The authors present a new organization of the material as well, reducing the overlap with their other text, Computer Organization and Design: A Hardware/Software Approach 2/e, and offering more in-depth treatment of advanced topics in multithreading, instruction level parallelism, VLIW architectures, memory hierarchies, storage devices and network technologies. Also new to this edition, is the adoption of the MIPS 64 as the instruction set architecture. In addition to several online appendixes, two new appendixes will be printed in the book: one contains a complete review of the basic concepts of pipelining, the other provides solutions a selection of the exercises. Both will be invaluable to the student or professional learning on her own or in the classroom. Hennessy and Patterson continue to focus on fundamental techniques for designing real machines and for maximizing their cost/performance. * Presents state-of-the-art design examples including: * IA-64 architecture and its first implementation, the Itanium * Pipeline designs for Pentium III and Pentium IV * The cluster that runs the Google search engine * EMC storage systems and their performance * Sony Playstation 2 * Infiniband, a new storage area and system area network * SunFire 6800 multiprocessor server and its processor the UltraSPARC III * Trimedia TM32 media processor and the Transmeta Crusoe processor * Examines quantitative performance analysis in the commercial server market and the embedded market, as well as the traditional desktop market. Updates all the examples and figures with the most recent benchmarks, such as SPEC 2000. * Expands coverage of instruction sets to include descriptions of digital signal processors, media processors, and multimedia extensions to desktop processors. * Analyzes capacity, cost, and performance of disks over two decades. Surveys the role of clusters in scientific computing and commercial computing. * Presents a survey, taxonomy, and the benchmarks of errors and failures in computer systems. * Presents detailed descriptions of the design of storage systems and of clusters. * Surveys memory hierarchies in modern microprocessors and the key parameters of modern disks. * Presents a glossary of networking terms.
John L. Hennessy, David A. Patterson
This book trains the student with the concepts needed to lay a solid foundation for joining this exciting field. More importantly, this book provides a framework for thinking about computer organization and design that will enable the reader to continue the lifetime of learning necessary for staying at the forefront of this competitive discipline. --John Crawford Intel Fellow Director of Microprocessor Architecture, Intel The performance of software systems is dramatically affected by how well software designers understand the basic hardware technologies at work in a system. Similarly, hardware designers must understand the far reaching effects their design decisions have on software applications. For readers in either category, this classic introduction to the field provides a deep look into the computer. It demonstrates the relationship between the software and hardware and focuses on the foundational concepts that are the basis for current computer design. Using a distinctive learning by evolution approach the authors present each idea from its first principles, guiding readers through a series of worked examples that incrementally add more complex instructions until they ha
Mark de Berg
This introduction to computational geometry focuses on algorithms. Motivation is provided from the application areas as all techniques are related to particular applications in robotics, graphics, CAD/CAM, and geographic information systems. Modern insights in computational geometry are used to provide solutions that are both efficient and easy to understand and implement.
David Money Harris, Sarah L. Harris
Designed for courses that combine digital logic design with computer organization/architecture or that teach these subjects as a two-course sequence, this text covers the fundamentals and then introduces Hardware Description Languages (HDLs).
This is the thoroughly revised and updated second edition of the hugely successful The Art of Electronics. Widely accepted as the authoritative text and reference on electronic circuit design, both analog and digital, this book revolutionized the teaching of electronics by emphasizing the methods actually used by circuit designers -- a combination of some basic laws, rules of thumb, and a large bag of tricks. The result is a largely nonmathematical treatment that encourages circuit intuition, brainstorming, and simplified calculations of circuit values and performance. The new Art of Electronics retains the feeling of informality and easy access that helped make the first edition so successful and popular. It is an ideal first textbook on electronics for scientists and engineers and an indispensable reference for anyone, professional or amateur, who works with electronic circuits.
Not long after research began at RAND in 1946, the need arose for random numbers that could be used to solve problems of various kinds of experimental probability procedures. These applications, called Monte Carlo methods, required a large supply of random digits and normal deviates of high quality, and the tables presented here were produced to meet those requirements.This book was a product of RAND's pioneering work in computing, as well a testament to the patience and persistence of researchers in the early days of RAND. The tables of random numbers in this book have become a standard reference in engineering and econometrics textbooks and have been widely used in gaming and simulations that employ Monte Carlo trials. Still the largest published source of random digits and normal deviates, the work is routinely used by statisticians, physicists, polltakers, market analysts, lottery administrators, and quality control engineers. A 2001 article in the New York Times on the value of randomness featured the original edition of the book, published in 1955 by the Free Press. The rights have since reverted to RAND, and in this digital age, we thought it appropriate to reissue a new edition of the book in its original format, with a new foreword by Michael D. Rich, RAND's Executive Vice President
Presents an introduction to High Level Assembler, covering such topics as editing, compiling, and running HLA programs; declaring and using constants; translating arithmetic expressions; and converting high-level control structures.
David A. Patterson, John L. Hennessy
In addition to thoroughly updating every aspect of the text to reflect the most current computing technology, the third edition *Uses standard 32-bit MIPS 32 as the primary teaching ISA. *Presents the assembler-to-HLL translations in both C and Java. *Highlights the latest developments in architecture in Real Stuff sections: + Intel IA-32 + Power PC 604 + Google's PC cluster + Pentium P4 + SPEC CPU2000 benchmark suite for processors + SPEC Web99 benchmark for web servers + EEMBC benchmark for embedded systems + AMD Opteron memory hierarchy + AMD vs. 1A-64 New support for distinct course goals Many of the adopters who have used our book throughout its two editions are refining their courses with a greater hardware or software focus. We have provided new material to support these course goals: New material to support a Hardware Focus +Using logic design conventions +Designing with hardware description languages +Advanced pipelining +Designing with FPGAs +HDL simulators and tutorials +Xilinx CAD tools New material to support a Software Focus +How compilers Work +How to optimize compilers +How to implement object oriented languages +MIPS simulator and tutorial +History sections on programming languages, compilers, operating systems and databases What's New in the Third Edition New pedagogical features Understanding Program Performance -Analyzes key performance issues from the programmer's perspective Check Yourself Questions -Helps students assess their understanding of key points of a section Computers In the Real World -Illustrates the diversity of applications of computing technology beyond traditional desktop and servers For More Practice -Provides students with additional problems they can tackle In More Depth -Presents new information and challenging exercises for the advanced student New reference features Highlighted glossary terms and definitions appear on the book page, as bold-faced entries in the index, and as a separate and searchable reference on the CD. A complete index of the material in the book and on the CD appears in the printed index and the CD includes a fully searchable version of the same index. Historical Perspectives and Further Readings have been updated and expanded to include the history of software R&D. CD-Library provides materials collected from the web which directly support the text. On the CD CD-Bars: Full length sections that are introduced in the book and presented on the CD CD-Appendixes: The entire set of appendixes CD-Library: Materials collected from the web which directly support the text CD-Exercises: For More Practice provides exercises and solutions for self-study In More Depth presents new information and challenging exercises for the advanced or curious student Glossary: Terms that are defined in the text are collected in this searchable reference Further Reading: References are organized by the chapter they support Software: HDL simulators, MIPS simulators, and FPGA design tools Tutorials: SPIM, Verilog, and VHDL Additional Support: Processor Models, Labs, Homeworks, Index covering the book and CD contents Instructor Support + Instructor Support is provided in a password-protected site to adopters who request the password from our sales representative + Solutions to all the exercises + Figures from the book in a number of formats + Lecture slides prepared by the authors and other instructors + Lecture notes For instructor resources click on the grey "companion site" button found on the right side of this page. This new edition represents a major revision. New to this edition: * Entire Text has been updated to reflect new technology * 70% new exercises. * Includes a CD loaded with software, projects and exercises to support courses using a number of tools * A new interior design presents defined terms in the margin for quick reference * A new feature, Understanding Program Performance focuses on performance from the programmer's perspective * Two sets of exercises and solutions, For More Practice and In More Depth, are included on the CD * Check Yourself questions help students check their understanding of major concepts * Computers In the Real World feature illustrates the diversity of uses for information technology *More detail below...
Laurence A. Wolsey, George L. Nemhauser
Rave reviews for INTEGER AND COMBINATORIAL OPTIMIZATION "This book provides an excellent introduction and survey of traditional fields of combinatorial optimization . . . It is indeed one of the best and most complete texts on combinatorial optimization . . . available. [And] with more than 700 entries, [it] has quite an exhaustive reference list."-Optima "A unifying approach to optimization problems is to formulate them like linear programming problems, while restricting some or all of the variables to the integers. This book is an encyclopedic resource for such formulations, as well as for understanding the structure of and solving the resulting integer programming problems."-Computing Reviews "[This book] can serve as a basis for various graduate courses on discrete optimization as well as a reference book for researchers and practitioners."-Mathematical Reviews "This comprehensive and wide-ranging book will undoubtedly become a standard reference book for all those in the field of combinatorial optimization."-Bulletin of the London Mathematical Society "This text should be required reading for anybody who intends to do research in this area or even just to keep abreast of developments."-Times Higher Education Supplement, London Also of interest . . . INTEGER PROGRAMMING Laurence A. Wolsey Comprehensive and self-contained, this intermediate-level guide to integer programming provides readers with clear, up-to-date explanations on why some problems are difficult to solve, how techniques can be reformulated to give better results, and how mixed integer programming systems can be used more effectively. 1998 (0-471-28366-5) 260 pp.
Embedded computer systems literally surround us: they're in our cell phones, PDAs, cars, TVs, refrigerators, heating systems, and more. In fact, embedded systems are one of the most rapidly growing segments of the computer industry today. Along with the growing list of devices for which embedded computer systems are appropriate, interest is growing among programmers, hobbyists, and engineers of all types in how to design and build devices of their own. Furthermore, the knowledge offered by this book into the fundamentals of these computer systems can benefit anyone who has to evaluate and apply the systems. The second edition of Designing Embedded Hardware has been updated to include information on the latest generation of processors and microcontrollers, including the new MAXQ processor. If you're new to this and don't know what a MAXQ is, don't worry--the book spells out the basics of embedded design for beginners while providing material useful for advanced systems designers. Designing Embedded Hardware steers a course between those books dedicated to writing code for particular microprocessors, and those that stress the philosophy of embedded system design without providing any practical information. Having designed 40 embedded computer systems of his own, author John Catsoulis brings a wealth of real-world experience to show readers how to design and create entirely new embedded devices and computerized gadgets, as well as how to customize and extend off-the-shelf systems. Loaded with real examples, this book also provides a roadmap to the pitfalls and traps to avoid. Designing Embedded Hardware includes: The theory and practice of embedded systems Understanding schematics and data sheets Powering an embedded system Producing and debugging an embedded system Processors such as the PIC, Atmel AVR, and Motorola 68000-series Digital Signal Processing (DSP) architectures Protocols (SPI and I2C) used to add peripherals RS-232C, RS-422, infrared communication, and USB CAN and Ethernet networking Pulse Width Monitoring and motor control If you want to build your own embedded system, or tweak an existing one, this invaluable book gives you the understanding and practical skills you need.
Sabih H. Gerez
Modern microprocessors such as Intel's Pentium chip typically contain millions of transitors. Known generically as Very Large-Scale Integrated (VLSI) systems, the chips have a scale and complexity that has necessitated the development of CAD tools to automate their design. This book focuses on the algorithms which are the building blocks of the design automation software which generates the layout of VLSI circuits. One of the first books on the subject, this guide covers all stages of design.
W. Daniel Hillis
The head of Disney's Imagineering Works dissects the workings of computer logic and breaks it down into simple procedures, clarifying, for the computer illiterate, what makes computers tick, and discusses the exciting developments available today. Tour.
This book provides a focused, hands-on introduction to using VHDL and programmable logic to solve design problems. Whether you are a student looking for a dynamic, real-world introduction to an industry standard HDL, or a professional engineer, VHDL for Programmable Logic will be an indispensable resource.
Linda Null, Julia Lobur
Bestseller has been updated to include the latest PC hardware and maintenance information. • • Keeps readers up-to-date with ever changing PC hardware standards and technologies. • This classic has outlasted its competition and now stands alone as the de facto PC hardware reference. • No other book offers information this well researched, assembled and put into context. Now $64.95 Aust RRP Upgrading and Repairing PCs is Que's all-time leading performer and has been the single largest revenue producer in Pearson Technology Group over the life of the book, selling more than two million units worldwide. World-renowned PC hardware expert Scott Mueller has taught thousands in his weeklong seminars and millions through his books, videos and magazine articles. Major changes in the PC hardware industry - including coverage of new Core 2 processors from Intel, Socket AM2 processors from AMD, significant advances in motherboard chipsets, Blu-Ray and HD-DVD, make Upgrading and Repairing PCs, 18th Edition an indispensable addition to every serious computer user's bookshelf - that is if it ever leaves their desks. Readers from around the world email Scott everyday, praising the 17th Edition and getting the scoop on the upcoming 18th Edition. If any hardware author has a cult following, it's Scott Mueller. Upgrading and Repairing PCs is found on the desks of teachers, students, hobbyists, repair technicians and even Interpol agents who use the skills they learn in Scott's book to track international criminals.
Evolutionary Algorithms for VLSI CAD presents the basic ideas of EAs and the application of EAs in VLSI CAD is considered. It is the first book to show how EAs could be used to improve lC design tools and processes. Several successful applications from different areas of circuit design, like logic synthesis, mapping and testing, are described in detail. Evolutionary Algorithms for VLSI CAD is intended for CAD developers and researchers as well as people who are working in evolutionary algorithms and techniques supporting modern design tools and processes.