Ãëàâíàÿ    Ex Libris    Êíèãè    Æóðíàëû    Ñòàòüè    Ñåðèè    Êàòàëîã    Wanted    Çàãðóçêà    ÕóäËèò    Ñïðàâêà    Ïîèñê ïî èíäåêñàì    Ïîèñê    Ôîðóì   
blank
Àâòîðèçàöèÿ

       
blank
Ïîèñê ïî óêàçàòåëÿì

blank
blank
blank
Êðàñîòà
blank
Bryant R., O'Hallaron D.R. — Computer Systems: A Programmer's Perspective
Bryant R., O'Hallaron D.R. — Computer Systems: A Programmer's Perspective



Îáñóäèòå êíèãó íà íàó÷íîì ôîðóìå



Íàøëè îïå÷àòêó?
Âûäåëèòå åå ìûøêîé è íàæìèòå Ctrl+Enter


Íàçâàíèå: Computer Systems: A Programmer's Perspective

Àâòîðû: Bryant R., O'Hallaron D.R.

Àííîòàöèÿ:

This book is a very unusual one because it explains computer architecture from the standpoint of the C/C++ programmer. That is, its object is to allow the programmer to understand how the architecture of the computer on which he/she programs effects the performance and execution of these programs. Things such as virtual memory, parallelization, optimization, and even logical and mathematical operations are effected by the architecture of the computer itself. For example - big endian versus little endian machines. You'd believe you wouldn't have to think about how your computer is organized at this level - that is one of the reasons you program in a high level language anyways, right? Wrong. If you have data stored in big endian format that is mathematically operated upon in a little endian machine, or vice versa, you will wind up with something quite different from what you intended. That's the kind of information this book gets into.Some have labeled this book as "hard". It really is not hard as much as it is densely packed with knowledge. You need to take each concept within each chapter and think about it before you go on to the next. If you do this you'll not only get much out of it during your initial read, you'll have a valuable reference for some time to come. To get the most of this book you should already be a capable C/C++ programmer and you should also know the building blocks of a computer. The book goes over these things very quickly but it really is not enough if you start out knowing nothing about these subjects. Highly recommended. The following is the proposed table of contents for the second edition:1 A Tour of Computer Systems 1I Program Structure and Execution 252 Representing and Manipulating Information 293 Machine-Level Representation of Programs 1454 Processor Architecture 3175 Optimizing Program Performance 4496 The Memory Hierarchy 531II Running Programs on a System 6197 Linking 6238 Exceptional Control Flow 6679 Virtual Memory 741III Interaction and Communication Between Programs 81910 System-Level I/O 82311 Network Programming 84712 Concurrent Programming 893A Error Handling 957A.1 Error Handling in Unix Systems 957A.2 Error-Handling Wrappers 959


ßçûê: en

Ðóáðèêà: Computer science/

Ñòàòóñ ïðåäìåòíîãî óêàçàòåëÿ: Ãîòîâ óêàçàòåëü ñ íîìåðàìè ñòðàíèö

ed2k: ed2k stats

Ãîä èçäàíèÿ: 2002

Êîëè÷åñòâî ñòðàíèö: 978

Äîáàâëåíà â êàòàëîã: 09.02.2014

