欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    《计算机软件》PPT课件.ppt

    • 资源ID:5604293       资源大小:4.26MB        全文页数:137页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《计算机软件》PPT课件.ppt

    第3章 计算机软件,3.1 概述3.2 操作系统3.3 算法和程序设计语言,3.1 软件概述,1.什么是计算机软件2.计算机软件的特性3.计算机软件的分类,计算机系统=硬件+软件,计算机系统是由硬件和软件组成的,两者缺一不可!,软件、硬件和用户的关系,硬件的能力非常有限,只是速度极高而已 没有软件,硬件几乎什么任务也完成不了,3.1 软件概述,计算机通过程序才能进行信息处理,不同的程序,完成不同的任务,同一程序处理不同的数据,完成不同的任务,3.1 软件概述,什么是程序,程序:告诉计算机做什么和如何做的一组计算机能够理解并执行的指令(语句)程序具有的特点:完成某一确定的信息处理任务 使用某种计算机语言描述如何完成该任务 存储在计算机中,并在启动运行(被CPU执行)后才能起作用,3.1 软件概述,程序与数据的关系,程序所处理的对象和处理后得到的结果统称为数据(分别称为输入数据和输出数据)程序必须处理合理的输入数据,否则不会产生有意义的输出程序和数据具有相对性,3.1 软件概述,程序与软件的关系(1/2),软件往往指的是设计比较成熟、功能比较完善、具有某种使用价值、且有一定规模的程序软件既包含程序、也包含与程序相关的数据和文档:程序是软件的主体,单独的数据和文档一般不认为是软件(通常软件必须有完整、规范的文档作为支持)数据指的是程序运行过程中处理的对象和必须使用的一些参数(如三角函数表、英汉词典等)文档指的是与程序开发、维护及操作有关的一些资料(如设计报告、维护手册和使用指南等),3.1 软件概述,程序与软件的关系(2/2),“软件”强调的是产品、工程、产业或学科等宏观方面的含义,“程序”更侧重技术层面的含义软件和程序本质上相同,在不会发生混淆的场合,软件和程序两个名称经常混用,并不严格加以区分,3.1 软件概述,软件产品:软件开发厂商交付给用户用于特定用途的一整套程序、数据及相关的文档。以光盘或磁盘为载体,也可经授权后从网上下载 软件版权:软件的作者惟一地享有该软件的拷贝、发布、修改等权利,购买软件的用户只有使用权。随意进行软件拷贝和分发都是违法行为,软件产品及版权,3.1 软件概述,3.1 软件概述,1.什么是计算机软件2.计算机软件的特性3.计算机软件的分类,计算机软件有哪些特性?(1/2),1.不可见性(是无形的,不能被人们直接观察、欣赏和评价)2.适用性(可以适应一类应用问题的需要)3.依附性(依附于特定的硬件、网络和其他软件)4.复杂性(规模越来越大,开发人员越来越多,开发成本也越来越高),例如:,3.1 软件概述,5.无磨损性(功能和性能一般不会发生变化)6.易复制性(可以非常容易且毫无失真地进行复制)7.不断演变性(软件的生命周期),例如:1989年Word 1.0 1997年推出Word 97 2000年推出Office 2000 2003年 Office 2003 最新版本是Office 2007 8.有限责任(有限保证)9.脆弱性(黑客攻击、病毒入侵、信息盗用),3.1 软件概述,计算机软件有哪些特性?(2/2),3.1 软件概述,1.什么是计算机软件2.计算机软件的特性3.计算机软件的分类,计算机软件的分类,从应用角度出发,3.1 软件概述,应用软件/系统软件/硬件之间的分工,用户按下 P 键,Hi,OS,发生了一个事件:“P”键被按下了!,Hi,财务系统,键盘输入的是P,看着办吧!,Hi,OS,打印我送到你那里的工资报表文件!,Hi,激光打印机,把我送给你的数据打印出来!,激光打印机开始打印,*,什么是系统软件?,举例:基本输入/输出系统(BIOS)操作系统(如Windows、Unix、Linux等)程序开发工具与环境(如C语言编译器等)数据库管理系统(DBMS)实用程序(Utility,如磁盘清理程序、备份程序、杀毒软件、防火墙等),系统软件有哪些特性?,与计算机硬件有密切的关系,能对硬件进行统一的控制、调度和管理;具有通用性,能为多种应用软件的开发和运行提供支持与服务在任何计算机系统中,系统软件都是必不可少的在购买计算机时,通常计算机供应厂商会提供给用户一些最基本的系统软件,否则计算机无法工作。,最重要的系统软件有哪些?,操作系统(OS)包括各种实用程序(如磁盘清理程序、备份程序、杀毒软件等)功能上也包含BIOS在内程序设计语言处理系统编译器解释器汇编程序(汇编器)开发工具与平台数据库管理系统(DBMS)实用程序,实用程序用于协助OS或用户完成日常系统维护和监管任务,使计算机系统更加安全、可靠、方便、有效,通用应用软件的主要类别和功能,3.1 软件概述,关于微软的MS Office软件,历史与发展:有windows 版本和Mac 版本两大系列1989年开始推出从3.0、4.0、4.3、95、97、2000、XP,到2003、2007目前广泛使用的是2003版和2007版2010版从2009年开始进行测试,计划于2010年发布主要功能与组成:Word PowerPoint Excel Outlook Access 附带的其它程序:Internet Explorer;Photo Editor;Office Picture ManagerMicrosoft FrontPage;Microsoft Visio;Microsoft Publisher;Microsoft Project;Microsoft OneNote笔记软件;Microsoft SharePoint DesignerWYSIWYG(所见即所得)HTML编辑器暨Microsoft通用网页设计程序,启发:成功软件的经验是什么?,它们都具有如下特点:1 它们能替代现实世界已有的其他工具,而且使用起来比已有工具更方便有效2 它们能完成已有工具很难完成甚至完全不可能完成的工作,扩展了人们的能力3 成功的市场运作和售后服务4 不断前进、不断发展(功能、技术、性能等),大学生必须掌握哪些应用软件?,作为一名大学生,不论学习什么专业,在学习阶段和走上工作岗位之后,至少必须掌握以下6项计算机应用技能:进行中/西文字处理用计算机绘图和进行图像处理用计算机制表和进行数据统计与计算上网与信息检索利用因特网进行通信使用计算机管理文档与数据,定制应用软件,定制应用软件是按照不同领域用户的特定应用要求而专门设计开发的软件与通用软件的比较中间件(Middleware):作为应用软件与各种系统软件之间使用的标准化编程接口和协议,承上启下,3.1 软件概述,计算机软件,按照软件权益如何处置进行分类商品软件共享软件(shareware)(也称为试用软件demoware)具有版权,可免费试用一段时间,允许拷贝和散发(但不可修改),试用期满后需交费才能继续使用自由软件(Free Software)(开放源代码软件)用户可共享,并允许随意拷贝、修改其源代码,允许销售和自由传播。但是,对软件源代码的任何修改都必须向所有用户公开,还必须允许此后的用户享有进一步拷贝和修改的自由免费软件(Freeware)(Free Software)无需付费即可获得的软件。例如 PDF阅读器、Flash播放器等自由软件很多是免费软件;免费软件不全是自由软件,3.1 软件概述,软件的许可证(license),软件许可证也称为“许可证协议”,它规定了计算机软件使用方式的法律合同,软件使用有哪些额外的限制,有哪些额外的权利等许可证的类型:单用户许可证多用户许可证并发用户许可证定点(fixed site)许可证许可证的形式:拆封许可证最终用户许可证计算机软件的发展过程,不能再次出售只能安装在1台计算机上不得进行反汇编、反编译不得将其组成部分分散在多台计算机上使用不得出租或出借,阅读材料3.1,习题选讲,第3章 计算机软件,3.1 概述3.2 操作系统3.3 算法和程序设计语言,3.2 操作系统,3.2.1 概述3.2.2 多任务处理与处理器管理3.2.3 存储管理3.2.4 文件管理3.2.5 设备管理3.2.6 常用操作系统介绍,什么是操作系统(OS)?,OS为用户提供了一个操作使用计算机的友善的用户界面OS屏蔽了计算机中几乎所有物理设备的技术细节,为开发和运行其他软件提供了一个高效、可靠的平台。,没有安装任何软件的计算机称为裸机,裸机是无法使用的 操作系统是最重要的一种系统软件,几乎所有计算机都要安装操作系统,3.2 操作系统,为什么需要操作系统?,控制基本的输入/输出操作,分配系统中的资源,管理存储器空间,监测计算机运行和故障,维护计算机安全,3.2 操作系统,进行计算机之间的通信,方便用户的操作使用,提供应用程序开发平台,操作系统的重要作用,三项主要作用:(1)为计算机中运行的程序管理和分配系统中的各种软硬件资源(2)为用户提供友善的人机界面(图形用户界面)(3)为开发和运行应用程序提供高效率的平台其它辅助功能:辅导用户操作(帮助功能)显示系统状态处理软硬件错误保护系统安全,3.2 操作系统,复习:基本输入输出系统BIOS,基本输入/输出系统是存放在主板上只读存储器(flash ROM)中的一组程序(也称为firmware,固件)主要包含4个部分:加电自检程序(诊断计算机故障)系统自举(装入)程序(装入并启动OS工作)CMOS设置程序(设定和修改计算机配置)基本外围设备的驱动程序(控制基本的I/O操作)计算机断电后,BIOS程序和CMOS中的数据仍保持不变需要时BIOS程序可以升级(update),操作系统的启动(boot up),ROMBIOS,RAM,CPU,3.2 操作系统,3.2 操作系统,3.2.1 概述3.2.2 多任务处理与处理器管理3.2.3 存储管理3.2.4 文件管理3.2.5 设备管理3.2.6 常用操作系统介绍,问题1:如何安装应用程序?(选讲),应用程序买来以后或者从网上下载以后,必须使用安装程序进行安装安装程序一般称为setup.exe或install.exe,此外还有一个安装说明(文件名一般称为readme)软件安装时可能需要使用该软件的产品序列号,产品序列号贴在包装盒上或存放在sn.txt文件中安装程序、安装说明、序列号等通常就包含在该软件的文件夹中有些软件安装时会启动一个安装响导(wizard),用户只要按照该响导的提示一步一步进行即可安装成功后,会在开始菜单的“所有程序”菜单中有一个启动它运行的选项,3.2 操作系统,问题2:如何启动运行应用程序?(选讲),最基本的方法是从“开始菜单”进行启动在桌面上双击应用程序的快捷方式图标来启动应用程序(很多程序在安装后都会将该程序的快捷方式图标放到桌面上以便经常使用)最近最常使用的应用程序可使用“开始”菜单左侧的一列程序按钮进行启动通过双击需要处理的文档来启动处理该文档的应用程序通过任务栏中的“快速启动”栏中的按钮进行启动(有无“快速启动”栏可以自己设置)在开始菜单的“运行”对话框中输入命令,3.2 操作系统,什么是任务,什么是多任务处理?,“任务”指的是要计算机做的一件事,计算机执行一个任务通常就对应着运行一个应用程序“单任务处理”与“多任务处理”单任务处理:前一个任务完成后才能启动后一个任务的运行,任务是顺序执行的多任务处理(Multitasking):允许计算机同时执行多个任务,任务是并发执行的多任务处理举例:编辑PPT讲稿+播放音乐+收发邮件多任务处理的优点:大大提高了用户的工作效率和计算机的使用效率,3.2 操作系统,多任务处理举例,制作PPT讲稿,查看文件夹内容,收发电子邮件,播放音乐,3.2 操作系统,如何知道有哪些任务在运行?,每启动一个应用程序,OS就会打开一个相应的窗口,通常一个窗口就是一个任务每启动一个应用程序,OS就会在任务栏上显示一个相应的任务按钮(程序按钮),通常一个按钮就是一个任务窗口可以放大或缩小,甚至可以“最小化”,但任务的运行不受其影响使用“任务管理器”程序可以了解每个任务的运行情况,3.2 操作系统,什么是前台任务与后台任务?,前台任务:能接受用户输入(击键或按击鼠标)的窗口只能有一个,称为活动窗口,它所对应的任务称为前台任务后台任务:除前台任务外,所有其它任务均为后台任务前台任务与后台任务的区别:前台任务对应的窗口(活动窗口)位于其它窗口的前面活动窗口的标题栏比非活动窗口颜色更深(深蓝色)前台任务与后台任务的共同点:都在计算机中运行前台任务与后台任务的切换:为了输入信息到某个后台任务中去,必须切换窗口(单击要激活的后台任务窗口的任何部位,或单击任务栏中对应的任务按钮),3.2 操作系统,如何结束任务的运行?,每一个应用程序运行时都要占用大量的系统资源(存储器、CPU、屏幕等),所以当不再需要某个应用程序运行时,就应该退出这个应用程序,释放它所占用的资源多数应用程序都设计成交互式控制的方式,所以运行完毕后必须由用户退出该程序Windows XP中退出应用程序的几种方法:最快速的方法,是左击应用程序窗口右上角的红色“叉子”按钮左击窗口左上角的控制按钮,在弹出菜单中选择“关闭”在应用程序的“文件”菜单中,选择“退出”通过OS的任务管理器,强迫结束任务,3.2 操作系统,OS如何支持多任务处理?,为什么可以实现多任务处理?CPU速度极高,必须并且可以充分发挥CPU的效能CPU与I/O(外围设备)的并行工作各个外围设备之间并行工作实现多任务处理要解决哪些问题?CPU如何管理和调度存储器空间如何分配和管理 I/O设备和I/O操作如何管理和控制谁来解决上述问题?不是应用程序自己,而是操作系统(OS)!从宏观上看,这些任务是在“同时”执行,而微观上任何时刻只有一个任务正在被CPU执行*,即这些程序是由CPU轮流执行的。(注:在使用双核的CPU中,可以有2个任务分别被2个核执行),3.2 操作系统,CPU的管理(处理器管理),目的:让CPU轮流为所有任务服务原则:公平性、优先级、负载均衡方法:按时间片轮转(10-20ms为1个时间片)按优先级调度,3.2 操作系统,Windows中的处理器管理,Windows为了确保每个已经启动的任务都有机会运行,它采用“抢先式”多任务处理技术:由硬件计时器大约每10-20ms发出1次中断信号,Windows立即暂停当前正在运行的任务,查看当前所有的任务,选择其中的一个交给CPU去运行只要时间片结束,不管任务有多重要,也不管它执行到什么地方,正在执行的任务就会被强行暂时终止 上述的任务调度,每秒钟要进行几十次几百次实际上,操作系统本身的若干程序也是与应用程序同时运行的,它们一起参与CPU时间的分配。当然,不同程序的重要性不完全一样,它们获得CPU使用权的优先级也有区别,3.2 操作系统,附:多任务处理与多核CPU,CPU瞬间可同时执行的线程(任务)数目:单核CPU:1 双核CPU:2 四核CPU:4,(注:假设CPU不具备超线程功能),3.2 操作系统,3.2.1 概述3.2.2 多任务处理与处理器管理3.2.3 存储管理3.2.4 文件管理3.2.5 设备管理3.2.6 常用操作系统介绍,操作系统运行时内存的态势,系统运行时内存储器的布局,内存储器空间划分为2个部分:系统区和用户区,用户区用来存放正在运行的应用程序,分析:允许同时运行多少程序?数目有没有限制?程序的大小和数据的规模受不受限制?程序与程序相互之间会不会互相干扰?,每个应用程序运行时均有属于它自己的存储器空间,用来存储它自己的程序代码和数据,3.2 操作系统,“存储管理”需要解决哪些问题?,为每个任务分配存储空间,任务结束之后收回存储空间对存储空间进行保护保护操作系统所在区域不被应用程序修改保护每个应用程序的私有区域不被其他程序修改对存储空间进行扩充,使应用程序的存储空间不受实际存储容量大小的限制 解决方案虚拟存储器(Virtual Memory),3.2 操作系统,虚拟存储器示意图,硬盘中专门划出一个“交换区”,作为物理内存的补充,称为“虚拟内存”,3.2 操作系统,Windows XP的虚拟存储器,Windows XP操作系统中:虚存空间最大可达到4GB页面的大小通常是4KB虚拟内存是系统盘根目录下的一个名为pagefile.sys的文件,其大小和位置用户可设置使用“任务管理器”可以查看:总的物理内存大小可用物理内存大小总的虚拟内存大小可用虚拟内存大小等,3.2 操作系统,3.2 操作系统,3.2.1 概述3.2.2 多任务处理与处理器管理3.2.3 存储管理3.2.4 文件管理3.2.5 设备管理3.2.6 常用操作系统介绍,“文件”概念的由来(选讲),(按名存取)(按地址存取),3.2 操作系统,什么是文件(file)?,文件是存储在外存储器中的一组相关信息的集合,例如:一个程序 一张数码相片 一只MP3歌曲 一封电子邮件文件是外存中信息的存取(读出/写入)单位计算机中所有的程序和数据都组织成为文件存放在外存储器中,并使用其名字进行存取操作,3.2 操作系统,复习:文件名和文件类型(选讲),文件的名字由两部分组成:(主文件名).扩展名主文件名(简称文件名)是文件的主要标识,不可省略文件扩展名(类型名)由“.”加34个英文字母组成,用于区分文件的类型:程序文件(可执行文件):文件中包含的是可以由CPU执行的程序的二进制代码数据文件:纯文本文件(.txt)PDF文件(.pdf)Word文件(.doc)投影片文件(.ppt)数码照片文件(.jpg)MP3音乐文件(.mp3)文件中包含的是由程序处理的数据的二进制代码处理不同类型的数据文件一般需要使用(关联)不同的程序!文件名字使用西文(或中文)字符组成,但不能使用某些特殊字符(如?*:“”等),3.2 操作系统,Windows XP 的文件,允许使用长文件名,即文件名最多可包含255个中文或西文字符英文字母的大、小写只在形式上加以区分,实际上不予区别(例如:Text.DOC 与 text.doc 是同一个文件)常用程序文件的扩展名:.dll.bat常用数据文件的扩展名:,3.2 操作系统,文件的组成和文件说明信息,每一个文件都由2部分组成:,3.2 操作系统,文件在磁盘中如何存储?,磁盘分成两个区域:目录区和数据区 目录实质上是一张“文件名存放位置”的对照表,从磁盘上读出一个文件时,先在目录区中找出该文件的存放位置,然后再按此位置,从磁盘的数据区中读出该文件内容,文件内容,3.2 操作系统,Windows XP 的文件组织,文件目录在Windows中称为文件夹每个逻辑盘(物理盘或硬盘上的分区)是一个根文件夹文件夹中既可包含文件,也可包含文件夹(子文件夹),子文件夹又可存放文件和子文件夹,形成树状多级文件夹结构,根节点和中间节点都是文件夹,叶节点都是文件,为什么使用多级文件夹?1)有利于文件分类存储2)允许文件同名(在不同文件夹中时)3)便于文件共享和保护,3.2 操作系统,Windows XP中文件如何定位?,计算机中的每个文件都有一个确定的位置文件的位置由存放文件的逻辑驱动器号、文件路径以及文件名组成:驱动器号(盘符)+文件路径+文件名,例 右图中文件02.ppt的位置是:D:数据概论讲稿02.ppt,从根文件夹到文件所在文件夹所顺序经过的一串文件夹,其间用“”相互隔开,3.2 操作系统,文件管理和文件系统,文件系统需要解决的问题:有效管理外存储器的存储空间实现对文件方便而快速的存取操作对软盘、硬盘、光盘、优盘等不同外存储器实现统一管理统一本地文件/远程文件的存取操作实现文件的安全存取,文件系统是OS的一个组成部分,它负责管理计算机中的文件,使用户(和程序)能很方便地进行文件的存取操作,阅读材料3.2,3.2 操作系统,3.2 操作系统,3.2.1 概述3.2.2 多任务处理与处理器管理3.2.3 存储管理3.2.4 文件管理3.2.5 设备管理3.2.6 常用操作系统介绍,设备管理,设备管理负责组织和管理系统中的各种输入输出设备有效地处理用户(程序)对这些设备的使用请求,并完成实际的输入/输出操作,阅读材料3.3,3.2 操作系统,3.2 操作系统,3.2.1 概述3.2.2 多任务处理与处理器管理3.2.3 存储管理3.2.4 文件管理3.2.5 设备管理3.2.6 常用操作系统介绍,操作系统的几种类型,PC机使用的操作系统一般都具有多任务处理功能网络服务器上安装运行的是“网络操作系统”,特点是:具有强大的多用户并发处理能力支持多种网络通信功能,提供丰富的网络应用服务安全性强,可靠性好军事指挥和武器控制系统、电网调度和工业控制系统、证券交易系统等,安装运行的是“实时操作系统”,特点是:对外部事件能快速作出响应,具有很高的可靠性和安全性嵌入式计算机应用中运行的是“嵌入式操作系统”,特点是:快速、高效、具有实时处理功能代码非常紧凑,存储需求小,3.2 操作系统,MS Windows操作系统,特点:提供了多任务处理能力在个人计算机上广泛使用采用图形用户界面,简化了计算机操作版本的演变:,Windows 7,对Windows操作系统的分析,Windows操作系统垄断了PC 机OS市场的90%以上份额Windows流行的原因:有大量第三方软件和硬件产品(各种应用软件和显卡、鼠标器、打印机等)开发了多种版本,不同版本适应不同的硬件平台和用户群体对Windows的批评:可靠性不够高:不稳定,系统会越来越慢,甚至死机安全性不够好:存在安全漏洞,容易受到病毒、蠕虫、木马和其他攻击的侵扰,UNIX和Linux操作系统,都属于主流操作系统,在巨型机、大型机上作为网络操作系统使用两者的关系及演变如右图Linux经过裁剪后可应用于嵌入式系统,资料:LINUX的起源,Linux是一种“类UNIX”的操作系统,它的原创者是芬兰的一名青年学者林纳斯托瓦兹(Linus Torvalds),1991年时他是一个年仅21岁的大学生。起初他不准备买个人计算机,因为他不喜欢当时流行的操作系统MS-DOS。林纳斯托瓦兹曾经学习过操作系统的知识,所以他决定自己尝试做一个操作系统。,林纳斯托瓦兹的工作是基于UNIX 的一个教学版本Minix进行的,不久他便拼凑起了一个内核(操作系统最核心的部分)。当他在网上一个讨论组中提到他的计划时,有人在一所大学的服务器上给他提供了一块存储空间,以便他把编写好的程序上传上去,其他人则可从服务器上拷贝这个程序,进行试用和修改然后再传回给托瓦兹。这些工作的所有成果就成为后来众所周知的Linux。,LINUX是开源软件,在紧接着的两年里,Linux日臻完善,完全可以作为一个产品发布出去。但是托瓦兹并没有申请专利权并把Linux作为商品来出售。他在自由软件联盟申请了普通公共许可证(General Public License,GPL),使Linux成为一个完全自由的软件。根据GPL的规定,任何人可以对Linux进行修改、传播甚至出售,由于Linux的源代码始终是公开的,它成为了众所周知的开放源代码软件,也是开放源代码运动的先锋。全世界有数以千计的程序员参与了开发Linux的工作。他们编写程序、修改错误并对程序进行改进,开发了适应各种不同需求的版本,使Linux逐渐成为一个功能强大、用途广泛的产品。,资料:LINUX kernel的版本变化,1991年,Linus Torvalds 公开了 Linux 内核1993年,Linux 转向 GPL 版权协议1994年,Linux 1.0 的第一个商业发行版 Slackware 问世1996年,美国国家标准技术局确认 Linux 版本(由 Open Linux 公司打包)符合 POSIX 标准1999年,Linux 的简体中文版问世2001年,Linux2.4版发布2003年,Linux2.6版发布目前的最新版本是:(July 13,2008发布),资料:Linux内核的组成,LINUX的应用,用户遍及商业、政府、教育以及家庭等不同领域。Linux在网络服务器、个人计算机、巨型机、嵌入式系统(如手机、游戏机、电子书阅读器、路由器等)中发挥了巨大的威力SUN、Apple、惠普、Dell、IBM以及其他许多计算机公司加入LINUX行列,开发出许多Linux系统平台上的应用软件,进一步促进了Linux的发展。,Windows操作系统,UNIX操作系统,Linux操作系统,OS/2操作系统,常见操作系统,习题选讲,3.2 操作系统,第3章 计算机软件,3.1 概述3.2 操作系统3.3 算法和程序设计语言,3.3 算法与程序设计语言处理系统,3.3.1 算法 3.3.2 程序设计语言 3.3.3 程序设计语言处理系统,计算机求解问题的步骤,1.确定并理解问题2.寻找解决问题的方法与步骤,并将其表示成算法(Algorithm)3.使用某种程序设计语言描述该算法(编程),并进行调试4.运行程序,获得问题的解答5.进行评估,改进算法和程序,3.3 算法和程序设计语言,算法是解决问题的方法与步骤,例:有三个硬币,其中一个是伪造的,另两个是真的,伪币与真币重量略有不同。现在提供一座天平,如何找出伪币呢?分析:方法明确而有序按提供的条件进行操作任何人均可仿照进行(共享智能),开始,C是伪币,B是伪币,A是伪币,AB?,AC?,是,否,否,是,3.3 算法和程序设计语言,关于算法的三方面问题,如何确定算法(算法设计)?如何表示算法(算法表示)?如何使算法更有效(算法分析)?,3.3 算法和程序设计语言,典型问题:如何对数据进行排序,问题:任给一组(n个)整数,将它们从小到大进行排序“选择排序”算法的思路:从所有整数中选一个最小数,作为已排序的第一个数 从剩下未排序整数中选最小的数,添加到已排序整数的后面 反复执行步骤,直到所有整数都处理完毕,“选择排序”算法举例,自然语言描述,“比较与的重量,若,则是伪造的;否则再比较与的重量,若,则是伪造的;否则是伪造的。”缺点:容易产生歧义,很难“精确”地进行表达叙述冗长,很难清楚地表达算法的逻辑流程,3.3 算法和程序设计语言,算法的流程图表示,流程图由结点和有向边构成,它描述了算法所执行操作的顺序及执行操作的条件流程图符号:,比文字描述简明,但当算法比较复杂时,理解困难,容易产生错误,用流程图表示选择排序算法,使用伪代码描述算法,伪代码(Pseudo code)是用来描述算法的一种语言,它既类似于自然语言,又使用与程序设计语言相似的方法描述算法,优点:结构清晰,代码简单,可读性好,可以容易地以任何一种编程语言(Pascal,C,Java等)实现,每个整数是A的一个元素:A1,A2,An,算法分析的基本内容,正确性:给定有效输入后,经过有限时间的计算,产生正确的输出结果简单性:算法是否容易理解,是否容易验证其正确性,程序是否容易调试简单的算法效率不一定高,要在保证一定效率的前提下力求算法简单时间复杂性(Time Complexity):当问题的规模n充分大时,运行该算法所需要的时间的数量级表示 空间复杂性(Space Complexity):除原始数据之外,额外占用的存储空间的大小,3.3 算法和程序设计语言,选讲:选择排序算法的时间复杂性,假设参加排序的整数有n个(1)比较操作的次数:在第i趟排序中选出最小整数时,需做n-i次比较操作,因此,总的比较操作次数为:n(n-1)/2=(n2-n)/2(2)移动操作的次数:最好情况(原始数据已经排序)时,移动次数为0最坏情况(原始数据逆序排列)时,每趟均要执行交换操作(3次传送),总的移动次数取最大值为:3(n-1)所以,直接选择排序的时间复杂性 为 O(n2),设置i的初值为1,循环执行下列操作,直到I=n:确定Ai 到An中最小的整数元素的位置,设为j;交换Ai和j;i=i+1,计算机中处处是算法!(选讲),例1:Word程序如何在文档中查找用户指定的词语?例2:在Word文档的表格中如何将表格内容排序?例3:如何把一幅彩色图片转换为灰度(黑白)图片?例4:Windows如何在硬盘中找到用户指定的文件?例5:媒体播放器如何把MP3文件转换成动听的音乐?例6:搜索引擎如何在WWW网中找到用户需要的网页?,3.3 算法和程序设计语言,算法是计算机软件的灵魂,计算机的通用性是因为它能运行各种各样的程序,而程序之所以能解决问题,是因为它所体现了正确的算法算法所解决的是一类问题而不是一个特定的问题,例如排序(sort)可以是表格内容的排序,也可以是文件夹中文件的排序,可以按数字或文字排序,也可以按日期排序,等等查找(search),可以在文档中查找某个单词或在硬盘中查找某个文件,也可在Web上查找某个网页,等等开发计算机应用的核心是:根据实际问题给出解题的算法,然后再将该算法在计算机上实现(即开发成为软件),3.3 算法和程序设计语言,计算机算法的4个特点,目的:完成某个特定的信息处理任务必须满足的性质:确定性:算法中每一步操作的含义必须清楚明确,无二义性 能行性:算法中有待实现的操作都是计算机可执行的,即必须在计算机的能力范围之内 有穷性:算法在执行了有限步操作后必须结束 算法结束后至少产生一个输出(包括参量或状态的变化),3.3 算法与程序设计语言处理系统,3.3.1 算法 3.3.2 程序设计语言 3.3.3 程序设计语言处理系统,什么是程序设计语言?,什么是程序?程序是为了用计算机解决某个问题而采用程序设计语言编写的一个指令序列什么是程序设计语言?语言的目的是用于通信程序设计语言用于人与计算机之间的通信程序设计语言是由人使用但计算机可以理解的一种语言程序设计语言用于编制程序,表达需要计算机完成什么任务和怎样完成任务,然后交给计算机去完成,3.3 算法和程序设计语言,程序设计语言填补了人与计算机交流的鸿沟,3.3 算法和程序设计语言,程序设计语言分类,机器语言(二进制代码形式、可被计算机直接执行)汇编语言(面向机器指令系统、移植困难)高级语言(易学、易用、易维护),3.3 算法和程序设计语言,机器语言,操作数地址,机器语言就是计算机的指令系统指令是使用二进制编码表示的用机器语言编程序,也就是直接使用二进制代码编写程序优点:可以直接被计算机执行缺点:记不住、难理解、效率低、不易维护不同的机器语言程序,相互不兼容现在已不直接用机器语言编制程序!,3.3 算法和程序设计语言,例:机器语言程序(选讲),在MIPS计算机上求最大共约数(GCD)的机器程序(16进制表示),MISP计算机的每条机器指令均为32个二进位,用8个16进制数表示,3.3 算法和程序设计语言,汇编语言,用助记符号来表示机器指令中的操作符与操作数,3.3 算法和程序设计语言,高级程序设计语言,目的:克服汇编语言的缺陷,提高编程和维护的效率 特点:接近人们日常使用的自然语言(主要是英语)容易理解、记忆和使用可在不同计算机上通用对使用的符号、词汇、语法和语义等各种语言成分都有严格的规定意义:使程序设计的难度降低,导致了计算机的发展进入新的阶段,3.3 算法和程序设计语言,什么是程序设计语言?,什么是程序?程序是为了用计算机解决某个问题而采用程序设计语言编写的一个指令序列什么是程序设计语言?语言的目的是用于通信程序设计语言用于人与计算机之间的通信程序设计语言是由人使用但计算机可以理解的一种语言程序设计语言用于编制程序,表达需要计算机完成什么任务和怎样完成任务,然后交给计算机去完成,高级程序设计语言的发展(选讲),50年代:Fortran,ALGOL60年代:COBOL语言70年代:Pascal 语言,C语言,BASIC语言80年代:Ada语言,PROLOG语言,LISP语言90年代起:面向对象语言C+、JAVA、C#等,3.3 算法和程序设计语言,常用程序设计语言介绍,FORTRAN语言,BASIC和VB语言,Java语言,C语言和C+语言,3.3 算法和程序设计语言,FORTRAN语言,FORTRAN是FORmula TRANslation(公式翻译)的缩写词,它是一种主要用于数值计算的面向过程的程序设计语言。FORTRAN语言的特点是接近数学公式,简单易用 目前最新的国际标准是FORTRAN2003,3.3 算法和程序设计语言,BASIC和Visual Basic语言,BASIC语言的特点是简单易学Visual BASIC(VB)语言是微软公司基于BASIC发展而来的一种程序设计语言,特点是:是一种可视化的、面向对象的、采用事件驱动方式的结构化高级程序设计语言具有高效率、简单易学及功能强大的特点可以高效、快速地开发Windows 环境下功能强大、图形界面丰富的应用软件,3.3 算法和程序设计语言,Java语言,由SUN Microsystem公司于1995年发布的一种面向对象的、用于网络环境的程序设计语言基本特征是:适用于网络分布环境具有一定的平台独立性安全性和稳定性好Java语言受到各种应用领域的重视,取得快速的发展,在Internet上已推出了用Java语言编写的很多应用程序大家在浏览Web网页时经常会遇到用Java语言编写的应用程序(Java applets),而且它在许多便携式数字设备中也得到了广泛应用,如很多手机中的软件就是用Java编写的2009年4月20日Oracle甲骨文公司宣布收购sun公司的Java和Solaris,3.3 算法和程序设计语言,C语言和C+语言,C语言是19721973年间由ATT公司Bell实验室开发而成C语言兼有高级语言的优点和汇编语言的效率,有效地处理了简洁性和实用性、可移植性和高效性之间的矛盾C+语言以C语言为基础发展而成,既有数据抽象和面向对象能力,运行性能高,又能与C语言兼容,因而C+语言迅速流行,成为当前面向对象程序设计的主流语言,3.3 算法和程序设计语言,3.3 算法与程序设计语言处理系统,3.3.1 算法 3.3.2 程序设计语言 3.3.3 程序设计语言处理系统,程序设计语言的翻译程序,把甲语言编写的程序翻译为等价的乙语言编写的程序。其中甲语言程序称为源程序,乙语言程序称为目标程序,常用的有下列几种:,3.3 算法和程序设计语言,编译程序与解释程序的区别,解释:解释器直接解释并且执行源语言程序,不产生目标程序(相当于“口译”)编译:把源程序编译为机器语言目标程序后,再由计算机运行(相当于“笔译”),BASIC、Visual Basic、VBScript、Java、JavaScript等都是解释执行的语言,C、C+等都是需要编译的语言,3.3 算法和程序设计语言,C语言和C+语言,C语言是19721973年间由ATT公司Bell实验室开发而成C语言兼有高级语言的优点和汇编语言的效率,有效地处理了简洁性和实用性、可移植性和高效性之间的矛盾C+语言以C语言为基础发展而成,既有数据抽象和面向对象能力,运行性能高,又能与C语言兼容,因而C+语言迅速流行,成为当前面向对象程序设计的主流语言,习题选讲,第三章结束,计算机软件的发展过程第一阶段(上世纪40年代到50年代中期)主要应用领域:科学与工程计算处理对象:数值数据工作方式:个体编程语言:低级重视编程技巧,忽视文档,阅读材料3.1,计算机软件的发展过程第二阶段(上世纪50年代中期到60年代后期)出现高级语言、操作系统和数据库管理系统解决“软件危机”结构程序设计方法工程方法开发软件从理论上探讨程序正确性和软件可靠性问题着重研究高级设计语言、编译程序、操作系统以及各种支撑软件和应用软件。设计和编制程序的工作方式逐步走向合作方式。,阅读材料3.1,计算机软件的发展过程第三阶段(上世纪70年代迄今)软件工程(好处:高效编制高质软件)软件领域工作的新特点出现嵌入式应用软件、网络软件及分布式应用软件计算机辅助软件工程研究软件过程本身的规律,研究软件开发风范与模型软件开发新技术的标志:智能化、自动化、集成化、并行化、开放化、自然化,阅读材料3.1,返回,阅读材料3.2,Windows文件管理与FAT表,磁盘存储空间的结构,磁盘存储空间可以看作是由大量扇区(512B)组成的1维阵列 存储容量 扇区总数x512字节/109(单位:GB),一个硬盘可以划分为几个分区(Partition),分区所包含的扇区号应连续,分区相互间

    注意事项

    本文(《计算机软件》PPT课件.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开