IT and Computer 1st Edition by Andrew Tanenbaumpdf Download
IT and Computer 1st Edition by Andrew Tanenbaumpdf Download
download
https://ebookball.com/product/it-and-computer-1st-edition-by-
andrew-tanenbaum-25064/
https://ebookball.com/product/computer-networks-4th-edition-by-
andrew-tanenbaum-isbn-0130661023-9780130661029-25006/
https://ebookball.com/product/computer-networks-5th-edition-by-
andrew-s-tanenbaum-isbn-0133072622-9780133072624-15920/
https://ebookball.com/product/structured-computer-
organization-5th-edition-by-andrew-tanenbaum-
isbn-0131485210-978-0131485211-16386/
https://ebookball.com/product/structured-computer-
organization-5th-edition-by-andrew-s-tanenbaum-
isbn-0131485210-9780131485211-16612/
Computer Networks 5th edition by Andrew Tanenbaum, David Wetherall
ISBN ‎ 0132126958 978-0132126953
https://ebookball.com/product/computer-networks-5th-edition-by-
andrew-tanenbaum-david-wetherall-isbn-
aeurz-0132126958-978-0132126953-16362/
https://ebookball.com/product/operating-systems-design-and-
implementation-3rd-edition-by-andrew-tanenbaum-albert-
woodhull-0131429388-9780131429383-17132/
https://ebookball.com/product/operating-system-design-and-
implementation-2nd-edition-by-andrew-tanenbaum-albert-woodhull-
isbn-0136386776-9780136386773-25066/
https://ebookball.com/product/it-and-computer-ccxlvi-1st-edition-
by-pankaj-jalote-15656/
https://ebookball.com/product/it-and-computer-ccxlvi-1st-edition-
by-pankaj-jalote-15600/
PREFACE The world has changed a great deal since the first edition
of this book ap- appeared in 1992. Computer networks and
distributed systems of all kinds have become very common. Small
children now roam the Internet, where previously only computer
professionals went. As a consequence, this book has changed a
great deal, too. The most obvious change is that the first edition was
about half on single- processor operating systems and half on
distributed sysiems. 1 chose that format in 1991 because few
universities then had courses on distributed systems and whatever
students learned about distributed systems had to be put into the
operat- operating sysiems course, for which this book was intended.
Now most universities have a separate course on distributed
systems, so it is not necessary to try to com- combine the two
subjects into one course and one book. This book is intended for a
first course on operating systems, and as such focuses mostly on
traditional single-processor systems. 1 have coauthored two other
books on operating systems. This leads lo two possible course
sequences. Practically-oriented sequence; 1. Operating Systems
Design and Implementation by Tanenbaum and Woodhull 2.
Distributed Systems by Tanenbaum and Van Steen Traditional
sequence: 1. Modern Operating Systems by Tanenbaum 2.
Distributed Systems by Tanenbaum and Van Steen
XXIV PREFACE The former sequence uses M1N1X and the students
are expected to experiment with MINIX in an accompanying
laboratory supplementing the first course. The latter sequence'does
not use M1N1X. Instead, some small simulators are available that
can be used for student exercises during a first course using this
book. These simulators can be found starting on the author's Web
page: www.cs.vu.nl/-ast/by clicking on Software and supplementary
material for my books . In addition to the major change of switching
the emphasis to single-processor operating systems in this book,
other major changes include the addition of entire chapters on
computer security, multimedia operating systems, and Windows
2000, all important and timely topics. In addition, a new and unique
chapter on operat- operating system design has been added.
Another new feature is that many chapters now have a section on
research about the topic of the chapter. This is intended to introduce
the reader lo modern work in processes, memory management, and
so on. These sections have numerous references to the current
research literature for the interested reader. In addition, Chapter 13
has many introductory and tutorial references. Finally, numerous
topics have been added to this book or heavily revised. These topics
include: graphical user intefaces, multiprocessor operating systems,
power management for laptops, trusted systems, viruses, network
terminals, CD- ROM file systems, mutexes, RAID, soft timers, stable
storage, fair-share schedul- scheduling, and new paging algorithms-
Many new problems have been added and old ones updated. The
total number of problems now exceeds 450. A solutions manual is
available to professors using this book in a course. They can obtain a
copy from their local Prentice Hall representative. In addition, over
250 new references to the current literature have been added to
bring the book up to date Despite the removal of more than 400
pages of old material, the book has increased in size due to the large
amount of new material added. While the book is still suitable for a
one-semester or two-quarter course, it is probably too long for a
one-quarter or one-trimester course at most universities. For this
reason, the book has been designed in a modular way. Any course
on operating system should cover chapters ! through 6. This is basic
material that every student show know. If additional time is
available, additional chapters can be covered. Each ot them assumes
the reader has finished chapters 1 through 6, but Chaps. 7 through
12 are each self contained, .so any desired subset can be used and
in any order, depending on the interests of the instructor In the
author's opinion, Chaps 7 through 12 are much more interesting
than the earlier ones. Instructors should tell their students that they
have to eat their broccoli before they can have the douhle chocolate
fudge cake dessert I would like to thank the following people for
their help in reviewing parts of the manuscript: Rida Bazzi, Riccardo
Bettati, Felipe Cabrera, Richard Chapman John Connely, John
Dickinson, John Elliott, Deborah Frincke, Chandana Gamage, Robbert
Geist, David Golds, Jim Griffioen, Gary Harkin, Frans Kaashoek, Muk-
XI] CONTENTS 4.6.5. Shared Pages 239 4.6.6. Cleaning Policy 241
4.6 7. Virtual Memory Interface 241 4 7 IMPLEMENTATION ISSUES
242 4.7.1. Operating System Involvement with Paging 242 4.7.2.
Page Fault Handling 243 4.7.3. Instruction Backup 244 4.7.4. Locking
Pages in Memory 246 4.7.5. Backing Store 246 4.7.6. Separation of
Policy and Mechanism 247 4.8. SEGMENTATION 249 4.8.1.
Implementation of Pure Segmentation 253 4.8.2. Segmentation with
Paging. MULTICS 254 4.8.3. Segmentation with Paging: The Intel
Pentium 257 4.9. RESEARCH ON MEMORY MANAGEMENT 262 4.10.
SUMMARY 262 5 INPUT/OUTPUT 269 5.1 PRINCIPLES OF I/O
HARDWARE 269 5.1.1. I/O Devices 270 5.1.2. Device Controllers 271
5.1.3. Memory-Mapped I/O 272 5.1.4. Direct Memory Access 276
5.1.5. Interrupts Revisited 279 5.2. PRiNCIPLES OF I/O SOFTWARE
282 5.2.1. Goals ot the I/O Software 283 5.2.2. Programmed I/O
284 5 2.3. lnterrupt-Dnven I/O 286 5 2.4. I/O Using DMA 287 5.3.
I/O SOFTWARE LAYERS 287 5.3.1. interrupt Handlers 287 5.3.2.
Device Drivers 289
XIV 6 FILE SYSTEMS 379 FILES 380 .1. FilcNai ing 380 ;ture 382 .3.
File Types 383 .4. File Access 385 5. File Attributes, 386 .6. File
Operations 387 .7. An Example Program Using File System Calls,
6.1.8. Memory-Mapped Files 391 6.2- DIRECTORIES 393 6.2.1-
Single-Level Directory Systems 393 6.2.2. Two-level Directory
Systems 394 6.2.3. Hierarchical Directory Systems 395 6.2.4. Path
Names 395 6.2.5. Directory Operations, 398 6.3. FILE SYSTEM
IMPLEMENTATION 399 6.3.1. File System Layout 399 6.3.2.
Implementing Files 400 6.3.3. Implementing Directorie.s 405 6.3.4.
Shared Files 408 6.3.5. Disk Space Management 410 6.3.6. File
System Reliability 416 6.3.7. File System Performance 424 6.3.8.
Log-Structured File Systems 428 6.4. EXAMPLE FILE SYSTEMS 430
6.4.1. CD-ROM File Systems 430 6.4.2. The CP/M File System 435
6.4.3. The MS-DOS File System 438 6.4.4. The Windows 98 File
System 442 6.4.5. The UNIX V7 File System 445 6.5. RESEARCH ON
FILE SYSTEMS 448 6.6 SUMMARY 448
12.4.5. Hints 888 12.4.6. Exploiting Locality 888 12.4.7. Optimize the
Common Case 889 12.5. PROJECT MANAGEMENT 889 12,5.1 The
Mythical Man Month 890 12.5.2. Team Structure 891 125.3. The
Rote of Experience 893 12 5.4. No Silver Buttet 894 12.6. TRENDS
tN OPERATING SYSTEM DESIGN 894 12.6.1. Large Address Space
Operating Systems, 894 12.6 2. Networking 895 12.6.3. Parallel and
Distributed Systems 896 12.6.4. Multimedia 896 12.6.5. Battery-
Powered Computers 896 12.6.6. Embedded Systems 897 12.7.
SUMMARY 897 13 READING LIST AND BIBLIOGRAPHY 13.1.
SUGGESTIONS FOR FURTHER READING 901 .1. Introduction and
General Works 902 .2. Processes and Threads 902 .3. Deadlocks 903
.4. Memory Management 9A3 .5. Input/Output 903 .6. File Systems
904 .7. Multimedia Operating Systems 905 .8. Multiple Processor
Systems 906 .9. Secunly 9(>7 .10. UNIX and Linux 908 .11.
Windows 2000 909 .12. Design Principles 910 13.2 ALPHABETICAL
BIBLIOGRAPHY 911 901 INDEX 935
10 iNTkODLC I ION t-'UAP I Tlit- 360 was (he tusi majoi computer
lino to use (small scale) Integrated Or- cuit*. <rCV. thus providing a
major price/performance ;tdv;inlage o\er the second- generation
machines. v\mdi were built up from indiwdu.il transistors, ll was an
adopted by all lhe other majoi manufacturers The descendants of
these machines are stili in use ,il computer centers today. Nowadays
they are often used lor World Wide Weh site thai must pioccss
thi.usarids cif requests j,er second. fhf greatest strength of the "one
tamtl) ' idea was simultaneously its greatest weakness. The intention
w.is thai all softwaie. including the operating system, OS/360 had to
work on all i.iodel.s It had 10 ruti on small systems, whicn often lust
replaced 1401s for copying aircis tu tape, and on very laigc systems,
which often replaced 7094s lor doing weather forecasting and other
heavy computing It had tu be good oti .systems with tew peripherals
and on systems with nwuv pen- menis. Abo\eall, it had to be
clTtcient for all elf these JtfteretitiK.es. There was no way that IBM
(Or anybody else) UiUlci wine a piece Ol software to meet ad (hose
conflicting requirements The result was an enormous and
extraordinarily eotnplex operating system, piobalJy two to thiec
orders ol magni- magnitude larger than FMS ll consisted or millions
ot Imps of assembly language writ- written by thousands of
programmers, ,md contained thousands upon (housaiids of bugs,
which necessitated a continuous stream ol" new releases ui an
attempt to correct then,. Each new iclease fixed some bugs and
introduced new ones, so the numher ol bugs probabl; remained
constant m time One ot the designers ot OS/360. Fred Biooks,
subsequently wiole a witty and incisive book (Brooks, 1996)
describing his experiences with OS/lfn). While it would be impossible
to summarize the hook heie. suffice i( to say that the cci\er shows a
herd of prehistoric beasts siutk in ,i lai |iil. The cover ot Silherschat7
el al. B000) makes a similar point about tij.erating systems beina
dmos.»irs. Despite its enormous size and problems. OS/3W) and the
similai thud- getieratn>fl operatjng syst^ins produced by other
comiiUler inaiiLiIucliirers actually sjtisfied most oi their customers,
reasonably well- They also popularized seveial key techniques ahsent
in seconci-getieiaiion ojieratmg systenis Probably the must important
ot these was multiprogramming. On the 7094, when tlvc current job
paused to wait for a tape or other i/O operation hi complex, the CPU
simply sal idle until the I/O finished With heavily CPU-l.ound
scientific calculations I/O is infrequent, so this wasted tune is not
signitkani With conimeicial data pioccss- mg, the I/O wait time can
often be- 80 or 90 peicent of the toi.il time, so something had to be
done to avoid having lhe (expensivei CPV be idle so much different
job in each petition, .is shown in Fig 1-4 While one job was waiting
toi I/O lo complete, another job could be Using the <L PL) It enough
)tibs could |,e held in main memory at once, the CpU could he kept
busy nearly 100 percent of
26 iNTRODftriON < H\P I ihe cku-k cii-cuii ihai mcrcineuK the nine in
it arc pcw^u'Cl b-. a small bancry. *" ihe lime is correctly updaled,
even when ihc ,.mipul.-r i-- uHplu^cd. lhc CMOS installed bauery
often lasis for several years Hr>we\ei. whon it begins to Ian. Ilk'
compuier can appear to have Al/lieimer's disease. forger ring ihings
ihai u lia\ known for years, like which hard disk 10 booi from. Let us
now focus on main memory for a Inile while ]( is ohen desirahle to
hofd niuftipfe programs- m memory at once. If one program is
blocked waning W a disk read (o compfete, another program c;in
use ihe CPU. giving a henei CP1 • unfizaiion. However, with two or
more programs in main memory ai once, two prnbfems must be
so/vecf' 1 How to proteci ihe programs from i.ne .mother and ihe
kernel fmin ihem all. 2. How io handle refocation. Many solutions are
possible Howevei. all ol them, invoke ^juippijiL- ihe CTl' with special
hardware. The first probfem is obvious, but the second mie is a bti
nioic snhifi- W'Ueii ,i program is compifed and finked, the conipilci
,uid finku no nm kiicrtv v.hi-ri' in physical memory it will be loaded
when it is fveciitcd Kir tins reason ihc\ usu uHy assume it will stan at
address H. and jus] put ihc |i,si iDstruetinii ilk-iv Sup pose th.it the
first instruction Inches a HtiriHihin iKL-innr; a<ldtcss KUKKI Nov
suppose ih,it the enure program and dau jic huded sUrlma M jdcl.-
css Sft.lHfi). When the first instruction exei-irtes. it will l,ul bfiau^' ll
\wll rclcioiitf ri>e word at 10.000, liHc.td i.Mhu wi.id atM).<HXI F,,
s(Hu- i!iK piolik-1,1 we rti-t-d In fiiht'i tdocatc the progru,ti at !(Md
tune, hnduijr .ill nV aiklu-^s.- and i,todil>[i(g ihem The stniplfst
si,lutn,ii l^. -.hown in f-'tg. 1 >)u) in iH;> Hum- *c si\- j Li,n, puter
equipped wtth Iwirsjxxi.f! reijisiers, lhc hase regisier anJ H,i-Hniil
rvgi-U'r (Please note ib.it in t!ii> h,t..k, numhers be»innnij; with (K
air m hcxadcaiidil the C language conveimoii SiunlurK, iiiii(ibi-,> ]u-y,
(Hiitiy w.nil ,i k-iidui;! /,-it) ah in octal ) When a program is win, the
base lT.-istci is -.a h> fimi tn tlic st.in ill Us pto&ram it'Ktimd ihe l.nin
regi.sk-i tcHs how. Kugc tltc ^mib^nd pi(>gr,r,n it-\i .n,d data are
When an instruction u to be Ictchul, (h( hjulwarc checks [o \cf ,t llu
program Counter is less ih.rn flic limit legistur .md ,t n is jdcK il tu
thr \\t\p ic^is ter and sends tlie sum to intjnnn> ShinlsirK uln'it ihc
pnmr.ni' w.ints id Kt.-Ii . data wore! (e.g. from address 10,000). tbc
Wl^.uc .i.tiimuHCjIfv Akk th, tm, teiiis of the hase legislei (c y. .
50.000} to (ii.n dddicss arid st-nd- tlu- sum ih() (Kilt' to Ihe memory
The base legisler makes it impossible li.r ,r pu^rain tn leierciicc any
part i>r manory below if self Furthcnnoie the limit rcgi\tei nukes it
unpos
Updated editions will replace the previous one—the old editions will
be renamed.
1.D. The copyright laws of the place where you are located also
govern what you can do with this work. Copyright laws in most
countries are in a constant state of change. If you are outside the
United States, check the laws of your country in addition to the
terms of this agreement before downloading, copying, displaying,
performing, distributing or creating derivative works based on this
work or any other Project Gutenberg™ work. The Foundation makes
no representations concerning the copyright status of any work in
any country other than the United States.
1.E.6. You may convert to and distribute this work in any binary,
compressed, marked up, nonproprietary or proprietary form,
including any word processing or hypertext form. However, if you
provide access to or distribute copies of a Project Gutenberg™ work
in a format other than “Plain Vanilla ASCII” or other format used in
the official version posted on the official Project Gutenberg™ website
(www.gutenberg.org), you must, at no additional cost, fee or
expense to the user, provide a copy, a means of exporting a copy, or
a means of obtaining a copy upon request, of the work in its original
“Plain Vanilla ASCII” or other form. Any alternate format must
include the full Project Gutenberg™ License as specified in
paragraph 1.E.1.
• You pay a royalty fee of 20% of the gross profits you derive
from the use of Project Gutenberg™ works calculated using the
method you already use to calculate your applicable taxes. The
fee is owed to the owner of the Project Gutenberg™ trademark,
but he has agreed to donate royalties under this paragraph to
the Project Gutenberg Literary Archive Foundation. Royalty
payments must be paid within 60 days following each date on
which you prepare (or are legally required to prepare) your
periodic tax returns. Royalty payments should be clearly marked
as such and sent to the Project Gutenberg Literary Archive
Foundation at the address specified in Section 4, “Information
about donations to the Project Gutenberg Literary Archive
Foundation.”
• You comply with all other terms of this agreement for free
distribution of Project Gutenberg™ works.
1.F.
1.F.4. Except for the limited right of replacement or refund set forth
in paragraph 1.F.3, this work is provided to you ‘AS-IS’, WITH NO
OTHER WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR ANY PURPOSE.
Please check the Project Gutenberg web pages for current donation
methods and addresses. Donations are accepted in a number of
other ways including checks, online payments and credit card
donations. To donate, please visit: www.gutenberg.org/donate.
Most people start at our website which has the main PG search
facility: www.gutenberg.org.
ebookball.com