目录
译者序
前言
第1章 系统概貌
1.1 历史
1.2 系统结构
1.3 用户看法
1.3.1 文件系统
1.3.2 处理环境
1.3.3 构件原语
1.4 操作系统服务
1.5 关于硬件的假设
1.5.1 中断与例外
1.5.2 处理机执行级
1.5.3 存储管理
1.6 本章小结
第2章 内核导言
2.1 UNIX操作系统的体系结构
2.2 系统概念介绍
2.2.1 文件子系统概貌
2.2.2 进程
2.3 内核数据结构
2.4 系统管理
2.5 本章小结
2.6 习题
第3章 数据缓冲区高速缓冲
3.1 缓冲头部
3.2 缓冲池的结构
3.3 缓冲区的检索
3.4 读磁盘块与写磁盘块
3.5 高速缓冲的优点与缺点
3.6 本章小结
3.7 习题
第4章 文件的内部表示
4.1 索引节点
4.1.1 定义
4.1.2 对索引节点的存取
4.1.3 释放索引节点
4.2 正规文件的结构
4.3 目录
4.4 路径名到索引节点的转换
4.5 超级块
4.6 为新文件分配索引节点
4.7 磁盘块的分配
4.8 其他文件类型
4.9 本章小结
4.10 习题
第5章 文件系统的系统调用
5.1 系统调用Open
5.2 系统调用read
5.3 系统调用write
5.4 文件和记录的上锁
5.5 文件的输入/输出位置的调整lseek
5.6 系统调用close
5.7 文件的建立
5.8 特殊文件的建立
5.9 改变目录及根
5.10 改变所有者及许可权方式
5.11 系统调用stat和fstat
5.12 管道
5.12.1 系统调用pipe
5.12.2 有名管道的打开
5.12.3 管道的读和写
5.12.4 管道的关闭
5.12.5 例
5.13 系统调用dup
5.14 文件系统的安装和拆卸
5.14.1 在文件路径名中跨越安装点
5.14.2 文件系统的拆卸
5.15 系统调用link
5.16 系统调用unlink
5.16.1 文件系统的一致性
5.16.2 竟争条件
5.17 文件系统的抽象
5.18 文件系统维护
5.19 本章小结
5.20 习题
第6章 进程结构
6.1 进程的状态和状态的转换
6.2 系统存储方案
6.2.1 区
6.2.2 页和页表
6.2.3 内核的安排
6.2.4 u区
6.3 进程的上下文
6.4 进程上下文的保存
6.4.1 中断和例外
6.4.2 系统调用的接口
6.4.3 上下文切换
6.4.4 为废弃返回(abortive return)而保存上下文
6.4.5 在系统和用户地址空间之间拷贝数据
6.5 进程地址空间的管理
6.5.1 区的上锁和解锁
6.5.2 区的分配
6.5.3 区附接到进程
6.5.4 区大小的改变
6.5.5 区的装入
6.5.6 区的释放
6.5.7 区与进程的断接
6.5.8 区的复制
6.6 睡眠
6.6.1 睡眠事件及其地址
6.6.2 算法sleep和wakeup
6.7 本章小结
6.8 习题
第7章 进程控制
7.1 进程的创建
7.2 软中断信号
7.2.1 软中断信号的处理
7.2.2 进程组
7.2.3 从进程发送软中断信号
7.3 进程的终止
7.4 等待进程的终止
7.5 对其他程序的引用
7.6 进程的用户标识号
7.7 改变进程的大小
7.8 Shell程序
7.9 系统自举和进程init
7.10 本章小结
7.11 习题
第8章 进程调度和时间
8.1 进程调度
8.1.1 算法
8.1.2 调度参数
8.1.3 进程调度的例子
8.1.4 进程优先权的控制
8.1.5 公平共享调度
8.1.6 实时处理
8.2 有关时间的系统调用
8.3 时钟
8.3.1 重新启动时钟
8.3.2 系统的内部定时
8.3.3 直方图分析
8.3.4 记帐和统计
8.3.5 计时
8.4 本章小结
8.5 习题
第9章 存储管理策略
9.1 对换
9.1.1 对换空间的分配
9.1.2 进程的换出
9.1.3 进程的换入
9.2 请求调页
9.2.1 请求调页的数据结构
9.2.2 偷页进程
9.2.3 页面错
9.2.4 在简单硬件支持下的请求调页系统
9.3 对换和请求调页的混合系统
9.4 本章小结
9.5 习题
第10章 输入输出子系统
10.1 驱动程序接口
10.1.1 系统配置
10.1.2 系统调用与驱动程序接口
10.1.3 中断处理程序
10.2 磁盘驱动程序
10.3 终端驱动程序
10.3.1 字符表Clist
10.3.2 标准方式下的终端驱动程序
10.3.3 原始方式下的终端驱动程序
10.3.4 终端探询
10.3.5 建立控制终端
10.3.6 间接终端驱动程序
10.3.7 注册到系统
10.4 流
10.4.1 流的详细的示例
10.4.2 对流的分析
10.5 本章小结
10.6 习题
第11章 进程间通信
11.1 进程跟踪
11.2 系统V IPC
11.2.1 消息
11.2.2 共享存储区
11.2.3 信号量
11.2.4 总的评价
11.3 网络通信
11.4 套接字
11.5 本章小结
11.6 习题
第12章 多处理机系统
12.1 多处理机系统的问题
12.2 主从处理机解决方法
12.3 信号量解决方法
12.3.1 信号量定义
12.3.2 信号量实现
12.3.3 几个算法
12.4 Tunis系统
12.5 性能局限性
12.6 习题
第13章 分布式UNIX系统
13.1 卫星处理机系统
13.2 纽卡斯尔连接
13.3 透明型分布式文件系统
13.4 无存根进程的透明分布式模型
13.5 本章小结
13.6 习题
附录A 系统调用
参考文献
索引
【展开】
【收起】
内容简介
本书内容包括
UNIX内核体系结构
磁盘高速缓冲机制
文件系统内部数据结构与算法
控制进程上下文的系统调用与进程调度
存储管理,包括对换和请求调页系统
通用驱动程序接口,包括磁盘驱动程序和终端驱动程序
进程间通信与网络,包括系统V消息、共享存储和信号量
紧密耦合的多处理机UNIX系统和松散耦合的分布式UNIX系统
本书可作为大学计算机科学系高年级学生和研究生的教材或参考书,也为从事UNIX系统研究与实用程序开发人员提供了一本极有价值的参考资料。
【展开】
【收起】
下载说明
1、追日是作者栎年创作的原创作品,下载链接均为网友上传的的网盘链接!
2、相识电子书提供优质免费的txt、pdf等下载链接,所有电子书均为完整版!
下载链接
热门评论
-
may五一的评论深入理解UNIX系统内核[good]——从操作系统设计的角度,系统讲解各类UNIX版本的结构和设计,分析优劣势与设计初衷,覆盖UNIX的核心部件,如多线程内核、多处理器和实时系统、分布式文件系统等。——好书即将出版,请各位大侠大力支持。@华章图书 @阿里技术保障
-
阳春工作的评论【阳春全职】招PHP程序员;要求:1、有大型网站系统架构设计经验; 2、熟悉Linux/UNIX等操作系统,熟练使用mysql,有千万量级及以上数据量的数据库设计能力; 3、有安卓和IOS开发经验优先。联系电话:13725603423,公司名称:广协传媒,工作地址:阳春市红旗路122号4楼综合办公室。
-
Docker精选的评论【为什么目前的PaaS都没有成功?兼谈云计算的发展方向】本文通过对操作系统历史的回顾,思考PaaS是否能从Unix操作系统中汲取历史经验,成为新一代的人机交互的基础,总体来说,这是一篇讨论设计思路而非工程实践的文章。希望能引发多更多考虑底层架构的同学的思考。@IT人 网页链接
-
池建强的评论丹尼斯·里奇,C语言UNIX之父,缔造计算机工业科技,2011年去世。肯·汤普逊,与丹尼斯·里奇同为1983年图灵奖得主。他与丹尼斯·里奇设计了B语言、C语言,创建了Unix和Plan 9操作系统,编程语言Go的共同作者。沃兹,单枪匹马设计出划时代的个人电脑Apple I和II,苹果联合创始人。今天见沃兹[笑cry]
-
UI设计派的评论《Perl实例精解(原书第4版)》Perl是一种多用途的开源(免费软件)解释型语言,由称为Perl Porters 的核心开发团队维护和改进。它主要用作脚本语言,并且运行在众多平台上。尽管Perl 最初是为UNIX 操作系统设计的,但是它以其可移植性以及现在与大多数操作系统捆绑在一起而著名。网页链接
-
硕硕爱上一片海的评论程序员的心酸篇章:美国的贝尔实验室设计了最初的C语言 刻在UNIX操作系统距今已有三四十年 你在屏幕前凝视数据的缱绻 我却在旁轻轻敲打键盘把你的梦想展现 循环 递归 贪心 ...(发自@微博桌面 微博桌面首页)
-
tobe迪豪的评论@ASTA谢 看过《理解Unix进程》没,最近看Go的os/exec和syscall回想起各种fork、spawn的概念,什么时候创建子进程、什么时候取代原进程,不知@特价萝卜 有没有用Go重写理解Unix进程的计划,十几页把一个操作系统的设计、实现以及实践都写得清清楚楚,好书推荐[可爱]
-
Uniguyit的评论【MAC软件开发_百度百科】背景OSX是先进的操作系统。基于坚如磐石的UNIX基础,设计简单直观,让处处创新的Mac安 全易用,高度兼容。UNIX之威力,Mac之简单OSX既简单易用且功能强大。从启动Mac后所看到的桌面,到你日常使用的应用程序,都设计得简约精致。网页链接 网页链接
-
北京的雨淋湿东京的评论【AIX_百度百科】AIX(Advanced Interactive eXecutive)是IBM基于AT&T Unix System V开发的一套类UNIX操作系统,运行在IBM专有的Power系列芯片设计的小型机硬件系统之上。它符合Open group的UNIX 98行业标准(The Open Group UNIX 98 Base Brand),通过全面集成对32- 网页链接
-
sunseraphic的评论“举个例子,Unix/Linux操作系统就是一个重大的设计失误。Unix系统的命令行,系统API,各种工具程序,编辑器,程序语言(C,C++等),设计其实都很糟糕。 分享自 @简书 网页链接