Understanding the Linux kernel: [from I/O ports to process management]
Gespeichert in:
Hauptverfasser: | , |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Beijing [u.a.]
O'Reilly
2001
|
Ausgabe: | 1. ed. |
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | XVI, 684 S. Ill., graph. Darst. |
ISBN: | 0596000022 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV013397360 | ||
003 | DE-604 | ||
005 | 20030409 | ||
007 | t | ||
008 | 001020s2001 ad|| |||| 00||| eng d | ||
016 | 7 | |a 960478248 |2 DE-101 | |
020 | |a 0596000022 |9 0-596-00002-2 | ||
035 | |a (OCoLC)248550524 | ||
035 | |a (DE-599)BVBBV013397360 | ||
040 | |a DE-604 |b ger |e rakwb | ||
041 | 0 | |a eng | |
049 | |a DE-739 |a DE-29T |a DE-91G |a DE-19 |a DE-473 |a DE-522 |a DE-83 |a DE-11 |a DE-188 |a DE-2070s | ||
050 | 0 | |a QA76.76.O63 | |
082 | 0 | |a 005.432 | |
084 | |a ST 261 |0 (DE-625)143633: |2 rvk | ||
084 | |a ST 267 |0 (DE-625)143635: |2 rvk | ||
084 | |a DAT 438f |2 stub | ||
100 | 1 | |a Bovet, Daniel P. |e Verfasser |4 aut | |
245 | 1 | 0 | |a Understanding the Linux kernel |b [from I/O ports to process management] |c Daniel P. Bovet & Marco Cesati |
246 | 1 | 3 | |a Linux kernel |
250 | |a 1. ed. | ||
264 | 1 | |a Beijing [u.a.] |b O'Reilly |c 2001 | |
300 | |a XVI, 684 S. |b Ill., graph. Darst. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
650 | 4 | |a LINUX 2.0 - Kernel <Informatik> | |
650 | 0 | 7 | |a LINUX |0 (DE-588)4337730-0 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a LINUX 2.6 |0 (DE-588)4760328-8 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a LINUX 2.4 |0 (DE-588)4644839-1 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Kernel |g Informatik |0 (DE-588)4338679-9 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a LINUX |0 (DE-588)4337730-0 |D s |
689 | 0 | 1 | |a Kernel |g Informatik |0 (DE-588)4338679-9 |D s |
689 | 0 | |5 DE-604 | |
689 | 1 | 0 | |a LINUX 2.4 |0 (DE-588)4644839-1 |D s |
689 | 1 | 1 | |a Kernel |g Informatik |0 (DE-588)4338679-9 |D s |
689 | 1 | |8 1\p |5 DE-604 | |
689 | 2 | 0 | |a LINUX 2.6 |0 (DE-588)4760328-8 |D s |
689 | 2 | 1 | |a Kernel |g Informatik |0 (DE-588)4338679-9 |D s |
689 | 2 | |8 2\p |5 DE-604 | |
700 | 1 | |a Cesati, Marco |e Verfasser |4 aut | |
856 | 4 | 2 | |m HEBIS Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=009140356&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-009140356 | ||
883 | 1 | |8 1\p |a cgwrk |d 20201028 |q DE-101 |u https://d-nb.info/provenance/plan#cgwrk | |
883 | 1 | |8 2\p |a cgwrk |d 20201028 |q DE-101 |u https://d-nb.info/provenance/plan#cgwrk |
Datensatz im Suchindex
_version_ | 1804128180825489408 |
---|---|
adam_text | Understanding the
LINUX
KERNEL
DANIEL P BOVET amp; MARCO CESATI
O REILLY*
Beijing • Cambridge • Farnham • Koln • Paris • Sebastopol • fogrei • Tokyo
TABLE OF CONTENTS
PREFACE X I
CHAPTER ONE
INTRODUCTION 1
Linux Versus Other Unix-Like Kernels 2
Hardware Dependency 5
Linux Versions 6
Basic Operating System Concepts 7
An Overview of the Unix Filesystem 12
An Overview of Unix Kernels 19
CHAPTER TWO
MEMORY ADDRESSING 35
Memory Addresses 35
Segmentation in Hardware 36
Segmentation in Linux 40
Paging in Hardware 45
Paging in Linux 53
Anticipating Linux 2 4 64
CHAPTER THREE
PROCESSES 65
Process Descriptor 65
Process Switching • 80
Creating Processes 89
Destroying Processes 97
Anticipating Linux 2 4 99
CHAPTER FOUR
INTERRUPTS AND EXCEPTIONS 100
The Role of Interrupt Signals 101
Interrupts and Exceptions 102
Nested Execution of Exception and Interrupt Handlers 111
Initializing the Interrupt Descriptor Table 112
Exception Handling 115
Interrupt Handling 118
Returning from Interrupts and Exceptions 133
Anticipating Linux 2 4 136
CHAPTER FIVE
TIMING MEASUREMENTS 138
Hardware Clocks 139
The Timer Interrupt Handler 141
PIT S Interrupt Service Routine 142
The TIMER_BH Bottom Half Functions 144
System Calls Related to Timing Measurements 154
Anticipating Linux 2 4 157
CHAPTER SK
MEMORY MANAGEMENT 158
Page Frame Management 158
Memory Area Management 171
Noncontiguous Memory Area Management 188
Anticipating Linux 2 4 193
vi
CHAPTER SEVEN
PROCESS ADDRESS SPACE 195
The Process s Address Space 196
The Memory Descriptor 198
Memory Regions 199
Page Fault Exception Handler 216
Creating and Deleting a Process Address Space 228
Managing the Heap 230
Anticipating Linux 2 4 232
CHAPTER EIGHT
SYSTEM CALLS 233
POSLX APIs and System Calls 233
System Call Handler and Service Routines 234
Wrapper Routines 246
Anticipating Linux 2 4 248
CHAPTER NINE
SIGNALS 249
The Role of Signals 249
Sending a Signal 257
Receiving a Signal 260
Real-Time Signals 271
System Calls Related to Signal Handling 271
Anticipating Linux 2 4 276
CHAPTER TEN
PROCESS SCHEDULING 277
Scheduling Policy 277
The Scheduling Algorithm 281
System Calls Related to Scheduling 293
Anticipating Linux 2 4 298
vii
CHAPTER ELEVEN
KERNEL SYNCHRONIZATION
Kernel Control Paths 299
Synchronization Techniques 300
The SMP Architecture 310
The Linux/SMP Kernel 314
Anticipating Linux 2 4 327
CHAPTER TWELVE
THE VIRTUAL FILESYSTEM 328
The Role of the VFS 328
VFS Data Structures 334
Filesystem Mounting 350
Pathname Lookup 357
Implementations of VFS System Calls 362
File Locking 366
Anticipating Linux 2 4 371
CHAPTER THIRTEEN
MANAGING I/O DEVICES 372
I/O Architecture 372
Associating Files with I/O Devices 378
Device Drivers 383
Character Device Handling 391
Block Device Handling 393
Page I/O Operations 411
Anticipating Linux 2 4 414
CHAPTER FOURTEEN
DISK CACHES 415
The Buffer Cache 4l6
The Page Cache 431
Anticipating Linux 2 4 434
viii
CHAPTER FIFTEEN
ACCESSING REGULAR FILES 436
Reading and Writing a Regular File 436
Memory Mapping 445
Anticipating Linux 2 4 455
CHAPTER SIXTEEN
SWAPPING: METHODS FOR FREEING MEMORY 456
What Is Swapping? 457
Swap Area 459
The Swap Cache 471
Transferring Swap Pages 474
Page Swap-Out 479
Page Swap-In 486
Freeing Page Frames 488
Anticipating Linux 2 4 494
CHAPTER SEVENTEEN
THE EXT2 FILESYSTEM 495
General Characteristics 495
Disk Data Structures 497
Memory Data Structures 505
Creating the Filesystem 509
Ext2 Methods 511
Managing Disk Space 513
Reading and Writing an Ext2 Regular File 521
Anticipating Linux 2 4 523
CHAPTER EIGHTEEN
PROCESS COMMUNICATION 524
Pipes 525
FIFOs 533
System V IPC 536
Anticipating Linux 2 4 551
ix
CHAPTER NINETEEN
PROGRAM EXECUTION 552
Executable Files 553
Executable Formats 566
Execution Domains 568
The exec-like Functions 569
Anticipating Linux 2 4 574
APPENDIX A
SYSTEM STARTUP 575
APPENDIX B
MODULES , 582
APPENDIX C
SOURCE CODE STRUCTURE 591
BIBLIOGRAPHY^ 595
SOURCE CODE INDEX 599
INDEX 627
|
any_adam_object | 1 |
author | Bovet, Daniel P. Cesati, Marco |
author_facet | Bovet, Daniel P. Cesati, Marco |
author_role | aut aut |
author_sort | Bovet, Daniel P. |
author_variant | d p b dp dpb m c mc |
building | Verbundindex |
bvnumber | BV013397360 |
callnumber-first | Q - Science |
callnumber-label | QA76 |
callnumber-raw | QA76.76.O63 |
callnumber-search | QA76.76.O63 |
callnumber-sort | QA 276.76 O63 |
callnumber-subject | QA - Mathematics |
classification_rvk | ST 261 ST 267 |
classification_tum | DAT 438f |
ctrlnum | (OCoLC)248550524 (DE-599)BVBBV013397360 |
dewey-full | 005.432 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.432 |
dewey-search | 005.432 |
dewey-sort | 15.432 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
edition | 1. ed. |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>02243nam a2200565 c 4500</leader><controlfield tag="001">BV013397360</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20030409 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">001020s2001 ad|| |||| 00||| eng d</controlfield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">960478248</subfield><subfield code="2">DE-101</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">0596000022</subfield><subfield code="9">0-596-00002-2</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)248550524</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV013397360</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakwb</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-739</subfield><subfield code="a">DE-29T</subfield><subfield code="a">DE-91G</subfield><subfield code="a">DE-19</subfield><subfield code="a">DE-473</subfield><subfield code="a">DE-522</subfield><subfield code="a">DE-83</subfield><subfield code="a">DE-11</subfield><subfield code="a">DE-188</subfield><subfield code="a">DE-2070s</subfield></datafield><datafield tag="050" ind1=" " ind2="0"><subfield code="a">QA76.76.O63</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.432</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 261</subfield><subfield code="0">(DE-625)143633:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 267</subfield><subfield code="0">(DE-625)143635:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 438f</subfield><subfield code="2">stub</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Bovet, Daniel P.</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Understanding the Linux kernel</subfield><subfield code="b">[from I/O ports to process management]</subfield><subfield code="c">Daniel P. Bovet & Marco Cesati</subfield></datafield><datafield tag="246" ind1="1" ind2="3"><subfield code="a">Linux kernel</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">1. ed.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Beijing [u.a.]</subfield><subfield code="b">O'Reilly</subfield><subfield code="c">2001</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XVI, 684 S.</subfield><subfield code="b">Ill., graph. Darst.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">LINUX 2.0 - Kernel <Informatik></subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">LINUX</subfield><subfield code="0">(DE-588)4337730-0</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">LINUX 2.6</subfield><subfield code="0">(DE-588)4760328-8</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">LINUX 2.4</subfield><subfield code="0">(DE-588)4644839-1</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Kernel</subfield><subfield code="g">Informatik</subfield><subfield code="0">(DE-588)4338679-9</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">LINUX</subfield><subfield code="0">(DE-588)4337730-0</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Kernel</subfield><subfield code="g">Informatik</subfield><subfield code="0">(DE-588)4338679-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="1" ind2="0"><subfield code="a">LINUX 2.4</subfield><subfield code="0">(DE-588)4644839-1</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2="1"><subfield code="a">Kernel</subfield><subfield code="g">Informatik</subfield><subfield code="0">(DE-588)4338679-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2=" "><subfield code="8">1\p</subfield><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="2" ind2="0"><subfield code="a">LINUX 2.6</subfield><subfield code="0">(DE-588)4760328-8</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="2" ind2="1"><subfield code="a">Kernel</subfield><subfield code="g">Informatik</subfield><subfield code="0">(DE-588)4338679-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="2" ind2=" "><subfield code="8">2\p</subfield><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Cesati, Marco</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">HEBIS Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=009140356&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-009140356</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">1\p</subfield><subfield code="a">cgwrk</subfield><subfield code="d">20201028</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#cgwrk</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">2\p</subfield><subfield code="a">cgwrk</subfield><subfield code="d">20201028</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#cgwrk</subfield></datafield></record></collection> |
id | DE-604.BV013397360 |
illustrated | Illustrated |
indexdate | 2024-07-09T18:45:09Z |
institution | BVB |
isbn | 0596000022 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-009140356 |
oclc_num | 248550524 |
open_access_boolean | |
owner | DE-739 DE-29T DE-91G DE-BY-TUM DE-19 DE-BY-UBM DE-473 DE-BY-UBG DE-522 DE-83 DE-11 DE-188 DE-2070s |
owner_facet | DE-739 DE-29T DE-91G DE-BY-TUM DE-19 DE-BY-UBM DE-473 DE-BY-UBG DE-522 DE-83 DE-11 DE-188 DE-2070s |
physical | XVI, 684 S. Ill., graph. Darst. |
publishDate | 2001 |
publishDateSearch | 2001 |
publishDateSort | 2001 |
publisher | O'Reilly |
record_format | marc |
spelling | Bovet, Daniel P. Verfasser aut Understanding the Linux kernel [from I/O ports to process management] Daniel P. Bovet & Marco Cesati Linux kernel 1. ed. Beijing [u.a.] O'Reilly 2001 XVI, 684 S. Ill., graph. Darst. txt rdacontent n rdamedia nc rdacarrier LINUX 2.0 - Kernel <Informatik> LINUX (DE-588)4337730-0 gnd rswk-swf LINUX 2.6 (DE-588)4760328-8 gnd rswk-swf LINUX 2.4 (DE-588)4644839-1 gnd rswk-swf Kernel Informatik (DE-588)4338679-9 gnd rswk-swf LINUX (DE-588)4337730-0 s Kernel Informatik (DE-588)4338679-9 s DE-604 LINUX 2.4 (DE-588)4644839-1 s 1\p DE-604 LINUX 2.6 (DE-588)4760328-8 s 2\p DE-604 Cesati, Marco Verfasser aut HEBIS Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=009140356&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis 1\p cgwrk 20201028 DE-101 https://d-nb.info/provenance/plan#cgwrk 2\p cgwrk 20201028 DE-101 https://d-nb.info/provenance/plan#cgwrk |
spellingShingle | Bovet, Daniel P. Cesati, Marco Understanding the Linux kernel [from I/O ports to process management] LINUX 2.0 - Kernel <Informatik> LINUX (DE-588)4337730-0 gnd LINUX 2.6 (DE-588)4760328-8 gnd LINUX 2.4 (DE-588)4644839-1 gnd Kernel Informatik (DE-588)4338679-9 gnd |
subject_GND | (DE-588)4337730-0 (DE-588)4760328-8 (DE-588)4644839-1 (DE-588)4338679-9 |
title | Understanding the Linux kernel [from I/O ports to process management] |
title_alt | Linux kernel |
title_auth | Understanding the Linux kernel [from I/O ports to process management] |
title_exact_search | Understanding the Linux kernel [from I/O ports to process management] |
title_full | Understanding the Linux kernel [from I/O ports to process management] Daniel P. Bovet & Marco Cesati |
title_fullStr | Understanding the Linux kernel [from I/O ports to process management] Daniel P. Bovet & Marco Cesati |
title_full_unstemmed | Understanding the Linux kernel [from I/O ports to process management] Daniel P. Bovet & Marco Cesati |
title_short | Understanding the Linux kernel |
title_sort | understanding the linux kernel from i o ports to process management |
title_sub | [from I/O ports to process management] |
topic | LINUX 2.0 - Kernel <Informatik> LINUX (DE-588)4337730-0 gnd LINUX 2.6 (DE-588)4760328-8 gnd LINUX 2.4 (DE-588)4644839-1 gnd Kernel Informatik (DE-588)4338679-9 gnd |
topic_facet | LINUX 2.0 - Kernel <Informatik> LINUX LINUX 2.6 LINUX 2.4 Kernel Informatik |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=009140356&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT bovetdanielp understandingthelinuxkernelfromioportstoprocessmanagement AT cesatimarco understandingthelinuxkernelfromioportstoprocessmanagement AT bovetdanielp linuxkernel AT cesatimarco linuxkernel |