第三章计算机基础_第1页
第三章计算机基础_第2页
第三章计算机基础_第3页
第三章计算机基础_第4页
第三章计算机基础_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章计算机软件系统主要内容:§3.1软件的性质及发展史§3.2操作系统§3.3应用软件本章小结思考与练习一、思考题1.与一般物质产品相比,计算机软件具有哪些独有的性质?2.简述计算机软件发展的各个时期。3.21世纪的软件技术的发展呈现什么特点?4.什么是B/S模式?它与C/S相比具有哪些优点?5.计算机软件系统的分层结构包括哪几层?6.按照计算机软件分类的国家标准,数据库管理系统属于哪一类软件?7.从资源管理的角度来看,操作系统的功能是如何划分的?8.操作系统是如何引导的?9.什么是操作系统的中断?简述当一个中断发生时,CPU执行的操作过程。10.进程有哪三种状态?状态之间是如何转换的?11.进程控制块(PCB)的作用是什么?12.简述程序和进程间的不同。进程和线程之间的关系如何?13.在多核心处理器平台下,多线程程序设计的特点是什么?思考与练习14.存储管理的主要功能包括哪些?15.计算机系统提供几级存储结构?请画出示意图。16.虚拟存储器与主存储器的差别是什么?17.设备管理的主要任务有哪些?18.什么是文件?什么是文件管理系统?19.操作系统的主要特性是什么?20.操作系统按所提供的功能进行分类,可分成哪几类?21.当计算机启动时,操作系统是如何引导的?22.什么是应用软件?常见的应用软件类型有哪些?二、练习与实践1.大多数人认为计算机的行为仅仅是编程的结果,而计算机是没有自己的自由意愿的。也不是说,计算机是不应该为它的行为(输出)负责的。你认为这种观点正确吗?2.请列举你使用的计算机系统安装了哪些操作系统和应用软件,你能够熟练使用这些软件吗?思考与练习3.采访你认识的程序设计员或软件工程师,了解他们在软件开发中是如何选择使用程序设计语言与软件工具的,采用了哪些软件开发的新技术。4.如果计算机最终会很好地理解人类的语言,可以按照语音指令运行。到那个时候,还需要计算机程序和程序员吗?为什么?思考与练习

§3.1软件的性质及发展史§3.1软件的性质及发展史3.1.1对计算机软件的理解从广义上讲,软件定义是:(1)能够完成预定功能和性能的可执行的指令(计算机程序);(2)使得程序能够适当地操作信息的数据结构;(3)描述程序的操作和使用的文档。软件的应用领域十分广泛,呈现形式也是多种多样的,在某种程度上很难对软件的类型给出一个通用的界定。3.1.2软件的性质1.表现形式不同软件是一种逻辑实体,具有抽象性。2.生产方式不同3.维护方式不同4.软件的复杂性和规模不断增加5.软件的本质是数字存在§3.1软件的性质及发展史3.1.3软件技术的进化史1.软件技术发展的初期(20世纪50—70年代)20世纪50年代前后,当时的程序员们使用机器语言来进行编程运算,直接对以数字表示的机器代码进行操作,这可以说是软件设计的“石器时代”。20世纪60年代中期至70年代末期这一时期是以Pascal、

COBOL和C等编程语言和关系数据库管理系统为标志的结构化软件技术。在这个时期,数据库技术得到了飞速的发展。在20世纪60年代之前,数据管理功能主要由文件系统实现,后来数据库技术经历了层次数据库、网状数据库和关系数据库等阶段。§3.1软件的性质及发展史为提高软件的质量,伴随着结构化软件技术而出现的软件工程方法,使软件工作的范围从只考虑程序的编写扩展到从定义、编码、测试到使用、维护等整个软件生命周期。2.软件技术发展的中期(20世纪80年代)20世纪80年代图形技术有了迅速的发展,图形用户界面(GUI)的迅速普及与流行,成为计算机软件领域人机界面革命的最耀眼亮点。1985年微软发行了Windows1.0,是第一次对PC平台GUI的尝试。另一方面,当时的Unix系统上的图形界面XWindow也蓬勃地发展起来。§3.1软件的性质及发展史随着计算机科学的发展和应用领域的不断扩大,对计算机技术的要求越来越高,结构化程序设计语言和结构化分析与设计已无法满足用户需求的变化,于是面向对象技术开始浮出水面。3.网络计算时代的开始(20世纪90年代至今)随着WWW普及,软件架构再次发生了新的变革——从客户机/服务器模式向浏览器/服务器(B/S)模式转变。B/S模式具备了C/S架构所具有的一切优点,用户使用单一的浏览器软件就可访问文本、图像、声音及数据库等信息,由于用户端无需专用的软件,因此当企业对网络应用进行升级时,只需更新服务器端的软件,减轻了系统维护与升级的成本与工作量。§3.1软件的性质及发展史B/S和Internet技术的出现,大大地推动了软件技术的发展。Linux目前已成为重要的和流行的操作系统,Linux开创了自由软件或开放源码软件的新时代。Android(在中国大陆一般称为“安卓”)是一种以Linux为基础的开放源码操作系统,是Google公司另一个主要软件产品。1995年,由三位杰出的软件科学家Jacobson、Booch和R-

