扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
计算机的工作原理
10年积累的成都网站设计、做网站、成都外贸网站建设公司经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有曲靖免费网站建设让你可以放心的选择与我们合作。
半个世纪以来,计算机已发展成为一个庞大的家族,尽管各种类型的性能、结构、应用等方面存在着差别,但是它们的基本组成结构却是相同的。现在我们所使用的计算机硬件系统的结构一直沿用了由美籍著名数学家冯?诺依曼提出的模型,它由运算器、控制器、存储器、输入设备、输出设备五大功能部件组成。
随着信息技术的发展,各种各样的信息,例如:文字、图像、声音等经过编码处理,都可以变成数据。于是,计算机就能够实现多媒体信息的处理。
各种各样的信息,通过输入设备,进入计算机的存储器,然后送到运算器,运算完毕把结果送到存储器存储,最后通过输出设备显示出来。整个过程由控制器进行控制。
计算机系统的基本硬件组成及工作原理示意图
计算机系统的基本组成,完整的计算机系统系统包括:硬件系统和软件系统。硬件系统和软件系统互相依赖,不可分割,两个部分又由若干个部件组成。
硬件系统是计算机的“躯干”,是物质基础。而软件系统则是建立在这个“躯干”上的“灵魂”。
计算机硬件
计算机硬件系统由五大部分组成:运算器、控制器、存储器、输入设备、输出设备。
中央处理器 (CPU -- Central Processing Unit )
CPU的内部结构可分为控制单元,逻辑单元和存储单元(寄存器)三大部分。如果将CPU集成在一块芯片上作为一个独立的部件,该部件称为微处理器(Microprocessor,简称MP)。
CPU的工作原理就象一个工厂对产品的加工过程:进入工厂的原料(指令),经过物资分配部门(控制单元)的调度分配,被送往生产线(逻辑运算单元),生产出成品(处理后的数据)后,再存储在仓库(存储器)中,最后等着拿到市场上去卖(交由应用程序使用)。
1.运算器:是计算机中进行算术运算和逻辑运算的部件,通常由算术逻辑运算部件(ALU)、累加器及通用寄存器组成。
2.控制器:用以控制和协调计算机各部件自动、连续地执行各条指令,通常由指令部件、时序部件及操作控制部件组成。
CPU 的主要性能指标是字长和主频。
字长表示CPU每次计算数据的能力(二进制的位数)。如80486及Pentium系列的CPU一次可以处理32位二进制数据。
主频也叫时钟频率,单位是MHz,用来表示CPU的运算速度。CPU的主频=外频×倍频系数。很多人以为认为CPU的主频指的是CPU运行的速度,实际上这个认识是很片面的。CPU的主频表示在CPU内数字脉冲信号震荡的速度,与CPU实际的运算能力是没有直接关系的。当然,主频和实际的运算速度是有关的,但是目前还没有一个确定的公式能够实现两者之间的数值关系,而且CPU的运算速度还要看CPU的流水线的各方面的性能指标。由于主频并不直接代表运算速度,所以在一定情况下,很可能会出现主频较高的CPU实际运算速度较低的现象。因此主频仅仅是CPU性能表现的一个方面,而不代表CPU的整体性能。时钟频率主要以MHz为单位来度量,通常时钟频率越高,其处理速度也越快。目前的主流CPU的时钟频率已发展到500MHz以上,甚至高达2GHz(2000MHz)以上。
3.存储器 存储器的主要功能是用来保存各类程序的数据信息。
存储器可分为主存储器和辅助存储器两类。
①主存储器(也称为内存储器),属于主机的一部分。用于存放系统当前正在执行的数据和程序,属于临时存储器。
①辅助存储器(也称外存储器),它属于外部设备。用于存放暂不用的数据和程序,属于永久存储器。
存储器与 CPU的关系可用右图来表示。
(1)内存储器
一个二进制位(bit)是构成存储器的最小单位。实际上,常将每 8位二进制位组成一个存储单位,简称字节(Byte)。字节是数据存储的基本单位。为了能存取到指定位置的数据,给每个存储单元编上一个号码,该号码称为内存地址。
度量内存主要性能指标是存储容量和存取时间。存储容量是指存储可容纳的二进制信息量,描述存储容量的基本单位是字节。
信息存储单位 信息的单位常采用位、字节、字、机器字长等。
1、位(bit,缩写为b) 度量数据的最小单位,表示一位二进制信息。
2、字节(byte,缩写为B)
一个字节由八位二进制数字组成,1byte=8bit。字节是信息存储中的基本单位。每个英文字母要占一个字节,一个汉字要占两个字节。 其它常用单位有:
KB(千字节) 1 K=1024 B MB(兆字节) 1 M=1024 K GB(吉字节) 1 G=1024 M
3、若干个字节构成一个存储单元,每一个存储单元都有一个唯一的编号,称为“地址”,通过地址对存储单元进行访问。
4、字(word) 字是一个存储单元所存储的内容。常用的固定字长有8位、16位、32位等。
5、机器字长 机器字长指一个存储单元(或一个字)所含有的二进制数的位数,它是衡量计算机精度和运算速度的主要技术指标。机器的功能设计决定了机器的字长。
千,1KB=2的10次方=1024B,
兆,1MB=2的20次方=1024*1024B=1024KB,
吉,1GB=2的30次方=1024*1024*1024B=1024MB,
太,1TB=2的40次方=1024*1024*1024*1024B=1024GB,
拍,1PB=2的50次方=1024*1024*1024*1024*1024B=1024TB,
艾,1EB=2的60次方=1024*1024*1024*1024*1024*1024B=1024PB,
泽,1ZB=2的70次方=1024*1024*1024*1024*1024*1024*1024B=1024EB,
尧,1YB=2的80次方=1024*1024*1024*1024*1024*1024*1024*1024B=1024ZB
存取时间是指存储器收到有效地址到在输出端出现有效数据的时间间隔。通常存取时间用纳秒为单位。存取时间愈短,其性能愈好。
内存储器按其工作方式可分为随机存储器(Random Access Memory,简称 RAM)和只读存储器(Read Only Memory,简称 Rom)两类。
①RAM
RAM在计算机工作时,既可从中读出信息,也可随时写入信息,所以, RAM是一种在计算机正常工作时可读/写的存储器。在随机存储器中,以任意次序读写任意存储单元所用时间是相同的。目前所有的计算机大都使用半导体随机存储器。半导体随机存储器是一种集成电路,其中有成千上万个存储单元。
根据内存器件结构的不同,随机存储器又可分为静态随机存储器(Static RAM,简称 SARM)和动态随机存储器(Dynamic RAM,简称 DRAM)两种。
静态随机存储器(SARM)集成度低,价格高。但存取速度快,它常用作高速缓冲存储器(Cache)。
Cache是指工作速度比一般内存快得多的存储器,它的速度基本上与 CPU速度相匹配,它的位置在 CPU与内存之间 (如下图所示)。在通常情况下, Cache中保存着内存中部分数据映像。 CPU在读写数据时,首先访问 Cache。如果 Cache含有所需的数据,就不需要访问内存;如果 Cache中不含有所需的数据,才去访问内存。设置 Cache的目的,就是为了提高机器运行速度。
动态随机存储器使用半导体器件中分布电容上有无电荷来表示 “0”和 “1”的,因为保存在分布电容上的电荷会随着电容器的漏电而逐步消失,所以需要周期性的给电容充电,称为刷新。这类存储器集成度高、价格低、存储速度慢。
随机存储器存储当前使用的程序和数据,一旦机器断电,就会丢失数据,而且无法恢复。因此,用户在操作计算机过程中应养成随时存盘的习惯,以免断电时丢失数据。
②ROM
只读存储器(ROM)只能做读出操作而不能做写入操作。只读存储器中的信息是在制造时用专门的设备一次性写入的,只读存储器用来存放固定不变重复执行的程序,只读存储器中的内容是永久性的,即使关机或断电也不会消失。
目前,有多种形式的只读存储器,它们在特定条件下可以擦除,重写信息,常见的有如下几种:
PROM:可编程的只读存储器。 (Programmable ROM)
EPROM:可擦除的可编程只读存储器。(Erasable ROM)
EEPROM:可用电擦除的可编程只读存储器。(Electronic Erasable ROM / E2PROM )
CPU(运算器和控制器)和主存储器组成了计算机的主机部分。
(2)外存储器
外存储器大都采用磁性和光学材料制成。与内存储器相比,外存储器的特点是存储容量大,价格较低,而且在断电的情况下也可以长期保存信息,所以称为永久性存储器。缺点是存取速度比内存储器慢(依靠机械转动选择数据区域),常见的外存储器有以下几种:
硬盘:硬盘的特点是可靠性高,存储容量大,读写速度快,对环境要求不高。缺点是不便于携带,切工作时应避免振动。
光盘:光盘是用光学的方式制成的,光盘盘片上有一层可塑材料。写入数据时,永高能激光束照射光盘片,可在可塑层上灼出极小的坑,并以有无小坑表示数字 “ 0”和 “ 1”,当数据全部写入光盘后,再在可塑层上喷涂一层金属材料,这样光盘就不能再写入数据。再读出数据时,永低能激光束入射光盘,利用盘表面上的小坑和平面处的不同反射来区分 “ 0”和 “ 1”。 目前微型计算机中大都配有只读式光盘(COMPACT DISK READ ONLY MEMORY,简称 CD-ROM),每张关盘容量可达 650MB,DVD可达4G,可存放程序,文本,图象,音乐和电影等各种信息。
4、输入设备
键盘(Keyboard )、鼠标(Mouse )、手写笔、触摸屏、麦克风 、扫描仪(Scanner )、条形码扫描、视 频输入设备。
5、输出设备
o显示器(Monitor ):目前主要有 CRT (阴极射线管)显示器和 LCD 液晶显示器。
o打印机(Printer ):主要有针式打印机、喷墨打印机、激光打印机。
o绘图仪 o音箱
*总线
计算机总线是一组连接各个部件的公共通信线。计算机中的各个部件是通过总线相连的,因此各个部件间的通信关系变成面向总线的单一关系。但是任一瞬间总线上只能出现一个部件发往另一个部件的信息,这意味着总线只能分时使用,而这是需要加以控制的。总线使用权的控制是设计计算机系统时要认真考虑的重要问题。
总线是一组物理导线,并非一根。根据总线上传送的信息不同,分为数据总线DB(Data Bus)、地址总线AB(Address Bus)和控制总线CB(Control Bus)。
① 地址总线
地址总线传送地址信息。地址是识别信息存放位置的编号,主存储器的每个存储单元及 I/O接口中不同的设备都有各自不同的地址。地址总线是 CPU向主存储器和 I/O接口传送地址信息的通道,它是自 CPU向外传输的单向总线。 地址总线的位数决定了CPU可直接寻址的内存空间大小,比如8位微机的地址总线为16位,则其最大可寻址空间为2^16=64KB,16位微型机的地址总线为20位,其可寻址空间为2^20=1MB。一般来说,若地址总线为n位,则可寻址空间为2n字节。
②数据总线
数据总线传送系统中的数据或指令。数据总线是双向总线,一方面作为 CPU向主存储器和 I/O接口传送数据的通道。另一方面,是主存储器和 I/O接口向 CPU传送数据的通道,数据总线的宽度与 CPU的字长有关。通常与微处理的字长相一致。例如Intel 8086微处理器字长16位,其数据总线宽度也是16位。需要指出的是,数据的含义是广义的,它可以是真正的数据,也可以指令代码或状态信息,有时甚至是一个控制信息,因此,在实际工作中,数据总线上传送的并不一定仅仅是真正意义上的数据。
③控制总线
控制总线传送控制信号。控制总线是 CPU向主存储器和 I/O接口发出命令信号的通道,又是外界向 CPU传送状态信息的通道。
我们通常用总线宽度和总线频率来表示总线的特征。总线宽度为一次能并行传输的二进制位数,即 32位总线一次能传送 32位数据, 64位一次能传送 64位数据。总线频率则用来表示总线的速度。
打开Win7系统下的画图工具,在开始——附件——画图工具
利用上面的形状图形,先绘出菱形,选中菱形图标功能在,在画布上,画出菱形,用左键控制菱形大小
利用文本功能,在菱形里插入文本框,输入字母p,设置字体的大小和格式,并且适当的移动文本框的位置,使p在菱形的中间
用直线功能画出控制线,带有箭头的直线,一定要控制好直线度
可以利用网格线,标尺的辅助功能。来帮助自己完成画流程图
最后C语言中的选择结构流程图画好了
简析Windows XP体系结构
Windows XP是一个把消费型操作系统(Windows 9x核心系列)和商业型操作系统(Windows NT核心系列)融合为统一系统代码的新型Windows操作系统,它的发布标志着微软在操作系统领域“两条腿走路”的研发和营销策略的结束。
毫不夸张地说,Windows XP是操作系统历史上的全才,既有华丽堂皇的外表,更有卓越不凡的性能。对于广大的电脑爱好者而言,除了关心Windows XP友好的界面、简易的操作和齐全的功能外,是否还有更进一步认识它的兴趣呢?怎样开始我们对Windows XP的深层次认识呢——它的体系结构就是最佳的着眼点。
操作系统作为一种大型软件,在它的发展过程中,出现过多种多样的体系结构,概括起来,大致可以分为以下四种类型:模块组合结构、分层结构、虚拟机结构和客户/服务器结构(又称微内核结构)。历史上的众多操作系统不外乎都采用了这些体系结构,例如我们熟知的DOS就是“模块组合结构”的代表。作为一个实际应用型的操作系统,Windows XP没有单纯地采用某一种体系结构,而是把分层结构操作系统和客户/服务器结构操作系统的特点融合到了一起。
所谓分层结构,指的是把操作系统的所有功能模块按照调用的次序分别划分为若干层,各层之间的模块只能单向依赖或单向调用。这样做的好处是:既把复杂的整体问题分解成了若干易于解决的相对独立的子模块;同时又使得各个子模块之间的结构关系很清晰明了,不容易隐藏潜在的逻辑错误,而且也便于在不同的硬件环境中移植。可以说,Windows XP的可靠性、稳定性和可移植性都跟它采用了分层的体系结构是有密切联系的。
当然,Windows XP采用的最主要的体系结构是客户/服务器结构,因为采用这种结构的操作系统将非常适于应用在网络环境下。作为面向网络的操作系统,Windows XP没有理由不采用客户/服务器结构来设计。该结构的内核只提供了操作系统最基本的功能,如基本调度操作和中断处理等。微内核结构的优点是可靠、灵活以及适宜于网络计算机环境,但也存在工作效率不高的缺陷。Windows XP在设计上没有一味地承袭微内核结构,而是把效率问题更多地考虑了进去,做了很多改进和优化,例如把文件服务、图形引擎等功能组件植入到微内核中,使得Windows XP在效率与稳定之间找到了一个最佳的平衡点。实际的测试也表明,Windows XP的高效性并没有导致其稳定性的降低。
下面,需要引入两个重要的概念:核心态(kernel mode)和用户态(user mode),它们各自代表程序不同的运行状态。计算机里运行的程序,不是处于核心态就是处于用户态。当程序处于用户态时,它为用户服务。例如,当你使用Office系列软件办公时,这些软件就在为你服务,所以其运行状态就处于用户态。当程序处于核心态时,既可为用户服务,又可为系统服务。例如,内存管理器和安全控制程序,它们并非是用户直接需要的,但却必不可少,因为它们的任务是维护系统不出问题,所以要运行在核心态。可见,系统服务是用户服务的前提,因为首先要保证计算机系统能正常地运行,才谈得上为用户提供可靠的服务。也就是说,如果你用的操作系统经常出现“蓝屏”或者死机的现象,那你还能很好地工作吗?因此,保证核心态的稳定可靠,是操作系统在设计上必须着重考虑的。
Windows XP通过硬件机制现实了核心态以及用户态,并为前者赋予了很高的特权,允许处于核心态的程序调用特权指令来封杀任何用户态的程序,而用户态的程序只能调用常规的指令。一般来说,只有那些至关重要的、对性能影响很大的代码和组件才运行在核心态。例如,内存管理器、高速缓存管理器、安全管理器、网络协议、进程管理以及文件系统等就运行在核心态。而用户的应用程序都只准运行在用户态,而且不允许直接访问操作系统的特权代码和数据,以免被恶意的应用程序侵扰。当用户的应用程序试图调用特权指令时,操作系统会借助硬件提供的保护机制剥夺这些程序的控制权并将它们强制关闭。有了这样的保护措施,Windows XP既可作为一般的工作平台,又可成为坚固稳定的服务器。
有了对核心态和用户态的认识,Windows XP体系结构的框架也应运而生,图1所示的就是以核心态和用户态为划分原则的Windows XP体系结构示意框图。
图1中的粗线将Windows XP分为用户态和核心态两部分。粗线上部的、处于用户态的方框分别代表的是四种基本类型的用户进程:系统支持进程、服务进程、应用程序、环境子系统。另外,子系统动态链接库也归类于用户态。
在介绍上述四种类型的用户进程之前,需要先来认识一下“进程”的概念,凡是研究操作系统,都不能不涉及这个概念。简而言之,“进程”就是程序的执行过程。程序通常是以文件形式静态地存放在磁盘上的,而当程序被执行时,会产生一个动态的执行过程,如何来描述这个动态的过程呢?于是就引入了“进程”的概念。所以,一个处于运行状态的程序都对应了一个相应的进程。例如,你在使用Microsoft Word时,系统就会创建一个映像名称为WINWORD.EXE的进程。为了能更细致地描述程序的执行过程,又引入了“线程”的概念,一个进程可以被细化为一个或多个线程。用线程来描述程序的执行过程,显得更深入、更精确。一般来说,从用户角度,线程是观察不到的。
1.系统支持进程(system support process)
属于“系统支持进程”类型的进程,虽然处于用户态,但它们却是由操作系统启动的。在Windows XP中,属于该类型的进程主要有:System Idle进程,用于统计CPU的空闲时间;System进程,是系统核心操作的载体;会话管理器(smss.exe),主要用于系统初始化工作;登录进程(winlogon.exe),用于处理用户的登录和注销请求,按下“Ctrl+Alt+Del”组合键时,可以激活该进程;本地安全身份验证服务器(lsass.exe),该进程用于接收来自登录进程的身份验证请求,然后调用适当的身份验证机制来完成实际的验证。
2.服务进程(service process)
属于“服务进程”类型的进程,其对应的程序实体应该是Win32模式的程序。在客户/服务器结构的Windows XP系统中,这些服务进程其实完成的是服务器的功能。例如,Services.exe、Spoolsv.exe、Svchost.exe、Winmgmt.exe等程序,在执行时都归类于服务进程。
3.应用程序(user application)
这个概念应该是最容易理解的,因为所有由用户启动的、被用户直接使用的程序都属于应用程序的范畴。Windows XP支持的应用程序的类型包括Win32模式、Windows3.1模式和MS-DOS模式。例如,上网用的IE浏览器、办公用的Office系列软件、听音乐用的Winamp以及用于进程查看的任务管理器(taskmgr.exe)等都属于应用程序。
4.环境子系统(environment subsystem)
简而言之,环境子系统的作用是向应用程序提供必要的运行环境。也就是说,应用程序的执行,实际上是通过调用环境子系统提供的功能函数实现的。在此前的Windows 2000操作系统中,提供了三种环境子系统:Win32、POSIX(UNIX类型的子系统)和OS/2(用于x86系统的);而在Windows XP中,去掉了后两者,只保留了Win32环境子系统。
Win32环境子系统的程序实体是csrss.exe文件,而且它必须始终处于运行状态,否则Windows XP就不能正常工作。同时,Win32子系统还包括以下重要组件:各种可供调用的函数;核心态设备驱动程序(Win32k.sys),用于控制窗口显示、屏幕输出以及收集来自鼠标、键盘的输入信息;图形设备接口(Graphics Device Interface,GDI),提供文本、图形输出的各种函数;子系统动态链接库(subsystem DLLs),它是服务进程、应用程序与核心态的系统组件之间交互的中介。其具体的作用是将文档形式的函数转换成Windows XP内部的系统调用,相当于一个再编译的过程。例如,Ntdll.dll、User32.dll、Gdi32.dll、Kernel32.dll等都是该链接库的成员。
以上是Windows XP体系中的用户态的概况。其中列举了不少具体的程序文件,它们都可以在Windows XP的系统目录下找到;如果它们处于运行状态,那么在任务管理器中还能观察到它们(图2)。
粗线以下的部分是Windows XP的核心态组件,它们都运行在统一的核心地址空间中。核心态组件包括以下五项:核心、硬件抽象层、执行体、设备驱动程序以及图形引擎。
1.核心(Kernel)
Windows XP的核心(程序实体是Ntoskrnl.exe)始终运行在核心态,其代码短小紧凑,可移植性很好,主要提供下列功能:线程安排和调度;异常情况处理和调度;中断处理和调度;多处理器同步;为执行体提供“内核对象”调用。
2.硬件抽象层(Hardware Abstraction Layer,HAL)
在多种硬件平台上的可移植性是Windows XP设计的一个至关重要的方面,除了核心以外,硬件抽象层(HAL)是完善可移植性的另一个关键部分。在实际的系统中,HAL表现为一个可加载的核心态模块hal.dll,它运行在最靠近硬件的地方,将核心、设备驱动程序以及执行体同硬件分隔开,从而使Windows XP能适应多种硬件平台。
3.执行体(Executive)
执行体是核心的上层,作用是为用户态的用户进程提供函数的调用,使用户进程的功能得以实现。从外部看,用户交给的任务都好像是在执行体中完成的。而实际上,执行体的功能又是建立在调用核心的“内核对象”的基础上的。这样就避免了用户进程直接调用核心的情况的出现,减少了不稳定因素的产生。
4.设备驱动程序(Device Drivers)
设备驱动程序是一系列可加载的、以SYS为扩展名的核心态模块,它们负责I/O系统和相关硬件之间的交互。但Windows XP的设备驱动程序又并非是直接控制硬件的,而是通过硬件抽象层(HAL)来间接实现的。
Windows XP对“即插即用”和“高级电源选项”有很强大的支持,它使用Windows驱动程序模型(Windows Driver Model,WDM)作为标准驱动程序模型。WDM是微软专门为NT核心的Windows研发的一种分层化的驱动程序模型,并在Windows 2000系统中首次应用。从WDM的角度看,Windows XP中的驱动程序可分三种:总线驱动程序,负责硬件设备与总线控制器的连接;功能驱动程序,用于硬件自身内部的驱动;过滤器驱动程序,用于为现有硬件设备添加新的功能。在Windows XP中,每一个硬件设备都至少有总线驱动程序和功能驱动程序,前者负责与总线的交互,后者控制内部的运转。这是Windows XP的设备驱动程序机制的一大重要特点。
5.图形引擎(Graphics Engine)
简言之,图形引擎的用处就是提供实现图形用户界面(Graphical User Interface,GUI)的基本函数。前面提到过,在Win32子系统中已经包含了图形设备接口(GDI),但其图形功能毕竟有限,不能满足高质量的图形应用的要求。为此,就采取了将图形系统移入到核心态来运行的策略,以提高图形处理能力。可以说,核心态的图形引擎是塑造出Windows XP华丽外表的艺术师。
到此,我们对Windows XP的体系结构应该有了一个概括性的认识。实际上,对于Windows XP这种庞大的操作系统而言,其体系结构细节的复杂程度是难以想象的。如果用程序语言来描述的话,岂止一本书能够涵盖。为大家简析Windows XP体系结构旨在于增长见识、了解一点操作技巧之外的知识。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流