第1章引论1
1.1什么是操作系统1
1.1.1用户如何使用操作系统1
1.1.2操作系统的功能1
1.2操作系统的结构3
1.2.1PC\|DOS的结构3
1.2.2Windows 95的结构4
1.2.3Windows NT的结构5
1.2.4UNIX操作系统的结构6
1.3UNIX发展简史8
1.3.1UNIX的诞生8
1.3.2UNIX走向社会8
1.3.3UNIX的商品化8
1.3.4UNIX走向统一9
1.3.5OSF/19
1.3.6Linux9
1.4操作系统与标准化10
1.4.1开放系统10
1.4.2标准化的过程11第2章并发程序设计(进程管理)13
2.1多道程序的并发执行13
2.1.1程序的顺序执行13
2.1.2程序并发执行时环境的变化14
2.1.3程序的并发执行14
2.2进程15
2.2.1什么是进程15
2.2.2进程的地址空间17
2.2.3进程映像18
2.2.4进程环境(进程上下文)22
2.3任务与线程25
2.3.1导言25
2.3.2任务28
2.3.3线程29
2.3.4进程数据结构的变化30
2.3.5super_task结构34
2.3.6super_thread结构37
2.4进程控制39
2.4.1进程的创建和撤销39
2.4.2进程的阻塞与唤醒42
2.4.3等待进程的终止45
2.4.4调用其他程序46
2.5进程间的同步与互斥49
2.5.1进程的互斥50
2.5.2互斥的加锁实现51
2.6进程和线程的状态及其转换52
2.6.1传统的UNIX进程的状态及其转换52
2.6.2线程状态及其转换54
2.6.3上下文切换57
2.6.4挂起机制63
2.6.5事件等待机制64
2.7进程(线程)调度65
2.7.1进程调度的功能65
2.7.2进程调度的时机66
2.7.3调度算法67
2.7.4分时调度69
2.7.5实时调度74
2.7.6线程调度的几个主要函数76
2.8信号78
2.8.1什么是信号78
2.8.2信号的处理80
2.8.3保持信号的数据结构82
2.8.4信号的发送和交付82
2.8.5进程中信号的发送85第3章虚拟存储器管理86
3.1引言86
3.1.1存储器管理的目的和功能88
3.1.2存储分配88
3.1.3虚拟存储器91
3.2进程的地址空间103
3.2.1进程的存储映像103
3.2.2地址空间的主要数据结构110
3.3页表与虚拟地址和物理地址之间的转换115
3.3.1分页115
3.3.280x86的页表结构116
3.3.3页表项格式118
3.3.4页级保护120
3.3.5转换查找缓冲器120
3.4高速缓存122
3.5物理页的分配和回收124
3.5.1页分配125
3.5.2页回收125
3.6存储映射126
3.6.1copy_on_write策略的实现127
3.6.2文件的共享128
3.6.3体外消息的传送129
3.7换页与对换130
3.7.1引言130
3.7.2Linux中的换页131
3.7.3Tru64 UNIX(COSIX64)系统中的换页与对换133第4章UNIX/Linux文件系统142
4.1用户观点的文件系统与它的若干主要系统调用142
4.1.1UNIX/Linux系统中的文件142
4.1.2文件系统142
4.1.3打开文件——open144
4.1.4读文件——read145
4.1.5写文件——write145
4.1.6调整文件I/O指针——lseek146
4.1.7链接——link146
4.1.8关闭文件——close147
4.2UNIX文件系统UFS147
4.2.1老的System V文件系统布局及主要特点147
4.2.2UFS文件系统布局148
4.2.3inode149
4.2.4UFS的目录结构152
4.2.5UFS中的系统打开文件表——file结构153
4.2.6几个主要数据结构之间的关系153
4.2.7UFS的超级块结构154
4.2.8UFS中的碎片156
4.2.9磁盘块的分配157
4.2.10UFS的主要系统调用157
4.3虚拟文件系统VFS158
4.3.1概述158
4.3.2文件层次和VFS结构159
4.3.3VFS的主要数据结构160
4.3.4安装的文件系统结构164
4.3.5文件系统的主要操作165
4.4EXT2文件系统168
4.4.1EXT2 inode169
4.4.2EXT2文件系统的超级块170
4.4.3EXT2组描述符171
4.4.4EXT2文件系统中的目录171
4.4.5在EXT2文件系统中查找文件172
4.4.6改变在EXT2文件系统中文件的尺寸172
4.5缓冲器管理173
4.5.1概述173
4.5.2传统的缓冲器快存175
4.5.3统一的缓冲器快存UBC178
4.6先进文件系统183
4.6.1概述183
4.6.2AdvFS结构187
4.6.3交易管理201
4.6.4AdvFS中的文件和位文件220
4.6.5几个主要的系统调用233
4.7文件系统的访问控制235
4.7.1传统UNIX中文件的访问控制235
4.7.2访问控制表236
4.7.3强制型访问控制236第5章进程间通信238
5.1概述238
5.2管道238
5.3FIFO242
5.4SVIPC进程通信软件包的消息传送249
5.5共享内存267
5.6信号量272
5.7UNIX System V IPC机制综述280第6章套接口282
6.1概述282
6.2套接口的内存管理287
6.3套接口的数据结构289
6.4建立连接292
6.5数据传送293
6.6关闭套接口296
6.7应用举例296参考文献303