第3章计算机软件ppt课件.ppt

上传人:牧羊曲112 文档编号:1401492 上传时间:2022-11-19 格式:PPT 页数:122 大小:4.29MB
返回 下载 相关 举报
第3章计算机软件ppt课件.ppt_第1页
第1页 / 共122页
第3章计算机软件ppt课件.ppt_第2页
第2页 / 共122页
第3章计算机软件ppt课件.ppt_第3页
第3页 / 共122页
第3章计算机软件ppt课件.ppt_第4页
第4页 / 共122页
第3章计算机软件ppt课件.ppt_第5页
第5页 / 共122页
点击查看更多>>
资源描述

《第3章计算机软件ppt课件.ppt》由会员分享,可在线阅读,更多相关《第3章计算机软件ppt课件.ppt(122页珍藏版)》请在三一办公上搜索。

1、第3章 计算机软件,3.1 概述3.2 操作系统3.3 算法与程序设计,3.1 软件概述,1. 什么是计算机软件2. 计算机软件的特性3. 计算机软件的分类,3.1 什么是计算机软件,计算机系统=硬件+软件,计算机系统是由硬件和软件组成的,两者缺一不可!,软件、硬件和用户的关系,硬件的能力非常有限,只是速度极高而已 没有软件,硬件几乎什么任务也完成不了,用户通过应用软件完成特定的任务,计算机通过软件才能进行信息处理,不同的任务,需要使用不同的软件来完成,什么是程序(program) ?,程序是告诉计算机做什么和如何做的一组指令(语句),这些指令(语句)都是计算机能够理解并能够执行的一些命令程序

2、的特性: 用于完成某一确定的信息处理任务 使用某种计算机语言描述如何完成该任务 预先存储在计算机中,启动运行后才能完成任务,程序与数据的关系,程序所处理的对象和处理后得到的结果统称为数据(分别称为输入数据和输出数据)程序必须处理合理的输入数据,否则不会产生有意义的输出程序和数据有相对性,程序与软件是什么关系?,软件往往指的是设计比较成熟、功能比较完善、具有某种使用价值、且有一定规模的程序软件既包含程序、也包含与程序相关的数据和文档:程序是软件的主体数据指的是程序运行过程中处理的对象和必须使用的一些参数(如三角函数表、英汉词典等)文档指的是与程序开发、维护及操作有关的一些资料(如设计报告、维护手

3、册和使用指南等)“软件” 强调的是产品、工程、产业或学科等宏观方面的含义,“程序”更侧重技术层面的含义软件和程序本质上相同,在不会发生混淆的场合,软件和程序两个名称经常混用,并不严格加以区分,2. 计算机软件的特性,计算机软件有哪些特性? (1),1. 不可见性(是无形的,不能被人们直接观察、欣赏和评价) 2. 适用性(可以适应一类应用问题的需要 ) 3. 依附性(依附于特定的硬件、网络和其他软件 ) 4. 复杂性(规模越来越大,开发人员越来越多,开发成本也越来越高) ,例如:,微软Vista操作系统及Office2007两个团队的开发人员总共9000余人,仅Vista就投入90亿美元,开发历

4、时6年!,计算机软件有哪些特性? (2),5. 无磨损性(功能和性能一般不会发生变化 ) 6. 易复制性(可以非常容易且毫无失真地进行复制 ) 7. 不断演变性(软件的生命周期 ) ,例如:版本不断改版(Office 2000, 2003, 2007, 2010, 2013,2016) 软件不断更新(升级、补丁或service pack)添加新特性修复漏洞,提高安全性,8. 有限责任(有限保证) 9. 脆弱性(黑客攻击、病毒入侵、信息盗用),“本软件不做任何保证。程序运行的风险由用户自己承担。这个程序可能会有一些错误,你需要自己承担所有服务、维护和纠正软件错误的费用。另外,生产厂商不对软件使用

5、的正确性、精确性、可靠性和通用性做任何承诺。”,3. 计算机软件的分类,计算机软件与知识产权,软件是智力活动的成果,受到知识产权(版权)法的保护版权授予软件作者(版权所有者)享有下列权利:拷贝、发布、修改、署名、出售、保护知识产权的目的: 确保脑力劳动成果受到奖励,鼓励人们进行发明创造购买一个软件,用户仅仅得到了该软件的使用权,并没有获得它的版权随意进行软件拷贝和分发是一种违法行为IDC的一项调查标明,25%提供盗版软件的网站在用户下载时,装置了恶意代码;微软报告称46%盗版Windows7系统含木马及病毒。我国公安部2010.2发布报告,使用盗版软件病毒感染率高达70.5%,从软件知识产权对

