本讲主要内容
? 计算机软件系统概述
? 操作系统 的 通用硬件管理, 用户操作
界面管理, 设备管理, 内存管理, 任
务管理, 网络管理, 文件管理 和 常见
的操作系统
? 程序设计语言概述, 机器语言, 汇编
语言, 高级语言
? 通用应用软件, 专用应用软件
第四章










计算机软件系统概述 (第 4章第 1讲)
? 计算机软件 是指能指挥计算机工作的程序
和程序运行时所需要的数据,以及与这些
程序和数据有关的文字说明和图表资料 。
? 计算机软件分类
? 计算机硬件和软件的层状结构
计算机软件分类 (第 4章第 1讲)
计算机软件
系统软件 应用软件
操作
系统
语言处
理程序
数据库
管理系统
通用
应用软件
专用
应用软件
计算机硬件和软件的层状结构 (第 4章第 1讲)
硬件
操作系统
数据库管理系统
应用软件
用户
操作系统 (第 4章第 1讲)
? 操作系统 是计算机软件的核心,它为用户提供
一个功能强大、使用灵活方面的操作环境。它
是用户与计算机之间的一种特殊接口,用来管
理计算机中的硬件和软件资源,使之最大限度
地发挥作用。
? 严格地说 操作系统就是一组程序模块的集合,
也就是程序集 。它应具有常规 硬件管理, 用户
操作界面管理, 设备管理, 内存管理, 任务管
理 和 文件管理 的功能。
通用硬件管理功能 (第 4章第 1讲)
所有应用程序在运行中都必须执行的一些
操作,例如:从键盘获得输入信息、从磁盘上
检索数据、向磁盘上存储数据、在显示器上显
示输入、输出信息。这些操作都需要详细的指
令去完成,操作系统就是将这些基本指令转化
为硬件需要的一系列指令,这样应用程序就不
需要编写详细的操作指令,只需调用操作系统
中的基本指令即可完成操作。这就是 通用硬件
管理功能。
用户操作界面管理 (第 4章第 1讲)
常见的用户操作界面有二种,
? 基于命令的用户界面 ( command-based user interface),就是用
户必须以字符形式输入命令,以实现人机基本交互操作。
? 图形用户界面 ( Graphical User Interface,GUI) 就是使用显示器
上的图片(图标)和菜单向计算机系统传递命令的用户操作界面。
图形用户界面的 优点 可归纳如下,
? 在 GUI环境下执行任务靠直觉可以完成,比如双击文件图标就可运
行该文件。
? 应用程序的打开、关闭、删除、运行等操作是一致的。
? 图形用户界面可以使用户容易地从一个应用程序中剪切和拷贝内容,
然后粘贴到另一个应用程序中。
? GUI都有取消或撤消操作的功能,这样就大大减少了误操作。
设备管理 (第 4章第 1讲)
? 操作系统中的设备管理主要是指为用户提供一
个方便且独立于设备的接口,用户在编制应用
程序时不必关心外设的硬件细节,系统按用户
的要求自动控制设备工作。
? 设备管理的另一个重要任务就是最大限度地提
高 CPU与输入 /输出设备之间,设备与设备之间
的并行工作速度,从而提高外围设备资源的使
用效率。
? 设备管理的具体功能是 设备分配、缓冲区管理
和控制设备的 I/O操作。
内存管理 (第 4章第 1讲)
? 内存管理 的目的就是控制如何访问内存,如何最大程度
地使用内存和存储设备。
? 在 多任务程序系统 中,要存放操作系统和若干个用户程
序,这就需要操作系统适当地分配内存空间,使它们互
不干扰顺利进行。同时,操作系统还应利用合理的分配
算法,以解决系统资源的回收问题和存储器的利用效率。
? 内存管理还应具有 将用户程序的逻辑地址变换为物理地
址 的功能。
? 由于系统中内存容量是有限的,为了满足用户程序的要
求,有些操作系统兼用了 虚拟内存( virtual memory)
技术。
设备分配 (第 4章第 1讲)
? 设备分配 就是按照设备的类型和合理的分配
算法,把设备和其它相关的硬件分配给请求
该设备的进程,并在使用完后将其收回,以
便以后的进程使用。
? 由于计算机 CPU的执行速度和访问内存的速度
比外围设备的数据流送速度高很多,系统中
通常设有 缓冲区 来暂存数据,以缓解 CPU与外
设速度不匹配的问题。 设备管理程序 负责对
缓冲区进行分配、管理和释放工作。
虚拟内存 (第 4章第 1讲)
虚拟内存 就是将硬盘划出一部分进
行与内存相同的读取操作空间,这个空
间也叫虚拟存储器。实现虚拟存储器的
关键是提供能快速有效地进行自动地址
变换的硬件机构和相应的软件算法。
任务管理 (第 4章第 1讲)
? 任务管理 也叫 进程管理 。
?, 程序, 是指指令的有序集合,它反映了用户要求计算
机系统完成的各种操作和这些操作的执行顺序。, 进程,
是具有一定独立功能的程序关于某个数据集合上的一次
运行活动。
? 管理所有进程活动均是由操作系统的任务管理功能实现
的。任务管理负责分配计算机资源以使各系统资源得到
最佳利用。任务管理软件可以让一个用户同时运行多个
程序和任务,也可以让多个用户在同一时刻使用同一台
计算机。
? 在计算机科学中,除了, 进程, 之外,还有一个新的概
念 ----,线程, 。
4.2.5
线程 (第 4章第 1讲)
? 线程 就是进程中可独立执行的子任务,一个
进程中可以有一个或多个线程,每个线程都
有一个唯一的标识符。
? 在采用线程技术的操作系统中,线程与进程
的根本区别 是:进程是资源分配单位,而线
程是调度和执行单位。每个进程都有自己的
主存空间,同一进程中的各线程共享该进程
的主存空间,进程中的所有线程对于进程的
整个主存空间都有存取权限。
网络管理 (第 4章第 1讲)
操作系统可以帮助用户与计算机进行网络
联结。
? 苹果计算机用户可以通过 Apple Share 功能 内
置网络访问接口。
? 微软的 windows XP操作系统可以利用 网络资源
直接将用户联接到微软的因特网服务上,不需
要再配置其它软件。
文件管理 (第 4章第 1讲)
为了实现, 按名, 存储文件,操作系统需要为所有存入
的文件建立一个从文件名到文件存储地址的映射。
? 映射信息和其它管理信息组成了文件的说明,这个说
明称为 文件控制块 。当用户要存取某一个文件时,系
统通过文件的控制块,得到所在的物理位置以完成操
作。
? 文件控制块的有序集合称为 文件目录,文件目录提供
了用户与文件系统之间的接口。
文件目录的结构形式按系统的大小分为 一级目录,
二级目录 和 多级目录 。
一级文件目录结构 (第 4章第 1讲)
? 将所有文件的控制块集合在一张目录表中, 就构
成了 一级文件目录结构 。 其中, 每个文件占一个
目录表的表项, 存放着文件的名称, 物理位置和
文件说明 。
? 一级文件目录结构不允许重名, 查询速度慢并且
不便于实现文件共享 。
二级文件目录结构 (第 4章第 1讲)
? 二级文件目录结构就是为系统和用户分别建立
一个目录表,系统的目录表称为 主目录,用户
的目录表称为 子目录,每个用户子目录在主目
录中占一个目录项,该目录项存放用户子目录
的物理位置。
? 二级文件目录结构克服了一级文件目录结构的
缺点,提高了检索速度,解决了重名冲突问题,
可方便实现文件共享。
多级文件目录结构 (第 4章第 1讲)
? 大型文件系统通常采用二级或二级以上的文件
目录结构。 二级以上的文件目录结构 就是多级
文件目录结构。多级文件目录结构实质上是 树
型目录结构,其中任何一级的目录项可以是下
一级目录,也可以是一个具体文件。从主文件
目录(根目录)到具体的文件路径是惟一的。
? 在多级目录中,如果访问每个文件都要从主目
录开始查找的话,是相当麻烦的,为此引入了
‘ 当前目录 ’ 的概念。当前目录即是用户工作
时的目录。从当前目录查找文件,搜索速度快。
常见的操作系统 (第 4章第 1讲)
? DOS操作系统
? OS/2操作系统
? Windows95
? Windows CE
? 苹果机操作系统
? Windows NT和 NT工作站
? Unix操作系统
? Linux操作系统
DOS操作系统 (第 4章第 1讲)
? 常见的有 IBM计算机所采用的个人计算
机磁盘操作系统( PC— DOS)和 IBM兼容机
所采用的微软磁盘操作系统( MS— DOS)