Îïåðàöèè: Ïîëîæèòü íà ïîëêó | Ñêîïèðîâàòü ññûëêó äëÿ ôîðóìà | Ñêîïèðîâàòü ID
blank
Ïðåäìåòíûé óêàçàòåëü
Trace      656—658
Track density      467
tracks      465
Trajectory      874
Transaction      802
Transfer time      469 469—470
Transfer units      484
Translation lookaside buffer (TLB)      357 707—709
Transmission Control Protocol (TCP)      808
traps      590 591
two's-complement      26
Two's-complement addition      69 69—72
Two's-complement addition, examples of      71
Two's-complement addition, integer arithmetic      69—72
Two's-complement form      26 52—54
Two's-complement form, conversion from unsigned to      58
Two's-complement form, conversion to unsigned      57
Two's-complement multiplication      75 75—76
Two's-complement negation      72 72—74
Two's-complement, addition      69
Two's-complement, multiplication      75
Two's-complement, negation      72
typedef [C] type definition      36 36—37
UDP (Unreliable Datagram Protocol)      808
UltraSparc, Sun Microsystems      682
umask [Unix] file mode creation mask      780
UMax (maximum unsigned number)      52
Unallocated virtual pages      695
Unary operations      143—145 213
Uncached virtual pages      695
Underflow, gradual      84
Unicode      41
Unified caches      504
Uninitialized global C variables      544
union [C] union data type      191
unions      194—198
Uniprocessors      848
United States      816
Universal serial bus (USB)      472
Unix 4.xBSD      14 816
Unix I/O      18 778 778—779
Unix IPC      853 852—853
UNIX operating system      3—4
Unix signal      677
Unix-style error handling      926
Unix-style error handling, wrappers      928
unix_error [CS:APP] reports Unix-style errors      927
unix_error [CS:APP] Unix-style error-handling      599 599
Unlocking a mutex      878
Unneeded memory references, eliminating      393—395
Unordered comparison      221
Unreliable datagram protocol (UDP)      808
Unrolling, loop      409
Unsafe region      875
Unsafe trajectory      875
unsetenv [Unix] delete environment variable      613
Unsigned addition      68 66—69
Unsigned encodings      26
unsigned long [C] unsigned integer type      135
Unsigned multiplication      74 74—75
Unsigned number encoding      52
Unsigned to binary conversion      56
Unsigned to two's-complement conversion      56
unsigned [C] unsigned integer type      51 135
URI (uniform resource identifier)      829
URL (Universal Resource Locator)      827
USB (Universal Serial Bus)      472
user mode      590 597 596 596—597 655
User stack      16 17
V semaphone operation      877 879
V [CS:APP] wrapper for sem_post      877
V-node table      791
VA (virtual address)      693
Valid bit in cache line      489
Valid bit in page table      697
Variable rate clocks      684
Variables, automatic      870
variables, global      870
variables, local      870
variables, static      870
VAX      48 655
Vector abstract data type      385
Vector abstract data type, implementation of      386
Vector sum functions      383
Verilog      271
VHDL      271
Victim block      485
Video RAM (VRAM)      462
virtual address space      16—17 28 694—695
Virtual address space, heap      16—17
Virtual address space, kernel virtual memory      17
Virtual address space, program code and data      16
Virtual address space, shared libraries      17
Virtual address space, stack      17
virtual addresses      693 129—130 259
Virtual addressing      693
Virtual memory      76 692 13—14 16—17 28 691—774
Virtual memory and memory management, linking      701—702
Virtual memory and memory management, loading      703
Virtual memory and memory management, memory allocation      702—703
Virtual memory and memory management, sharing      702
Virtual memory and memory protection      703—704
Virtual memory as caching tool      695—701
Virtual memory as caching tool, allocating pages      700
Virtual memory as caching tool, DRAM cache organization      696
Virtual memory as caching tool, locality      700—701
Virtual memory as caching tool, page faults      698—700
Virtual memory as caching tool, page hits      698
Virtual memory as caching tool, page tables      696—697
Virtual memory, address spaces      694—695
Virtual memory, address spaces, linear      694
Virtual memory, address spaces, physical      694—695
Virtual memory, address spaces, virtual      694—695
Virtual memory, address translation      694 704—715
Virtual memory, address translation, end-to-end address translation      711—715
Virtual memory, address translation, integrating caches and VM      707
Virtual memory, address translation, multi level page tables      709—711
Virtual memory, address translation, speeding up with a translation lookaside buffer (TLB)      707—709
Virtual memory, address translation, symbols      705
Virtual memory, address translation, with a page table      705
Virtual memory, area      722
Virtual memory, capabilities of      765
Virtual memory, centrality of      692
Virtual memory, danger of      692
Virtual memory, dynamic memory allocation      730—755
Virtual memory, dynamic memory allocation, coalescing free blocks      741
Virtual memory, dynamic memory allocation, coalescing with boundary tags      741—744
Virtual memory, dynamic memory allocation, dynamic memory allocator      730
Virtual memory, dynamic memory allocation, dynamic memory allocator, requirements/goals      735—736
Virtual memory, dynamic memory allocation, explicit free lists      751—752
Virtual memory, dynamic memory allocation, fragmentation      736—737
Virtual memory, dynamic memory allocation, free function      731—734
Virtual memory, dynamic memory allocation, getting additional heap memory      740
Virtual memory, dynamic memory allocation, implementation issues      737
Virtual memory, dynamic memory allocation, implementing a simple allocator      744—751
Virtual memory, dynamic memory allocation, implicit free lists      737—739
Virtual memory, dynamic memory allocation, malloc function      731—734
Virtual memory, dynamic memory allocation, placing allocated blocks      739—740
Virtual memory, dynamic memory allocation, purpose of      733—734
Virtual memory, dynamic memory allocation, segregated free lists      752—755
Virtual memory, dynamic memory allocation, splitting free blocks      740
Virtual memory, garbage collection      755—759
Virtual memory, garbage collection, defined      755
Virtual memory, garbage collectors      755 756—757
Virtual memory, garbage collectors, basics      756—757
Virtual memory, garbage collectors, conservative      756
Virtual memory, garbage collectors, conservative Mark&Sweep garbage collecting for C programs      758—759
Virtual memory, garbage collectors, Mark&Sweep garbage collectors      757—758
Virtual memory, memory management unit (MMU)      694
Virtual memory, memory mapping      703 724—730
Virtual memory, memory mapping, execve function      727—728
Virtual memory, memory mapping, fork function      727
Virtual memory, memory mapping, mmap function      728—730
Virtual memory, memory mapping, shared objects      725—727
Virtual memory, memory-related bugs in C programs      759—764
Virtual memory, memory-related bugs in C programs, allowing stack buffer overflows      760—761
Virtual memory, memory-related bugs in C programs, dereferencing bad pointers      759—760
Virtual memory, memory-related bugs in C programs, off-by-one errors      761—762
Virtual memory, memory-related bugs in C programs, reading uninitialized memory      760
Virtual memory, memory-related bugs in C programs, same-size pointers and objects      761
Virtual memory, Pentium/Linux memory system case study      715—724
Virtual memory, Pentium/Linux memory system case study, Linux page fault exception handling      723—724
Virtual memory, Pentium/Linux memory system case study, Linux virtual memory areas      722—723
Virtual memory, Pentium/Linux memory system case study, Linux virtual memory system      721—724
Virtual memory, Pentium/Linux memory system case study, Pentium address translation      716—721
Virtual memory, Pentium/Linux memory system case study, Pentium page table translation      719—720
Virtual memory, Pentium/Linux memory system case study, Pentium page tables      717—719
Virtual memory, Pentium/Linux memory system case study, Pentium TLB translation      720
Virtual memory, physical address (PA)      693
Virtual memory, physical addressing      693
Virtual memory, power of      692
Virtual memory, segment      722
Virtual memory, virtual address (VA)      693—694
Virtual memory, virtual addressing      693
Virtual page number (VPN)      704
Virtual page offset (VPO)      704
Virtual pages (VPs)      695 695—696
Viruses      210
VM      see "Virtual memory"
vm_end field      723
vm_flags field      723
vm_next field      723
vm_prot field      723
vm_start field      723
void * [C] generic pointer      38
Volatile memories      462
volatile [C] suppress optimization      670
VP (virtual page)      695
VPN (Virtual Page Number)      704
VPO (Virtual Page Offset)      704
VRAM (Video RAM)      462
VTune      576
wait set      606
waitpid [Unix] wait for child process function      606 608—609
waitpid1 [CS:APP] waitpid example      608
waitpid2 [CS:APP] waitpid example      609
WANS (wide area networks)      805—806
Warming up a cache      485
Weak symbol      549
Web client (browser)      826
Web servers      826—834
Web servers, basics of      826—827
Web servers, browsers      826
Web servers, content      827—828
Web servers, HTTP requests      829—830
Web servers, HTTP responses      830—831
Web servers, HTTP status codes      831
Web servers, HTTP transactions      828—831
Web servers, HTTP transactions, HTTP requests      829—830
Web servers, serving dynamic content      831—834
Well-known port      815
WEXITSIGNALED(status)      607
WEXITSTATUS(status)      607
while [C] loop statement      6 161—163
Wide Area Network (WAN)      805
WIFEXITED(status)      607
WIFSTOPPED (status)      607
Windows-NT operating system      677
WNOHANG      606—607
WNOHANG/WUNTRACED      607
Word selection in direct-mapped caches      491—492
Word selection in full associative caches      500—501
Word selection in set associative caches      498—499
Word size      7 32 7—8
Word-level combinational circuits      274—278
Word-level equality test circuit      274
Word-level multiplexor circuit      275
Words      7 32 135 274
Words, double      135
words, double-words      731
Words, quad      135
Working set      486 700
World Wide Web (WWW), origins of      827
worms      210
Wrapper, error-handling      599
Write hit      503
Write operation      779
Write ports      280
Write transaction      463
Write transaction, example of      464
write [Unix] write file      781 782
Write-allocate caches      503 503—504
Write-back caches      503 503—504
Write-back stage      281
Write-back stage and SEQ      291
Write-back stage, PIPE      339—342
Write-back stage, SEQ      300—302
Write-through      503
Write/read dependency      433
WSTOPSIG(status)      607
WTERMSIG(status)      607
WUNTRACED      606—607
xorl [IA32] exclusive-or      144
xorl [Y86] exclusive-or      260
Y86 instruction set architecture      258—271
Y86 instruction set architecture and physical addresses      259
Y86 instruction set architecture and virtual addresses      259
Y86 instruction set architecture, byte-level encoding of the instructions      260
Y86 instruction set architecture, condition codes      258
Y86 instruction set architecture, constant word      261—262
Y86 instruction set architecture, memory      258 260
Y86 instruction set architecture, program registers      258
Y86 instruction set architecture, programmer-visible state      258
Y86 instruction set architecture, register file      260—261
Y86 instruction set architecture, register identifiers (IDs)      260—261
Y86 instruction set architecture, register specifier byte      261
Y86 instruction set architecture, unique interpretation of byte encodings      262
Y86 instruction set architecture, YAS Y86 assembler      268
Y86 instruction set architecture, YIS Y86 instruction set simulator      269
Zero extension      61
ZF [IA32] zero flag condition code      149
ZF [Y86] zero flag condition code      258
zombies      606
\n (newline character)      3
_in suffix      818
1 2 3 4 5 6 7 8 9 10 11
blank
Ðåêëàìà
blank
blank
HR
@Mail.ru
       © Ýëåêòðîííàÿ áèáëèîòåêà ïîïå÷èòåëüñêîãî ñîâåòà ìåõìàòà ÌÃÓ, 2004-2024
Ýëåêòðîííàÿ áèáëèîòåêà ìåõìàòà ÌÃÓ | Valid HTML 4.01! | Valid CSS! Î ïðîåêòå