6、软件进行分类,商品软件共享软件(shareware) (也称为试用软件demoware)具有版权,可免费试用一段时间,允许拷贝和散发(但不可修改),试用期满后需交费才能继续使用,自由软件 (Free Software)(开放源代码软件)用户可共享,并允许随意拷贝、修改其源代码,允许销售和自由传播。但是,对软件源代码的任何修改都必须向所有用户公开,还必须允许此后的用户享有进一步拷贝和修改的自由免费软件(Freeware)( Free Software) 无需付费即可获得的软件。例如 PDF阅读器、Flash播放器等自由软件很多是免费软件;免费软件不全是自由软件,软件的许可证(license),软

7、件许可证也称为“许可证协议”,它规定了计算机软件使用方式的法律合同,软件使用有哪些额外的限制,有哪些额外的权利等许可证的类型:单用户许可证多用户许可证并发用户许可证定点(fixed site)许可证许可证的形式:拆封许可证最终用户许可证,不能再次出售只能安装在1台计算机上不得进行反汇编、反编译不得将其组成部分分散在多台计算机上使用不得出租或出借,从用途对计算机软件分类,系统软件不是为了解决某种具体应用,而是为了:给用户使用计算机提供方便给应用软件的开发与运行提供支持使计算机有效、安全、可靠地运行,应用软件(APP)专门用于帮助最终用户解决各种具体应用问题的软件分类(按开发方式):定制应用软件通

8、用应用软件几乎所有领域、所有人都需要使用设计精巧,易学易用商品化,价格较低,应用软件/系统软件/硬件之间的分工,用户按下 P 键,Hi ,OS ,发生了一个事件:“P”键被按下了!,Hi,财务系统,键盘输入的是P,看着办吧!,Hi,OS ,请打印我送到你那里的工资报表文件 !,Hi,激光打印机,把我送给你的数据打印出来 !,激光打印机开始打印,*,通用应用软件的类别与功能,启发:成功软件的经验是什么?,它们都具有如下特点:1 它们能替代现实世界已有的其他工具,而且使用起来比已有工具更方便有效2 它们能完成已有工具很难完成甚至完全不可能完成的工作,扩展了人们的能力3 成功的市场运作和售后服务4

9、不断更新、不断发展(功能、技术、性能等),什么是系统软件?,系统软件是给用户使用计算机提供方便、为应用软件提供支持、使计算机安全可靠高效地运行的必不可少的软件举例:基本输入/输出系统(BIOS)操作系统(如Windows、Unix、Linux等)程序开发工具与环境(如C语言编译器等)数据库管理系统(DBMS)实用程序(Utility,如磁盘清理程序、备份程序、杀毒软件、防火墙等),系统软件有哪些特性?,与计算机硬件有密切的关系,能对硬件进行统一的控制、调度和管理;具有通用性,能为多种不同应用软件的开发和运行提供支持与服务在任何计算机系统中,系统软件都是必不可少的在购买计算机时,通常计算机供应厂

10、商会提供给用户一些最基本的系统软件,否则计算机无法工作。,最重要的系统软件有哪些?,操作系统(OS)OS是最重要的系统软件,几乎所有计算机都需要OS功能上也包含BIOS在内程序设计语言处理系统编译器解释器汇编程序(汇编器)开发工具与平台数据库管理系统(DBMS)实用程序,实用程序用于协助OS或用户完成日常系统维护和监管任务,使计算机系统更加安全、可靠、方便、有效,3.2 计算机操作系统,3.2.1 什么是操作系统3.2.2 多任务处理3.2.3 文件与文件管理3.2.4 存储管理3.2.5 设备管理3.2.6 常用操作系统,3.2.1 什么是操作系统(OS)?,OS为用户提供了一个操作使用计算

11、机的友善的用户界面OS屏蔽了计算机中几乎所有物理设备的技术细节,为开发和运行其他软件提供了一个高效、可靠的平台,没有安装任何软件的计算机称为裸机, 裸机是无法使用的 操作系统是用于执行各种具有共性和基础性操作的软件,是最重要的一种系统软件,几乎所有计算机都要安装OS,为什么需要操作系统?,控制基本的输入/输出操作,分配系统中的资源,管理存储器空间,监测计算机运行和故障,维护计算机安全,进行计算机之间的通信,方便用户的操作使用,提供应用程序开发平台,操作系统的组成,操作系统是一种大型、复杂的软件产品,它包括:操作系统内核(kernel)其他配套软件, 如:图形用户界面程序GUI实用程序(任务管理

12、器、磁盘清理程序、杀毒软件、防火墙等)为支持应用软件开发和/或运行的各种软件构件(如应用框架、编译器、程序库等)常用的应用程序(如日历、计算器、资源管理器、网络浏览器等),操作系统内核(kernel),OS内核指的是能提供进程管理(任务管理)、存储管理和设备管理等功能的那些软件模块,它们是操作系统中最基本的部分OS内核的特点:常驻在内存中;以CPU的最高优先级运行,能执行指令系统中的特权指令;具有直接访问各种外设和全部主存空间的特权;负责系统资源的管理和分配,常用的3种OS内核,微软公司的NT内核:Windows XP 操作系统Windows Vista 操作系统Windows7 、8操作系统

