Главная    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
Предметный указатель
Signal names, in HCL      906
signal [C Stdlib] install signal handler      623
Signal [CS:APP] portable version of signal      631
signal1.c [CS:APP] flawed signal handler      627
signal2.c [CS:APP] flawed signal handler      628
signal3.c [CS:APP] flawed signal handler      630
signal4.c [CS:APP] portable signal handling example      632
Signals      617—635
Signals, actions      623
signals, blocked      619
signals, catching      618 624 621
Signals, default action      623
Signals, delivering      677
Signals, explicitly blocking signals      633—638
Signals, handler      618 623 624
Signals, handling      624
Signals, installing      624
Signals, Linux signals      618
Signals, pending      679
Signals, portable signal handling      631—633
Signals, receiving      618 623 618—619 623—625
signals, sending      677 617—623
Signals, sending, from the keyboard      620—621
Signals, sending, process groups      619—620
Signals, sending, with the alarm function      621—623
Signals, sending, with the kill function      621
Signals, sending, with the kill program      620
Signals, signal handler      618
Signals, signal handling issues      625—630
Signals, terminology      617—619
Signed numbers, alternative representations of      54
Significand      83
SIGPIPE signal      841
sigprocmask [Unix] block and unblock signals      633
sigsetjmp [Unix] init nonlocal handler jump      63
SIGSTOP signal      623
SIMM (Single Inline Memory Module)      460
Simple segregated storage      753
Single Inline Memory Module (SIMM)      460
Single precision      33 83
Single-bit multiplexor circuit      273
Single-precision values      135
Six-bit floating-point format, representable values for      85
Size classes      752
size program      574
sizeof [C] take size of object      38
size_t [Unix] unsigned size type      782
sleep [Unix] suspend process      610
Slow system call      625
Smith, Richard      211
snooze [CS:APP] sleep example      610—611
sockaddr [Unix] generic socket address structure      817
sockaddr_in [Unix] internet-style socket address structure      817
Socket      815 790 796
Socket address      815
Socket address, structures      817—818
Socket descriptors      818 796
Socket pair      815
socket [Unix] create a socket descriptor      818
Sockets interface      816 808 816—826
Sockets interface, accept function      821—823
Sockets interface, bind function      819—820
Sockets interface, connect function      818—819
Sockets interface, example echo client and server      823—826
Sockets interface, listen function      820—821
Sockets interface, open_clientfd function      819
Sockets interface, open_listenfd function      821
Sockets interface, origins of      816
Sockets interface, socket function      818
Software exceptions (C++ and Java)      587—588 638
Solaris      14
source file      2
Source host      806
Source program      2
Soviet Union      816
Spatial locality      478 508
Spatial locality, exploiting      487
Spatial locality, rearranging loops to increase      517—520
Special arithmetic operations      147—148
Special control cases      344—346
Special control conditions, detecting      346—347
speculative execution      397 426
Spilling      797 420
Spilling and IA32      191
Spilling, register      191 420—421
Spindle      464
Splitting      737 740
Splitting, iteration      419
sprintf [C Stdlib] formatted in-memory print      37 797
Sputnik      816
Squash, mispredicted branch handling      346
SRAM (static RAM)      72 457
SRAM (static RAM), DRAM vs.      458
SRAM (static RAM), technology trends vs. DRAM, disk, and CPU      477
SRAM cache      696 487
SRAM cell      457
srand [CS:APP] pseudo-random number generator seed      886
ssize_t [Unix] compared to size_t      782 779
STACK      17 16
Stack frame structure      170—171
Stack operation, illustration of      140
Stack pointer      170
Stack-based interpreters      212
STALL      415
Stall, pipeline      328
Stalling, avoiding data hazards by      328—330
Stalling, handling load/use hazards by      336
Stallman, Richard      5 14
Standard C library      3 5
Standard data types, sizes of      135
Standard error      779
Standard I/O Library      795 795—797
Standard input      779
Standard output      779
startup code      564
start_counter [CS:APP] timing function      665 668
start_timer [CS:APP] timing function      681
stat [Unix] fetch file metadata      789
stat [Unix] structure      789
State      588 856
State machine      856
State transition      874
State, programmer-visible      258
static content      827
Static content, serving      827
static libraries      553 553—555
Static libraries and resolution of references      556—557
Static libraries, archive      554
Static linker      542
static linking      542 542—543
static RAM (SRAM)      457—558
Static random access memory (SRAM)      12 457
Static variable, local      870
static [C] variable and function attribute      546 870
Status code      830
status message      830
Status word, floating-point      221
STDERR_FILENO [Unix] constant for standard error descriptor      779
stdin [C] standard input file      735 795
STDIN_FILENO [Unix] constant for standard input descriptor      779
STDLIB      see "C standard library 3"
stdout [C] standard output file      795
STDOUT_FILENO [Unix] constant for standard output descriptor      779
Stevens, W. Richard      842 925
Stopped process      601
Storage devices, memory hierarchy      12—13
Storage technologies      457—477
Storage technologies, disk storage      464—476
Storage technologies, random-access memory (RAM)      457—464
Storage technologies, random-access memory (RAM), conventional DRAMs      458—459
Storage technologies, random-access memory (RAM), dynamic RAM (DRAM)      458—459
Storage technologies, random-access memory (RAM), enhanced DRAMs      461—462
Storage technologies, random-access memory (RAM), nonvolatile memory      462—463
Storage technologies, random-access memory (RAM), static RAM (SRAM)      457—458
Storage technologies, trends in      476—477
Store buffer      433
storeaddr instruction      434—435
storedata operation      436
storep operation      213
Stream      795
stream buffer      795
Streaming Media      522
Streaming media workloads, and caches      522—523
strerr [Unix] print error message      841
Stride-k reference pattern      479
Stride-l reference pattern      479
strings program      574
Strings, representing      40—41
strlen [C Stdlib] string length      41
Strong symbol      549
struct [C] structure data type      192—193
structures      191—194
st_size      790
subdomains      811
subl [IA32] subtract double word      144
subl [Y86] subtract      282
subl [Y86] subtract, tracing the execution of      284—285
sumarraycols [CS:APP] column-major sum      508 479
sumarrayrows [CS:APP] row-major sum      508 479
sumvec [CS:APP] vector sum      507
Superscalar processing      358
Superscalar processor      396
Supervisor mode      596
surface      464 471
Surface, disk      464 471
Suspended process      601
Swap area      724
swap file      724
swap space      724
Swap space (area)      724
Swapped-in pages      699
Swapped-out pages      699
Swapping      699
Sweep function      757—758
Sweep phase      757
Swift, Jonathan      35
switch [C] multi-way branch statement      6 166—170
Symbol resolution      543
Symbol resolution, linkers      543
Symbol resolution, linkers, and resolution of multiply defined global symbols      549—552
Symbol table      544 545—548
symbols      545—546
Symbols, address translation      705
Symbols, global      545
Symbols, local      546
Symbols, reference resolution      548—557
Symbols, strong      549
Symbols, weak      549
synchronization errors      871
Synchronous DRAM (SDRAM)      462
Synchronous exception      591
System bus      463
system calls      15 591 593
System calls and error handling      599
System calls, slow      625
System V semaphores      853
System V shared memory      853
System V Unix      14
System-level functions      599
System-level I/O      777—800
System-level I/O, file metadata, reading      789—790
System-level I/O, file sharing      791—793
System-level I/O, I/O redirection      793—795
System-level I/O, opening/closing files      779—781
System-level I/O, reading/writing files      781—783
System-level I/O, RIO package      783—789
System-level I/O, RIO package, origin of      789
System-level I/O, standard I/O      795—797
System-level I/O, Unix I/O      778—779
Table, jump      166
Tag bits      489
Target, jump      152
TCP (Transmission Control Protocol)      808
TCP/IP protocol      808
Telnet      828 19—20
Temporal locality      478
Temporal locality, exploiting      486
Temporal locality, using blocking to increase      520—523
Terminated processes      601 605—606
Terminated threads      864—865
Terminated threads, reaping      865
testb [IA32] test bytes      150
testl [IA32] test double word      150
testw [IA32] test word      150
Text files      3
Text line      784
then-statement      166—170
Thompson, Ken      14
thrashing      495 495—496 700
thread context      861 869 861—862
Thread ID (TID)      861 861—862
thread safety      885 885—888
Thread termination, explicit      864
Thread termination, implicit      864
Threaded programs, shared variables in      868—871
threads      16 849 861 861—862
Threads memory model      869—870
Threads, concurrent programming with      849
Threads, concurrent server based on      866—868
threads, creating      864
Threads, detaching      865—866
Threads, event-driven programs based on      883—885
Threads, initializing      866
Threads, main      862
Threads, peer      862
Threads, Posix      863—884
Threads, reaping of      865
Threads, synchronizing with semaphores      871—882
Threads, terminated      864—865
Threads, terminated, reaping      865
Threads, thread execution model      862
Three-bit unsigned multiplication      75—76
Throughput      309 735
TID (thread ID)      861
Time segment      658
Time slice      595
TIME Unix time command      659
Time, interval      654
Time-of-day measurements      680—683
Timer interrupt handling, compensating for      676—678
Timer interrupts      654—655
Timer, latency      682
Timer, resolution      681
Timer, time segment      658
Timer, time slice      595
times [Unix] timing function      660
TINY [CS.APB] Web server      834 834—841
TINY [CS.APB] Web server, clienterror function      837
TINY [CS.APB] Web server, doit function      834—836
TINY [CS.APB] Web server, main routine      834
TINY [CS.APB] Web server, parse_uri function      837—839
TINY [CS.APB] Web server, read_requesthdrs function      837—838
TINY [CS.APB] Web server, serve_dynamic function      840—841
TINY [CS.APB] Web server, serve_static function      839—840
TLB index (TLBI)      708
TLB tag (TLBT)      708 713
TMax (maximum two's complement number)      52
TMin (minimum two's complement number)      52
Torvalds, Linus      18
Touch (a page)      724
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! О проекте