umbaugh多年研究成果的UML(统一建模语言)诞生了。1997,三位科学家又提出了“统一的软件开发过程UDP(T-

heUnitedSoftwareDevelopmentProcess)”。4.软件之变——21世纪的软件技术§3.1软件的性质及发展史软件技术发展的第一个特点是网络化。软件技术发展的第二个特点是服务化。软件技术发展的第三个特点是融合化。随着多核处理器技术的硬件环境的普及,计算平台向多核、并行的方向发展已是大势所趋,伴随着快速开发工具和动态语言这两大基础共同带动了两个方向的变革。当前,内容处理已成为网络浏览检索、软件集成(Web服务)、网格等计算机应用的瓶颈,语义处理也是下一代软件系统的核心技术。冯·诺依曼的最大贡献是提出了在单台计算机上把程序视同为数据的程序存储式计算机模型,而语义研究的目标是在整个网络上实现将程序视同为数据。§3.1软件的性质及发展史3.1.4软件系统的分层结构计算机软件系统是一个分层的软件结构,包括系统软件层、支持软件层和应用软件层,其最底层是计算机硬件(图3-3)。§3.1软件的性质及发展史图3-3软件系统的层次结构

图3-4微软公司的系统软件和

应用软件产品1.系统软件所谓系统软件是指本身不提供或提供很少的应用层面功能,主要为其他软件提供服务的软件。2.支持软件支持软件介于系统软件层和应用软件层之间,其功能是为应用层软件及最终用户处理自己的程序或者数据提供服务。3.应用软件软件系统结构的最顶层是应用软件层,是最终用户使用的界面。应用软件是指在操作系统和支持软件的支持下,软件厂商为用户开发的通用或专用软件,以及用户开发的应用程序等。4.软件分类的国家标准§3.1软件的性质及发展史§3.1软件的性质及发展史§3.2操作系统3.2.1操作系统的任务及功能操作系统是管理软硬件资源、控制程序执行,改善人机界面,合理组织计算机工作流程和为用户使用计算机提供良好运行环境的一种系统软件。操作系统的任务是管理好计算机的全部软硬件资源,提高计算机的利用率;担任用户与计算机之间的接口,使用户通过操作系统提供的命令或菜单方便地使用计算机(图3-6)。§3.2操作系统从资源管理的角度来看,操作系统的功能分为处理机管理、存储管理、I/O设备管理、文件系统和人机接口管理等。§3.2操作系统图3-6用户通过使用应用软件和系统软件,来操作和管理计算机§3.2操作系统图3-7操作系统的引导过程图3-8操作系统的功能3.2.2处理机(CPU)管理1.中断处理所谓中断是指CPU对系统发生的某个事件做出的一种反应,即CPU暂停正在执行的程序,保留现场(CPU当前的状态)后自动转去执行相应的处理程序,处理完该事件后再返回断点,继续执行被“打断”的程序。2.处理器调度在多道程序或多用户的情况下,组织多个作业或任务执行时,就要解决处理器的调度、分配和回收等问题。为了实现处理器调度的功能,操作系统引入了进程(process)的概念,处理器的分配和执行都是以进程为基本单位。§3.2操作系统3.理解进程及状态变化程序与进程概念是不可分的,只要在计算机上运行一个程序,相应的一个进程或多个进程就诞生了,而且它伴随着整个操作过程,直到程序终止。进程是现代操作系统的一个最基本的概念,是将一个程序与执行该程序的活动区分开来。进程状态是机器在那个时刻的快照,在一个程序的执行期间的不同时刻,将观察到不同的快照。一般说来进程有三种状态,如图3-11所示:执行态:当前进程已分配到CPU,它的程序正在处理机上运行;就绪态:进程已具备运行条件,但因为其他进程正占用CPU,所以暂时不能运行而等待分配CPU的状态;等待态:因等待某件事件发生而暂时不能运行的状态。§3.2操作系统操作系统就通过PCB感知进程的存在,通过PCB了解进程和控制进程的运行(图3-10)。§3.2操作系统图3-9进程的三种基本状态及转换§3.2操作系统图3-10处理器按进程控制块(PCB)对进程进行调度4.理解线程线程(thread)是进程中执行运算的最小单位,亦即执行处理机调度的基本单位。线程可以在处理器上独立调度执行,这样,在多处理器环境下就允许几个进程各自在单独处理器上进行。线程是指进程内的一条执行线路,或者说是进程中可执行代码的单独单元。操作系统将资源分配给进程,同一进程的所有线程共享该进程的所有资源(图3-11)。§3.2操作系统图3-11一个进程可以含有一个或多个线程5.多核平台下的多线程程序设计与应用软件多线程。即便处理器只能运行一个线程,操作系统也可以通过快速的在不同线程之间进行切换,由于时间间隔很小,给用户造成一种多个线程同时运行的假象。一个程序采用了线程级并行编程,那么这个程序在运行时可以把并行的线程同时交付给两个核心分别处理,因而程序运行速度得到极大提高。通过划分任务,线程应用能够充分利用多个执行内核,并可在特定的时间内执行更多任务。§3.2操作系统3.2.3存储管理存储管理是指存储器资源(主要指内存和外存)的管理。存储管理的主要功能包括:存储分配存储共享存储保护存储扩充计算机系统提供多级存储结构,操作系统可以对不同存储类型进行管理。如图3-12所示。§3.2操作系统高速缓存(以下简称Cache)的出现主要是为了解决CPU运算速度与内存读写速度不匹配的矛盾,因为CPU运算速度要比内存读写速度快很多,这样会使CPU花费很长时间等待数据到来或把数据写入内存。RAM是CPU能够直接访问的存储器。§3.2操作系统图3-12操作系统的多级存储结构虚拟存储器(VirtualMemory)是由操作系统提供的一个假象的特大存储器。虚拟存储器不是物理上扩大内存空间,而是逻辑上扩充了内存容量(图3-13),用户可以使用到比实际物理内存大很多的虚拟存储容量。§3.2操作系统图3-13虚拟存储示意图3.2.4设备管理它包括常用的输入输出设备、外存设备以及终端设备等。设备管理的主要任务是控制设备和CPU之间进行I/O操作(图3-14)。设备管理的主要任务有:(1)选择和分配输入/输出设备以便进行数据传输操作;(2)控制输入/输出设备和CPU(或内存)之间交换数据;(3)为用户提供一个友好的透明接口,把用户和设备硬件特性分开,使得用户不必考虑设备的硬件差异;(4)提高设备和设备之间、CPU和设备之间的并行性。§3.2操作系统引入缓冲的主要目的是缓和CPU与I/O设备之间速度不匹配的矛盾,提高它们之间的并行性,以便操作系统获得最佳效率。§3.2操作系统图3-14操作系统对外部设备的管理3.2.5文件管理文件是在逻辑上具有完整意义的并赋有名称的信息集合体。所谓文件系统,就是操作系统中负责操纵和管理文件的一整套设施,它实现文件的建立、读写、修改、共享和保护等操作,还负责完成对文件的按名存取和进行存取控制。用户对文件的观察和使用是从自身处理文件中数据时采用的组织方式来看待文件组织形式,这种从用户关点出发所见到的文件组织形式称为文件的逻辑组织。文件在存储设备上的存储组织形式称为文件的物理组织。§3.2操作系统在计算机中的文件有成千上万,光用名字来区分也不利于查找,所以计算机中有了文件夹的概念。文件夹是一个层次化的目录结构,最顶层称为根目录。3.2.6人机接口管理人机接口管理的主要作用是控制有关设备的运行和理解并执行通过人机交互设备传来的有关的各种命令和要求。对操作系统的更高要求是实现智能人机接口,以建立和谐的人机交互环境,改善人机交互的友好性和易用性,使人与计算机之间的交互更加自然、方便。§3.2操作系统3.2.7操作系统的分类1.个人计算机操作系统个人计算机操作系统主要供个人使用,功能强、价格便宜,可以在几乎任何地方安装使用。它能满足一般人操作、学习、游戏等方面的需求。2.嵌入式操作系统嵌入式操作系统(EmbeddedOperatingSystem)是运行在嵌入式系统环境中,对整个嵌入式系统以及它所操作、控制的各种部件装置等资源进行统一协调、调度、指挥和控制的系统软件,使整个系统能高效地运行。3.网络操作系统§3.2操作系统它是负责管理整个网络资源和方便网络用户的软件的集合。网络操作系统除了一般操作系统的五大功能之外,还应具有网络管理模块。4.分布式操作系统3.2.8嵌入式系统与嵌入式软件嵌入式系统是计算机的一种应用形式,通常指埋藏在宿主设备中的微处理机系统。嵌入式系统已广泛应用于网络交换机、路由器和