13、Windows 10 操作系统Windows Server 2003、2008、2012 服务器操作系统Windows Phone 手机操作系统Linux内核(自由软件):安卓(Android)操作系统GNU/Linux 操作系统 Darwin内核(类Unix系统):iOS 操作系统,注:我们平时提到“操作系统”时,有时指的是“操作系统内核”,有时指的是“操作系统产品”,需按照上下文进行理解。,操作系统的重要作用,三个主要作用: 1 为运行的程序(称为”进程”)管理和分配软/硬件资源 2 为用户提供友善的人机界面(图形用户界面) 3 为开发和/或运行应用程序提供高效率的平台其它辅助功能:显示系

14、统状态处理软硬件错误保护系统安全,基本输入输出系统(BIOS),BIOS是存放在主板上只读存储器(flash ROM) 中的一组程序(也称为firmware, 固件 )主要包含4个部分:加电自检程序 (诊断计算机故障)系统自举(装入)程序 (装入Bootloader程序以加载OS)CMOS设置程序 (设定和修改计算机配置)基本外围设备的驱动程序 (控制基本的I/O操作)计算机断电后,BIOS程序和CMOS中的数据仍保持不变需要时BIOS程序可以升级(update),BIOS和操作系统的启动过程,ROMBIOS,RAM,CPU,CMOS,3.2.2 多任务处理,什么是任务,什么是多任务处理?,通

15、俗地说,“任务”指的是要计算机做的一件事,计算机执行一个任务通常就对应着运行一个应用程序APP“单任务处理”与“多任务处理”单任务处理:计算机一次只能执行一个任务。启动新任务必须暂停或结束老任务的运行,任务是一个一个执行的多任务处理(Multitasking):允许计算机同时执行多个任务,任务是并发执行的多任务处理举例:编辑PPT讲稿 + 播放音乐 + 收发邮件多任务处理的优点:大大提高了用户的工作效率大大提高了计算机的使用效率,Windows 多任务处理举例,制作PPT讲稿,查看文件夹内容,收发电子邮件,播放音乐,如何知道有哪些任务在运行?,每启动一个应用程序,OS就会打开一个相应的窗口,通

16、常一个窗口就是一个任务每启动一个应用程序,OS就会在任务栏上显示一个相应的任务按钮(程序按钮),通常一个按钮就是一个任务窗口可以放大或缩小,甚至可以“最小化”,但任务的运行不受其影响使用“任务管理器”程序可以了解每个任务的运行情况,(Windows 8.1中的任务管理器),什么是前台任务与后台任务?,前台任务:能接受用户输入(击键或按击鼠标)的窗口只能有一个,称为活动窗口,它所对应的任务称为前台任务后台任务:除前台任务外,所有其它任务均为后台任务前台任务与后台任务的区别:前台任务对应的窗口(活动窗口)位于其它窗口的前面活动窗口的标题栏比非活动窗口颜色更深(深蓝色)前台任务与后台任务的共同点:都

17、在计算机中运行前台任务与后台任务的切换:为了输入信息到某个后台任务中去,必须切换窗口(单击要激活的后台任务窗口的任何部位, 或单击任务栏中对应的任务按钮),如何结束任务的运行?,每一个应用程序运行时都要占用大量的系统资源(存储器、CPU、屏幕等),所以当不再需要某个应用程序运行时,就应该退出这个应用程序,释放它所占用的资源多数应用程序都设计成交互式控制的方式,所以运行完毕后必须由用户退出该程序。Windows XP中退出应用程序的几种方法:最快速的方法,是左击应用程序窗口右上角的红色“叉子”按钮左击窗口左上角的控制按钮,在弹出菜单中选择“关闭”在应用程序的“文件”菜单中,选择“退出”通过OS的

18、任务管理器,强迫结束任务,OS如何支持多任务处理?,为什么可以实现多任务处理?CPU速度极高,且有时不止1个,必须并且可以充分发挥CPU的效能CPU与I/O(外围设备)可以并行工作,CPU不必等待I/O完成各个外围设备之间可以并行工作实现多任务处理要解决哪些问题?任务多,CPU少,如何管理和调度存储器空间如何分配和管理 I/O设备和I/O操作如何管理和控制谁来解决上述问题?不是应用程序自己,而是操作系统(OS) !,CPU的管理(处理器管理),目的:让CPU轮流为所有任务服务原则:公平性;优先级;负载均衡方法:按时间片轮转(10-20ms为1个时间片 )按优先级调度,任务1,任务2,任务3,任

