《UNIX和计算机软体技术基础》是复旦大学出版社2011年5月1日出版的图书,作者是赵文庆。本书可作为高等院校非计算机专业本科生的教学参考书,也可供从事信息技术等领域涉及软体开发和软体套用工作的科技人员阅读参考。
基本介绍
- 书名:UNIX和计算机软体技术基础
- 作者:赵文庆
- ISBN:7309081757、9787309081756
- 页数:328页
- 出版社:复旦大学出版社
- 出版时间:2011年5月1日
- 开本:16
- 版次:1
- 丛书名:博学微电子学系列
- 正文语种: 简体中文
- 条形码:9787309081756
- 尺寸:25.8 x 18.6 x 1.4 cm
- 重量:540 g
内容简介
赵文庆编着的《UNIX和计算机软体技术基础》介绍计算机软体的基础知识和套用技术。全书共分四章。第一章以UNIX/Linux为例,简要地叙述了计算机作业系统的基本概念和基本原理,介绍了作业系统的各个功能模组,以及UNIX/Linux中B shell和C shell的用法。第二章介绍了UNIX/Linux中与文本编辑和字元处理有关的常用工具,如vi,ex,sed和awk,用于软体维护和管理的工具make和SVN,以及编译器生成程式lex和yacc。第三章介绍了数据与存储单元的关係和构造性数据类型等C语言的一些重要特徵以及编程技术。第四章介绍数据结构的基本内容、基本操作和套用,包括线性表与树的概念和实现、图的基本定义等概念。《UNIX和计算机软体技术基础》没有採用计算机专业所需的完整的理论知识,而是从一个非计算机专业的软体工作者和计算机套用软体开发者的视角来叙述和介绍计算机软体的基础知识与套用技术,使得该书非常具有实用性,特别适合于电子类软体工程师的需求。
作者简介
赵文庆,男,1950年生。1977年和1983年于复旦大学物理系分别获得理学学士和理学硕士学位,1989年至1990年在比利时IMEC微电子中心进修VLSI CAD,现为复旦大学微电子系教授。出版专着一本,参加编写着作一本,发表论文60余篇。承担过国家重点科技攻关项目,国家自然科学基金项目和博士点基金项目等多项。主要研究领域为积体电路CAD的算法研究、软体研发和系统研发,包括VLSI的布图、验证和逻辑综合,以及积体电路设计技术等。
目录
第一章 作业系统及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语言标準库函式
参考资料