Computer systems: a programmer's perspective
Gespeichert in:
Hauptverfasser: | , |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Boston ; Columbus ; Hoboken ; Indianapolis ; New York ; San Francisco ; Amsterdam
Pearson
[2016]
|
Ausgabe: | Third edition, global edition |
Schriftenreihe: | Always learning
|
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | 1120 Seiten Illustrationen |
ISBN: | 9781292101767 1292101768 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV042945838 | ||
003 | DE-604 | ||
005 | 20230222 | ||
007 | t | ||
008 | 151023s2016 a||| |||| 00||| eng d | ||
020 | |a 9781292101767 |9 978-1-292-10176-7 | ||
020 | |a 1292101768 |9 1-292-10176-8 | ||
035 | |a (OCoLC)930622719 | ||
035 | |a (DE-599)GBV837445884 | ||
040 | |a DE-604 |b ger |e rda | ||
041 | 0 | |a eng | |
049 | |a DE-634 |a DE-11 |a DE-573 |a DE-83 |a DE-19 |a DE-523 |a DE-91G |a DE-Aug4 |a DE-898 |a DE-706 |a DE-20 |a DE-355 | ||
084 | |a ST 230 |0 (DE-625)143617: |2 rvk | ||
084 | |a DAT 310f |2 stub | ||
100 | 1 | |a Bryant, Randal E. |d 1952- |e Verfasser |0 (DE-588)1089505965 |4 aut | |
245 | 1 | 0 | |a Computer systems |b a programmer's perspective |c Randal E. Bryant (Carnegie Mellon University) ; David R. O'Hallaron (Carnegie Mellon University) |
250 | |a Third edition, global edition | ||
264 | 1 | |a Boston ; Columbus ; Hoboken ; Indianapolis ; New York ; San Francisco ; Amsterdam |b Pearson |c [2016] | |
300 | |a 1120 Seiten |b Illustrationen | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a Always learning | |
650 | 0 | 7 | |a Maschinenorientierte Programmierung |0 (DE-588)4261129-5 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Computerarchitektur |0 (DE-588)4048717-9 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Informatik |0 (DE-588)4026894-9 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Software Engineering |0 (DE-588)4116521-4 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Programmiersprache |0 (DE-588)4047409-4 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Maschinenorientierte Programmierung |0 (DE-588)4261129-5 |D s |
689 | 0 | 1 | |a Computerarchitektur |0 (DE-588)4048717-9 |D s |
689 | 0 | |5 DE-604 | |
689 | 1 | 0 | |a Software Engineering |0 (DE-588)4116521-4 |D s |
689 | 1 | 1 | |a Computerarchitektur |0 (DE-588)4048717-9 |D s |
689 | 1 | |5 DE-604 | |
689 | 2 | 0 | |a Informatik |0 (DE-588)4026894-9 |D s |
689 | 2 | |8 1\p |5 DE-604 | |
689 | 3 | 0 | |a Programmiersprache |0 (DE-588)4047409-4 |D s |
689 | 3 | |8 2\p |5 DE-604 | |
700 | 1 | |a O'Hallaron, David Richard |d 1955- |e Verfasser |0 (DE-588)1089505876 |4 aut | |
856 | 4 | 2 | |m Digitalisierung UB Regensburg - ADAM Catalogue Enrichment |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=028372167&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
883 | 1 | |8 1\p |a cgwrk |d 20201028 |q DE-101 |u https://d-nb.info/provenance/plan#cgwrk | |
883 | 1 | |8 2\p |a cgwrk |d 20201028 |q DE-101 |u https://d-nb.info/provenance/plan#cgwrk | |
943 | 1 | |a oai:aleph.bib-bvb.de:BVB01-028372167 |
Datensatz im Suchindex
_version_ | 1814260924558606336 |
---|---|
adam_text |
Contents Preface 19 About the Authors 35 1_ A Tour of Computer Systems 37 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 Information Is Bits + Context 39 Programs Are Translated by Other Programs into Different Forms 40 It Pays to Understand How Compilation Systems Work 42 Processors Read and Interpret Instructions Stored in Memory 43 1.4.1 Hardware Organization of a System 44 1.4.2 Running the hello Program 46 Caches Matter 47 Storage Devices Form a Hierarchy 50 The Operating System Manages the Hardware 50 1.7.1 Processes 51 1.7.2 Threads 53 1.7.3 Virtual Memory 54 1.7.4 Files 55 Systems Communicate with Other Systems Using Networks 55 Important Themes 58 1.9.1 Amdahl’s Law 58 1.9.2 Concurrency and Parallelism 60 1.9.3 The Importance of Abstractions in Computer Systems 62 Summary 63 Bibliographic Notes 64 Solutions to Practice Problems 64 Part I Program Structure and Execution 2 Representing and Manipulating Information 67 2.1 Information Storage 70 2.1.1 Hexadecimal Notation 72 2.1.2 Data Sizes 75 7
8 Contents 2.1.3 Addressing and Byte Ordering 78 2.1,4 Representing Strings 85 2.1.5 Representing Code 85 2.1.6 Introduction to Boolean Algebra 86 2.1.7 Bit-Level Operations in C 90 2.1.8 Logical Operations in C 92 2.1.9 Shift Operations in C 93 2.2 Integer Representations 95 2.2.1 Integral Data Types 96 2.2.2 Unsigned Encodings 98 2.2.3 Two’s-Complement Encodings 100 2.2.4 Conversions between Signed and Unsigned 106 2.2.5 Signed versus Unsigned in C 110 2.2.6 Expanding the Bit Representation of a Number 112 2.2.7 Truncating Numbers 117 2.2.8 Advice on Signed versus Unsigned 119 2.3 Integer Arithmetic 120 2.3.1 Unsigned Addition 120 2.3.2 Two’s-Complement Addition 126 2.3.3 Two’s-Complement Negation 131 2.3.4 Unsigned Multiplication 132 2.3.5 Two’s-Complement Multiplication 133 2.3.6 Multiplying by Constants 137 2.3.7 Dividing by Powers of 2 139 2.3.8 Final Thoughts on Integer Arithmetic 143 2.4 Floating Point 144 2.4.1 Fractional Binary Numbers 145 2.4.2 IEEE Floating-Point Representation 148 2.4.3 Example Numbers 151 2.4.4 Rounding 156 2.4.5 Floating-Point Operations 158 2.4.6 Floating Point in C 160 2.5 Summary 162 Bibliographic Notes 163 Homework Problems 164 Solutions to Practice Problems 179 3_ Machine-Level Representation of Programs 199 3.1 A Historical Perspective 202
Contents 3.2 Program Encodings 205 3.2.1 Machine-Level Code 206 3.2.2 Code Examples 208 3.2.3 Notes on Formatting 211 3.3 Data Formats 213 3.4 Accessing Information 215 3.4.1 Operand Specifiers 216 3.4.2 Data Movement Instructions 218 3.4.3 Data Movement Example 222 3.4.4 Pushing and Popping Stack Data 225 3.5 Arithmetic and Logical Operations 227 3.5.1 Load Effective Address 227 3.5.2 Unary and Binary Operations 230 3.5.3 Shift Operations 230 3.5.4 Discussion 232 3.5.5 Special Arithmetic Operations 233 3.6 Control 236 3.6.1 Condition Codes 237 3.6.2 Accessing the Condition Codes 238 3.6.3 Jump Instructions 241 3.6.4 Jump Instruction Encodings 243 3.6.5 Implementing Conditional Branches with Conditional Control 245 3.6.6 Implementing Conditional Branches with Conditional Moves 250 3.6.7 Loops 256 3.6.8 Switch Statements 268 3.7 Procedures 274 3.7.1 The Run-Time Stack 275 3.7.2 Control Transfer 277 3.7.3 Data Transfer 281 3.7.4 Local Storage on the Stack 284 3.7.5 Local Storage in Registers 287 3.7.6 Recursive Procedures 289 3.8 Array Allocation and Access 291 3.8.1 Basic Principles 291 3.8.2 Pointer Arithmetic 293 3.8.3 Nested Arrays 294 3.8.4 Fixed-Size Arrays 296 3.8.5 Variable-Size Arrays 298 9
10 Contents 3.9 3.10 3.11 3.12 Heterogeneous Data Structures 301 3.9.1 Structures 301 3.9.2 Unions 305 3.9.3 Data Alignment 309 Combining Control and Data in Machine-Level Programs 312 3.10.1 Understanding Pointers 313 3.10.2 Life in the Real World: Using the gdb Debugger 315 3.10.3 Out-of-Bounds Memory References and Buffer Overflow 315 3.10.4 Thwarting Buffer Overflow Attacks 320 3.10.5 Supporting Variable-Size Stack Frames 326 Floating-Point Code 329 3.11.1 Floating-Point Movement and Conversion Operations 332 3.11.2 Floating-Point Code in Procedures 337 3.11.3 Floating-Point Arithmetic Operations 338 3.11.4 Defining and Using Floating-Point Constants 340 3.11.5 Using Bitwise Operations in Floating-Point Code 341 3.11.6 Floating-Point Comparison Operations 342 3.11.7 Observations about Floating-Point Code 345 Summary 345 Bibliographic Notes 346 Homework Problems 347 Solutions to Practice Problems 361 4 Processor Architecture 387 4.1 4.2 4.3 The Y86-64 Instruction Set Architecture 391 4.1.1 Programmer-Visible State 391 4.1.2 Y86-64 Instructions 392 4.1.3 Instruction Encoding 394 4.1.4 Y86-64 Exceptions 399 4.1.5 Y86-64 Programs 400 4.1.6 Some Y86-64 Instruction Details 406 Logic Design and the Hardware Control Language HCL 408 4.2.1 Logic Gates 409 4.2.2 Combinational Circuits and HCL Boolean Expressions 4.2.3 Word-Level Combinational Circuits and HCL Integer Expressions 412 4.2.4 Set Membership 416 4.2.5 Memory and Clocking 417 Sequential Y86-64 Implementations 420 4.3.1 Organizing Processing into Stages 420 410
Contents 4.4 4.5 4.6 4.3.2 SEQ Hardware Structure 432 4.3.3 SEQ Timing 436 4.3.4 SEQ Stage Implementations 440 General Principles of Pipelining 448 4.4.1 Computational Pipelines 448 4.4.2 A Detailed Look at Pipeline Operation 450 4.4.3 Limitations of Pipelining 452 4.4.4 Pipelining a System with Feedback 455 Pipelined Y86-64 Implementations 457 4.5.1 SEQ+: Rearranging the Computation Stages 457 4.5.2 Inserting Pipeline Registers 458 4.5.3 Rearranging and Relabeling Signals 462 4.5.4 Next PC Prediction 463 4.5.5 Pipeline Hazards 465 4.5.6 Exception Handling 480 4.5.7 PIPE Stage Implementations 483 4.5.8 Pipeline Control Logic 491 4.5.9 Performance Analysis 500 4.5.10 Unfinished Business 504 Summary 506 4.6.1 Y86-64 Simulators 508 Bibliographic Notes 509 Homework Problems 509 Solutions to Practice Problems 516 5 Optimizing Program Performance 531 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 Capabilities and Limitations of Optimizing Compilers 534 Expressing Program Performance 538 Program Example 540 Eliminating Loop Inefficiencies 544 Reducing Procedure Calls 548 Eliminating Unneeded Memory References 550 Understanding Modern Processors 553 5.7.1 Overall Operation 554 5.7.2 Functional Unit Performance 559 5.7.3 An Abstract Model of Processor Operation 561 Loop Unrolling 567 Enhancing Parallelism 572 5.9.1 Multiple Accumulators 572 5.9.2 Reassociation Transformation 577 ΊΊ
12 Contents 5.10 5.11 5.12 5.13 5.14 5.15 Summary of Results for Optimizing Combining Code 583 Some Limiting Factors 584 5.11.1 Register Spilling 584 5.11.2 Branch Prediction and Misprediction Penalties 585 Understanding Memory Performance 589 5.12.1 Load Performance 590 5.12.2 Store Performance 591 Life in the Real World: Performance Improvement Techniques Identifying and Eliminating Performance Bottlenecks 598 5.14.1 Program Profiling 598 5.14.2 Using a Profiler to Guide Optimization 601 Summary 604 Bibliographic Notes 605 Homework Problems 606 Solutions to Practice Problems 609 597 6_ The Memory Hierarchy 615 6.1 6.2 6.3 6.4 6.5 6.6 Storage Technologies 617 6.1.1 Random Access Memory 617 6.1.2 Disk Storage 625 6.1.3 Solid State Disks 636 6.1.4 Storage Technology Trends 638 Locality 640 6.2.1 Locality of References to Program Data 642 6.2.2 Locality of Instruction Fetches 643 6.2.3 Summary of Locality 644 The Memory Hierarchy 645 6.3.1 Caching in the Memory Hierarchy 646 6.3.2 Summary of Memory Hierarchy Concepts 650 Cache Memories 650 6.4.1 Generic Cache Memory Organization 651 6.4.2 Direct-Mapped Caches 653 6.4.3 Set Associative Caches 660 6.4.4 Fully Associative Caches 662 6.4.5 Issues with Writes 666 6.4.6 Anatomy of a Real Cache Hierarchy 667 6.4.7 Performance Impact of Cache Parameters 667 Writing Cache-Friendly Code 669 Putting It Together: The Impact of Caches on Program Performance 675
Contents 6.7 6.6.1 The Memory Mountain 675 6.6.2 Rearranging Loops to Increase Spatial Locality 6.6.3 Exploiting Locality in Your Programs 683 Summary 684 Bibliographic Notes 684 Homework Problems 685 Solutions to Practice Problems 696 Part II 679 Running Programs on a System 7 Linking 705 Compiler Drivers 707 Static Linking 708 Object Files 709 Relocatable Object Files 710 Symbols and Symbol Tables 711 Symbol Resolution 715 7.6.1 How Linkers Resolve Duplicate Symbol Names 716 7.6.2 Linking with Static Libraries 720 7.6.3 How Linkers Use Static Libraries to Resolve References 724 7.7 Relocation 725 7.7.1 Relocation Entries 726 7.7.2 Relocating Symbol References 727 7.8 Executable Object Files 731 7.9 Loading Executable Object Files 733 7.10 Dynamic Linking with Shared Libraries 734 7.11 Loading and Linking Shared Libraries from Applications 737 7.12 Position-Independent Code (PIC) 740 7.13 Library Interpositioning 743 7.13.1 Compile-Time Interpositioning 744 7.13.2 Link-Time Interpositioning 744 7.13.3 Run-Time Interpositioning 746 7.14 Tools for Manipulating Object Files 749 7.15 Summary 749 Bibliographic Notes 750 Homework Problems 750 Solutions to Practice Problems 753 7.1 7.2 7.3 7.4 7.5 7.6 13
14 Contents 8 Exceptional Control Flow 757 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 Exceptions 759 8.1.1 Exception Handling 760 8.1.2 Classes of Exceptions 762 8.1.3 Exceptions in Linux/x86-64 Systems 765 Processes 768 8.2.1 Logical Control Flow 768 8.2.2 Concurrent Flows 769 8.2.3 Private Address Space 770 8.2.4 User and Kernel Modes 770 8.2.5 Context Switches 772 System Call Error Handling 773 Process Control 774 8.4.1 Obtaining Process IDs 775 8.4.2 Creating and Terminating Processes 775 8.4.3 Reaping Child Processes 779 8.4.4 Putting Processes to Sleep 785 8.4.5 Loading and Running Programs 786 8.4.6 Using fork and execve to Run Programs 789 Signals 792 8.5.1 Signal Terminology 794 8.5.2 Sending Signals 795 8.5.3 Receiving Signals 798 8.5.4 Blocking and Unblocking Signals 800 8.5.5 Writing Signal Handlers 802 8.5.6 Synchronizing Flows to Avoid Nasty Concurrency Bugs 8.5.7 Explicitly Waiting for Signals 814 Nonlocal Jumps 817 Tools for Manipulating Processes 822 Summary 823 Bibliographic Notes 823 Homework Problems 824 Solutions to Practice Problems 831 Virtual Memory 837 9.1 9.2 Physical and Virtual Addressing 839 Address Spaces 840 812
Contents a Tool for Caching 841 DRAM Cache Organization 842 Page Tables 842 Page Hits 844 Page Faults 844 Allocating Pages 846 Locality to the Rescue Again 846 9.3 VM as 9.3.1 9.3.2 9.3.3 9.3.4 9.3.5 9.3.6 9.4 VM as a Tool for Memory Management 9.5 VM as a Tool for Memory Protection 9.6 Address Translation 849 9.6.1 Integrating Caches and VM 853 9.6.2 Speeding Up Address Translation with a TLB 853 9.6.3 Multi-Level Page Tables 855 9.6.4 Putting It Together: End-to-End Address Translation 847 848 857 9.7 Case Study: The Intel Core i7/Linux Memory System 9.7.1 Core І7 Address Translation 862 9.7.2 Linux Virtual Memory System 864 9.8 Memory Mapping 869 9.8.1 Shared Objects Revisited 869 9.8.2 The fork Function Revisited 872 9.8.3 The execve Function Revisited 872 9.8.4 User-Level Memory Mapping with the mmap Function 873 9.9 Dynamic Memory Allocation 875 9.9.1 The malloc and free Functions 876 9.9.2 Why Dynamic Memory Allocation? 879 9.9.3 Allocator Requirements and Goals 880 9.9.4 Fragmentation 882 9.9.5 Implementation Issues 882 9.9.6 Implicit Free Lists 883 9.9.7 Placing Allocated Blocks 885 9.9.8 Splitting Free Blocks 885 9.9.9 Getting Additional Heap Memory 886 9.9.10 Coalescing Free Blocks 886 9.9.11 Coalescing with Boundary Tags 887 9.9.12 Putting It Together: Implementing a Simple Allocator 9.9.13 Explicit Free Lists 898 9.9.14 Segregated Free Lists 899 9.10 Garbage Collection 901 9.10.1 Garbage Collector Basics 902 9.10.2 Mark Sweep Garbage Collectors 903 9.10.3 Conservative Mark Sweep for C Programs 861 905 890 15
Ί6 Contents 9.11 9.12 Common Memory-Related Bugs in C Programs 906 9.11.1 Dereferencing Bad Pointers 906 9.11.2 Reading Uninitialized Memory 907 9.11.3 Allowing Stack Buffer Overflows 907 9.11.4 Assuming That Pointers and the Objects They Point to Are the Same Size 908 9.11.5 Making Off-by-One Errors 908 9.11.6 Referencing a Pointer Instead of the Object It Points To 9.11.7 Misunderstanding Pointer Arithmetic 909 9.11.8 Referencing Nonexistent Variables 910 9.11.9 Referencing Data in Free Heap Blocks 910 9.11.10 Introducing Memory Leaks 911 Summary 911 Bibliographic Notes 912 Homework Problems 912 Solutions to Practice Problems 916 909 Part 111 Interaction and Communication between Programs 10_ System-Level I/O 925 Unix I/O 926 Files 927 Opening and Closing Files 929 Reading and Writing Files 931 Robust Reading and Writing with the Rio Package 933 10.5.1 Rio Unbuffered Input and Output Functions 933 10.5.2 Rio Buffered Input Functions 934 10.6 Reading File Metadata 939 10.7 Reading Directory Contents 941 10.8 Sharing Files 942 10.9 I/O Redirection 945 10.10 Standard I/O 947 10.11 Putting It Together: Which I/O Functions Should I Use? 947 10.12 Summary 949 Bibliographic Notes 950 Homework Problems 950 Solutions to Practice Problems 951 10.1 10.2 10.3 10.4 10.5
Contents 11 Network Programming 953 11.1 11.2 11.3 11.4 11.5 11.6 11.7 The Client-Server Programming Model 954 Networks 955 The Global IP Internet 960 11.3.1 IP Addresses 961 11.3.2 Internet Domain Names 963 11.3.3 Internet Connections 965 The Sockets Interface 968 11.4.1 Socket Address Structures 969 11.4.2 The socket Function 970 11.4.3 The connect Function 970 11.4.4 The bind Function 971 11.4.5 The listen Function 971 11.4.6 The accept Function 972 11.4.7 Host and Service Conversion 973 11.4.8 Helper Functions for the Sockets Interface 11.4.9 Example Echo Client and Server 980 Web Servers 984 11.5.1 Web Basics 984 11.5.2 Web Content 985 11.5.3 HTTP Transactions 986 11.5.4 Serving Dynamic Content 989 Putting It Together: The Tiny Web Server 992 Summary 1000 Bibliographic Notes 1001 Homework Problems 1001 Solutions to Practice Problems 1002 978 12_ Concurrent Programming 1007 12.1 12.2 12.3 Concurrent Programming with Processes 1009 12.1.1 A Concurrent Server Based on Processes 1010 12.1.2 Pros and Cons of Processes 1011 Concurrent Programming with I/O Multiplexing 1013 12.2.1 A Concurrent Event-Driven Server Based on I/O Multiplexing 1016 12.2.2 Pros and Cons of I/O Multiplexing 1021 Concurrent Programming with Threads 1021 12.3.1 Thread Execution Model 1022 17
18 Contents 12.3.2 Posix Threads 1023 12.3.3 Creating Threads 1024 12.3.4 Terminating Threads 1024 12.3.5 Reaping Terminated Threads 1025 12.3.6 Detaching Threads 1025 12.3.7 Initializing Threads 1026 12.3.8 A Concurrent Server Based on Threads 1027 12.4 Shared Variables in Threaded Programs 1028 12.4.1 Threads Memory Model 1029 12.4.2 Mapping Variables to Memory 1030 12.4.3 Shared Variables 1031 12.5 Synchronizing Threads with Semaphores 1031 12.5.1 Progress Graphs 1035 12.5.2 Semaphores 1037 12.5.3 Using Semaphores for Mutual Exclusion 1038 12.5.4 Using Semaphores to Schedule Shared Resources 1040 12.5.5 Putting It Together: A Concurrent Server Based on Prethreading 1044 12.6 Using Threads for Parallelism 1049 12.7 Other Concurrency Issues 1056 12.7.1 Thread Safety 1056 12.7.2 Reentrancy 1059 12.7.3 Using Existing Library Functions in Threaded Programs 1060 12.7.4 Races 1061 12.7.5 Deadlocks 1063 12.8 Summary 1066 Bibliographic Notes 1066 Homework Problems 1067 Solutions to Practice Problems 1072 Error Handling 1077 A.l A.2 Error Handling in Unix Systems 1078 Error-Handling Wrappers 1079 References Index 1089 1083 |
any_adam_object | 1 |
author | Bryant, Randal E. 1952- O'Hallaron, David Richard 1955- |
author_GND | (DE-588)1089505965 (DE-588)1089505876 |
author_facet | Bryant, Randal E. 1952- O'Hallaron, David Richard 1955- |
author_role | aut aut |
author_sort | Bryant, Randal E. 1952- |
author_variant | r e b re reb d r o dr dro |
building | Verbundindex |
bvnumber | BV042945838 |
classification_rvk | ST 230 |
classification_tum | DAT 310f |
ctrlnum | (OCoLC)930622719 (DE-599)GBV837445884 |
discipline | Informatik |
edition | Third edition, global edition |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>00000nam a2200000 c 4500</leader><controlfield tag="001">BV042945838</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20230222</controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">151023s2016 a||| |||| 00||| eng d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781292101767</subfield><subfield code="9">978-1-292-10176-7</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">1292101768</subfield><subfield code="9">1-292-10176-8</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)930622719</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)GBV837445884</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rda</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-634</subfield><subfield code="a">DE-11</subfield><subfield code="a">DE-573</subfield><subfield code="a">DE-83</subfield><subfield code="a">DE-19</subfield><subfield code="a">DE-523</subfield><subfield code="a">DE-91G</subfield><subfield code="a">DE-Aug4</subfield><subfield code="a">DE-898</subfield><subfield code="a">DE-706</subfield><subfield code="a">DE-20</subfield><subfield code="a">DE-355</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 230</subfield><subfield code="0">(DE-625)143617:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 310f</subfield><subfield code="2">stub</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Bryant, Randal E.</subfield><subfield code="d">1952-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)1089505965</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Computer systems</subfield><subfield code="b">a programmer's perspective</subfield><subfield code="c">Randal E. Bryant (Carnegie Mellon University) ; David R. O'Hallaron (Carnegie Mellon University)</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">Third edition, global edition</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Boston ; Columbus ; Hoboken ; Indianapolis ; New York ; San Francisco ; Amsterdam</subfield><subfield code="b">Pearson</subfield><subfield code="c">[2016]</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">1120 Seiten</subfield><subfield code="b">Illustrationen</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">Always learning</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Maschinenorientierte Programmierung</subfield><subfield code="0">(DE-588)4261129-5</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Computerarchitektur</subfield><subfield code="0">(DE-588)4048717-9</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Informatik</subfield><subfield code="0">(DE-588)4026894-9</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Software Engineering</subfield><subfield code="0">(DE-588)4116521-4</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Programmiersprache</subfield><subfield code="0">(DE-588)4047409-4</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Maschinenorientierte Programmierung</subfield><subfield code="0">(DE-588)4261129-5</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Computerarchitektur</subfield><subfield code="0">(DE-588)4048717-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="1" ind2="0"><subfield code="a">Software Engineering</subfield><subfield code="0">(DE-588)4116521-4</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2="1"><subfield code="a">Computerarchitektur</subfield><subfield code="0">(DE-588)4048717-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="2" ind2="0"><subfield code="a">Informatik</subfield><subfield code="0">(DE-588)4026894-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="2" ind2=" "><subfield code="8">1\p</subfield><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="3" ind2="0"><subfield code="a">Programmiersprache</subfield><subfield code="0">(DE-588)4047409-4</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="3" ind2=" "><subfield code="8">2\p</subfield><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">O'Hallaron, David Richard</subfield><subfield code="d">1955-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)1089505876</subfield><subfield code="4">aut</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">Digitalisierung UB Regensburg - ADAM Catalogue Enrichment</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=028372167&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">1\p</subfield><subfield code="a">cgwrk</subfield><subfield code="d">20201028</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#cgwrk</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">2\p</subfield><subfield code="a">cgwrk</subfield><subfield code="d">20201028</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#cgwrk</subfield></datafield><datafield tag="943" ind1="1" ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-028372167</subfield></datafield></record></collection> |
id | DE-604.BV042945838 |
illustrated | Illustrated |
indexdate | 2024-10-29T15:00:46Z |
institution | BVB |
isbn | 9781292101767 1292101768 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-028372167 |
oclc_num | 930622719 |
open_access_boolean | |
owner | DE-634 DE-11 DE-573 DE-83 DE-19 DE-BY-UBM DE-523 DE-91G DE-BY-TUM DE-Aug4 DE-898 DE-BY-UBR DE-706 DE-20 DE-355 DE-BY-UBR |
owner_facet | DE-634 DE-11 DE-573 DE-83 DE-19 DE-BY-UBM DE-523 DE-91G DE-BY-TUM DE-Aug4 DE-898 DE-BY-UBR DE-706 DE-20 DE-355 DE-BY-UBR |
physical | 1120 Seiten Illustrationen |
publishDate | 2016 |
publishDateSearch | 2016 |
publishDateSort | 2016 |
publisher | Pearson |
record_format | marc |
series2 | Always learning |
spelling | Bryant, Randal E. 1952- Verfasser (DE-588)1089505965 aut Computer systems a programmer's perspective Randal E. Bryant (Carnegie Mellon University) ; David R. O'Hallaron (Carnegie Mellon University) Third edition, global edition Boston ; Columbus ; Hoboken ; Indianapolis ; New York ; San Francisco ; Amsterdam Pearson [2016] 1120 Seiten Illustrationen txt rdacontent n rdamedia nc rdacarrier Always learning Maschinenorientierte Programmierung (DE-588)4261129-5 gnd rswk-swf Computerarchitektur (DE-588)4048717-9 gnd rswk-swf Informatik (DE-588)4026894-9 gnd rswk-swf Software Engineering (DE-588)4116521-4 gnd rswk-swf Programmiersprache (DE-588)4047409-4 gnd rswk-swf Maschinenorientierte Programmierung (DE-588)4261129-5 s Computerarchitektur (DE-588)4048717-9 s DE-604 Software Engineering (DE-588)4116521-4 s Informatik (DE-588)4026894-9 s 1\p DE-604 Programmiersprache (DE-588)4047409-4 s 2\p DE-604 O'Hallaron, David Richard 1955- Verfasser (DE-588)1089505876 aut Digitalisierung UB Regensburg - ADAM Catalogue Enrichment application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=028372167&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis 1\p cgwrk 20201028 DE-101 https://d-nb.info/provenance/plan#cgwrk 2\p cgwrk 20201028 DE-101 https://d-nb.info/provenance/plan#cgwrk |
spellingShingle | Bryant, Randal E. 1952- O'Hallaron, David Richard 1955- Computer systems a programmer's perspective Maschinenorientierte Programmierung (DE-588)4261129-5 gnd Computerarchitektur (DE-588)4048717-9 gnd Informatik (DE-588)4026894-9 gnd Software Engineering (DE-588)4116521-4 gnd Programmiersprache (DE-588)4047409-4 gnd |
subject_GND | (DE-588)4261129-5 (DE-588)4048717-9 (DE-588)4026894-9 (DE-588)4116521-4 (DE-588)4047409-4 |
title | Computer systems a programmer's perspective |
title_auth | Computer systems a programmer's perspective |
title_exact_search | Computer systems a programmer's perspective |
title_full | Computer systems a programmer's perspective Randal E. Bryant (Carnegie Mellon University) ; David R. O'Hallaron (Carnegie Mellon University) |
title_fullStr | Computer systems a programmer's perspective Randal E. Bryant (Carnegie Mellon University) ; David R. O'Hallaron (Carnegie Mellon University) |
title_full_unstemmed | Computer systems a programmer's perspective Randal E. Bryant (Carnegie Mellon University) ; David R. O'Hallaron (Carnegie Mellon University) |
title_short | Computer systems |
title_sort | computer systems a programmer s perspective |
title_sub | a programmer's perspective |
topic | Maschinenorientierte Programmierung (DE-588)4261129-5 gnd Computerarchitektur (DE-588)4048717-9 gnd Informatik (DE-588)4026894-9 gnd Software Engineering (DE-588)4116521-4 gnd Programmiersprache (DE-588)4047409-4 gnd |
topic_facet | Maschinenorientierte Programmierung Computerarchitektur Informatik Software Engineering Programmiersprache |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=028372167&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT bryantrandale computersystemsaprogrammersperspective AT ohallarondavidrichard computersystemsaprogrammersperspective |