19、务4,任务5,时间,Windows中的处理器管理,Windows为了确保每个已经启动的任务都有机会运行,它采用“抢先式”多任务处理技术:由硬件计时器大约每10-20ms发出1次中断信号,Windows立即暂停当前正在运行的任务,查看当前所有的任务,选择其中的一个交给CPU去运行只要时间片结束,不管任务有多重要,也不管它执行到什么地方,正在执行的任务就会被强行暂停执行 上述的任务调度,每秒钟要进行几十次几百次实际上,操作系统本身的若干程序也是与应用程序同时运行的,它们一起参与CPU时间的分配。当然,不同程序的重要性不完全一样,它们获得CPU使用权的优先级也有区别,智能手机的多任务处理,用户单击H

20、ome键时系统退回桌面并将正在运行的任务切换到后台状态并暂停执行(称为“挂起”或“冻结”),如果重新点击该应用,它将立刻恢复到退出之前的状态继续运行,这种做法称为快速切换App(fast app switching) 一些特定软件如Safari浏览器和Mail邮件程序、音频播放(如QQ音乐)、地理位置检测(如谷歌地图)和IP电话(如Skype)等APP切换到后台后,允许继续运行(或运行一定时间),实现多任务处理,智能手机的多窗口显示,(a) 分屏显示 (b)悬浮窗口 (c)画中画,3.2.3 存储管理和虚拟存储器,操作系统运行时内存的态势,系统运行时内存储器的布局,内存储器空间划分为2个部分:

21、系统区和用户区,用户区用来存放正在运行的应用程序,分析:允许同时运行多少程序?数目有没有限制?程序的大小和数据的规模受不受限制?程序与程序相互之间会不会互相干扰?,每个应用程序运行时均有属于它自己的存储器空间,用来存储它自己的程序代码和数据,“存储管理”需要解决哪些问题?,为每个任务分配存储空间,任务结束之后收回存储空间对存储空间进行保护保护操作系统所在区域不被应用程序修改保护每个应用程序的私有区域不被其他程序修改提供内存空间共享。允许一些存储区域被多个任务共享访问,提高内存的利用率 对存储空间进行扩充,使应用程序的存储空间不受实际存储容量大小的限制 解决方案虚拟存储器(Virtual Mem

22、ory),虚拟存储器的设计思想,每个程序都在各自的虚拟空间中工作,每个程序启动运行后,只有一部分代码和数据装入内存中,其余都放在硬盘的一个专门区域中,该区域称为 “虚拟内存”,物理内存,虚拟内存(pagefile.sys),虚拟空间2,虚拟空间1,程序运行时,若程序和数据在物理内存,就直接访问物理内存,若程序和数据不在物理内存,则把它们从虚拟内存装入物理内存后再使用,特点:1)整个过程自动完成; 2)程序可用内存容量超过实际物理容量;3)多个程序互不干扰,操作系统,虚拟存储器的工作过程,磁盘中的交换区(虚拟内存),特点:1)由硬件和OS自动完成,对程序员透明; 2)程序可用的内存容量允许超过实

23、际容量;3)多个进程互不干扰 根据:程序的局部性原理,Windows 的虚拟存储器,Windows 操作系统中:每个程序的虚存空间最大可达到4GB页面的大小通常是4KB虚拟内存是系统盘根目录下的一个名为pagefile.sys的文件,其大小和位置用户可设置使用“任务管理器”可以查看:总的物理内存大小可用物理内存大小总的虚拟内存大小可用虚拟内存大小等,3.2.4 文件管理,“文件”概念的由来,什么是文件(file) ?,程序和数据通常都存储在外存储器中,为了便于存取和管理,它们都组织成 “文件(file)”文件是存储在外存储器中的一组相关信息的集合,例如: 一个程序 一张图片 一只MP3歌曲 一

24、封邮件每个文件均有自己的“文件名”,用户(或软件)使用文件名读出/写入(称为“存取”) 外存储器中的文件文件的名字由两部分组成:(主文件名) .扩展名,关于文件名和扩展名,Windows中允许使用长文件名,即文件名最多可包含255个中文或西文字符英文字母的大、小写只在形式上加以区分,内部不予区别 (如Text.DOC 与 text.doc 是同一个文件)常用数据文件的扩展名:,(数据文件的扩展名是通用的,Windows、iOS和安卓系统中都相同),应用程序的文件扩展名:Windows中:.exeiOS: .app安卓系统中: .apk,文件的组成和文件说明信息,每一个文件都由2部分组成:,文件