Modem,以及构建CIMS所需的机器人以及汽车电子系统中。嵌入式软件可分为嵌入式操作系统和嵌入式应用程序两部分。§3.2操作系统§3.3应用软件应用软件指用于解决各种不同具体应用问题的专门软件。1.科学和工程计算软件科学和工程计算软件的特征是“数值分析”算法。目前被广泛使用的MATLAB软件工具,是用于概念设计、科学计算、算法开发、建模仿真、图形处理、实时实现的理想的集成环境。2.字表处理软件所谓字表处理软件就是在计算机上实现对文字或数据进行输入、编辑、排版、计算、统计和打印等操作的软件,它在办公室自动化方面发挥着巨大作用。§3.3应用软件3.图形图像处理软件从网页设计、工程绘图、三维动画制作等一般性的应用,到图像识别、三维重建技术、虚拟现实技术、科学计算可视化等技术领域,都离不开计算机图形图像处理技术。4.网络应用软件网络应用软件是用户使用网络的接口和界面,这类软件非常丰富。5.应用数据库软件应用数据库软件的开发是构建在数据库管理系统(DBMS)之上的。§3.3应用软件在软件的发展过程中,软件从个性化的程序演变为工程化的产品,人们对软件的看法发生了根本性的变化。“软件=程序”显然不能涵盖软件的完整内容,除了程序之外,软件还包括与之相关的文档和配置数据,以保证这些程序的正确运行。计算机软件包括系统软件、支持软件和应用软件三大类。系统软件是负责协调和控制整个计算机系统的硬件和各种程序间活动和功能的程序集合。将特定的硬件配置与系统软件包相结合,就形成所谓的计算机系统平台。支持软件介于系统软件层和应用软件层之间,其功能是为应用软件层及最终用户处理自己的程序或者数据提供服务。应用软件由能帮助用户解决特定问题的一系列程序组成,用来满足个人、团体或企业的需要。操作系统提供对硬件控制的调用和应用程序所必需的功能,是一个涉及面广、内部关系复杂的系统软件。本章对任务与进程管理、存储器管理、输入输出及设备管理、文件系统与信息存储管理进行了介绍和讨论。本章小结一、思考题1.与一般物质产品相比,计算机软件具有哪些独有的性质?2.简述计算机软件发展的各个时期。3.21世纪的软件技术的发展呈现什么特点?4.什么是B/S模式?它与C/S相比具有哪些优点?5.计算机软件系统的分层结构包括哪几层?6.按照计算机软件分类的国家标准,数据库管理系统属于哪一类软件?7.从资源管理的角度来看,操作系统的功能是如何划分的?8.操作系统是如何引导的?9.什么是操作系统的中断?简述当一个中断发生时,CPU执行的操作过程。10.进程有哪三种状态?状态之间是如何转换的?11.进程控制块(PCB)的作用是什么?12.简述程序和进程间的不同。进程和线程之间的关系如何?13.在多核心处理器平台下,多线程程序设计的特点是什么?思考与练习一、思考题1.与一般物质产品相比,计算机软件具有哪些独有的性质?1.表现形式不同软件是一种逻辑实体,具有抽象性。2.生产方式不同3.维护方式不同4.软件的复杂性和规模不断增加5.软件的本质是数字存在思考与练习2.简述计算机软件发展的各个时期。(1)首先软件发展的初期(20世纪50年代到70年代)此阶段主要通过机器语言(汇编语言)来进行汇编运算,并出现了多种以Pascal、COBOL、C等编程语言和关系数据库管理系统的结构化方法。并且在这个阶段,数据库技术得到了飞速的发展。(2)软件发展的中期(20世纪80年代)此阶段图形技术有了迅速的发展,并且随着GUI技术的发展,多种操作系统相继发行,在设计方面,以Smalltalk、Cq-+为代表的面向对象技术开始浮出水面,并逐步成熟。(3)网络计算时代(20世纪90年代至今)此阶段发展基于internet的普及,在世界范围的信息网提供了一个基本的网络计算结构,计算模式从集中的主机转变为分布式的环境,并且linux成为重要的和流行的操作系统。软件的研发过程已经变得成熟和规范。(4)信息时代软件发展。软件体系结构变得模型化,以网络软件为主的技术不断发展。思考与练习3.21世纪的软件技术的发展呈现什么特点?软件技术发展的第一个特点是网络化。软件技术发展的第二个特点是服务化。软件技术发展的第三个特点是融合化。随着多核处理器技术的硬件环境的普及,计算平台向多核、并行的方向发展已是大势所趋,伴随着快速开发工具和动态语言这两大基础共同带动了两个方向的变革。当前,内容处理已成为网络浏览检索、软件集成(Web服务)、网格等计算机应用的瓶颈,语义处理也是下一代软件系统的核心技术。冯·诺依曼的最大贡献是提出了在单台计算机上把程序视同为数据的程序存储式计算机模型,而语义研究的目标是在整个网络上实现将程序视同为数据。思考与练习4.什么是B/S模式?它与C/S相比具有哪些优点?B/S模式即浏览器/服务器模式,他具备了C/S构架所具有的一切优点,用户使用单一的浏览器软件就可以访问文本、图像、声音及数据库等信息,由于用户端无需专用的软件,减轻了系统维护升级的成本和工作量,同时免去了C/S软件应用中为众多的客户机分发升级版本程序和维护的繁重任务。5.计算机软件系统的分层结构包括哪几层?答:包括系统软件、支持软件和应用软件层。6.按照计算机软件分类的国家标准,数据库管理系统属于哪一类软件?答:支持软件7.从资源管理的角度来看,操作系统的功能是如何划分的?从资源管理的角度来看,操作系统的功能分为处理机管理、存储管理、I/O设备管理、文件系统和人机接口管理等。8.操作系统是如何引导的?思考与练习8.操作系统是如何引导的?系统引导过程主要由以下几个步骤组成(以硬盘启动为例)1、开机;2、BIOS加电自检(POST---PowerOnSelfTest),内存地址为0fff:0000;3、将硬盘第一个扇区(0头0道1扇区,也就是BootSector)读入内存地址0000:7c00处;4、检查(WORD)0000:7dfe是否等于0xaa55.若不等于则转去尝试其他介质;如果没有其他启动介质,则显示”NoROMBASIC”,然后死机;5、跳转到0000:7c00处执行MBR中的程序;6、MBR先将自己复制到0000:0600处,然后继续执行;7、在主分区表中搜索标志为活动的分区.如果发现没有活动分区或者不止一个活动分区,则停止;8、将活动分区的第一个扇区读入内存地址0000:7c00处;9、检查(WORD)0000:7dfe是否等于0xaa55,若不等于则显示“MissingOperatingSystem”,然后停止,或尝试软盘启动;10、跳转到0000:7c00处继续执行特定系统的启动程序;11、启动系统.以上步骤中(2),(3),(4),(5)步由BIOS的引导程序完成;(6),(7),(8),(9),(10)步由MBR中的引导程序完成.一般多系统引导程序(如SmartBootManager,BootStar,PQBoot等都是将标准主引导记录替换成自己的引导程序,在运行系统启动程序之前让用户选择想要启动的分区.而某些系统自带的多系统引导程序(如LILO,NTLoader等)则可以将自己的引导程序放在系统所处分区的第一个扇区中,在Linux中即为两个扇区的SuperBlock.注:以上步骤中使用的是标准的MBR,多系统引导程序的引导过程与此不同.思考与练习9.什么是操作系统的中断?简述当一个中断发生时,CPU执行的操作过程。所谓中断是指CPU对系统发生的某个事件做出的一种反应,即CPU暂停正在执行的程序,保留现场(CPU当前的状态)后自动转去执行相应的处理程序,处理完该事件后再返回断点,继续执行被“打断”的程序。10.进程有哪三种状态?状态之间是如何转换的?执行态:当前进程已分配到CPU,它的程序正在处理机上运行;就绪态:进程已具备运行条件,但因为其他进程正占用CPU,所以暂时不能运行而等待分配CPU的状态;等待态:因等待某件事件发生而暂时不能运行的状态。操作系统就通过PCB感知进程的存在,通过PCB了解进程和控制进程的运行。11.进程控制块(PCB)的作用是什么?PCB是进程的唯一标志,在其中记录了进程的全部信息(包括进程的状态、优先级、进程ID、CPU使用时间,所有打开文件等

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论