logo
分类于: 云计算&大数据 设计

简介

UNIX系统内幕

UNIX系统内幕 0.0分

资源最后更新于 2020-08-26 18:02:56

作者:[美] 瓦哈兰

出版社:人民邮电出版社

出版日期:2003-01

ISBN:9787115113009

文件格式: pdf

标签: unix OS 计算机 内核 Operating-System Linux/Unix Linux 计算机科学

简介· · · · · ·

本书提供了最新和最全面的UNIX系统技术内幕资料。全书讨论了UNIX的开发技术和原理,考察了现代UNIX系统的最新发展,比较分析了由最重要的UNIX系统和变体所提供的最新特性。本书涵盖的内容包括体现了20世纪90年代UNIX系统结构特色的多项技术:多线程内核、多处理机和实时系统,以及分布式文件系统。本书还讨论了内核的几个重要组成部分,比较了它们在几种不同UNIX变体中的设计,论述了其间的诸多权衡考

想要: 点击会收藏到你的 我的收藏,可以在这里查看

已收: 表示已经收藏

Tips: 注册一个用户 可以通过用户中心得到电子书更新的通知哦

目录

1 introduction
1.1 introduction
1.2 th mandate for change
1.3 looking back, looking forward
1.4 the scope of this book
1.5 references
2 the process and the kernel
2.1 introduction
2.2 mode, space, and context
2.3 the process abstraction
2.4 executing in kernel mode
2.5 synchronization
2.6 process scheduling
2.7 signals
2.8 new processes and programs
2.9 summary
2.10 exercises
2.11 references
3 threads and lightweight processes
3.1 introduction
.3.2 fundamental abstractions
3.3 lightweight process design--issues to consider
3.4 user-level threads libraries
3.5 scheduler activations
3.6 multithreading in solarie and svr4
3.7 threads in mach
3.8 digital unix
3.9 mach 3.0 continuations
3.10 summary
3.11 exercises
3.12 references
4 signals and session management
4.1 introduction
4.2 signal generation and handling
4.3 unreliable signals
4.4 reliable signals
4.5 signals in svr4
4.6 signals implementation
4.7 exceptions
4.8 mach exception handling
4.9 process groups and terminal management
4.10 the svr4 sessions architecture
4.11 summary
4.12 exercises
4.13 references
5 process scheduling
5.1 introduction
5.2 clock interrupt handling
5.3 scheduler goals
5.4 traditional unix scheduling
5.5 the svr4 scheduler
5.6 solaris 2.x scheduling enhancements
5.7 scheduling in mach
5.8 the digital unix real-time scheduler
5.9 other scheduling implementations
5.10 summary
5.11 exercises
5.12 references
6 interprocess communications
6.1 introduction
6.2 universal ipc facilities
6.3 system v ipc
6.4 mach ipc
6.5 messages
6.6 ports
6.7 message passing
6.8 port operations
6.9 extensibility
6.10 mach 3.0 enhancements
6.11 discussion
6.12 summary
6.13 exercises
6.14 references
7 synchronization and multiprocessing
7.1 introduction
7.2 synchronization in traditional unix kernels
7.3 multiprocessor systems
7.4 multiprocessor synchronization issues
7.5 semaphores
7.6 spin locks
7.7 condition variables
7.8 resd-writs locks
7.g reference counts
7.10 other considerations
7.11 case studies
7.12 summary
7.13 exercises
7.14 references
8 file system interface and framework
8.1 introduction
8.2 the user interface to files
8.3 file systems
8.4 special files
8.5 file system framework
8.6 the vnode/vfs architecture
8.7 implementation overview
8.8 file-system-dependent objects
8.9 mounting a file system
8.10 operations on files
8.11 analysis
8.12 summary
8.13 exercises
8.14 references
9 file system implementations
9.1 introduction
9.2 the system v file system (s5fs)
9.3 s5fs kernel organization
9.4 analysis of s5fs
9.5 the berkeley fast file system
9.6 hard disk structure
9.7 on-disk organization
9.8 ffs functionality enhancements
9.9 analysis
9.10 temporary file systems
9.11 special-purpose file systems
9.12 the old buffer cache
9.13 summary
9.14 exercises
9.15 references
10 distributed file systems
10.1 introduction
10.2 general characteristics of distributed file systems
10.3 network file system (nfs)
10.4 the protocol suite
10.5 nfs implementation
10.6 unix semantics
10.7 nfs performance
10.8 dedicated nfs servers
10.9 nfs security
10.10 nfs version 3
10.11 remote file sharing (rfs)
10.12 rfs architecture
10.13 rfs implementation
10.14 client-side caching
10.15 the andrew file system
10.16 afs implementation
10.17 afs shortcomings
10.18 the dce distributed file system (dce dfs)
10.19 summary
10.20 exercises
10.21 references
11 advanced file systems
11.1 introduction
11.2 limitations of traditional file systems
11.3 file system clustering (sun-ffs)
11.4 the journaling approach
11.5 log-structured file systems
1l.6 the 4.4bsd log-structured file system
11.7 metedata logging
11.8 the episode file system
11.9 watchdogs
11.10 the 4.4bsd portal file system
11.11 stackable file system layers
11.12 the 4.4bsd file system interface
11.13 summary
11.14 exercises
11.15 references
12 kernel memory allocation
12.1 introduction
12.2 functional requirements
12.3 resource map allocator
12.4 simple power-of-two free lists
12.5 the mckusick-karels allocator
12.6 the buddy system
12.7 the svr4 lazy buddy algorithm
12.8 the mach-osf/1 zone allocator
12.9 a hierarchical allocator for multiprocessors
12.10 the solaris 2.4 slab allocator
12.11 summary
12.12 exercises
12.13 references
13 virtual memory
13.1 introduction
13.2 demand paging
13.3 hardware requirements
13.4 4.3bsd- a case study
13.5 4.3bsd memory management operations
13.6 analysis
13.7 exercises
13.8 references
14 the svr4 vm architecture
14.1 motivation
14.2 memory-mapped files
14.3 vm design principles
14.4 fundamental abstractions
14.5 segment drivers
14.6 the swap layer
14.7 vm operations
14.8 interaction with the vnode subsystem
14.9 virtual swap space in solaris
14.10 analysis
14.11 performance improvements
14.12 summary
14.13 exercises
14.14 references
15 more memory management topics
15.1 introduction
15.2 mach memory management design
15.3 memory sharing facilities
15.4 memory objects and pagers
15.5 external and internal pagers
15.6 page replacement
15.7 analysis
15.8 memory management in 4.4bsd
15.9 translation lookaside buffer (tlb) consistency
15.10 tlb shootdown in mach
15.11 tlb consistency in svr4 and svr4.2 unix
15.12 other tlb consistency algorithms
15.13 virtually addressed caches
15.14 exercises
15.15 references
16 device drivers and i/o
16.1 introduction
16.2 overview
16.3 device driver framework
16.4 the i/o subsystem
16.5 the poll system call
16.6 block i/o
16.7 the ddi/dki specification
16.8 newer svr4 releases
16.9 future directions
16.10 summary
16.11 exercises
16.12 references
17 streams
17.1 motivation
17.2 overview
17.3 messages and queues
17.4 stream i/o
17.5 configuration and setup
17.6 streams ioctls
17.7 memory allocation
17.8 multiplexing
17.9 fifos and pipes
17.10 networking interfaces
17.11 summary
17.12 exercises
17.13 references
index