25、属性在文件管理中的作用,“系统”属性 表示该文件属于操作系统,删除时系统会给出警告,资源管理器若不特别设置为“显示全部文件” 时不会在文件列表中显示“隐藏”属性 若资源管理器设置为“不显示隐藏文件”,则不会在文件列表中显示出来“存档”属性 文件尚未存档的标识,“文件备份程序”通过该属性来决定是否对它进行备份,新建的或备份后又修改过的文件,其存档属性为1,执行备份操作后存档属性为0;“只读”属性 该文件不能修改,若进行修改必须以不同的文件名保存“压缩”属性 文件数据保存到外存时进行数据压缩“加密”属性 对文件内容进行了加密,以进行保护,文件在磁盘中如何存储?,磁盘分成两个区域:目录区和数据区 目

26、录实质上是一张 “文件名存放位置” 的对照表,从磁盘上读出一个文件时,先在目录区中找出该文件的存放位置,然后再按此位置,从磁盘的数据区中读出该文件内容,文件目录,文件目录/文件内容在辅存中的存放,Windows 的文件组织,文件目录在Windows中称为文件夹每个逻辑盘(物理盘或硬盘上的分区)是一个根文件夹文件夹中既可包含文件,也可包含文件夹 (子文件夹),子文件夹又可存放文件和子文件夹, 形成树状多级文件夹结构,为什么使用多级文件夹?1)有利于文件分类存储2)允许文件同名(在不同文件夹中时)3)便于文件共享和保护,Windows 中文件如何定位?,计算机中的每个文件都有一个确定的位置文件的位

27、置由存放文件的逻辑驱动器号、文件路径以及文件名组成: 驱动器号(盘符) + 文件路径 + 文件名,例 右图中文件02.ppt的位置是: D:数据概论讲稿02.ppt,从根文件夹到文件所在文件夹所顺序经过的一串文件夹,其间用“”相互隔开,安卓手机的文件目录树,文件管理和文件系统,文件系统需要解决的问题:有效管理外存储器的存储空间实现对文件方便而快速的按名存取对硬盘、光盘、优盘、存储卡等不同外存储器实现统一管理统一本地文件/远程文件的存取操作实现文件的安全存取,文件系统是OS的一个组成部分,它负责管理计算机中的文件,使用户(和程序)能很方便地进行文件的存取操作,3.2.5 设备管理,OS中的“设备

28、管理”程序负责:对系统中的各种输入输出设备进行管理处理用户(或应用程序)的输入/输出请求,方便、有效、安全地完成输入/输出操作Windows的设备驱动程序和“设备管理器”,3.2.6 常用操作系统介绍,操作系统的四种类型,PC机使用的操作系统一般都具有多任务处理功能网络服务器上安装运行的是“服务器操作系统”,特点是:具有强大的多用户并发处理能力支持多种网络通信功能,提供专门的网络应用服务安全性强,可靠性好,支持7x24服务军事指挥和武器控制系统、电网调度和工业控制系统、证券交易系统等, 安装运行的是“实时操作系统”,特点是:对外部事件能在允许的时间范围内快速作出响应,具有很高的可靠性和安全性嵌

29、入式计算机应用中运行的是“嵌入式操作系统”,特点是:快速、高效、具有实时处理功能代码非常紧凑,存储器需求小,微软Windows操作系统的演变,特点:提供了多任务处理能力采用图形界面,简化计算机操作在个人计算机上广泛使用版本的演变:,对Windows操作系统的分析,Windows操作系统垄断了PC 机OS市场的90%左右的份额Windows流行的原因:有大量第三方软件和硬件产品(各种应用软件和显卡、鼠标器、打印机等)开发了多种版本,不同版本适应不同的硬件平台和用户群体对Windows的批评:可靠性不够高:不稳定,系统会越来越慢,甚至死机安全性不够好:存在安全漏洞,容易受到病毒、蠕虫、木马和其他攻

30、击的侵扰,微软有可能使我们的所有计算机停止运作或控制所有的计算机吗?它会盗取企业或政府的机密吗?,关于UNIX和Linux操作系统,UNIX操作系统,最早由Bell实验室开发成功,在大学和科研单位广泛使用,因特网也首先在UNIX系统上流行特色:结构简练、功能强大、可移植性好、可伸缩性和互操作性强、网络通信功能强、安全可靠等。 直到Linux开始流行,UNIX系统一直是使用最广泛、影响最大的主流操作系统之一,针对不同机型(个人计算机、工作站、服务器、大型机和巨型机) ,UNIX有许多不同版本的产品,Linux发行版及其应用,Linux发行版就是常所说的“Linux操作系统”,它包括Linux内核

31、,安装工具,各种GNU软件以及其他一些自由软件发行版是为了各种不同领域不同目的而开发的,用户遍及商业、政府、教育以及家庭等不同领域Linux操作系统在网络服务器、个人计算机、巨型机、嵌入式系统(如手机、游戏机、电子书阅读器、路由器等)中发挥了巨大的威力全球现在已经有超过300个Linux发行版,最普遍使用的发行版有十多个,附1:智能手机的操作系统,安卓(Android)操作系统,Google推出,属于以Linux为基础的开放源代码操作系统 ,是自由及开放源代码软件支持的处理器类型:ARM、MIPS、Power Architecture、Intel x86采用Android系统的手机厂商:宏达电

