Главная    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
Предметный указатель
Read ports      280
Read set      854
Read throughput      512
Read transaction      463
Read transaction, example of      464
read [Unix] read file      781—782
Read-only memories (ROMs)      462—463 524
Read/write head      468 468—469
READELF program      574
Reading a disk sector      472
Reading/writing files      781—783
Ready read descriptor      854
Ready set      854 854—856
read_requesthdrs [CS:APP] TINY helper function      838
Reaping      605
Reaping child processes      605 605—611
receiving signals      618 623 618—619 623—625
Recording zones      467
Recursive procedures      178—180
reentrancy      888 888—889
Reentrant function      888
Reference bit      718
Reference count      791
Reference function parameter      204
References to program data, locality of      478—480
Register file      9 280
Register identifier (ID)      260
Register operation      279
Register renaming      398
Register specifier byte, in Y86 instruction      261
Register spilling      191 420—421
Register usage conventions      173—174
Registers      8 94 279
Registers, clocked      279
Registers, hardware      279
Registers, IA32 floating point      211
Registers, IA32 integer      136
Registers, pipeline      310
Registers, program      258 279
Registers, renaming      398
registers, spilling      191 420
Registers, Y86      261
Regular file      724 790
Relative performance, expressing      393
Reliable connection      815
Relocatable object files      542 543 544—545
Relocation      543 557—561
Relocation of absolute references      560—561
Relocation of PC-relative references      559—560
Relocation of sections and symbol definitions      557
Relocation of symbol references within sections      558—561
Relocation, algorithm      559
Relocation, entry      558
Relocation, linkers      543
Relocation, steps in      557—558
Replacement policy      485
Replacing blocks      485
Request      802
Request headers      829
Request line      829
Resident set      700
Resolution of a function      681—682
Resolution timer      681
Resource      802
RESP [Y86] register identifier for %esp      299
Response      802
Response body      830
response headers      830
Response line      830
restart.c [CS:APP] nonlocal jump example      637
Restrictive placement policies      486
ret [IA32] procedure return      172
ret [Y86] procedure return      260 288 289 349—350
ret [Y86] procedure return, instruction processing      344—345
ret [Y86] procedure return, tracing execution of      290
Retiming, circuit      308
Retiring instructions      398
Return address      170
Return address prediction with a stack      323
Reverse engineering      124
Revolutions per minute (RPM)      465
REWIND      796—797
RFC (Request for Comments)      842
Right hoinkey      794
Rings      43 43—46
RIO package      783—789
RIO package, buffered input functions      783 783—788
RIO package, origin of      789
RIO package, unbuffered input/output functions      783—784
RIO [CS:APP] robust I/O package      783
rio_read [CS:APP] internal read function      787
rio_readinitb [CS:APP] init read buffer      784
rio_readinitb [CS:APP] initialize read package      786
rio_readlineb [CS:APP] robust buffered read      784 787—788
rio_readlineb [CS:APP] robust text line read      788
rio_readn [CS:APP] robust unbuffered read      783 785
rio_readnb [CS:APP] robust buffered read      784
rio_readnb [CS:APP] robust read      788
rio_t [CS:APP] read buffer      786
rio_writen [CS:APP] robust unbuffered write      783 785 789 797
RISC instruction set      263 263—264
RISC instruction set, RISC vs. CISC controversy      265
Ritchie, Dennis      2 3 14 798
rmmovl [Y86] register to memory move      259 786
rmmovl [Y86] register to memory move, tracing the execution of      286
RNONE [Y86] ID for indicating no register      299
Roberts, Lawrence      816
ROM (read-only memory)      462
root nodes      756
Rotational latency      469
Rotational rate      464 464—465
Round-down mode      90
Round-to-even      90
Round-to-even rounding      90—91
Round-to-nearest      90
Round-toward-zero      90
Round-up      90
Rounding      80 89 89—91
Rounding modes      90
routers      805
Row access strobe (RAS)      459
Row-major order      185 479
RPM (Revolutions Per Minute)      465
RPN (Reverse Polish Notation) pocket calculators      213
rrmovl [Y86] register to register move      259 282 285
run time      540 566
Running process      600
SA [CS.APP] shorthand for struct sockaddr      818
Safe trajectory      875
sall [IA32] shift left double word      145
sarl [IA32] shift arithmetic right double word      145
sbrk [C Stdlib] extend the heap      732
SBUF [CS:APP] shared buffer package      881
sbuf_init [CS:APP] initialize shared buffer      881
sbuf_insert [CS:APP] insert item in buffer      881
sbuf_remove [CS:APP] remove item from buffer      882 881—882
sbuf_t [CS:APP] shared buffer      880
Scalar data types      129
Scalar IP address      809
Scale factor, in memory reference      137
scanf [C Stdlib] formatted read      778 795
Scheduler      597
Scheduling      597
Scheduling of operations with resource constraints      405—407
Scheduling of operations with unlimited resources      404—405
Scheduling policy      406—407
Scud millse      82
SDRAM (synchronous DRAM)      462
Second-level domain names      812
Section header table      544
sectors      465 471
Security holes, and compilation systems      6
Seek      468
Seek operation (file)      779
Seek time      469
Segment header table      563
Segment, code      564
Segment, data      564
Segment, time      658
Segmentation faults      593
Segregated fits      753 753—754
Segregated fits, buddy systems      754—755
Segregated free lists      752—755
Segregated free lists, segregated fits      753—54
Segregated free lists, simple segregated storage      752—753
Segregated storage      752
select [Unix] wait for I/O events      854
Self-loop      856
Self-modifying code      328
Semaphores, binary      877
Semaphores, defined      877
Semaphores, invariant      877
Semaphores, Posix      878—879
Semaphores, safe sharing with      878
Semaphores, synchronizing threads with      871—882
Semaphores, using to access shared variables      877
Semaphores, using to schedule shared resources      879—881
sem_init [Unix] initialize semaphore      879
sem_post [Unix] V operation      879
sem_wait [Unix] P operation      879
sending signals      617 617—623
Sending signals from the keyboard      620—621
Sending signals with the alarm function      621—623
Sending signals with the kill function      621
Sending signals with the kill program      620
Sending signals, process groups      619—620
Separate compilation      540
seq      280—308 910—913
SEQ and decode stage      291 300—302
SEQ and execute stage      291 302—303
SEQ and fetch stage      291 298—300
SEQ and memory stage      291 303—304
SEQ and PC update stage      304
SEQ and write-back stage      291 300—302
SEQ+      305 914—917
SEQ+ hardware      305—307
SEQ+ hardware, abstract view      306
SEQ+ hardware, HCL description of the PC computation      308
SEQ+ hardware, modified sequential processor implementation      305
SEQ+ hardware, structure      307
SEQ+, HCL code      914
SEQ, hardware structure      291—295
SEQ, HCL code      910
SEQ, identifying computation steps in sequential implementation      294
SEQ, organizing processing into stages      281—291
SEQ, SEQ+ hardware      305—307
SEQ, stage implementations      297—305
SEQ, surveying      305
SEQ, timing      295—298
SEQ, tracing two cycles of execution by      297
Sequential circuits      279
server      79 802
serve_dynamic [CS:APP] TINY helper function      840
serve_static [CS:APP] TINY helper function      839
Service      802
Serving dynamic content      827
Serving static content      827
Set index bits      489
Set membership      278
Set membership test, in HCL      906
Set selection in direct-mapped caches      490—491
Set selection in full associative caches      500
Set selection in set associative caches      498
Set-associative caches      497 497—499
Set-associative caches, LFU replacement policy in      499
Set-associative caches, line matching in      498—499
Set-associative caches, line replacement on misses in      499
Set-associative caches, set selection in      498
Set-associative caches, word selection in      498—499
seta [IA32] set on unsigned greater      150
setae [IA32] set on unsigned greater or equal      150
setb [IA32] set on unsigned less      150
setbe [IA32] set on unsigned less or equal      150
sete [IA32] set on equal      150
setenv [Unix] create/change environment variable      613
setg [IA32] set on greater      150
setge [IA32] set on greater or equal      150
setjmp [C Stdlib] init nonlocal jump      635
setjmp.c [CS:APP] nonlocal jump example      636
setl [IA32] set on less      150
setle [IA32] set on less or equal      150
setna [IA32] set on unsigned not greater      150
setnae [IA32] set on unsigned not less or equal      150
setnb [IA32] set on unsigned not less      150
setnbe [IA32] set on unsigned not less or equal      150
setne [IA32] set on not equal      150
setng [IA32] set on not greater      150
setnge [IA32] set on not greater or equal      150
setnl [IA32] set on not less      150
setnle [IA32] set on not less or equal      150
setns [IA32] set on nonnegative      150
setnz [IA32] set on not zero      150
setpgid [Unix] set process group ID      679
sets [IA32] set on negative      150
setz [IA32] set on zero      150
SF [IA32] sign flag condition code      149
SF [Y86] sign flag condition code      258
sh [Unix] shell program      614
Shannon, Claude      42—43
Shared area      725
shared libraries      16 77 566
Shared libraries and Java Native Interface (JNI)      570
Shared libraries, defined      566
Shared libraries, dynamic linking with      566—568
Shared libraries, loading/linking from applications      568—570
Shared libraries, sharing methods      567
Shared object file      543
shared objects      566 725 725—727
SHARED variables      868 870 870—871
Shared variables in threaded programs      868—871
Shared variables, using semaphores to access      877
sharing.c [CS:APP] sharing in Pthreads programs      869
Shell      7 614
shellex.c [CS:APP] shell main routine      614
Shift operations      145—146
Shift operations in C      50—51
Shift, arithmetic      50
Shift, arithmetic, logical      50
shll [IA32] shift left double word      782 145
Short count      782
short [C] short integer      33 51 135
shrl [IA32] shift logical right double word      144
Side effect      381
sigaction [Unix] install portable handler      631
sigaddset [Unix] add signal to signal set      633
SIGCHLD signal      623 625—627 633 851
SIGCONT signal      623
sigdelset [Unix] delete signal from signal set      633
sigemptyset [Unix] clear a signal set      633
sigfillset [Unix] add every signal to signal set      633
SIGINT signal      624—625
sigint1.c [CS:APP] catches SIGINT signal      624
sigismember [Unix] test signal set membership      633
SIGKILL signal      623
siglongjmp [Unix] init nonlocal jump      635
Sign bit      52
Sign extension      67
Sign-magnitude representation      54
Signal handler      618 623 624
Signal handling issues      625—630
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! О проекте