计算机都有什么职业是如何工作的

《计算机是怎样工作的》试题
您现在的位置:&&>>&&>>&&>>&&>>&正文
《计算机是怎样工作的》试题
作者:佚名 资料来源:网络 点击数: &&&
《计算机是怎样工作的》试题
文 章来源莲山 课件 w ww.5 Y k J.Co m 《计算机是怎样工作的》试题
&一、:(每题1分,48题共48分)
1.一个完整的计算机系统包括_______________
A.主机、键盘和显示器&&&&&&&&&&&& B.计算机与外部设备
C.硬件系统和软件系统&&&&&&&&&&&& D.系统软件与应用软件
2.用超大规模集成电路作为电子器件制成的计算机属于_______________
A. 第一代&&&& B. 第二代&&&&& C. 第三代&& D. 第四代
3.微型计算机的性能指标主要取决于_______________
A.RAM&&&&&&& B.CPU&&&&& C.显示器&& D.硬盘
4.统一指挥和协调计算机工作的部件是___________________
A.内存储器&& B.运算器&&&& C.控制器&&&&& D.寄存器
5.若CPU标识为Inter Pentium 4 3.2E。其中3.2E指__________________
A.CPU型号&& B.主频&&&&&& C.控制器型号& D.内存容量
6.微型计算机运行存储在硬盘上的程序时,必须先将程序调入_____________
A.CPU&&&&&& B.RAM&&&&&& C.ROM&&&&&& D.Cache
7.主板上的AGP扩展槽是______专用的插槽
A.声卡&&&&&& B.显卡&&&&&&& C.网卡&&&&&& D.内置Modem
8.下列四种储存器中,存取速度最快的是_______________
A.光盘&&&&&&&&&& B.软盘&&&&&&&&& C.硬盘&&&&&&&&& D.内存储器
9.微型计算机存储器系统中的Cache是_______________
A.只读存储器&&&&&&&&&&&&&&&&&& B.高速缓冲存储器
C.可编程只读存储器&&&&&&&&&&&& D.可擦除可再编程只读存储器
10.CPU与内存之间需要增加Cache,其目的是________
A.增加内存容量&&&&&&&&&&&&&&&&&&&&& B.提高内存可靠性
C.解决CPU和内存之间的速度匹配&&&& D.增加内存容量并加快存取速度
11.对显示器而言,通常所说的0.21反映了显示器的________,它是显示器的主要性能指标之一。
A.分辨率&&&&&&& B.灰度级&&&&&&& C.刷新频率&&&&& D.点距
12.下列各类打印机中,打印质量最好的是________________
A.针式票据打印机&&& B.喷墨打印机&&& C.热敏式打印机&&&& D.激光打印机
13.媒体是指信息表示和传输的载体。在多媒体计算机系统中,键盘属于______
A.表示媒体&&&&& B.表现媒体&&&&& C.存储媒体&&&& D.传输媒体
14.在计算机内部,一切信息的存取、处理与传送均采用_______________
A.二进制&&&&&&& B.十六进制&&&&& C.BCD码&&&&&& D.ASCII码
15..二进制11101.11转换成十六进制数是_______________
A. 35.3&&&&&&&&& B. 35.6&&&&&&&&&& C. 1D.6&&&&&&&& D. 1D.C
16.二进制转换成十进制数是_______________
A. 384&&&&&&&&&& B. 192&&&&&&&&&& C. 96&&&&&&&&& D. 320
17.计算机硬件能直接识别和处理的语言是_______________
A.机器语言&&&&& B.C语言&&&&&&&&& C.Java语言&&& D.汇编语言
18.国标码(GB2312-80)表示1个字符使用二进制数位数是_______________
A.8&&&&&&&&&&&& B. 16&&&&&&&&&&&& C. 4&&&&&&&&&& D. 7
19.在计算机领域中,通常用英文单词"Byte"来表示_______________
A.字&&&&&&&&&&& B.字长&&&&&&&&&& C.二进制位&&&& D.字节
20.存储一个32×32点阵汉字字型信息的字节数是_______________
A. 64B&&&&&&&&&& B. 128B&&&&&&&& C. 256B&&&&&&& D . 512B
21.由高级语言编写的源程序要转换成计算机能直接执行的目标程序,要经过___
A.编辑&&&&&&&&&& B.编译&&&&&&&& C.汇编&&&&&&&& D.解释
22.所谓“裸机”是指_______________
A.单片机& B. 单板机& C. 不装备任何软件的计算机 D. 只装备操作系统的计算机
23.目前各部门广泛使用的人事档案管理、财务管理等软件,按计算机应用分类,应属于_______________
A.实时控制目&&&&&& B. 科学计算&&&& C. 计算机辅助工程&&&& D. 数据处理
24.与软盘相比,U盘是一种即插即用、重量轻、体积小、容量大、数据传输速度快的移动存储器。其所采用的接口是:
A.SCSI接口&&&&& B.USB接口&&&&&& C.IDE接口&&&&&& D.ultraDMA接口
25.在Windows系统默认的情况下,单击鼠标右键可以实现的功能是:______
A.打开快捷菜单& B.打开文档&& C.打开文件夹.&& D.运行程序
26.Windows中,命令采用了菜单的形式,而设定命令所需参数采用的形式是:______
A.运行项&&&&&&& B.控制面板&&&& C.对话框&&&&&&& D.省略号
27.在Windows中,呈灰色显示的菜单意味着_______________
A. 该菜单当前不能选用&&&&&&&&&&&&& B. 选中该菜单后将弹出对话框
C. 选中该菜单后将弹出下级子菜单&&& D. 该菜单正在使用
28.在Windows中,若系统长时间不响应用户的要求,为了结束该任务,应使用____
A. Shift+Esc+Tab&&& B. Crtl+Shift+Enter&& C. Alt+Shift+Enter&&& D. Ctrl+ Alt+Del
29.Windows目录结构是_______________
A、菜单结构 B、网状结构&& C、树形结构 D、环状结构
30.在Windows中,为保护文件不被修改,可将它的属性设置为_______________
A. 只读&&&& B. 存档&&&&&& C. 隐藏&&&&&&&&&& D. 系统
31.在Windows中,一个应用程序的窗口被最小化,该应用程序将_______________
A.被终止执行&&&& B. 继续在前台执行&&& C.被暂停执行& D. 被转入后台执行
32.在Windows资源管理器中,实现文件与文件夹保护的主要途径是______
A.为文件和文件夹增加隐藏属性&&&&&& B. 为文件和文件夹压缩
C.为文件和文件夹加上卷标&&&&&&&&&& D. 为文件和文件夹加上关联
33.在Windows中,若想同时改变一个窗口的高度和宽度,可发通过拖放______
A.窗口边框行&&&&&&& B. 窗口角&&&&&& C.滚动条&&&&&&&&& D. 菜单栏
34.计算机网络的主要目的是实现(&& )。
A.数据通信&& B.资源共享&& C.远程登录&&&&& D.分布式处理t
35.若在浏览器地址栏中输入,则该网站的顶级域名是_______
A.http&&&&&&&&& B.www&&&&&&&& C.tzedut&&&&&&& D.org
36.根据网络作用范围分类,校园网应被划分为_______________
A局域网(LAN)&&& B.广域网(WAN)&&& C.城域网(MAN)
37.“开放系统互连模型(OSI)”自上而下共有七个功能层。其中具有将网络地址翻译成对应的物理地址,并决定如何将数据从发送方送到接收方是____的功能。
A.物理层&&&&& B.数据链路层&&&&& C.网络层.&&&&&& D..应用层
38.属于OSI模型中数据链路层的网络设备是_______________
A.网关&&&&&&& B.交换机&&&&&&&&& C.路由器&&&&&&& D.中继器
39.Windows系统内置的浏览器软件是_______
A.Internet Explorer&& B.Outlook Express&&& C.Netmeeting&&&& D.Communicator
40.因特网提供的服务中,使用最频繁的是_______
A.BBS讨论&&&& B.远程登录&&&&&&&& C.E-mail&&&&&& D.WWW浏览
41.发送或接收电子邮件时应该有一个电子邮件地址,它的正确形式是_______
A.用户名@域名&&&&&& B.域名@用户名&&& C.用户名/域名&&& D.用户名.域名
42.域名到IP地址的转换是通过_______来实现的。
A.TCP&&&&&&&&& B.DNS&&&&&&&&& C.IP&&&&&&&&&& D.ISP
43.使用浏览器访问WWW站点时,下列说法中正确的是:_______
A.只能输入IP&&&&&&&&&&&&&&&&&& B.需同时输入IP地址和域名
C.只能输入域名&&&&&&&&&&&&&&&& D.输入IP地址或域名。
44.对存储一幅颜色非常丰富的图像文件,考虑到网络的传输速率,适宜作为Internet上图片存储格式的图像文件格式是_______
A.BMP目&&&&&& B.GIF&&&&&&&&& C.JPG&&&&&&&&& D.PCX
45.窗帘自动控制系统应该属于智能的功能_______
A家居安防系统&& B.家居布线系统&& C.家庭自动化系统& D.家庭体验系统
46早期的单片机一般用于_______。
A.空调器&&&&&&& B.仪器仪表&&&& C.通信工具&&&&&& D.工业上的简单控制
47.大量应用于PC机中的嵌入式芯片是_______:
A.嵌入式微处理器&&&&&&&&&&&&&&& B.嵌入式微控制器
C.嵌入式数字信号处理器&&&&&&&&& D.、嵌入式片上系统
48.通过指纹识别系统打开防盗门,关键得使用_______:
A.计算机软件& B.计算机技术密码技术& C.图像处理技术& D.传感器技术&&&&&&&&&&&&&&&&&&&&&&&&&&&&
二、题:(每空1分,共36分)
1.现代计算机的“存储程序和程序控制”原理是由科学家冯.诺依曼提出的。这种体系的计算机通常有五大组成部分,分别是&&&&&&&&& 、&&&&&&&&& 、&&&&&&&&&&& 输入设备、输出设备。
2计算机工作时,各部件之间信息的传递是通过总线实现的。总线分为三种,分别是数据总线、&&&&&&&&&&&&&& 、&&&&&&&&&&&&&&& 。
3.指令是计算机所要执行的一种基本操作命令,是对计算机进行控制的最小单位。一条指令通常由&&&&&&&&&& 与&&&&&&&&&& 两部分组成。
4.在计算机软件系统中,进行计算机系统管理、调度、监控和维护的软件是________________,为解决某种应用目的而编制的软件是_____________。
5.为解决一个特定的问题而采用的确定的有限的步骤称之为&&&&&&&&&&& 。其中,解决顺序现象可使用&&&&&&&&&&& 结构,解决分支问题可用&&&&&&&&&&&&&&& 结构,解决重复问题可用&&&&&&&&&&& 结构
6.1GB=________MB,1MB=__________KB。一张普通CD-ROM光盘片的容量大约为&&&&&&&&&&& 。
7.CPU的性能指标主要有:&&&&&&&&& 、&&&&&&&&& 、&&&&&&&&& 、倍频系数、Cache大小。
8.在Windows中,窗口可分为&&&&&&&&& 窗口和&&&&&&&&& 窗口两类。
9.在Windows中,使用菜单进行文件或文件夹的移动,需经过的三个步骤是选择、&&&&&&&&& 、粘贴。
10.在Windows的“我的电脑”或“资源管理器”窗口中,当一个文件或文件夹被删除,而用户还未进行其他的操作,则可以在“编辑”菜单中选择命令&&&&&&&&& 将其恢复。
11.要将整个桌面内容存入剪切板,应按&&&&&&&&& 键
12.HTML译为中文为&&&&&&&&&&&&&&&& 语言,是一种标识性语言,属于(高、低)&&&&&&&&&&&& 级语言的一种。
13.在局域网中,有____________、_____________、___________三种常见的结构,
14.IP地址是Internet上每台计算机的惟一标识,它包括“网络地址”和“主机地址”。IP地址共长4个字节,由32位二进制数表示。在C类地址中,“网络地址”用_________位表示,“主机地址”用_________位表示,网络中最大主机数为_____________。
15.多媒体技术具有_________、_________、实时性与数字化等特点。
16.网络中常用的传输介质有光纤、同轴电缆和_________。
三、:(每题1分,12题共12分)
(&&&& )1.内部命令在执行了后便常驻内存。
(&&&& )2.主频、外频和倍频系数的关系是:主频=外频*倍频。
(&&&& )3.一个文件的属性被设置为只读属性后,可以防止此文件被意外删除。
(&&&& )4.Windows运行程序时,只有一个任务在前台运行,其他任务在后台运行。
(&&&& )5.在Windows “资源管理器”窗口中,按住Ctrl键,用鼠标左键单击文件或文件夹名可选定多个分散的文件和文件夹。
(&&&& )6.窗口最小化后就等于关闭了窗口。
(&&&& )7.世界是最大的广域网是因特网。
(&&&& )8.连入Internet的所有计算机都有一个独一无二的IP地址。
(&&&& )9.用户通过浏览器可以使用因特网提供的全部服务。
(&&&& )10.局域网是指在较小的地理范围内由计算机、通信线路和网络连接设备组成的网络。
(&&&& )11.嵌入式技术是实现智能家居系统功能所需的主要技术之一。
(&&&&& )12.嵌入性、专用性和计算机系统是嵌入式系统的三个基本要素。
四、:(12分)
※1.请写出以下十进制数所对应的机器数反码与补码。(4分)
十进制数 &二进制数 &机器数(假定机器字长为8位)&&&
&& &原码&反码&补码&&&
39&00111&&&&&
2.请比较三种I/O控制方式的特点:(4分)
控制方式&程序查询方式&中断控制方式&DMA方式&&&
CPU是否参与&&&&&&
是否需要软件和硬件&&&&&&
CPU的效率&&&&&&
传输速度&&&&
※3.请写出三种你曾听说过的用户程序和应用软件包(6分)
&用户程序&应用软件包&&&
三个实例 &&&&&
五、综合题:(24分)
1.试填写某款主板接口可连接的外部设备名称:(4分)
※2.试写出逻辑表达式并画出相应逻辑符号。(4分)
如果明天天气晴(A)又凉爽(B),我们就不留在家里(留在家里为Y)。
3.WindowsXP与DOS两者之间如何切换?(2分)
※4.连线题:(5分)
试用连线顶级域与其含义连接起来
顶级域&&&&&&&&&&&&&&&&&&&&&&&&&&&& 含义
gov&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 商业和工业组织
com&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 其他组织机构
org&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 政府部门
net&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 大学和其他教育机构
edu&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 网络运行和服务中心
5.某城市的出租车收费标准为:路程5公里以下,收起步费10元;路程超过5公里,超过部分按每公里2元加收。(4分)
(1)试写出出租车收费标准f的表达式:
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& (S&=5)
&&&&&&&&&&& f=
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& (S&5)
(2)试画出出租车收费算法的N-S流程图。
5.学校新购买了一台新款HP2600n激光打印机。要使该打印机能正常工作,你应当如何安装该打印机?(5分)文 章来源莲山 课件 w ww.5 Y k J.Co m
没有相关试题上一个试题: 下一个试题:
? ? ? ? ? ? ? ? ? ?楼主带你深入底层了解我们每天使用的电脑到底是怎么工作的_技术宅吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:973,238贴子:
楼主带你深入底层了解我们每天使用的电脑到底是怎么工作的收藏
电脑我们每天都会使用,但是你真正了解你的电脑嘛?本贴带你深入底层了解电脑的结构和工作原理注意事项:1:由于本帖内容较多禁止过长的水贴插入,发现直接删除2:本帖所有内容基于冯诺依曼结构计算机3:本帖所述内容可能因为科技发展而发生变化,仅供参考4:由于更新时间较长请善用收藏,楼主不@ 5:没什么要说的了呢,正文开始!Ps:楼主听歌码子中,耐心等待( 也许码完字就听完LL歌曲合集了呢)LL镇楼,若奇迹有颜色,那必定是橙色(本来想放毒的,想想还是不放了)
吕布战三英,却并非天下无敌。
提到计算机的硬件基础,我们就不得不从晶体管开始说起晶体管电路元件是现代数字电路的基础,那么我们先来了解一下若在半导体中掺入5价元素就会形成电子型半导体(N型半导体),其中多数载流子为电子若在半导体中掺入3价元素就会形成空穴型半导体(P型半导体),其中多数载流子为空穴将PN两种半导体结合在一起,称为PN结,当P区为甄姬,PN结正向偏置,反之亦然当正向偏置时电阻极小称为导通状态,当反向偏置时电阻较高称为截止状态这就是半导体的开关效应,大家可以通过楼下的图详细了解
跟我念,阻容感,与或非
围观拉拉人
了解了晶体管的基本知识后,我们来说三极管,任何数字电路教程都少不了说这东西,相信大家对它早就不在陌生,所以我们简单说三极管分为PNP和NPN两种,这里按照NPN三极管来进行介绍,这个计算机里面比较常用NPN三极管顾名思义它有两个PN结,共用一块P型半导体,因此他被分为了三个区:发射区、基区、集电区,将他们引出形成三个接线点E\B\CNPN三极管有三种工作状态:放大,截止,饱和当C接电源,且B电压&0时发射结反向偏置,三极管处于截止态,E处无电流流过当C接电源,且B区电压大于死区电压时,发射结正向偏置,三极管处于放大状态,B处的小电流将被几何倍数放大到E处(这个主要存在于模电,我们不纠结)当C接电源,且B区电压大于饱和电压时,发射结正向偏置,三极管处于饱和态,B处电流恒定不变(相当于开关导通)PNP型与上文所述恰好相反(NPN为高电位导通,PNP为低电位导通)大家可以通过下图详细了解
原来这游戏不止能玩还有后宫!
这种三极管更多地时候是出现在模电中,本帖讨论的电脑主要是数字电路,所以我们来说另外一种三极管:场效应管(MOS管)这种三极管虽然工作原理不同(变为了依靠电场工作)但它的功能大体是一样的同样分为截止、饱和、非饱和导通三种工作状态不过它的三个极区分别称为DGS(源、漏、栅)具体工作情况参考下图
前排围观。
有了这些基础的数字电路知识后我们来说数字逻辑电路的最底层原件逻辑门通过二极管,三极管,mos管组成的逻辑门使得电路拥有最基本的逻辑问题处理能力通过二极管和三极管工作的逻辑门称为:双极型逻辑门通过mos管工作的逻辑门称为:单极型逻辑门(根据导电勾道不同分为Pmos、Nmos、Cmos(互补))最基本的逻辑门包括:与、或、非与逻辑:两个输入一个输出:若两个输入均为1则输出1,反之输出0,类似两个开关串联或逻辑:两个输入一个输出:若两个输入中任意一个为1则输出1,反之输出0,类似两个开关并联非逻辑:一个输入一个输出:输入1则输出0,反之亦然3种双极型逻辑门和单极型逻辑门电路图可参考下图(电路设计不唯一,同种功能有很多电路实现方法,反应速度,抗干扰,发热和能耗都是考虑的关键)
逻辑门如果单独使用意义很小,就像刚才所说,相当于开关串并联而已,但是当逻辑门被组合使用,成为OC门电路时功能被大大加强,我们常用的组合逻辑如下与非:两个输入一个输出,当两个输入均为1时输出0,反之输出1或非:两个输入一个输出,当两个输入均为0时输出1,反之输出0异或:两个输入一个输出,当两个输入不同时输出1,反之输出0同或:两个输入一个输出,当两个输入相同时输出1,反之输出0补充:(上文中均用高电位代表1,低电位代表0,这是为了理解方便,其实反之也可)可以参考下图简单理解组合门电路
计算机世界中只有1和0,因此只用两种状态但在很多时候我们希望更多的原件共用一根数据线,1和0都是数据的一部分,多个原件同时传输就会引发混乱,此时我们希望同一瞬间只有一个原件在传输信号,因此我们引入一个新的概念三态门三态门在1和0之外还有一种输出状态称为禁止(高电阻)顾名思义,这是停用这个原件的意思,这样我们就可以保证在同一瞬间只有一个元件正在同一根线路上传输数据(事实上“片选”“地址”等概念就此产生,但是我们以后再深究)三态门除了数据线还多一根使能(ENB)线,若该线为高电位则门电路工作,反之门电路禁止可以通过下面的图来简单理解这个概念,以后的内容中,关于地址和片选等部分还会再次进行介绍。
收藏了。。只是用来凑字数的   --来自助手版贴吧客户端
点赞   ----Xiaomi Mi4 for UWP
继续向下说:我们将门电路进行复杂的组合来实现我们需要的功能,我们可以通过真值表和逻辑表达式计算出需要的电路并对它进行化简(就像一个方程一样)这涉及到一门被称为离散数学的科学,本帖不讲数学(楼主不会数学)下面我们就来通过实例来了解复杂的逻辑电路如何被组合出来以加法器为例,我们需要计算一下加法,因此需要加法器电路,电脑中的数学很简单只有1和0,因此我们要计算的加法分为0+0=00+1=11+0=11+1=0(进位)同时我们的电路还要接受来自更低位的进位信号因此可能性有8种无进位0+0=0无进位0+1=1无进位1+0=1无进位1+1=0(进位)进位0+0=1进位0+1=0(进位)进位1+0=0(进位)进位1+1=1(进位)因此我们设计的电路应该有3个输入线分别用来输入两个加数和一个进位信号,2个输出线分别输出运算结果和进位信号我们在等号左边用F表示运算结果,C表示进位信号等号右边XY表示输入的加数,C表示进位信号输入则得出真值表达式:F = X(非Y)(非C) + (非X)Y(非C) + (非X)(非Y)C + XYCC =
XY(非C) + X(非Y)C +(非X)YC + XYC据此设计如下图左侧所示的电路并化简进位信号表达式可简化为:C =
XY + XC + YC因此电路简化为下图右侧所示(注:电路已省略供电部分)
看起来好厉害 ?﹏﹏ Stay young,Stay sample
现在我们的电路已经可以计算1位二进制加法了你一定会说:有卵用呀?一个一加一你都快玩出花来了。现在看上去确实没卵用,一位1+1而已,现在我们把4个这样的电路的进位信号组合起来,就得到了4位加法器如图所示现在是不是可以算4位数(二进制)的加法了
然而现实并没有那么美好,这样的电路存在致命的缺点:下一位的运算必须等待上一位运算完毕,进位信号产生后才能进行(门电路由mos管组成,每个mos从截止到饱和都需要时间,整个门电路也因此需要反应时间,虽然这个时间对人类可以忽略但是对于高速运转的计算机是不可忽略的)因此我们需要优化设计添加专门的电路使得需要的进位信号全部同时产生(这被称为超前进位电路)下图介绍了一种4位超前进位加法器具体计算我们不详细说明,有兴趣的小伙伴可以研究下面这个电路图(供电部分已经省略)
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或swordautumn 的BLOG
用户名:swordautumn
文章数:14
访问量:507
注册日期:
阅读量:5863
阅读量:12276
阅读量:340511
阅读量:1042485
51CTO推荐博文
&&& 此篇文章出于完成作业的目的,同时也总结一下自己的学习的体会,巩固一下学习成果。是完全真实的作业过程。如需转载请保留以下信息:&&&&陈铁 + 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程&&& 今天计算机已经成为我们生活中重要不可分离的重要组成部分,从随身携带的手机到超级计算机,大部分都遵循冯诺伊曼体系结构:存储程序、顺序执行。程序编制好后,通过输入设备提供给计算机顺序执行。只要人可以将需要解决的问题描述为计算机可以顺序执行的指令序列,计算机就可以给出相应的结果。所以人们编制了计算机语言用来描述问题,现代计算机语言分为低级语言和高级语言,低级语言更接近机器,高级语言更接近人类。为了描述计算机的工作过程,我们采用接近机器的汇编语言(组合语言)描述计算机的执行过程。&&&&实验环境的主机操作系统是Windows7 64位,运行VirtualBox 4.3.20 Edition,虚拟机安装CentOS7.0 64bit,Linux kernel 3.10.0。gcc版本4.8.2,gdb版本GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-51.el7。&&&&以下是作业过程说明:&&&&1.C语言源代码如下:&&&&&&&&#include &stdio.h&&&&&&&&&int g(int x) {&&&&&&& &&&&return x+2;&&&&&&&&}&&&&&&&&int f(int x) {&&&&&&& &&&&return g(x);&&&&&&&&}&&&&&&&&int main() {&&&&&&&&&&& return f(7)+5;&&&&&&&&}&&&&2.执行命令进行gcc -S main.s main.c生成汇编代码方便我们步进分析代码的执行情况。执行gcc -g main.c -o main生成可用gdb调试的执行代码。在linux终端下执行代码情况如下:&&&&&&&&3.我们通过分析代码流程也可以得到正确答案:&&&&程序从main开始执行,调用了f函数,把参数7传过去赋给x。f函数又调用了g函数,把x也就是7传过去,g函数得到参数x的值为7,返回7+2=9给f函数,f函数把9返回给main函数,main函数返回9+5=14作为程序的执行结果。在Linux终端下,14保存在系统变量$?中。&&&&4.计算机系统我们可以抽象简化为CPU、内存、输入输出几部分。下面我们看一下这个程序在我的环境下,计算机是如何机械的的出这个14的。存在函数的程序会大量进行内存的堆栈操作,简单的加法运算在此不展开介绍,重点对于堆栈的操作进行跟踪。以下是cat main.s 所列出的汇编代码,仅保留可执行的部分。g:&&&&&&& pushq&& %rbp&&&&&&& movq&&& %rsp, %rbp&&&&&&& movl&&& %edi, -4(%rbp)&&&&&&& movl&&& -4(%rbp), %eax&&&&&&& addl&&& $2, %eax&&&&&&& popq&&& %rbp&&&&&&& retf:&&&&&&& pushq&& %rbp&&&&&&& movq&&& %rsp, %rbp&&&&&&& subq&&& $8, %rsp&&&&&&& movl&&& %edi, -4(%rbp)&&&&&&& movl&&& -4(%rbp), %eax&&&&&&& movl&&& %eax, %edi&&&&&&& call&&& g&&&&&&& leave&&&&&&& retmain:&&&&&&& pushq&& %rbp&&&&&&& movq&&& %rsp, %rbp&&&&&&& movl&&& $7, %edi&&&&&&& call&&& f&&&&&&& addl&&& $5, %eax&&&&&&& popq&&& %rbp&&&&&&& ret&&&&(1)执行gdb main进入调试,l命令可以显示出C语言代码。break main设置断点,使程序直行到程序开始处停下来,然后单步执行,看一下计算机到底是如何工作的。run命令使程序开始执行。pushq %movq %rsp, %rbp后,此时rip指向rip=0x40051a。&&&&&&&& (2)执行&info registers命令查看一下寄存器的情况。堆栈指针rbp和rsp指向相同的地址0x7fffffffe550,表明当前程序堆栈为空。&&&&这时汇编代码保存了堆栈原来的指针,操作系统开始调用main函数。可以看到rip指向下一条要执行指令的地址。&&&&(3)有函数调用,我们在gdb中执行stepi命令。执行movl&&& $7, %edi。(gdb) stepi0x051f&&&&& 10&&&&&&&&&&&&& return f(7)+5;(gdb)&print $rip$1 = (void (*)()) 0x40051f &main+9&(gdb) print $edi$1 = 7&&&&(4)这时把程序中传给函数f的7保存进了寄存器edi中,继续执行,调用f函数。call f,执行的操作是当前rip=0x值压栈(在gdb中可以执行x %rsp命令查看),rsp-8,f函数所在地址放入rip中。计算机会执行f函数中的pushq $movq %rsp,%rbp;subq&&& $8, %rsp实际是保存调用f函数前main函数的指针。此时rbp=0x7fffffffe540,rsp=0x7fffffffe538;而(rbp)保存着调用前堆栈栈顶地址,当然栈顶移动8个字节用来接受传人的参数。&&& (5)执行3次stepi命令,movl %edi, -4(%rbp);movl -4(%rbp), %eax;movl %eax, %edi 这三行指令很明确,从main传过来的参数存入堆栈空间,然后通过eax寄存器保存一下,在此放到edi中,准备传给g函数。&&&&(6)调用g函数时call g:rip值压栈;rsp-8;g地址赋给rip。&&&&&&&&接下来执行两条初始化指令pushq %rbp;movq %rsp, %rbp,保存后rbp、rsp变成了0x7fffffffe528。movl %edi, -4(%rbp);movl -4(%rbp), %eax;addl $2, %eax,接受传入的参数,通过eax执行加法,此时结果保存在eax中。然后g函数执行恢复处理,popq& %rbp;ret,rsp指向0x7fffffffe538。&&&&(7)g函数返回时结果保存在eax中。回到f函数代码继续执行。其中leave指令相当于&&&&&&&&movq %rbp, %rsp&&&&&&&&popq %rbp&&&&程序执行后寄存器情况如下:&&&&ret指令执行后rsp=0x7fffffffe548&&&&(8)完成f函数调用后,回到main函数执行addl $5, %eax语句。结果保存在eax中。&&&&(9)后面代码是完成main函数返回,原理和一般函数调用相同,在此不在分析。&&&&&&&&总结:在我最初接触计算机的时候,上机的机时还是很奢侈的东西,那时就给自己制定了学习方法:首先根据教材所教的知识,在头脑中模拟计算机会如何执行,假定课本上的例子都是正确的,推导出机器应当给出什么样的结果,当有机会在计算机上操作时再进行验证。现在看来,那时的思路是对的,但由于没能坚持,今天的计算机水平还是一般。就本质而言,今天的计算机的确就是模拟人的操作过程,程序员如何设计的程序,计算机就会不折不扣的执行。本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:未分类┆阅读(0)┆评论(0)}

我要回帖

更多关于 计算机怎么执行程序的 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信