32、、三星电子、摩托罗拉、乐喜金星、索尼爱立信、华为等2010年末数据显示,Android已经超越称霸十年的诺基亚(Nokia)Symbian OS,跃居全球智能手机平台首位Android也在平板电脑市场急速扩张,Android 软件系统,安卓应用程序的后缀是APK(或apk),APK是Android Package的缩写,即Android安装包。把APK文件直接传到Android平板电脑或手机中即可安装运行。APK文件其实是zip格式,通过UnZip解压得到Dex文件(Dex是Dalvik VM 执行程序)后,即可直接运行。,Google通过网上商店Google Play(谷歌市场)向用户提供应

33、用程序和游戏供下载。截止至2013年2月,Google Play商店拥有超过80万个经Google认证的应用程序。,Apple iOS操作系统,iOS是苹果公司为 iPhone 、iPod touch、iPad 及 Apple TV 开发的操作系统,占用约240MB的存储空间用户界面:使用多点触控直接操作。控制方法包括:滑动、轻按、挤压及旋转支持硬件:基于ARM架构的CPU限制:JAVAFlashSVG,附2:磁盘空间管理,磁盘存储空间的结构,磁盘存储空间可以看作是由大量扇区(512B)组成的1维阵列 存储容量 扇区总数x512字节/109(单位:GB),一个硬盘可以划分为几个分区(Parti

34、tion),分区所包含的扇区号应连续,分区相互间应无重叠 每个分区称为1个逻辑驱动器,它有自己的盘符,用户可以将它视同为1个物理存储器不同的分区可以安装不同的操作系统,主引导扇区MBR,硬盘上开始的几个扇区,用于管理目的。其中0#扇区特别重要,称为主引导扇区 (Master Boot Record,MBR),它包含如下3部分内容:,指出每个分区的起始扇区号和包含的扇区数目,操作系统的类型,自举装入程序在计算机启动时被BIOS读出并执行,由它再读出相应分区中引导扇区内的引导程序,CPU执行引导程序即可再从磁盘上读入系统启动文件,从而启动操作系统,引导扇区,每个硬盘分区的空间划分,硬盘在格式化或分

35、区时,软件会自动将每个分区均划分为如下5个部分:,簇(Cluster)和文件分配表FAT,磁盘数据空间的分配单位是2n个扇区,称为“簇” ,簇的大小与磁盘分区容量的大小有关:软盘的簇固定为512字节(n0)硬盘的簇可以是2或4KB,40GB以上硬盘,簇可以8KB以上若某分区容量为40GB,簇大小为8KB,则一共有5 000 000 个簇每一个簇都有一个簇号(12/16/32/64位)。簇号是分区中所有簇的顺序号,从簇号很容易计算出磁盘上属于该簇的物理扇区的位置文件分配表(FAT)是用来记录数据空间分配情况的一张表,它指出每个簇是“使用”、“空闲”或“损坏”。其中“空闲”簇和“坏”簇分别用“全0

36、”和“全1” 表示,其它数值表示“已分配”,FAT在格式化时自动生成,一式两份(一份为备份),坏簇在磁盘格式化过程中发现并进行登记,只要1个扇区有问题整个簇就不能使用,数据空间中簇的分配方法,磁盘分区中数据空间是用来存储文件(和子文件夹)数据的,将簇分配给各个文件的方法主要有3类:连续分配索引分配链接分配链接分配的优点:可以分散在任何地方,空间利用率高简单,只需记录文件的起始簇号文件的扩展很容易,Windows系统磁盘空间的分配,每个文件分配若干簇,同一文件所有簇的簇号组织成一个“数字链”,其起始簇号在FDT中指出,FAT表中该簇的状态值则是下一个簇的簇号,直至最后一个簇,文件的最后1个簇状态

