Linux kernel internals / Michael Beck ... [et al.].
Idioma: Inglés Detalles de publicación: Harlow : Addison-Wesley, 1998Edición: 2ndDescripción: 480 pTipo de contenido:- texto
- sin mediación
- volumen
- 0201331438
Tipo de ítem | Biblioteca actual | Signatura topográfica | Estado | Fecha de vencimiento | Código de barras | Reserva de ítems | |
---|---|---|---|---|---|---|---|
Libro | Facultad Regional Santa Fe - Biblioteca "Rector Comodoro Ing. Jorge Omar Conca" | 004.451.9LINUX L658 (Navegar estantería(Abre debajo)) | Sólo Consulta | 6605 |
Navegando Facultad Regional Santa Fe - Biblioteca "Rector Comodoro Ing. Jorge Omar Conca" estanterías Cerrar el navegador de estanterías (Oculta el navegador de estanterías)
004.451.9LINUX B669 Understanding the Linux Kernel / | 004.451.9LINUX C178 The Linux Kernel book / | 004.451.9LINUX G766 El gran libro de Linux : el paradigma que está cambiando la informática / | 004.451.9LINUX L658 Linux kernel internals / | 004.451.9LINUX L658 l Linux handbook : | 004.451.9LINUX L658 l Linux handbook : | 004.451.9LINUX L658 li Linux for websphere and DB2 servers / |
Incluye CD-ROM, Nº inv. RE0061
CONTENIDO
Foreword vii
Preface ix
1. LINUX - the operating system 1
Main characteristics 3
Linux distributions 5
2. Compiling the kernel 6
Where is everything? 6
Compiling 9
Additional configuration facilities 11
3. Introduction to the kernel 15
Important data structures 20
The task structure 20
The process table 29
Files and inodes 31
Dynamic memory management 33
Queues and semaphores 34
System time and timers 36
Main algorithms 37
Signals 37
Interrupts 39
Booting the system 41
Timer interrupt 44
The scheduler 47
Implementing system calls 51
How do system calls actually work? 51
Examples of simple system calls 53
Examples of more complex system calls 55
Implementing a new system call 65
4. Memory management 70
The architecture-independent memory model in LINUX72
Pages of memory 72
Virtual address space 72
Converting the linear address 73
The page directory 74
The page middle directory 75
The page table 76
The virtual address space for a process 79
The user segment 79
Virtual memory areas 81
The system call brk 85
Mapping functions 86
The kernel segment 86
Static memory allocation in the kernel segment 88
Dynamic memory allocation in the kernel segment 88
Block device caching 92
Block buffering 92
The update and bdflush processes 94
List structures for the buffer cache 95
Using the buffer cache 96
Paging under LINUX 98
Page cache and management 100
Finding a free page 101
Page errors and reloading a page 106
5. Inter-process communication 108
Synchronization in the kernel 110
Communication via files 114
Locking entire files 115
Locking file areas 116
Pipes 119
Debugging using ptrace 121
System V IPC 125
Access permissions, numbers and keys 125
Semaphores 126
Message queues 130
Shared memory 133
The ipcs and ipcrm commands 137
IPC with sockets 138
A simple example 139
The implementation of UNTX domain sockets 143
6. The LINUX file system 148
Basic principles 149
The representation of file systems in the kernel 152
Mounting 153
Superblock operations 155
The inode 158
Inode operations 161
The file structure 165
File operations 165
Opening a file 169
The directory cache 172
The Proc file system 173
The Ext2 file system 179
The structure of the Ext2 file system 180
Directories in the Ext2 file system 182
Block allocation in the Ext2 file system 183
Extensions of the Ext2 file system 184
7. Device drivers under LINUX 186
Character and block devices 188
Polling and interrupts 190
Polling mode 190
Interrupt mode 191
Interrupt sharing 193
Bottom halves 194
Task queues 196
DMA mode 198
The hardware 200
Hardware detection 203
Automatic interrupt detection 205
Implementing a driver 207
The setup function 209
init 210
open and release 212
read and write 221
IOCTL 219
lseek 220
mmap 220
readdir, fsync and fasync 221
check_media_change and revalidate 221
An example of DMA operation 221
8. Network implementation 227
Introductory summary 228
The layer model of the network implementation 229
Getting the data from A to B 230
Important structures 234
The socket structure 234
The sk_buff structure-bufler management in the network 235
The INET socket- a special part of a socket 239
Protocol operations in the proto structure 243
The general structure of a socket address 246
Network devices under LINUX 247
Ethernet 254
SLIP and PLIP 255
The loopback device 255
The dummy device 255
ARP - the Address Resolution Protocol 256
IP 259
IP - general introduction 259
IP functions 260
Routing 263
IP multicasting and IGPM 265
IP packet filters 267
IP accounting and IP firewall 268
UDP 269
Functions of UDP 269
Other functions 271
TCP 271
General notes on TCP 271
The TCP communication end-point-a finite state machine 272
Functions of TCP 273
The packet interface - an alternative? 277
9. Modules and debugging 279
What are modules? 279
Implementation in the kernel 280
Signatures of symbols 283
What can be implemented as a module? 283
Parameter passing 285
The kernel daemon 285
An example module 287
Debugging 289
Changes are the beginning of the end 289
The best debugger- printk() 290
Debugging with gdb 291
10. Multi-processing 293
The Intel multi-processor specification 293
Problems with multi-processor systems 295
Changes to the kernel 296
Kernel initialization 296
Scheduling 297
Message exchange between processors 298
Entering kernelmode 298
Interrupt handling 299
Compiling LINUX SMP 300
APPENDIX A - System calls 301
Process management 302
The file system 339
Communication 370
Memory management 373
Initialization 378
All that remains 379
APPENDIX B - Kernel-related commands 380
free - synopsis of the system memory 380
ps - display of process statistics 381
Additional kernel configuration 386
top - the CPU charts 387
i nit - primus inter pares 389
shutdown - shutting down the system 395
strace - monitoring a process 396
Configuring the network interface 400
traceroute - Ariadne's thread in the Internet 400
Configuring a serial interface 403
Configuring a parallel interface 405
mount 407
APPENDIX C - The Pros file system 415
The /proc/ directory 415
The net/ directory 421
The serf/ directory 422
The sys/ directory 426
APPENDIX D - The boot process 428
Carrying out the boot process 428
LILO - the Linux loader 431
LILO started by MS-DOS MBR 431
LILO started by a boot manager 431
LILO in the master boot record 432
LILO files 432
LILO boot parameters 437
LILO start-up messages 439
Error messages 439
APPENDIX E - Useful kernel functions 441
References 457
Index 461
No hay comentarios en este titulo.