Ãëàâíàÿ    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
Ïðåäìåòíûé óêàçàòåëü
Disk access, commercial disk, anatomy of      475
Disk access, direct memory access (DMA)      474
Disk access, disk controller      477 472—473
Disk access, disk sector, reading      473—474
Disk access, graphics card (adapter)      472
Disk access, I/O port      472
Disk access, memory-mapped I/O      472
Disk access, Universal Serial Bus (USB)      472
disk capacity      466—468
Disk capacity, formatted      471
Disk capacity, real density ($bits/in^{2}$)      467
Disk capacity, recording density (bits/in)      466
Disk capacity, track density (tracks/in)      467
Disk controller      477 472—473
disk drive      8 465
Disk geometry      464 464—466
Disk operation      468—471
Disk operation, rotational latency      469
Disk operation, seek time      469
Disk operation, transfer time      469—470
Disk sector, reading      473—474
Disk storage      464—476
Disk storage, cylinders      466
Disk storage, disk drive      465
Disk storage, disk geometry      464—466
Disk storage, gaps      465
Disk storage, platters      464—465
Disk storage, revolutions per minute (RPM)      465
Disk storage, rotational rate      464—465
Disk storage, sectors      465 471
Disk storage, spindle      464
Disk storage, surface      464 471
Disk storage, tracks      465
Disk, technology trends vs. memory and CPU      411
disks      18 524
Display      8 18
Divide error      593
divl [IA32] unsigned divide      147 148
DIXtrac (disk characterization tool)      475
dlclose [Unix] close shared library      569
dlerror [Unix] report shared library error      569
DLL (Dynamic Link Library)      566
dlopen [Unix] open shared library      569
dlsym [Unix] resolve symbol      569
DMA (Direct Memory Access)      474
DMA transfer      474
DNS (Domain Naming System)      812
DNS-style error handling      926
DNS-style error-handling wrappers      928—929
dns_error [CS:APP] reports DNS-style errors      927
do [C] variant of while loop      6 158
do-while [C] variant of while loop      158—160
doit [CS:APP] tiny helper function      836
Domain names      808 811—815
Domain names, first-level      811
Domain names, second-level      813
Domain naming system (DNS)      812
dotprod, [CS:APP] vector dot product      494
Dotted-decimal notation      809 812
Double data-rate synchronous DRAM (DDR SDRAM)      462
double [C] double-precision floating point type      8 33 92—93 135
Double-precision values      33 84 135
Double-words      135 731 735
DRAM (dynamic RAM)      8 458—462
DRAM (dynamic RAM), historic popularity of      464
DRAM (dynamic RAM), SRAM vs.      458
DRAM array      458
DRAM cache organization      696
DRAM cell      458
Dual Inline Memory Module (DIMM)      459—460
dup2 [Unix] copy file descriptor      794
dynamic content      568 827
Dynamic content, serving      831—834
dynamic link library (DLL)      566
dynamic linker      566
Dynamic linking and building of high-performance Web server      568
Dynamic linking and software distribution      568
Dynamic linking with shared libraries      566—568
Dynamic linking, defined      566
Dynamic memory allocation      730—755
Dynamic memory allocation and deallocation      189
Dynamic memory allocation, allocated blocks, placing      739—740
Dynamic memory allocation, coalescing, free blocks      741
Dynamic memory allocation, coalescing, with boundary tags      741—744
Dynamic memory allocation, dynamic memory allocator      730
Dynamic memory allocation, dynamic memory allocator, requirements/goals      735—736
Dynamic memory allocation, explicit free lists      751—752
Dynamic memory allocation, fragmentation      736—737
Dynamic memory allocation, free [C Stdlib] free heap storage      16 731—734 746 755 763
Dynamic memory allocation, getting additional heap memory      740
Dynamic memory allocation, implementation issues      737
Dynamic memory allocation, implementing a simple allocator      744—751
Dynamic memory allocation, implicit free lists      737—739
Dynamic memory allocation, malloc [C Stdlib] allocate heap storage      731—734
Dynamic memory allocation, malloc [C Stdlib] heap storage allocation function      189
Dynamic memory allocation, placing allocated blocks      739—740
Dynamic memory allocation, purpose of      733—734
Dynamic memory allocation, segregated free lists      752—755
Dynamic memory allocation, segregated free lists, segregated fits      753—754
Dynamic memory allocation, segregated free lists, simple segregated storage      752—753
Dynamic memory allocation, simple allocator implementation, allocating blocks      750—751
Dynamic memory allocation, simple allocator implementation, basic constants/macros for manipulating the free list      746—747
Dynamic memory allocation, simple allocator implementation, creating the initial free list      747—748
Dynamic memory allocation, simple allocator implementation, freeing/coalescing blocks      748—750
Dynamic memory allocation, simple allocator implementation, general allocator design      744—746
Dynamic memory allocation, splitting free blocks      740
Dynamic memory allocator      730
Dynamic memory allocator, explicit      730
Dynamic memory allocator, implicit      731
Dynamic memory allocator, memory utilization of      735
Dynamic memory allocator, throughput of      735
Dynamic RAM (DRAM)      458—459 524
Dynamic RAM (DRAM), conventional DRAMs      458—459
Dynamic RAM (DRAM), enhanced DRAMs      461—462
Dynamic RAM (DRAM), historical popularity of DRAM techniques      462
Dynamic random access memory (DRAM)      8
Dynamically allocated arrays      188—191
Dynamo      576
Dyninst      576
ECF      see "Exceptional control flow (ECF)"
ECHILD      607
echo [CS:APP] read and echo input lines      826
echoclient.c [CS:APP] echo client      824
echoserveri.c [CS:APP] iterative echo server      825
echoservert.c [CS:APP] concurrent echo server based on threads      867
echoservert_pre.c [CS:APP] a prethreaded concurrent echo server      884
echo_cnt [CS:APP] counting version of echo      885 883—885
EDO DRAM (Extended Data Out DRAM)      462
Eel      576
EEPROM (Electrically Erasable Programmable ROM)      463
Effective address      137 558
Eight-bit floating-point format, example nonnegative values for      86
EINTR      607
Electrically erasable PROM (EEPROM)      463
ELF (Executable and Linkable Format)      543
ELF (Executable and Linkable Format), BSD and      543
ELF (Executable and Linkable Format), header table      544
ELF (Executable and Linkable Format), Linux and      543
ELF (Executable and Linkable Format), relocation entry (.g.)      558
ELF (Executable and Linkable Format), relocation type, R_386_32 (absolute addressing)      558
ELF (Executable and Linkable Format), relocation type, R_386_PC32 (PC-relative addressing)      558
ELF (Executable and Linkable Format), relocation type, segment header table      563
ELF (Executable and Linkable Format), Solaris and      543
ELF (Executable and Linkable Format), symbol table entry      547
ELF (Executable and Linkable Format), System V, Unix and      543
ELF header      544
embedded processors      265
Encapsulation      807
end-of-file (EOF)      779 825
End-to-end address translation      711—715
Endian, origin of      35
Enhanced DRAMs      461—462
Enhanced DRAMs, double data-rate synchronous DRAM (DDR SDRAM)      462
Enhanced DRAMs, extended data out DRAM (EDO DRAM)      462
Enhanced DRAMs, fast page mode DRAM (FPM DRAM)      461—462
Enhanced DRAMs, Rambus DRAM (RDRAM)      462
Enhanced DRAMs, synchronous DRAM (SDRAM)      462
Enhanced DRAMs, video RAM (VRAM)      462
entry point      563 563—564
Environment variables      611—613
Environment variables, setting in Solaris systems      613
eof      779 825
Ephemeral port      815
Epilogue block      746
EPIPE error return code      841
Erasable programmable ROM (EPROM)      463
errno [Unix] Unix error variable      926
Error handling      925—948
Error handling in Unix systems      926—928
Error handling in Unix systems, DNS-style error handling      926
Error handling in Unix systems, error-reporting functions      927—928
Error handling in Unix systems, Posix-style error handling      926
Error handling in Unix systems, Unix-style error handling      926
Error handling, error-handling wrappers      925
Error-correcting codes      44
Error-handling wrappers      599 925
Error-handling wrappers, DNS-style      928—929
Error-handling wrappers, Posix-style      928—929
Error-handling wrappers, Unix-style      928
Error-reporting function      599
Etch      576
Ethernet      804
Ethernet segments      804
eval [CS:APP] shell helper routine      615
Event      588
Event-driven program      856
Evicting blocks      485
exception      354 587
exception handler      354 588
Exception handling      354—356 588—590
Exception handling, exception number      588—589
Exception handling, kernel      588
Exception number      588 588—589
Exception, asynchronous      590
Exception, synchronous      591
Exceptional control flow (ECF)      586 585—648
Exceptional control flow (ECF) and cache pollution      598
Exceptional control flow (ECF), child processes, reaping      605—611
Exceptional control flow (ECF), defined      586
Exceptional control flow (ECF), exceptions      587—593
Exceptional control flow (ECF), importance of      586—587
Exceptional control flow (ECF), nonlocal jumps      635—638
Exceptional control flow (ECF), process control      600—617
Exceptional control flow (ECF), process control, process IDs, obtaining      600
Exceptional control flow (ECF), process control, processes, creating/terminating      600—605
Exceptional control flow (ECF), processes      594—598
Exceptional control flow (ECF), processes, context switches      597—598
Exceptional control flow (ECF), processes, kernel mode      596—597
Exceptional control flow (ECF), processes, logical control flow      594—595
Exceptional control flow (ECF), processes, private address space      595—596
Exceptional control flow (ECF), processes, user mode      596—597
Exceptional control flow (ECF), signals      617—635
Exceptional control flow (ECF), signals, explicitly blocking signals      633—638
Exceptional control flow (ECF), signals, Linux signals      618
Exceptional control flow (ECF), signals, portable signal handling      631—633
Exceptional control flow (ECF), signals, receiving      618—619 623—625
Exceptional control flow (ECF), signals, sending      617—623
Exceptional control flow (ECF), signals, signal handler      618
Exceptional control flow (ECF), signals, signal handling issues      625—630
Exceptional control flow (ECF), signals, terminology      617—619
Exceptional control flow (ECF), system calls and error handling      599
Exceptions      354 587—593
Exceptions in Intel processors      592—594
Exceptions, classes of      590—592
Exceptions, classes of, aborts      592
Exceptions, classes of, faults      591—592
Exceptions, classes of, interrupts      590—591
Exceptions, classes of, traps      591
Exceptions, defined      587
Exceptions, event      588
Exceptions, exception handler      588
Exceptions, exception handling      588—590
Exceptions, exception table      588
Exceptions, exception table base register      589
Exceptions, hardware vs. software      588
Exceptions, terminology      593
Executable and Linkable Format (ELF)      543
Executable object files      4 542 543 5 561—564
Executable object files, fully linked      563
Executable object files, loading      564—566
Executable object program      4
Execute stage      281
Execute stage and SEQ      291
Execute stage, PIPE      342—343
Execute stage, SEQ      302—303
Execution unit (EU)      396
Execution unit (EU), processing of operations by      402—403
execve [Unix] load program      611 564 611—613 727—728
execve [Unix] load program, using to run programs      614—617
exit status      601
exit [C Stdlib] terminate process      601
Expansion slot      472
Explicit code      209
Explicit free lists      751—752
Explicitly blocking signals      633—638
Explicitly reentrant functions      888
Exploit code      209
EXPONENT      83
Extended Data Out DRAM (EDO DRAM)      462
Extended precision      105
Extended-precision format      94 212
Extended-precision values      135
extend_heap [CS:APP] allocator, extend heap      748
external fragmentation      736 736—737
fabs [IA32] FP absolute value      218
fadd [IA32] FP add      218
Fall through (switch statement)      166
False fragmentation      741
Fast page mode DRAM (FPM DRAM)      461—462
Faulting instruction      591
Faults      590 591—592
fchs [IA32] FP negate      218
fcom [IA32] FP compare      222
fcoml [IA32] FP compare double precision      222
fcomp [IA32] FP compare with pop      222
fcompl [IA32] FP compare double precision with pop      222
fcompp [IA32] FP compare with two pops      222
fcomps [IA32] FP compare single precision with pop      222
fcoms [IA32] FP compare single precision      222
fcos [IA32] FP cosine      218
fcyc [CS:APP] compute function execution time      684
fdiv [IA32] FP divide      218
fdivr [IA32] FP reverse divide      218
FD_CLR [Unix] clear bit in descriptor set      854
FD_ISSET [Unix] bit turned on in descriptor Set      854
FD_SET [Unix] set bit in descriptor set      854
FD_ZERO [Unix] clear descriptor set      854
Feedback paths      291 316
Fetch stage      281
Fetch stage and SEQ      291
Fetch stage, PIPE      337—339
Fetch stage, SEQ      298—300
fflush [C Stdlib] flush buffer      796
fgets [C Stdlib] read string      760 823
fibonacci      26
fids [IA32] FP load single precision      216
FIFO      853
fildl [IA32] FP load and convert integer      216
file descriptor      779
File metadata, reading      789—790
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! Î ïðîåêòå