37、值为“EOF”,例如:MYFILE的簇是:91611025 共5个簇YOURS的簇是:26292417 共4个簇,文件名 扩展名 创建日期 时间 文件大小 属性 起始簇号,MYFILE TXT 1/23/2004 13:24 40,363 9,YOURS DOC 6/8/2004 23:35 31,329 26,根目录表(FDT),分区中的数据区,文件目录表FDT,根目录区存放文件目录表(File Directory Table,简称FDT),FDT中可以包含多达512个表项FDT表的每个表项长度为32字节,每个表项用于记录包含在根目录中的文件(和文件夹)的说明信息:文件(文件夹)的名字(含扩

38、展名)该文件(文件夹)在数据区中的存放起始簇号日期、时间、所有者、使用属性等信息,文件操作的实现,读出文件 文件系统先在FDT中查找有无该文件,若有,再检查该文件的读、写和保护属性,如有口令保护,核实口令后,再按起始簇号计算出扇区号,从该扇区开始读出文件内容保存文件 文件系统在FDT中查找有无同名文件:如果没有,则在FDT中增加1个表项,同时在FAT中找一个空闲的簇号作为存储该文件内容的起始簇号,并登记在FDT中。然后,按照FAT中指出的空闲簇号,在数据区的相应位置处存储文件数据如果在FDT中发现存在同名文件,则征求用户同意后,可在文件原来所分配的簇中写入新的文件数据(即覆盖原同名文件的数据)

39、,并修改FDT中该文件表项的一些说明信息删除文件 文件系统在FDT中查找有无该文件,若有,是否受到保护,若无保护,则删除FDT中该文件的表项,并将原先该文件占用的簇,在FAT表中全部设置为空闲状态,物理文件系统和虚拟文件系统,系统中有多种不同的外存储器,相应有多种不同的物理文件系统,如FAT16、FAT32 (DOS, Windows)NTFS (NT, XP, Win2000)CDFS,UDF(CD和DVD光盘)UFS, UFS2 (Unix)Minix、EXT、EXT2 (Linux),不同文件系统的基本思想都是一致的,都是通过文件和目录两个抽象概念建立它们各自的管理机构,虚拟文件系统向用

40、户和程序员提供统一的接口来使用各种不同的物理文件系统:统一的编程接口(API) 统一的操作使用,3.3 算法和程序设计,3.3.1 算法3.3.2 程序设计语言3.3.3 程序设计语言处理器,3.3.1 算法,计算机求解问题的步骤,(1) 确定并理解问题;(2) 寻找解决问题的方法与步骤,并将其表示成算法(Algorithm) ;(3) 使用某种程序设计语言描述该算法(编程), 并编译成目标程序和进行调试;(4) 运行程序,获得问题的解答;(5) 进行评估,改进算法和程序,1. 什么是算法?,算法是解决问题的方法与步骤,例:有三个硬币,其中一个是伪造的,另两个是真的,伪币与真币重量略有不同。现

41、在提供一座天平,如何找出伪币呢?分析:方法明确而有序按提供的条件进行操作任何人均可仿照进行(共享智能),A B C,关于算法的三方面问题,如何确定算法(算法设计)?如何表示算法(算法表示)?如何使算法更有效(算法分析)?,2. 算法设计举例,典型问题:如何对数据进行排序,问题:任给一组(n个)整数,将它们从小到大进行排序“选择排序”算法的思路: 从所有整数中选一个最小数,作为已排序的第一个数 从剩下未排序整数中选最小的数,添加到已排序整数的后面 反复执行步骤,直到所有整数都处理完毕,“选择排序”算法举例,3. 算法的表示,文字叙述流程图表示伪代码描述,文字(自然语言)描述,“比较与的重量,若,

42、则是伪造的;否则再比较与的重量,若,则是伪造的;否则是伪造的。”缺点:容易产生歧义,很难 “精确”地进行表达叙述冗长,很难清楚地表达算法的逻辑流程,算法的流程图表示,流程图由结点和有向边构成,它描述了算法所执行操作的顺序及执行操作的条件流程图符号 :,比文字描述简明,但当算法比较复杂时,理解困难,容易产生错误,用流程图表示选择排序算法,使用伪代码描述算法,伪代码(Pseudo code)是用来描述算法的一种语言,它既类似于自然语言,又使用与程序设计语言相似的方法描述算法,优点:结构清晰,代码简单,可读性好,可以容易地以任何一种编程语言(Pascal, C, Java等)实现,每个整数是A的一个

43、元素:A1, A2, , An,4. 算法的分析,算法分析的基本内容,正确性:给定有效输入后,经过有限时间的计算,产生正确的输出结果简单性 算法是否容易理解,是否容易验证其正确性,程序是否容易调试简单的算法效率不一定高,要在保证一定效率的前提下力求算法简单时间复杂性(Time Complexity) :当问题的规模n充分大时,运行该算法所需要的时间的数量级表示 空间复杂性(Space Complexity) :除原始数据之外,额外占用的存储空间的大小,选择排序算法的时间复杂性,直接选择排序的时间复杂性 为 O(n2),关于算法的小结,计算机中处处是算法!,例1:Word程序如何在文档中查找用户

