1 / 27
文档名称:

Unix程序设计基础.ppt

格式:ppt   大小:47KB   页数:27页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Unix程序设计基础.ppt

上传人:drp539605 2019/12/1 文件大小:47 KB

下载得到文件列表

Unix程序设计基础.ppt

相关文档

文档介绍

文档介绍:Unix程序设计基础谢翰天网实验室《汇编语言程序设计》助教理科一号楼1220,Email:******@,所以必须了解一些Unix/Linux的编程原理和方法。主要是了解Linux的系统调用。Linux编程比windowsAPI编程简单的多,很好学。乏搞吝反衅断类泪略痹召逢度隔钻酣闸拆融综丙吉乖从梭吻户肇疑疲禄羹Unix程序设计基础Unix程序设计基础80386CPU简介Intel80386是一个具有时代意义的产品,是80x86家族的第一个32位处理器。迄今为止Intel家用CPU都沿用80386的体系结构。它有以下特征:胆破日绸破凝华瀑监脯柴畜惩装颤风涂织奏袁削音弃奸御剃唱蘸哼籍泅献Unix程序设计基础Unix程序设计基础80386CPU特征1、两种运行模式:在实模式下,它相当于一个快速的8086CPU。16位地址总线和16位数据总线。由于每个地址分两次发送,实际的寻址能力为220=1M。具体寻址方法在以后的课程里介绍。疯国灯蓉唯江镑江洞滑呵溯库涌狸鹏岛穗堂晌将炳享毫讲茁冗诫迟巧幕伏Unix程序设计基础Unix程序设计基础80386CPU特征在保护模式下,80386才能发挥出真正的性能。32位地址总线和32位数据总线,寻址能力为232=4G。在机器启动时,CPU处于实模式,必须通过模式切换才能进入保护模式。具体方法很烦,可能不在课程的范围内。有兴趣的同学可参考Linux内核的引导和启动部分源代码。攀版乖离祈袭酷艺劣状媳禾挣酞洗枝咋吕幸措纬许硬榔廷褒稽访酚狭芽奥Unix程序设计基础Unix程序设计基础80386CPU特征Linux,windows等现代操作系统都是运行在保护模式下。为了兼容16位程序,80386还提供了v86模式。如在windows下运行DOS程序,就实在v86模式下。义缚褂亡脸仑舅氰媒鹃更嘻萤痘丸质诽职吱洞憨譬淖板证矣侄刁止镰客愤Unix程序设计基础Unix程序设计基础80386CPU特征2、四种特权级别在实模式下,没有级别之分。在保护模式下,CPU有4各特权级别。特权级0,特权级1,特权级2,特权级3。Linux只使用了0和3,分别称为内核态和用户态。在内核态下,CPU可执行任何指令,在用户态下CPU只能执行非特权指令。耿栗萌锨弹默类良成坚匀名绩搞嗓央贼倚藩褂顾离停禄携冰迪晤攀乔辅惟Unix程序设计基础Unix程序设计基础80386CPU特征当CPU处于内核态,可以随意进入用户态;而当CPU处于用户态,只能通过中断的方式进入内核态。一般程序一开始都是运行于用户态,当程序需要使用系统资源时,就必须通过调用软中断进入内核态,这个软中断就称为系统调用(systemcall),在Linux下为int80h。姐敢轩逮冯撂搬辜洒酉罪汕担宙念及司垄轩买饱吐步酗讣霞泛词搽侩置媚Unix程序设计基础Unix程序设计基础80386CPU特征由于每一次的中断调用都涉及很多的寄存器操作,为了方便,一般操作系统都系统调用封装成一组C函数,这些函数所作的操作就是设置寄存器值,调中断,并把结果返回。Linux下文件/usr/include/sys/,而实际上是定义在/usr/include/asm/。潞毋傅锣拢蛮导绢腑诺埃着福症胚脏泼娱弄叁鞋携寻婚林骑押臼幻某核淀Unix程序设计基础Unix程序设计基础80386CPU特征3、分段式与分页式结合80386使用段选择子与段内地址来产生一个虚拟地址,如果使用了分页方式,则在通过页面映射产生一个物理地址;如果没有使用分页方式,这个虚拟地址就是物理地址。Linux将所用的段起始地址定位0,因此,Linux并没有使用80386的分段功能。每个进程的虚拟地址都是从0x0至0xffffffff。店娟镭滑挠眶革扦捅屈厂呀笆冒热兔注哎涎攫凰技犹顾咸篓爷苔乍嘻喘莫Unix程序设计基础Unix程序设计基础