计算概论第六讲李文新2004.9–2005.1北大医学部期中考试11月2日星期二19:00–21:00地点:三教401基础501口腔、临床1班503临床2、3班505临床4班507临床5班笔试出期中考试题的作业10月29日前交内容包括开学到10月27日课上讲过的全部内容可以适当发挥,但不能超过卷面的10%作业总结再谈逻辑运算、算术运算与表达式•逻辑运算•0和1的运算–逻辑值&&、||、!操作数和结果均为逻辑值•算术运算1,2,3,。。。的数值运算+-*/%操作数和结果均为算术值作业总结•表达式由算术运算、逻辑运算、关系运算组成的运算式每次执行一个运算,运算结果与当前运算符的性质有关执行顺序由优先级和结合性确定最后一个运算决定了整个表达式的运算结果•例:4+3+3*5==16||10//*优先级最高•4+3+15==16||10//+左结合•7+15==16||10//+优先级最高•22==16||10//==左结合•0||10//优先级最高•0||1//逻辑运算•1//结果为逻辑值关于~运算~求补码原码、反码、补码–为着计算机计算的方便•原码符号位+数值1001负10001正1•反码正数不变,001-〉001•负数符号位不变,数值按位求反101-〉110•补码正数不变001-〉001•负数反码+1101-〉110+1-〉111•例:-1+-2•反码:110+101=1-011=011+1=100(-3)•补码:111+110=101(-3)内容提要操作系统VC++编程环境作业操作系统计算机系统包括•硬件系统•软件系统系统软件•操作系统应用软件操作系统操作系统是计算机系统最基础的软件。如果没有它的支持,作为用户的人简直就没有办法让计算机为自己做任何事情。人使用计算机做任何事情都需要与操作系统打交道。操作系统举例来说,我们在键盘上按了一下字母键a,键盘会把一串二进制代码送入计算机,随之可以看到字母a显示在屏幕上。问题是谁接收了键盘送去的代码并处理与之有关的问题?答案是:操作系统。是操作系统在完成了一系列工作后,最终把这个字母送到显示器。这个例子反映出操作系统工作的一些特点,当然这仅仅是它丰富功能的一个小侧面。操作系统操作系统软件的主要任务是管理计算机系统的硬件资源和信息资源(程序和数据)。此外它还要为计算机上各种硬软件的运行及其相互通信提供支持,并为计算机的用户和管理人员提供各种服务。操作系统的引导在计算机的电源接通,硬件开始工作后,首先必须把操作系统的常驻内核从磁盘装入主存储器,并且使它进入正常工作状态,这样的一个过程称为操作系统的引导(SystemBooting)。只有操作系统正常工作之后,整个计算机系统的工作才能够继续,能够开始接受和执行用户命令。操作系统的引导引导是个很复杂的过程,其中需要完成许多工作,要注意这时计算机硬件,包括CPU和内存储器上可能没有任何程序。我们主要以一台普通微机上DOS系统引导的几个主要步骤作为例子,从中可以了解计算机的工作是怎样开始的,也能够帮助读者理解计算机的一些特性。其他计算机的引导过程也类似。操作系统的引导1)计算机的电源接通;2)CPU上电后首先完成复位操作,使自身处于“就绪”状态,然后搜寻BIOS,以确定如何继续动作。BIOS是基本输入输出系统(BasicInput/OutputSystem)的简称,是存储在一个只读存储芯片(ROM,人们也经常把这个芯片称为BIOS,BOIS芯片安装在微机的主板上)里的一组指令,也就是一个程序。CPU找到BIOS后开始执行这个程序。操作系统的引导3)BIOS启动程序的开始是一段检测程序,依次检查各硬部件(内存、键盘、总线及各个扩展卡等)是否为进入正常状态。在全部检测无误之后,BIOS中的启动程序被复制到内存,这是因为在内存里程序执行速度更快一些。操作系统的引导4)寻找操作系统的“引导程序”(BOOT程序)。“引导程序”是一个小程序,它的工作就是把操作系统的常驻内核由磁盘复制到内存并安置好。引导程序被找到后即被装入内存。操作系统的引导5)引导程序被执行。引导程序完成把常驻内核装入内存的工作并令其开始工作。操作系统的引导6)进行系统配置。操作系统的内核按照一个“系统配置”文件以及这一台计算机本身的硬件特点,装置各种软件接口程序和设定一系列参数。其主要工作是,装入各有关硬件部件的接口驱动程序,它们由磁盘调入内存的指定位置,设置文件缓冲区等等。操作系统的引导7)装入“命令解释器”模块。在这时,系统已经能够执行DOS操作命令了。操作系统的引导8)系统自动执行一个名为AUTOEXEC.BAT的批处理程序。AUTOEXEC.BAT是位于启动磁盘根目录下的一个文件,其内容是一系列DOS命令。当这些命令都执行完毕后,DOS系统的引导全部完成,进入正常的交互式命令执行状态。应该注意的是,在操作系统引导的整个过程中,如果在上述的某个环节出现了无法克服的问题,计算机就不能正常启动。这时需要找出问题后并排除后,重新启动。操作系统的引导以上是DOS操作系统启动过程的简单描述。对于Windows一类具有图形用户界面的操作系统,启动过程后期还需要完成图形界面的建立等许多操作。操作系统的功能计算机各种硬件资源的管理,其功能主要包括CPU的调度和管理、主存储器及虚拟存储空间(可寻址空间)的分配和管理、输入/输出设备管理及其通信支持等;对磁盘存储的信息资源的管理,其功能主要是实现计算机“文件系统”;保证计算机系统的安全性以及计算机系统对它所执行的当前各项任务的监控等任务。操作系统的功能-硬件管理管理和分配系统资源•CPU管理•存储管理•输入/输出(I/O)设备管理操作系统的功能-硬件管理CPU管理–多任务和多用户对CPU的管理实际上就是对CPU工作时间的管理。CPU时间是计算机中最重要的资源,因为CPU是计算机里最基本的工作部件。多任务操作系统就是指那些允许多个任务同时处在执行状态之中的操作系统。有些操作系统允许同时有多个用户使用同一台计算机,这种操作系统称为多用户操作系统。操作系统的功能-硬件管理CPU管理—独占CPU芯片在每个时刻只执行一条指令,这意味着它在一个时刻只能为一个程序工作,一个程序要执行必须得到CPU的时间。如果某个程序占用了CPU进行计算,当另一个程序也要工作时,就必须设法使前一个程序让出CPU的一段时间。操作系统的功能-硬件管理CPU管理–分时多任务操作系统的工作方式允许多个任务共享系统资源,这种情况要求CPU“同时”执行多个程序的任务。既然CPU每个时刻只能执行一条指令,它怎么可能同时执行多个任务呢?实际上这时CPU是在多个任务之间跳跃地执行。操作系统的功能-硬件管理CPU管理–优先级在CPU时间分配问题上,有时也可以采用为不同类别得任务确定不同优先级别的办法。分配时间片时根据其优先级别和类别特点多分或少分,这样不同工作的工作进展速度也就可能不同。操作系统的功能-硬件管理存储管理存储管理是操作系统最主要的任务之一,这是因为在计算机中CPU对主存储器的访问极其频繁,主存向CPU提供指令和数据的速度在很大程度上决定着整个系统的工作效率。操作系统的功能-硬件管理存储管理–内存分配对于主存储器,操作系统必须知道这个物理存储空间中哪些位置已经被占用,哪些位置是空闲的,它必须对这些情况进行登记,在系统中的任务提出新的存储要求时进行存储分配,如果有任务放弃了某些存储空间时,就要及时将其回收。操作系统的功能-硬件管理存储管理–资源分配表操作系统需要记录各种信息资源(程序或数据文件)的名称和它所在的存储空间位置两者之间的对应关系,建立一个对应关系表(或称“映射表”),把这个表管理好,以便于信息资源的查询和提取。操作系统的功能-硬件管理存储管理–存储块操作系统通常把整个主存的存储空间划分为许多固定的具有相同大小的存储块。当需要分配存储时,操作系统就根据信息对象提出的存储请求,分配给它一些“存储块”。操作系统的功能-硬件管理存储管理–虚拟存储虚拟存储管理的办法就是设法在需要时自动把当时“活跃的”程序和数据部分装入内存。当然如何自动替换掉原来已经不活跃的部分是一件技术上比较复杂的工作,操作系统的存储管理应该负责这一工作。操作系统的功能-硬件管理存储管理–页交换分页技术的思想与前已讨论的高速缓存技术是相同的。磁盘上的程序和数据以“页面”为单位与主存储器频繁进行交换(页面大小为统一而固定的,一般为数千个字节)。这种动作称为页面交换或倒换(Swapping)。操作系统的功能-硬件管理存储管理–分段和分页现代操作系统还经常采用分段(Segmentation)技术与分页技术配合,这种技术的主要特点弥补了单纯页面技术只提供大小固定页面的缺陷。段(segment)的大小是可变的,一个程序、一张数据表格等等都可以自然地被定义为一个段,每个段又可以包含多个页面。操作系统的功能-硬件管理输入/输出(I/O)设备管理计算机管理输入/输出设备的方式•程序控制•DMA方式(DMA,DirectMemoryAccess的缩写,直接存储访问)•输入输出设置专用的处理器,称为I/O处理机操作系统的功能-硬件管理输入/输出(I/O)设备管理–驱动程序由于输入输出设备种类繁多,而且每类设备都有自己的控制方式和信息传递方式,设备管理工作无法离开具体设备而实现。为了使自己的设备能够在计算机系统中使用,设备制造厂家通常都针对各种不同的操作系统,提供专门用于自己设备的控制和支持通信的程序模块,这种模块称为该设备的驱动程序(devicedriver)。操作系统的功能-硬件管理输入/输出(I/O)设备管理–spooling计算机工作时可能有多个输入输出设备同时向系统提出请求。操作系统必须协调这些事情,通过各个设备的驱动程序对这些输入输出操作进行管理。首先,操作系统必须记录所有的请求,对这些请求进行排队,将有关任务放在一个缓冲区里,并设法按顺序完成这些工作。操作系统的功能–监控监控功能操作系统对计算机系统进行监控的目的一方面是为了更好地满足计算机用户的需求,另一方面也是为了尽量发挥整个系统的能力。操作系统的功能–监控监控功能•监测计算任务的执行。•检查用户的合法性及其权限。•建立系统运行记录。操作系统的功能-文件系统文件的概念在计算机的术语中,一个文件指的是包装一起的一组信息,这些信息保存在外存储器中,存储在一起,作为一个整体被命名,可以独立地被使用、修改、更新和删除,一个文件通常总是和与它有关的某些应用工作联系在一起的。一个文件的内容可以是一个能运行的应用程序、一篇文章、一个图形、一段数字化的声音信号、或者任何一批相关的有用数据,如此等等。文件的大小用这个文件所包含信息的字节数来计算。操作系统的功能-文件系统文件分区表•FAT,32位FAT,NTFS文件的树型结构•众多文件被组织成树状结构•概念:路径/目录/文件夹(path),•父目录,子目录,文件名操作系统的功能-文件系统文件的属性•文件名•大小•类型•修改时间操作系统的功能-文件系统文件的分类•应用程序•文本文件•图像文件•与应用软件匹配的各种类型的数据文件•例如:Word-*.doc操作系统的功能-文件系统文件管理系统的概念文件管理是由计算机最基本的系统软件(称为“操作系统”)的一个子系统完成的,是操作系统的一项重要工作。计算机系统的文件组织结构的整体、以及负责管理文件结构的软件系统两者的总和,被称为计算机的“文件系统”。操作系统的功能-文件系统文件和文件夹(目录)VC++编程环境VC++编程环境-基本概念Project(工程)在VC编程环境下,编写程序的工作是以Project为单位。在开始一个新程序时,要先建立一个Project,之后在程序编写过程中所有与这个程序有关的文件都会包含在这个Project中。编制的程序可以有各种不同类型,编程环境为每种类型的程序准备了一个模版,用来生成程序的最初框架。在我们这本