44、指定的词语?例2:在Word文档的表格中如何将表格内容排序?例3:如何把一幅彩色图片转换为灰度(黑白)图片?例4: Windows如何在硬盘中找到用户指定的文件?例5:媒体播放器如何把MP3文件转换成动听的音乐?例6:搜索引擎如何在WWW网中找到用户需要的网页?,算法是计算机软件的灵魂,计算机的通用性是因为它能运行各种各样的程序,而程序之所以能解决问题,是因为它所体现了正确的算法算法所解决的是一类问题而不是一个特定的问题,例如排序(sort) 可以是表格内容的排序,也可以是文件夹中文件的排序,可以按数字或文字排序,也可以按日期排序,等等查找(search), 可以在文档中查找某个单词或在硬盘中

45、查找某个文件,也可在Web上查找某个网页,等等开发计算机应用的核心是:根据实际问题给出解题的算法,然后再将该算法在计算机上实现(即开发成为软件),计算机算法的4个特点,目的:完成某个特定的信息处理任务必须满足的性质: 确定性:算法中每一步操作的含义必须清楚明确,无二义性 能行性: 算法中有待实现的操作都是计算机可执行的,即必须在计算机的能力范围之内 有穷性: 算法在执行了有限步操作后必须结束 算法结束后至少产生一个输出(包括参量或状态的变化),3.3.2 程序设计语言,机器语言汇编语言高级程序设计语言,什么是程序设计语言?,什么是程序?程序是为了用计算机解决某个问题而采用程序设计语言编写的一个

46、指令序列什么是程序设计语言?语言的目的是用于通信程序设计语言用于人与计算机之间的通信程序设计语言是由人使用但计算机可以理解的一种语言程序设计语言用于编制程序,表达需要计算机完成什么任务和怎样完成任务,然后交给计算机去完成,程序设计语言填补了 人与计算机交流的鸿沟,计算机中使用多种“语言”,程序设计语言:主要用于描述算法机器语言、汇编语言、高级语言数据描述语言:主要用于描述数据(文档、音乐、图形、图像、视频等)的规范、结构和文件格式HTML、XML、MIDI、MP3、OpenGL、JPEG、MPEG、脚本语言:用于编写嵌入在文档中的程序的程序设计语言VBA、VBScript、JavaScript

47、 计算机通信语言(通信协议):用于描述计算机-计算机之间的会话(请求-应答)的语法和语义HTTP、POP3、SMTP、 FTP、 Telnet、TCP、IP、数据库语言:用于数据操作,如SQL语言,机器语言,机器语言就是计算机的指令系统指令是使用二进制编码表示的用机器语言编程序, 也就是直接使用二进制代码编写程序优点:可以直接被计算机执行缺点:记不住、难理解、效率低、不易维护不同的机器语言程序,相互不兼容现在已不直接用机器语言编制程序!,例:机器语言程序,在MIPS计算机上求最大公约数(GCD)的机器程序(16进制表示),MISP计算机的每条机器指令均为32个二进位,用8个16进制数表示,汇编

48、语言,用助记符号来表示机器指令中的操作符与操作数,优点:操作数直接使用十进制程序相对容易理解,缺点:大型程序难以开发依赖于具体计算机,将383传送到AX寄存器,将545传送到BX寄存器,将BX内容加AX内容,结果在BX中,将1055传送到AX寄存器,将AX内容减BX内容,结果在AX寄存器中,高级程序设计语言,目的:克服汇编语言的缺陷,提高编程和维护的效率 特点:接近人们日常使用的自然语言(主要是英语)容易理解、记忆和使用可在不同计算机上通用对使用的符号、词汇、语法和语义等各种语言成分都有严格的规定意义:使程序设计的难度降低,导致了计算机的发展进入新的阶段,选择排序的C语言程序,void sor

49、t ( int A , int n) /* sort函数有2个参数:整型数组A和数组元素个数n */int i, j, t, k ; /* 定义4个整型变量*/for( i=0 ; in-1;i+) /* 重复执行n-1次,每次增加1个已排序的数 */ j = i; for (k=i+1;kn ;k+) if (AkAj) j = k; /*在未排序整数中确定最小数的位置 */ t=Ai;Ai=Aj; Aj=t; /* 把未排序数中的最小数交换到未排序数的首位*/ ,高级程序设计语言的发展,50年代:Fortran,ALGOL60年代:COBOL语言,BASIC语言70年代:Pascal 语言

50、,C语言80年代: Ada语言,PROLOG语言,LISP语言90年代起:面向对象语言C+、 JAVA、C#等,FORTRAN语言,FORTRAN是FORmula TRANslation (公式翻译)的缩写词,它是一种主要用于数值计算的面向过程的程序设计语言。FORTRAN语言的特点是接近数学公式,简单易用 目前最新的国际标准是FORTRAN 2008,BASIC和Visual Basic语言,BASIC语言的特点是简单易学Visual BASIC(VB)语言是微软公司基于BASIC发展而来的一种程序设计语言,特点是:是一种可视化的、面向对象的、采用事件驱动方式的结构化高级程序设计语言具有高效

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号