? DOS操作系统是 单用户、单任务、基于
命令 的操作系统,是最早初级的 PC机操作
系统。
OS/2操作系统 (第 4章第 1讲)
? 1988年,IBM推出了一套用于个人计算机的操作系统
,称为 OS/2。
? OS/2是一个 多任务 的操作系统,它可以同时运行多
个程序,不管程序是为 Windows设计的,还是为 OS/2或
DOS设计的。
? OS/2有许多 版本,标准版、扩展版,Warp connect
版。同时 OS/2的主存寻址可达 4GB,还有错误日志、多
媒体、增强图形等功能。
? OS/2的 缺点 是应用程序太少。
Windows95操作系统 (第 4章第 1讲)
? Windows95是一个真正 32位的抢占(有优先权
的)多任务线程的操作系统 。
? Windows95以及基于 Windows95开发的更高一级
操作系统如 Windows98,Windows ME,Windows
XP都具有十分显著的特点,采用桌面概念和长
文件名使得该类操作系统更易于操作和管理,
采用即插即用( PnP)的新的系统配置方法,
使得用户更方面地使用鼠标、键盘、打印机和
其它外设。
Windows CE操作系统 (第 4章第 1讲)
? Windows CE是为更广范围的通信、娱乐和移动计算机
设备而设计的操作系统 。
? 标准的 Windows CE平台可以与各种新的计算机相关设
备(笔记本、数字传呼机、手机,DVD播放机、互联网
电视、互联网电话等)相互通信,并且能够与基于
Windows的计算机共享信息,与互联网互联。
? Windows CE也提供图形用户界面,这使得其操作也十
分直观和方便。
苹果 操作系统 (第 4章第 1讲)
? 由于大多数苹果计算机使用的是专用处理器(
摩托罗拉生产的),所以其操作系统也是专用
的苹果操作系统,如 Apple OS或 Mac OS。 苹
果机操作系统也是多任务多线程操作系统 。它
与 Windows操作系统最大的区别在于,苹果机
操作系统具有卓越的绘图和配色功能 。
? 苹果机主要流行于印刷业、教育和图形艺术领
域。
Windows NT操作系统 (第 4章第 1讲)
? Windows NT是一种允许个人计算机和打印机等
设备通过网络互连在一个网络中的网络操作系
统。 NT工作站 是单用户台式计算机上使用的 NT
版本。
? Windows NT支持 对称多进程,可以同时应用 多
个处理器 。它还含有内置网络功能,支持许多
通讯协议,还有一个集中的安全系统,可以用
来监测各种系统资源。
Unix操作系统 (第 4章第 1讲)
? Unix是 AT&T公司 为微型计算机开发的强大操作
系统,目前,Unix是最方便的操作系统,可应
用于许多类型的计算机系统平台,范围从个人
计算机到大型计算机系统。
? Unix还可以使程序和数据易于在不同的计算机
之间移植,也能使大型机与个人计算机十分容
易地联接起来,以达到资源共享。
? Unix现被广泛应用于科学应用、工程应用和许
多专用场合的应用领域。
Linux操作系统 (第 4章第 1讲)
? Linux操作系统 是一个开放性、多用户、多任务、可移
植的网络操作系统。
? Linux是在 Unix操作系统 基础上创建的,由于其结构清
晰、功能简捷,加上源代码公开,因此各大专院校、
科研机构及网络黑客纷纷将其作为研究和学习的对象
,并共同开发,不断完善。目前 Linux已成为一个稳定
可靠、功能完善的操作系统。
? Linux与 Unix有着密不可分的关系,它是 Unix的克隆,
只不过 Linux一般用于 PC机,而大多数 Unix主要用于大
型机和工作站。
程序设计语言概述 (第 4章第 1讲)
? 程序设计语言 是人和计算机交流信息的工具,是计算
机能够接受和理解全部指令的集合。每种程序设计语
言都利用一些符号来代表特别的含义,而这些符号的
排列是有规定的,这种有规则的排列就是 语法 。
? 程序设计 就是将用户需要转化为符合语法规则,计算
机能理解和执行的代码。
? 程序设计人员用高级语言编写出来的程序称为 源程序 。
将源程序转换为 可执行程序 (目标程序)的方式有两
种,编译 方式和 解释 方式。
机器语言 (第 4章第 1讲)
? 机器语言 是计算机 CPU提供的指令集,是最早
产生和使用的计算机语言。
? 机器语言的指令是由 二进制代码 0和 1组成的,
每一条指令代表了机器可执行的一个基本操
作。
? 机器语言是机器能直接识别和执行的,执行
的速度快,效率高。
? 不同的 CPU有不同的指令集,因此机器语言也
不具有移植性 。
汇编语言 (第 4章第 1讲)
? 由于机器语言难读,难理解,难修改,只有
高级专业计算机人员才能掌握,所以人们开
发了 第二代 程序设计语言 -----汇编语言 。
? 汇编语言 源程序 必须用 汇编程序 将每一条指
令翻译成一条相关的 机器语言 指令,才能被
计算机执行。
? 由于汇编语言的运行效率比较高,执行速度
比较快,直到今天,汇编语言仍是计算机系
统软件的开发工具 。但是,汇编语言也存在
移植性差、难理解的问题。
高级语言 (第 4章第 1讲)
? 高级语言接近 自然语言 和 公式语言 。
? 高级语言易理解和掌握,具有可移植性,可以在多种机器上
运行,极大地提高了程序设计的效率和可靠性。
? 高级语言必须经过 解释 才能在机器上执行。
? 高级语言的命令语句与机器指令 不是一一对应关系,高级语
言的一个语句可能编译产生几条甚至几百条的机器指令。
? 常用的高级语言有 BASIC,FORTRAN,COBOL,PASCAL,C等,
另外还有 VB,VC,VFP,Delphi等。
? 高级语言从描述客观系统的角度上可分为 面向过程程序设计
语言 和 面向对象程序设计语言 。
? 高级语言以编写风格上可分为 可视化 和 非可视化 编程语言。
通用应用软件 (第 4章第 1讲)
? 应用软件分为二大类:通用应用软件和专用
应用软件。
? 通用应用软件是指由软件开发商发布发行的,
使用范围广泛的软件。
比如:文字处理软件( Word,WPS),电子
表格软件( Excel )、数据库软件( Access)
和绘图软件( Photoshop)等。
专用应用软件 (第 4章第 1讲)
? 用户自行开发或委托软件企业开发的专用应用程序叫
专用应用软件 。
? 专用应用软件的种类很多,涉及到社会的各个领域,
比如民航售票软件、银行管理软件、电信收费管理软
件、货运控制管理软件、仓储管理软件等等
? 由于通用应用软件以大多数用户的基本需要作为主要
开发设计功能,它不可能适用于每一个用户。而对于
专业用户,开发自用的专业应用软件是提高工作效率、
保守用户秘密、提高用户数据信息安全度的最佳选择。