《计算机软件技术基础》从实用的角度,首先系统地介绍了计算机软件技术的概念和基本问题;从实际编程的需要介绍了存储器管理、文件管理以及处理机管理3部分内容;针对典型数据结构线性表、树、图及其基本运算,结合大量的例题进行了深入的讲解;介绍了一些编程中的常用算法,并以实例说明了算法与数据结构之间相辅相成的关系;对数据持久存储的几种形式——文件、数据库、数据仓库进行了比较和说明,以实例的形式逐步展开讲解了应用软件研制的过程。《计算机软件技术基础》附录中给出的专题作业及实验设计,可用以全面考查学生对于《计算机软件技术基础》内容的掌握。
《计算机软件技术基础》既可作为全日制高等学校本科非计算机类专业的软件技术课程的教材,也可作为软件应用工程师的入门参考。
随着计算机的日益普及,各专业的在校本科生都需要对计算机的各个方面有一个大概的了解。一个完整的计算机系统包含诸多要素。对于非计算机专业的本科生来讲,系统而全面地掌握各个方面的内容是不现实的。即使就软件方面,自1946年冯·诺依曼提出“存储程序”的概念以来,它就作为一个独立的要素为计算机的普及和应用不断注入能量与活力。经过半个多世纪的发展,软件的研制也经历了个人经验主导、结构化程序设计、面向对象程序设计、面向服务程序设计等阶段。但是,无论什么样的软件研制方法,归根到底都是由程序片段构成的,这就必然涉及求解过程、中间结果暂存、现实问题计算机表达等问题,也就是算法与数据结构的问题。
本书从实用的角度出发,选择软件类课程的基础部分,系统地介绍了计算机软件技术的概念和基本问题;对于底层的系统支撑软件——操作系统,从实际编程的需要选择了存储器管理、文件管理以及处理机管理3部分内容进行了介绍;在做好这些铺垫工作之后,针对典型数据结构线性表、树、图及其基本运算,结合大量的例题,进行了深入的讲解;当读者了解了基本的数据结构之后,对算法的基本概念和一些编程中的常用算法进行了介绍,并以实例说明了算法与数据结构之间相辅相成的关系;对于软件工程的相关内容,本书并未以传统的方式罗列枯燥的文字,而是在第5章中,从讲述关系数据库理论开始,以实例的形式逐步展开讲解了应用软件研制的过程,而且在论述的过程中还对数据持久存储的几种形式——文件、数据库、数据仓库进行了比较和说明。本书附录给出了4个专题作业,可用这种形式全面考查学生对于本书内容的学习和掌握程度。
出版说明
前言
第章 计算机软件技术概述
· 计算机软件
·· 计算机系统构成
·· 计算机软件构成
·· 计算机软件定义
· 软件的研制
· 小结
· 练习题
第章 操作系统
· 概述
·· 操作系统的基本概念
·· 操作系统的分类
·· 操作系统的相关内容
· 存储器管理
·· 存储器管理的对象与功能
·· 存储空间的地址分配与重定位技术
·· 存储器管理技术
· 文件管理
·· 基本概念
·· 文件结构与存取方法
·· 文件存储空间管理
·· 文件目录管理
·· 文件的保护与共享
·· DOS文件系统
· 处理机管理
·· 进程的基本概念
·· 进程描述
·· 进程调度
·· 进程创建
·· 进程属性
·· 进程控制操作
·· 进程间的通信
·· 死锁
·· 作业与进程的关系
· 小结
· 练习题
第章 常用数据结构及其基本运算
· 概述
·· 数据结构研究对象
·· 数据结构的基础
·· 数据结构定义
· 线性表
·· 顺序表
·· 链表
·· 堆栈
·· 队列
· 树
·· 概念与术语
·· 二叉树
·· 二叉排序树
·· 穿线二叉树
·· 堆
·· 哈夫曼树
·· 空间数据结构
· 图
·· 图的基本概念
·· 图结构的物理存储方式
·· 图结构的遍历
·· 无向连通图的最小生成树
·· 有向图的最短路径
·· 拓扑排序
· 小结
·· 基本概念
·· 学习难点
· 练习题
第章 算法初步
· 算法分析
·· 基本概念
·· 上限分析
·· 下限分析
·· 空间代价与时间代价转换
· 检索
·· 顺序检索
·· 对半检索
·· 分块检索
·· 哈希检索
· 排序
·· 交换排序
·· Shell排序
·· 快速排序
·· 堆排序
·· 归并排序
· 索引
·· 基本概念
·· 线性索引
·· -树
·· B+树
· 小结
· 练习题
第章 数据库设计与应用
· 基本概念
·· 应用数据库结构
·· 基本概念
·· 数据库管理系统
·· 数据模型
· 关系数据库的理论基础
·· 关系代数
·· 数据库定义语言
·· 数据操作语言
·· 范式理论
· 数据库设计的基本步骤
·· 数据库设计的基本要求
·· 数据库设计的基本步骤
· 关系数据库应用的基本概念
·· 系统调研
·· 需求分析
·· 数据库设计
·· 代码设计
·· 基本关系表的拆分与存储过程问题
· 数据仓库简介
·· 计算机管理信息系统局限性
·· 数据仓库表现形式
·· 数据仓库建表模型
·· 数据仓库系统总体框架
·· 平台构件产品的选择
·· 变化数据捕获
·· 抽取-转换-加载
· 小结
· 练习题
附录
附录A 专题作业
A· 简单无源器件电路仿真程序设计
A· 二次路径规划
A· 四叉树程序设计
A· B+树程序设计
附录B 实验设计
B· 双链表
B· 对称单链表
B· 十字链表
B· 迷宫问题
B· 跳跃表
B· 二叉排序树
B· 哈希表
B· 图
B· -树
B· Windows环境下的进程与线程
B· 教学数据库设计
参考文献
2.1.2操作系统的分类
不同种类的计算机有不同的使用目的和不同的硬件配置,所以适用十各种计算机的操作系统也有不同的类别。
1.批处理系统
它是面向大型计算机任务调度的操作系统。作为一个计算中心,计算机配有多个终端用户,它要求用户作业的输入输出吞吐量大,用户作业队列平均等候时间最短。程序运行时用户是与作业脱开的,即提交作业之后只能等待结果,而没有控制计算机的手段,主要用于大型计算机计算数值分析类的用户。
2.分时系统
这是普及于小型机用的操作系统,它在大环境上一个主机带多个终端,小环境上每个用户好像是自己在单独操作一台计算机(独享CPU时间),它能让用户完成作业调试、运行等交互式操作,操作系统的目的是使用户的平均响应时间最短,能迅速处理。基本上说,它主要在工业控制、测量上使用,在民航、商业银行联网处理方面也有应用。
3.实时操作系统 实时操作系统是指系统对于特定输入作出反应的速度足以控制发出实时信号的对象,包括实时控制系统和实时信息处理系统两类。
……