Javascript required
Skip to content Skip to sidebar Skip to footer

Modern Operating Systems Andrew S Tanenbaum & Herbert Bos Solutions

Modern operating systems

The widely anticipated revision of this worldwide best-seller incorporates the latest developments in operating systems (OS) technologies. The fourth edition includes up-to-date materials on relevant OS. Tanenbaum also provides information on current research based on his experience as an operating systems researcher

Available at all branches.

  • National College Library – Four available in Main Lending 005.43

Details

    Edition statement: Andrew S. Tanenbaum, Herbert Bos.

    Copyright: 2015

    ISBN: 1292061421, 9781292061429

    Intended audience: Specialized.

    Note: Includes Internet access.

    Note: Includes bibliographical references and index.

    Physical Description: xxvi, 1101 pages : illustrations (black and white) ; 24 cm

    Subject: Computers and IT.; Operating systems (Computers)

    Contents

    1. "INTRODUCTION"
    2. 1.1
    3. WHAT IS AN OPERATING SYSTEM?
    4. 1.1.1
    5. The Operating System as an Extended Machine
    6. 1.1.2
    7. The Operating System as a Resource Manager
    8. 1.2
    9. HISTORY OF OPERATING SYSTEMS
    10. 1.2.1
    11. The First Generation (1945-55): Vacuum Tubes
    12. 1.2.2
    13. The Second Generation (1955-65): Transistors and Batch Systems
    14. 1.2.3
    15. The Third Generation (1965-1980): ICs and Multiprogramming
    16. 1.2.4
    17. The Fourth Generation (1980-Present): Personal Computers
    18. 1.2.5
    19. The Fifth Generation (1990-Present): Mobile Computers
    20. 1.3
    21. COMPUTER HARDWARE REVIEW
    22. 1.3.1
    23. Processors
    24. 1.3.2
    25. Memory
    26. 1.3.3
    27. Disks
    28. 1.3.4
    29. I/O Devices
    30. 1.3.5
    31. Buses
    32. 1.3.6
    33. Booting the Computer
    34. 1.4
    35. THE OPERATING SYSTEM ZOO
    36. 1.4.1
    37. Mainframe Operating Systems
    38. 1.4.2
    39. Server Operating Systems
    40. 1.4.3
    41. Multiprocessor Operating Systems
    42. 1.4.4
    43. Personal Computer Operating Systems
    44. 1.4.5
    45. Handheld Computer Operating Systems
    46. 1.4.6
    47. Embedded Operating Systems.
    48. 1.4.7
    49. Sensor-Node Operating Systems
    50. 1.4.8
    51. Real-Time Operating Systems
    52. 1.4.9
    53. Smart Card Operating Systems
    54. 1.5
    55. OPERATING SYSTEM CONCEPTS
    56. 1.5.1
    57. Processes
    58. 1.5.2
    59. Address Spaces
    60. 1.5.3
    61. Files
    62. 1.5.4
    63. Input/Output
    64. 1.5.5
    65. Protection
    66. 1.5.6
    67. The Shell
    68. 1.5.7
    69. Ontogeny Recapitulates Phylogeny
    70. 1.6
    71. SYSTEM CALLS
    72. 1.6.1
    73. System Calls for Process Management
    74. 1.6.2
    75. System Calls for File Management
    76. 1.6.3
    77. System Calls for Directory Management
    78. 1.6.4
    79. Miscellaneous System Calls
    80. 1.6.5
    81. The Windows Win32 API
    82. 1.7
    83. OPERATING SYSTEM STRUCTURE
    84. 1.7.1
    85. Monolithic Systems
    86. 1.7.2
    87. Layered Systems
    88. 1.7.3
    89. Microkernels
    90. 1.7.4
    91. Client-Server Model
    92. 1.7.5
    93. Virtual Machines
    94. 1.7.6
    95. Exokernels
    96. 1.8
    97. THE WORLD ACCORDING TO C
    98. 1.8.1
    99. The C Language
    100. 1.8.2
    101. Header Files
    102. 1.8.3
    103. Large Programming Projects
    104. 1.8.4
    105. The Model of Run Time
    106. 1.9
    107. RESEARCH ON OPERATING SYSTEMS
    108. 1.10
    109. OUTLINE OF THE REST OF THIS BOOK
    110. 1.11
    111. METRIC UNITS
    112. 1.12
    113. SUMMARY
    114. 80CHAPTER 2 "PROCESSES AND THREADS"
    115. 2.1
    116. PROCESSES
    117. 2.1.1
    118. The Process Model
    119. 2.1.2
    120. Process Creation
    121. 2.1.3
    122. Process Termination
    123. 2.1.4
    124. Process Hierarchies
    125. 2.1.5
    126. Process States
    127. 2.1.6
    128. Implementation of Processes
    129. 2.1.7
    130. Modeling Multiprogramming
    131. 2.2
    132. THREADS
    133. 2.2.1
    134. Thread Usage
    135. 2.2.2
    136. The Classical Thread Model
    137. 2.2.3
    138. POSIX Threads
    139. 2.2.4
    140. Implementing Threads in User Space
    141. 2.2.5
    142. Implementing Threads in the Kernel
    143. 2.2.6
    144. Hybrid Implementations
    145. 2.2.7
    146. Scheduler Activations
    147. 2.2.8
    148. Pop-Up Threads
    149. 2.2.9
    150. Making Single-Threaded Code Multithreaded
    151. 2.3
    152. INTERPROCESS COMMUNICATION
    153. 2.3.1
    154. Race Conditions
    155. 2.3.2
    156. Critical Regions
    157. 2.3.3
    158. Mutual Exclusion with Busy Waiting
    159. 2.3.4
    160. Sleep and Wakeup
    161. 2.3.5
    162. Semaphores
    163. 2.3.6
    164. Mutexes
    165. 2.3.7
    166. Monitors
    167. 2.3.8
    168. Message Passing
    169. 2.3.9
    170. Barriers
    171. 2.3.10
    172. Avoiding Locks: Read-Copy-Update
    173. 2.4
    174. SCHEDULING
    175. 2.4.1
    176. Introduction to Scheduling
    177. 2.4.2
    178. Scheduling in Batch Systems
    179. 2.4.3
    180. Scheduling in Interactive Systems
    181. 2.4.4
    182. Scheduling in Real-Time Systems
    183. 2.4.5
    184. Policy Versus Mechanism
    185. 2.4.6
    186. Thread Scheduling
    187. 2.5
    188. CLASSICAL IPC PROBLEMS
    189. 2.5.1
    190. The Dining Philosophers Problem
    191. 2.5.2
    192. The Readers and Writers Problem
    193. 2.6
    194. RESEARCH ON PROCESSES AND THREADS
    195. 2.7
    196. SUMMARY
    197. 173CHAPTER 3 "MEMORY MANAGEMENT"
    198. 3.1
    199. NO MEMORY ABSTRACTION
    200. 3.2
    201. A MEMORY ABSTRACTION: ADDRESS SPACES
    202. 3.2.1
    203. The Notion of an Address Space
    204. 3.2.2
    205. Swapping
    206. 3.2.3
    207. Managing Free Memory
    208. 3.3
    209. VIRTUAL MEMORY
    210. 3.3.1
    211. Paging
    212. 3.3.2
    213. Page Tables
    214. 3.3.3
    215. Speeding Up Paging
    216. 3.3.4
    217. Page Tables for Large Memories
    218. 3.4
    219. PAGE REPLACEMENT ALGORITHMS
    220. 3.4.1
    221. The Optimal Page Replacement Algorithm
    222. 3.4.2
    223. The Not Recently Used Page Replacement Algorithm
    224. 3.4.3
    225. The First-In, First-Out (FIFO) Page Replacement Algorithm
    226. 3.4.4
    227. The Second-Chance Page Replacement Algorithm
    228. 3.4.5
    229. The Clock Page Replacement Algorithm
    230. 3.4.6
    231. The Least Recently Used (LRU) Page Replacement Algorithm
    232. 3.4.7
    233. Simulating LRU in Software
    234. 3.4.8
    235. The Working Set Page Replacement Algorithm
    236. 3.4.9
    237. The WSClock Page Replacement Algorithm
    238. 3.4.10
    239. Summary of Page Replacement Algorithms
    240. 3.5
    241. DESIGN ISSUES FOR PAGING SYSTEMS
    242. 3.5.1
    243. Local versus Global Allocation Policies
    244. 3.5.2
    245. Load Control
    246. 3.5.3
    247. Page Size
    248. 3.5.4
    249. Separate Instruction and Data Spaces
    250. 3.5.5
    251. Shared Pages
    252. 3.5.6
    253. Shared Libraries
    254. 3.5.7
    255. Mapped Files
    256. 3.5.8
    257. Cleaning Policy
    258. 3.5.9
    259. Virtual Memory Interface
    260. 3.6
    261. IMPLEMENTATION ISSUES
    262. 3.6.1
    263. Operating System Involvement with Paging
    264. 3.6.2
    265. Page Fault Handling
    266. 3.6.3
    267. Instruction Backup
    268. 3.6.4
    269. Locking Pages in Memory
    270. 3.6.5
    271. Backing Store
    272. 3.6.6
    273. Separation of Policy and Mechanism
    274. 3.7
    275. SEGMENTATION
    276. 3.7.1
    277. Implementation of Pure Segmentation
    278. 3.7.2
    279. Segmentation with Paging: MULTICS
    280. 3.7.3
    281. Segmentation with Paging: The Intel x86
    282. 3.8
    283. RESEARCH ON MEMORY MANAGEMENT
    284. 3.9
    285. SUMMARY
    286. 253CHAPTER 4 "FILE SYSTEMS"
    287. 4.1
    288. FILES
    289. 4.1.1
    290. File Naming
    291. 4.1.2
    292. File Structure
    293. 4.1.3
    294. File Types
    295. 4.1.4
    296. File Access
    297. 4.1.5
    298. File Attributes
    299. 4.1.6
    300. File Operations
    301. 4.1.7
    302. An Example Program Using File-System Calls
    303. 4.2
    304. DIRECTORIES
    305. 4.2.1
    306. Single-Level Directory Systems
    307. &p;nbsp
    308. 9.9
    309. MALWARE
    310. 9.9.1
    311. Trojan Horses
    312. 9.9.2
    313. Viruses
    314. 9.9.3
    315. Worms
    316. 9.9.4
    317. Spyware
    318. 9.9.5
    319. Rootkits
    320. 9.10
    321. DEFENSES
    322. 9.10.1
    323. Firewalls
    324. 9.10.2
    325. Antivirus and Anti-Antivirus Techniques
    326. 9.10.3
    327. Code Signing
    328. 9.10.4
    329. Jailing
    330. 9.10.5
    331. Model-Based Intrusion Detection
    332. 9.10.6
    333. Encapsulating Mobile Code
    334. 9.10.7
    335. Java Security
    336. 9.11
    337. RESEARCH ON SECURITY
    338. 9.12
    339. SUMMARYCHAPTER 10 "CASE STUDY 1: UNIX, LINUX, AND ANDROID"
    340. 10.1
    341. HISTORY OF UNIX AND LINUX
    342. 10.1.1
    343. UNICS
    344. 10.1.2
    345. PDP-11 UNIX
    346. 10.1.3
    347. Portable UNIX
    348. 10.1.4
    349. Berkeley UNIX
    350. 10.1.5
    351. Standard UNIX
    352. 10.1.6
    353. MINIX
    354. 10.1.7
    355. Linux
    356. 10.2
    357. OVERVIEW OF LINUX
    358. 10.2.1
    359. Linux Goals
    360. 10.2.2
    361. Interfaces to Linux
    362. 10.2.3
    363. The Shell
    364. 10.2.4
    365. Linux Utility Programs
    366. 10.2.5
    367. Kernel Structure
    368. 10.3
    369. PROCESSES IN LINUX
    370. 10.3.1
    371. Fundamental Concepts
    372. 10.3.2
    373. Process Management System Calls in Linux
    374. 10.3.3
    375. Implementation of Processes and Threads in Linux
    376. 10.3.4
    377. Scheduling in Linux
    378. 10.3.5
    379. Booting Linux
    380. 10.4
    381. MEMORY MANAGEMENT IN LINUX
    382. 10.4.1
    383. Fundamental Concepts
    384. 10.4.2
    385. Memory Management System Calls in Linux
    386. 10.4.3
    387. Implementation of Memory Management in Linux
    388. 10.4.4
    389. Paging in Linux
    390. 10.5
    391. INPUT/OUTPUT IN LINUX
    392. 10.5.1
    393. Fundamental Concepts
    394. 10.5.2
    395. Networking
    396. 10.5.3
    397. Input/Output System Calls in Linux
    398. 10.5.4
    399. Implementation of Input/Output in Linux
    400. 10.5.5
    401. Modules in Linux
    402. 10.6
    403. THE LINUX FILE SYSTEM
    404. 10.6.1
    405. Fundamental Concepts
    406. 10.6.2
    407. File System Calls in Linux
    408. 10.6.3
    409. Implementation of the Linux File System
    410. 10.6.4
    411. NFS: The Network File System
    412. 10.7
    413. SECURITY IN LINUX
    414. 10.7.1
    415. Fundamental Concepts
    416. 10.7.2
    417. Security System Calls in Linux
    418. 10.7.3
    419. Implementation of Security in Linux
    420. 10.8
    421. ANDROID
    422. 10.9
    423. SUMMARYCHAPTER 11 "CASE STUDY 2: WINDOWS 8"
    424. 11.1
    425. HISTORY OF WINDOWS THROUGH WINDOWS 8.1
    426. 11.1.1
    427. 1980s: MS-DOS
    428. 11.1.2
    429. 1990s: MS-DOS-based Windows
    430. 11.1.3
    431. 2000s: NT-based Windows
    432. 11.1.4
    433. Windows Vista
    434. 11.1.5
    435. 2010s: Modern Windows
    436. 11.2
    437. PROGRAMMING WINDOWS
    438. 11.2.1
    439. The Native NT Application Programming Interface
    440. 11.2.2
    441. The Win32 Application Programming Interface
    442. 11.2.3
    443. The Windows Registry
    444. 11.3
    445. SYSTEM STRUCTURE
    446. 11.3.1
    447. Operating System Structure
    448. 11.3.2
    449. Booting Windows
    450. 11.3.3
    451. Implementation of the Object Manager
    452. 11.3.4
    453. Subsystems, DLLs, and User-Mode Services
    454. 11.4
    455. PROCESSES AND THREADS IN WINDOWS
    456. 11.4.1
    457. Fundamental Concepts
    458. 11.4.2
    459. Job, Process, Thread, and Fiber Management API Calls
    460. 11.4.3
    461. Implementation of Processes and Threads
    462. 11.5
    463. MEMORY MANAGEMENT
    464. 11.5.1
    465. Fundamental Concepts
    466. 11.5.2
    467. Memory Management System Calls
    468. 11.5.3
    469. Implementation of Memory Management
    470. 11.6
    471. CACHING IN WINDOWS
    472. 11.7
    473. INPUT/OUTPUT IN WINDOWS
    474. 11.7.1
    475. Fundamental Concepts
    476. 11.7.2
    477. Input/Output API Calls
    478. 11.7.3
    479. Implementation of I/O
    480. 11.8
    481. THE WINDOWS NT FILE SYSTEM
    482. 11.8.1
    483. Fundamental Concepts
    484. 11.8.2
    485. Implementation of the NT File System
    486. 11.9
    487. WINDOWS POWER MANAGEMENT
    488. 11.10
    489. SECURITY IN WINDOWS
    490. 11.10.1
    491. Fundamental Concepts
    492. 11.10.2
    493. Security API Calls
    494. 11.10.3
    495. Implementation of Security
    496. 11.10.4
    497. Security Mitigations
    498. 11.11
    499. SUMMARYCHAPTER 13 "OPERATING SYSTEM DESIGN"
    500. 13.1
    501. THE NATURE OF THE DESIGN PROBLEM
    502. 13.1.1
    503. Goals
    504. 13.1.2
    505. Why Is It Hard to Design an Operating System?
    506. 13.2
    507. INTERFACE DESIGN
    508. 13.2.1
    509. Guiding Principles
    510. 13.2.2
    511. Paradigms
    512. 13.2.3
    513. The System Call Interface
    514. 13.3
    515. IMPLEMENTATION
    516. 13.3.1
    517. System Structure
    518. 13.3.2
    519. Mechanism versus Policy
    520. 13.3.3
    521. Orthogonality
    522. 13.3.4
    523. Naming
    524. 13.3.5
    525. Binding Time
    526. 13.3.6
    527. Static versus Dynamic Structures
    528. 13.3.7
    529. Top-Down versus Bottom-Up Implementation
    530. 13.3.8
    531. Useful Techniques
    532. 13.4
    533. PERFORMANCE
    534. 13.4.1
    535. Why Are Operating Systems Slow?
    536. 13.4.2
    537. What Should Be Optimized?
    538. 13.4.3
    539. Space-Time Trade-offs
    540. 13.4.4
    541. Caching
    542. 13.4.5
    543. Hints
    544. 13.4.6
    545. Exploiting Locality
    546. 13.4.7
    547. Optimize the Common Case
    548. 13.5
    549. PROJECT MANAGEMENT
    550. 13.5.1
    551. The Mythical Man Month
    552. 13.5.2
    553. Team Structure
    554. 13.5.3
    555. The Role of Experience
    556. 13.5.4
    557. No Silver Bullet
    558. 13.6
    559. TRENDS IN OPERATING SYSTEM DESIGN
    560. 13.6.1
    561. Virtualization
    562. 13.6.2
    563. Multicore Chips
    564. 13.6.3
    565. Large Address Space Operating Systems
    566. 13.6.4
    567. Networking
    568. 13.6.5
    569. Parallel and Distributed Systems
    570. 13.6.6
    571. Multimedia
    572. 13.6.7
    573. Battery-Powered Computers
    574. 13.6.8
    575. Embedded Systems
    576. 13.6.9
    577. Sensor Nodes
    578. 13.7
    579. SUMMARYCHAPTER 14 "READING LIST AND BIBLIOGRAPHY"
    580. 14.1
    581. SUGGESTIONS FOR FURTHER READING
    582. 14.1.1
    583. Introduction and General Works
    584. 14.1.2
    585. Processes and Threads
    586. 14.1.3
    587. Memory Management
    588. 14.1.4
    589. Input/Output
    590. 14.1.5
    591. File Systems
    592. 14.1.6
    593. Deadlocks
    594. 14.1.7
    595. Virtualization and the CLoud
    596. 14.1.8
    597. Multiple Processor Systems
    598. 14.1.9
    599. Security
    600. 14.1.10
    601. UNIX, Linux, and Android
    602. 14.1.11
    603. Windows
    604. 14.1.12
    605. Design Principles
    606. 14.2
    607. ALPHABETICAL BIBLIOGRAPHY

    Description

    Modern Operating Systems Andrew S Tanenbaum & Herbert Bos Solutions

    Source: https://library.ncirl.ie/items/19377?query=subject%3A%28Computers+and+IT%29&resultsUri=items%3Fquery%3Dsubject%253A%2528Computers%2Band%2BIT%2529%26offset%3D0