标题：UNIX和计算机软件技术基础
图书信息
  出版社: 复旦大学出版社; 第1版 (2011年5月1日)
丛书名: 博学微电子学系列
平装: 328页
正文语种: 简体中文
开本: 16
ISBN: 7309081757, 9787309081756
条形码: 9787309081756
尺寸: 25.8 x 18.6 x 1.4 cm
重量: 540 g
作者简介
赵文庆，男，1950年生。1977年和1983年于复旦大学物理系分别获得理学学士和理学硕士学位，1989年至1990年在比利时IMEC微电子中心进修VLSI CAD，现为复旦大学微电子系教授。出版专著一本，参加编写著作一本，发表论文60余篇。承担过国家重点科技攻关项目，国家自然科学基金项目和博士点基金项目等多项。主要研究领域为集成电路CAD的算法研究、软件研发和系统研发，包括VLSI的布图、验证和逻辑综合，以及集成电路设计技术等。
内容简介
赵文庆编著的《UNIX和计算机软件技术基础》介绍计算机软件的基础
知识和应用技术。全书共分四章。第一章以UNIX/Linux为例，简要地叙述
了计算机操作系统的基本概念和基本原理，介绍了操作系统的各个功能模
块，以及UNIX/Linux中B shell和C shell的用法。第二章介绍了
UNIX/Linux中与文本编辑和字符处理有关的常用工具，如vi，ex，sed和
awk，用于软件维护和管理的工具make和SVN，以及编译器生成程序lex和
yacc。第三章介绍了数据与存储单元的关系和构造性数据类型等C语言的一
些重要特征以及编程技术。第四章介绍数据结构的基本内容、基本操作和
应用，包括线性表与树的概念和实现、图的基本定义等概念。
《UNIX和计算机软件技术基础》没有采用计算机专业所需的完整的理
论知识，而是从一个非计算机专业的软件工作者和计算机应用软件开发者
的视角来叙述和介绍计算机软件的基础知识与应用技术，使得该书非常具
有实用性，特别适合于电子类软件工程师的需求。
《UNIX和计算机软件技术基础》可作为高等院校非计算机专业本科生
的教学参考书，也可供从事信息技术等领域涉及软件开发和软件应用工作
的科技人员阅读参考。
目录
第一章 操作系统及UNIX Shell
1.1 什么是操作系统
1.2 操作系统的分类
1.2.1 实时操作系统
1.2.2 作业处理操作系统
1.2.3 批处理操作系统
1.2.4 分时操作系统
1.2.5 其他类型的操作系统
1.2.6 工业界的主流操作系统
1.3 UNIX操作系统的发展史
1.3.1 UNIX系统的发展历史和特点
1.3.2 Linux系统的发展历史和特点
1.4 UNIX操作系统的功能模块
1.4.1 处理机和进程管理模块
1.4.2 存储管理模块
1.4.3 设备管理模块
1.4.4 文件系统
1.4.5 用户界面
1.5 Shell概述
1.5.1 shell的种类
1.5.2 shell程序的识别
1.5.3 shell环境
1.5.4 UNIX的用户管理
1.5.5 UNIX命令和工具表达形式的约定
1.6 B shell
1.6.1 shell命令的主要特征
1.6.2 shell程序
1.7 C shell
1.7.1 C shell变量
1.7.2 C shell特征
1.7.3 控制结构
1.7.4 文件名补齐
1.7.5 假名
1.7.6 命令史
1.7.7 工作目录栈
1.8 Bash
1.8.1 Bash的增强特征
1.8.2 命令行扩展功能
1.8.3 函数
第二章 UNIX系统的软件开发工具
2.1 软件开发工具概述
2.2 BNF范式
2.2.1 BNF范式的定义
2.2.2 BNF范式的特征
2.2.3 BNF范式示例
2.3 vi
2.3.1 启动vi和ex
2.3.2 vi的工作状态及其转换
2.3.3 编辑对象及定位
2.3.4 输入类命令
2.3.5 输出类命令
2.3.6 退出类命令
2.3.7 插入类命令
2.3.8 删除类命令
2.3.9 搜索命令
2.3.10 全局操作命令
2.3.11 块操作命令
2.3.12 设置命令
2.3.13 杂类命令
2.3.14 宏命令
2.3.15 vi环境的定义
2.4 sed
2.4.1 sed命令
2.4.2 地址表达式和匹配字符串
2.4.3 删除命令
2.4.4 替代命令
2.4.5 输入输出命令
2.4.6 块操作命令
2.4.7 实例
2.5 awk
2.5.1 awk概述
2.5.2 记录、字符段和特殊变量
2.5.3 变量及运算
2.5.4 awk程序的匹配模式
2.5.5 awk程序的操作
2.5.6 数组
2.5.7 内部函数
2.5.8 控制结构
2.5.9 实例
2.6 make
2.6.1 make的功能
2.6.2 描述文件
2.6.3 后缀定义和传递规则
2.6.4 变量和宏定义
2.6.5 make 命令行
2.6.6 包含文件
2.6.7 控制结构
2.7 SVN
2.7.1 SVN的基本概念
2.7.2 SVN的基本工作流程
2.7.3 SVN帮助命令
2.7.4 创建版本库
2.7.5 初始化导入
2.7.6 导出工作拷贝
2.7.7 目录树修改命令
2.7.8 提交命令
2.7.9 拷贝修改合并机制
2.7.10 更新命令
2.7.11 检查状态命令
2.7.12 查看差异命令
2.7.13 放弃命令
2.7.14 删除冲突命令
2.8 lex和yacc
2.8.1 lex和yacc概述
2.8.2 lex的源程序结构
2.8.3 词法规则
2.8.4 词法规则的操作语句
2.8.5 lex的定义部分
2.8.6 lex的用户程序
2.8.7 yacc的源程序结构
2.8.8 yacc的说明部分
2.8.9 语法规则
2.8.10 lex和yacc的界面函数
2.8.11 实例
第三章 C语言及编程规范
3.1 基本问题
3.1.1 数据类型
3.1.2 常数
3.1.3 运算符
3.1.4 存储类型
3.1.5 流程控制
3.2 指针
3.2.1 指针概念
3.2.2 指针和数组
3.2.3 指针和字符串
3.2.4 指针和动态内存单元
3.2.5 指针数组和多维数组
3.2.6 数组指针
3.2.7 多级指针
3.2.8 指针应用举例
3.3 结构
3.3.1 结构的定义方式
3.3.2 结构成员的引用
3.3.3 链表
3.3.4 插入链表结点
3.3.5 删除链表结点
3.4 联合
3.5 函数
3.5.1 函数的定义和调用
3.5.2 函数之间的通信
3.5.3 指向函数的指针
3.5.4 递归函数
3.6 文件操作
3.6.1 文件的存取
3.6.2 低级输入输出
3.6.3 文件的随机存取
3.7 C语言和shell的通信
3.7.1 命令行参数
3.7.2 命令行可选项
3.7.3 环境变量
3.8 C语言编程规范示例
3.8.1 数据类型和运算符
3.8.2 命名规则
3.8.3 变量、指针和初始化
3.8.4 函数
3.8.5 合理使用空格
3.8.6 排版
3.8.7 注释
3.8.8 文件
第四章 数据结构
4.1 基本概念
4.1.1 数据结构的定义
4.1.2 结点和存储单元
4.1.3 数据结构的存储方式
4.1.4 数据结构的分类
4.1.5 数据结构的基本操作/232
4.2 线性表
4.2.1 基本问题
4.2.2 查找结点
4.2.3 添加结点和删除结点
4.2.4 线性表查找算法
4.2.5 线性表排序算法
4.2.6 线性表基本操作算法的时间复杂度
4.3 栈和队列
4.3.1 栈
4.3.2 顺序栈
4.3.3 链接栈
4.3.4 队列
4.3.5 顺序队列
4.3.6 环形队列
4.3.7 链接队列
4.3.8 双向栈
4.4 树
4.4.1 树的定义
4.4.2 树的括号表示
4.4.3 树的基本操作
4.4.4 树的存储形式
4.4.5 树的遍历
4.5 二叉树
4.5.1 二叉树的定义
4.5.2 二叉树的括号表示
4.5.3 二叉树的存储
4.5.4 二叉树的遍历
4.5.5 二叉树的顺序存储
4.5.6 二叉树的层号表示
4.5.7 二叉树的生成算法
4.5.8 任意次树到二叉树的转换
4.5.9 穿线树
4.6 图
4.6.1 图的定义
4.6.2 图的基本概念
4.6.3 图的基本操作
4.6.4 图的存储形式
4.6.5 图的遍历
4.6.6 图的应用举例
附录A  ASCll字符集
附录B  B Shell， Bash和C Shell比较一览表
附录C  C语言标准库函数
参考资料