《第10单元典型OS平台下编程模式ppt课件》由会员分享,可在线阅读,更多相关《第10单元典型OS平台下编程模式ppt课件(59页珍藏版)》请在金锄头文库上搜索。
1、第第10单元单元 典型典型OS平台下编程模式平台下编程模式l教学目标教学目标l了解在三种了解在三种OS平台上平台上软件编程模式软件编程模式开发流程开发流程开发工具的基本知识开发工具的基本知识秆褪掣获斑高柄旧送捏宁笑厚凹膀葬们倔恐把弯维皂四狼从凛倍提范埂寻第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件1本单元涉及的内容本单元涉及的内容l第第5章章5.1 DOS操作系统编程模式操作系统编程模式5.2 UNIX 操作系统编程模式操作系统编程模式5.3 Windows操作系统编程模式操作系统编程模式lP156P183我份窍搏漫惦光妒份屹蚊猴经封块荤淤灸嗓削峻彩姆住
2、喷辟捣琅郝禾悸外第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件2一、一、DOS 编程模式编程模式lDOS是微机系统配备的主流操作系统是微机系统配备的主流操作系统之一,是单用户、单任务的磁盘操作之一,是单用户、单任务的磁盘操作系统。系统。lDOS提供功能服务的两种方式:提供功能服务的两种方式:键盘命令键盘命令程序执行方式程序执行方式嚏矣妒乡兜姐晦霹凰炽绎秒汲盏托阶淀峭吱恕戳椰技嘛射奔艾鼠酣裹恼班第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件3lDOS的主要功能:的主要功能:管理各种设备管理各种设备管理管理CPU管理各种文
3、件管理各种文件管理内存管理内存支持用户的各种命令和程序支持用户的各种命令和程序支持支持shell操作和操作和Windows支持网络环境支持网络环境挖壤枷阜盆曹揉宗海嫡铡腻葬啊谎胚谋浴瓷浑瘴譬汪沏筛箩酋擎歹淋贸眨第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件4DOS系统结构系统结构 lDOS由由4个模块构成:个模块构成:引导模块(引导模块(BOOT引导区)用于启动引导区)用于启动DOS时自动时自动引导、装入引导、装入DOS系统到内存。系统到内存。DOS内核模块(内核模块(MSDOS.SYS)由两部分组成由两部分组成:内核内核初始化程序初始化程序DOS-INI
4、T和和DOS中断服务程序。前中断服务程序。前者仅用于启动者仅用于启动DOS;后者则是真正;后者则是真正DOS的内核,的内核,提供系统的中断服务功能。提供系统的中断服务功能。DOS I/O接口模块(接口模块(IO.SYS)是是DOS的的I/O设备设备处理程序处理程序.它与它与ROM-BIOS一起组成一起组成I/O处理的处理的服务体系服务体系,完成所有的完成所有的I/O操作操作.命令管理模块命令管理模块(C)主要负责接受并处主要负责接受并处理各种输入命令理各种输入命令.它是直接面向用户操作的它是直接面向用户操作的椒明潮需们田帐捎虞馆资斜类骏樟材挪宴栋掘贾赎楷晨婶粒兼求两那祥旬第10单元典型OS平台
5、下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件5DOS模块结构图模块结构图 l 娇艰囚惧宦记校屑铅昆鹰搽塞俭竖吃脱隶欣替陪晰腊城拇焰娟辜貉盾葡部第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件6 DOS的层次结构的层次结构l ROM-BIOS硬件系统硬件系统IO.SYS 设备驱动设备驱动MSDOS.SYS系统功能系统功能C用户程序用户程序键盘命令键盘命令用户的操作用户的操作魂始晴酶洁牟猾渴遇咎戳符寒辖珐钉缮受年宴特酷害隘典芜蹿根倾笔直哺第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件7 DOS编程流程编程流
6、程确定程序目标确定程序目标设计程序设计程序编码编码编译编译运行运行测试与调试测试与调试维护与修改维护与修改确定程序的目标,算法、语言、处理技巧等系统设计;包括用户界面、数据结构等系统编程;用指定程序设计语言编写源程序编译产生可执行文件运行可执行文件对运行的程序进行正确性测试,修改错误对程序不断进行建设性维护,使其完善鸟吗铀羽傀菠册使隶羊羌剃墩卡丹芭洛说钝鳖柒扩升播腕誉逞未滇丝岔搪第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件8DOS编程开发工具编程开发工具lDOS环境下的程序设计语言,包括:环境下的程序设计语言,包括:Fortran、BASIC、Pasca
7、l、C、C+、汇、汇编语言等。编语言等。l不同的语言有其各自的适用领域和特点。不同的语言有其各自的适用领域和特点。如果是科学计算应用,选如果是科学计算应用,选Fortran语言比其语言比其它语言和合适。它语言和合适。lC和和C+是比较流行的程序设计语言,但它是比较流行的程序设计语言,但它们也不是万能的。在们也不是万能的。在C语言中做不到的,在语言中做不到的,在C+语言中也做不到。但用语言中也做不到。但用C+编写程序,编写程序,比用比用C写程序更容易阅读和交流,编程效率写程序更容易阅读和交流,编程效率更高、更好。更高、更好。粥橇吧愁啊剪榆侗美胶耽贱滞惩浙捂唉贷厘本惜专敷叫叛唁蒙跟拒坑桔咏第10单
8、元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件9l汇编语言适合对硬件接口类快速响应汇编语言适合对硬件接口类快速响应的应用,但汇编语言编写、调试、维的应用,但汇编语言编写、调试、维护很困难,也不便于阅读。护很困难,也不便于阅读。l具体使用哪一种语言,还是要具体情具体使用哪一种语言,还是要具体情况具体分析,根据实际情况和需要进况具体分析,根据实际情况和需要进行选用。行选用。钙词牺棚吐仁燎注到兢瘪驰撇拥综艰乓依犀洲誊斩化烩郧牟仰桌嘉抑尘穴第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件10 DOS内存分配图内存分配图lDOS内存可以划
9、分为四种类型:内存可以划分为四种类型:l(1)基本内存基本内存主板上主板上640KB以下的存储空间。以下的存储空间。DOS的的系统程序和用户的应用程序都要使用这系统程序和用户的应用程序都要使用这片空间。片空间。l(2) 扩展内存(扩展内存(Extended)主板上主板上640KB以上的存储空间。这部分以上的存储空间。这部分空间空间DOS不能直接管理,而是要通过扩不能直接管理,而是要通过扩展内存管理程序展内存管理程序HIMEM.SYS来使用这部来使用这部分内存。分内存。奈膨羚摘驰陀招顺递锻较裕瑰膘闻显漠蛾沫膛限切疫癌邦伎百寓蒲摄汰解第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台
10、下编程模式ppt课件11l(3) 扩充内存(扩充内存(Expanded)插在计算机主板的扩充槽中的内存扩充插在计算机主板的扩充槽中的内存扩充板上的那部分存储器,它们是通过板上的那部分存储器,它们是通过EMS.SYS程序来管理的。程序来管理的。l(4) 保留内存(保留内存(Reserved)这是给计算机留做存储这是给计算机留做存储I/O系统数据及各系统数据及各种接口驱动程序使用的存储器,也称适种接口驱动程序使用的存储器,也称适配器内存。配器内存。瘪遇呸埂姐记择饺映钾冬攒叛奔号破像飞耗豆断熏亲了邓术案狰展浚生旺第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件12
11、操作系统程序员接口操作系统程序员接口 l在在DOS平台下平台下,通过通过DOS、BIOS和应和应用程序都可以实现对计算机硬、软件用程序都可以实现对计算机硬、软件资源的操作。资源的操作。l(1) BIOS提供最接近硬件的低层接口,操作最直提供最接近硬件的低层接口,操作最直接;接;DOS提供的是高层次的功能服务;提供的是高层次的功能服务;而高级语言则是通过对而高级语言则是通过对DOS和和BIOS功能功能的调用来实现对计算机硬件设备的操作。的调用来实现对计算机硬件设备的操作。操作是间接的。操作是间接的。谐半仅恕贞肃郧墩旺哮惩坯汞羹摸溯剪肃纱为导慷苑朝鲸卒角攘施票蒜镍第10单元典型OS平台下编程模式p
12、pt课件第10单元典型OS平台下编程模式ppt课件13l(2) 高级语言高级语言优点优点: 编程效率高、可移植性好、便于编程效率高、可移植性好、便于交流交流缺点缺点: 执行效率较低(不如执行效率较低(不如DOS、BIOS功能),不能直接对硬件进行操作功能),不能直接对硬件进行操作l在开发程序过程中,使用什么语言,在开发程序过程中,使用什么语言,采用何种编程方式,都要视具体情况采用何种编程方式,都要视具体情况和需要来选择。和需要来选择。恩圈缩堆宝赁浑柄仓奠剔空崭宁碍纱汪总酌戏化寅谢森溉咋轩瓜磨等堪啮第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件14二、二、U
13、NIX OS编程模式编程模式 lUNIX 结构结构lUNIX编程流程及开发包编程流程及开发包l多进程编程特点多进程编程特点l常见进程通信方式常见进程通信方式l程序员接口程序员接口诣翘钵执围切致谩酮洽楼啤典隔雁脑讲赫獭巫宛霹寞增嵌骨住割钢剂舀茎第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件15UNIX 结构结构lUNIX系统分为三层:系统分为三层:l(1) 内层:核心层内层:核心层UNIX内核,是内核,是OS管理和控制中心,常管理和控制中心,常驻内存。驻内存。l(2) 中间层:系统调用层中间层:系统调用层界于核心层和应用层(外层)之间,是界于核心层和应用层(
14、外层)之间,是供程序员设计、开发应用程序时调用的。供程序员设计、开发应用程序时调用的。UNIX系统调用包括:进程管理、文件管系统调用包括:进程管理、文件管理、终端状态等。理、终端状态等。怪禹牟午虎猫钡唯抵涨谣褐寻情叫织丰役孜奥酮撂债寨壹块宋敛季至渠狸第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件16l(3) 外层:应用层外层:应用层包括各种开发工具、高级语言编译器、包括各种开发工具、高级语言编译器、网络通讯处理程序等。所有应用层程序网络通讯处理程序等。所有应用层程序都是在都是在shell(命令语言解释程序)的管(命令语言解释程序)的管理和控制下为用户服务的
15、,是面向用户理和控制下为用户服务的,是面向用户操作的界面。操作的界面。赖云忻邹霄恼惺娃饶巫纷漓晌恩郝熏声咆靖拣凉乎玲栓嘉孝盔宛歇卫甫辽第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件17UNIX系统结构图系统结构图l 裸机裸机存储程序、进程管理、文件管理、存储程序、进程管理、文件管理、I/O设备管理设备管理系统调用系统调用应用程序、各种语言处理程序应用程序、各种语言处理程序Shell命令解释程序命令解释程序系系统统程程序序员员终端机终端机用户用户n用户用户n用户用户n应用层应用层系统调用层系统调用层内核层内核层颐综狗夺翠抨套挚龋恋作芬气哭鸳机奶乓激铁背挨蚀总
16、咒藏勺鄂匪醇蜒违第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件18 UNIX编程流程及开发包编程流程及开发包lUNIX编程流程:编程流程:l(1) 源代码编辑源代码编辑UNIX的编辑器是的编辑器是vi、ed。l(2) 编译编译对源程序文件进行编译,产生目标程序。对源程序文件进行编译,产生目标程序。UNIC的的C编译命令是编译命令是cc,创建类库的命,创建类库的命令是令是ar,编译大的应用程序用,编译大的应用程序用make命令。命令。触荆臀匝丰想辰褒钵扇镑荐豢罢勺朗咸雕缨荔短妻阮郝沧蹿博员褪吻侣盂第10单元典型OS平台下编程模式ppt课件第10单元典型OS平
17、台下编程模式ppt课件19l(3) 调式调式 三种调试工具三种调试工具Lint :检查源代码的错误;检查源代码的错误;Prof :分析程序运行花费的时间;分析程序运行花费的时间;Sdb: 符号诊错器,也提供断点支持及编符号诊错器,也提供断点支持及编程环境中的交互式的程序调用。程环境中的交互式的程序调用。l(4) 链接链接将目标程序和库函数等链接、装配成可将目标程序和库函数等链接、装配成可直接执行的程序。直接执行的程序。l(5) 执行程序执行程序 运行可执行程序。运行可执行程序。才择援涣谗跌佳葵惜乳蓬豌羔虾狞赡蓄绚物侗竿痔响沤屉女逻远蚀啥尽穴第10单元典型OS平台下编程模式ppt课件第10单元典
18、型OS平台下编程模式ppt课件20创建可执行创建可执行C程序的操作步骤程序的操作步骤l1) 预处理程序预处理程序替换符号名替换符号名,接受来自用户源文件中的指接受来自用户源文件中的指令、用户程序中命名文件的内容等。令、用户程序中命名文件的内容等。l2) 编译程序编译程序把用户源代码文件中的把用户源代码文件中的c语言代码翻译成语言代码翻译成汇编语言代码。汇编语言代码。婿除睛罗石蚜桌邑挫盎瀑柿肿踏茅针思祸亲第惺涅目岩叫恰离镜哄半饺吨第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件21l3) 汇编程序汇编程序把汇编语言代码翻译为目标机器的机器把汇编语言代码翻译为目
19、标机器的机器指令,并将这些指令保存在目标文件中。指令,并将这些指令保存在目标文件中。l4) 链接程序链接程序把目标文件、用户程序中调用的库函数把目标文件、用户程序中调用的库函数进行链接,生成可执行程序。进行链接,生成可执行程序。婚次肆符邮痞液涨滴沏廖援召空氟谐审丁衰饶亲孩答九悍丑庐身邀屁周晰第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件22UNIX开发包开发包l(1) MOTIF API提供一致性外观和用户接口的窗口部件提供一致性外观和用户接口的窗口部件的集合;的集合;l(2) TCL/TK一种解释性语言,也是一套一种解释性语言,也是一套C的函数库,的函数
20、库,可提供基本的命令与控制结构;而可提供基本的命令与控制结构;而TK是是一个一个X Window的工具包,是的工具包,是TCL在在X Window 系统的应用。系统的应用。绷恿经驰谱书入摄故鹰闯骡哼监呸午溯霖棺湘搁斧羞蒲使疮沉署哟斥星出第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件23l(3)GTK(GIMP ToolKit)开发工具,基本是面向对象的应用程序开发工具,基本是面向对象的应用程序设计的一套设计的一套API,有些类似于,有些类似于Microsoft的的MFC编程。编程。l(4) 开发语言开发语言包括:包括:C、C+、Fortran、Ada、Pa
21、scal、Lisp、Small Talk等。等。擅窿橱泰冶瘩滚暴哈机银拖姑跺迷利薪挎烂涣凝盎彪蛆蕴腰筋测声五锡蔷第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件24 多进程编程特点多进程编程特点lUNIX是分时多用户系统。由于每个进程都是分时多用户系统。由于每个进程都有各自的运行环境,在进程状态转换控制有各自的运行环境,在进程状态转换控制过程中要考虑处理不同的内容数据:过程中要考虑处理不同的内容数据:用户数据保存:包括正文段、数据段、堆栈段用户数据保存:包括正文段、数据段、堆栈段和共享内存段;和共享内存段;寄存器数据保存:寄存器数据保存:PC(指向下一条要执
22、行的地址(指向下一条要执行的地址 )PSW(处理机状态)(处理机状态)SP(堆栈指针)(堆栈指针)PCBP(进程控制块指针)(进程控制块指针)痞逢戴诲健黑内摸屑悔漏瓶稚井巳踢梦刻脂朽昭除挖钾晨胖乡峭民朽飘宾第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件25FP(指向堆栈中一个函数的(指向堆栈中一个函数的Local变量变量的地址)的地址)AP(指向堆栈中函数调用的实参位置)(指向堆栈中函数调用的实参位置)ISP(中断堆栈指针)及其他通用寄存器。(中断堆栈指针)及其他通用寄存器。系统层次保存:包括虚拟存储空间管理系统层次保存:包括虚拟存储空间管理表格,中断处理
23、堆栈。表格,中断处理堆栈。l 当该进程再得到当该进程再得到CPU时间片时,能时间片时,能够从够从“断点断点”处开始正常地运行处理。处开始正常地运行处理。萎兵慕蓑锁刘蕴律隙校躺叁光赐日怯裤聂屋磊宵磺勘习昧沼吨攘钮填反寒第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件26多进程程序的特点多进程程序的特点l(1) 并行化并行化将一个大而复杂的问题,划分为一系列将一个大而复杂的问题,划分为一系列小而简单的问题进行处理。处理时,各小而简单的问题进行处理。处理时,各个小处理可以同时进行,而在一些关键个小处理可以同时进行,而在一些关键点的处理时,再采用集中式。点的处理时,
24、再采用集中式。l(2) 简单有序简单有序经并行化分解的程序是简单的,可以单经并行化分解的程序是简单的,可以单独处理,但相互之间通过通讯机制而有独处理,但相互之间通过通讯机制而有机地结合成一个整体。机地结合成一个整体。功抒阐紫逝芦淬演捅听明眶乍蜀坡号圾淌十旅抹舰几丛用舶瘫辰书牺籍战第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件27l(3) 互不干扰互不干扰各个进程是独立的。各个进程是独立的。l(4) 事物化事物化将程序设计成一个进程只进行一次处理,将程序设计成一个进程只进行一次处理,相当于完成一个事物。进程处理完相当相当于完成一个事物。进程处理完相当于一次事
25、物完成。这样的变成简单易行。于一次事物完成。这样的变成简单易行。锦拇肿十谐规洞去赠赘去卷嘲俱肇镭汰参首个熟忘襟房赁怨浮募赔措耕返第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件28常见进程通信方式常见进程通信方式lUNIX系统中的进程间的通讯有两层含系统中的进程间的通讯有两层含义:义:单一进程内部各个模块间的通讯单一进程内部各个模块间的通讯作为单独单位的各个不同进程间的通讯作为单独单位的各个不同进程间的通讯l前者沿袭了单任务操作系统中的模块前者沿袭了单任务操作系统中的模块通讯方法;通讯方法;l后者必须保证各个进程在通讯过程中后者必须保证各个进程在通讯过程中互
26、不干扰从而保持其通信的一致性。互不干扰从而保持其通信的一致性。l 悔担耿扳泌竖白敲寸猜赢义吁肢辑挫卤谁没晶拣潮耻瞒皇彭翅爱推道馋柯第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件29UNIX采用的进程通信方式采用的进程通信方式l(1) 文件和记录锁定文件和记录锁定为避免两个进程间同时要求访问同一共享资源为避免两个进程间同时要求访问同一共享资源而引起访问和操作的混乱,在进程对共享资源而引起访问和操作的混乱,在进程对共享资源进行访问前必须对其进行锁定,该进程访问完进行访问前必须对其进行锁定,该进程访问完后再释放。这是后再释放。这是UNIX为共享资源提供的互斥性为
27、共享资源提供的互斥性保障。保障。l(2) 管道管道管道一般用于两个不同进程之间的通信。当一管道一般用于两个不同进程之间的通信。当一个进程创建一个管道,并调用个进程创建一个管道,并调用fork创建自己的创建自己的一个子进程后,父进程关闭读管道端,子进程一个子进程后,父进程关闭读管道端,子进程关闭写管道端,这样提供了两个进程之间数据关闭写管道端,这样提供了两个进程之间数据流动的一种方式。流动的一种方式。穿寻啄渍塘们敲漆斋执吉霜仪熙就裁丹臃历葡刻旅踢徒珐背锋埃厘甲权狗第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件30l(3) FIFOFIFO是一种先进先出的队列
28、。它类似于一个管是一种先进先出的队列。它类似于一个管道,只允许数据的单向流动。每个道,只允许数据的单向流动。每个FIFO都有一都有一个名字,允许不相关的进程访问同一个个名字,允许不相关的进程访问同一个FIFO。因此也成为命名管道。因此也成为命名管道。l(4) 消息队列消息队列UNIX下不同进程之间可实现共享资源的一种机下不同进程之间可实现共享资源的一种机制;制;UNIX允许不同进程将格式化的数据流以消允许不同进程将格式化的数据流以消息形式发送给任意进程。对消息队列具有操作息形式发送给任意进程。对消息队列具有操作权限的进程都可以使用权限的进程都可以使用msget完成对消息队列完成对消息队列的操作
29、控制。通过使用消息类型,进程可以按的操作控制。通过使用消息类型,进程可以按任何顺序读消息,或为消息安排优先级顺序。任何顺序读消息,或为消息安排优先级顺序。限雹但靠通琼寂玫郑杭石锯乳贮氯蒜妊粪驯防贺怒冷篆隔巡条欺焕烂镀揖第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件31l(5) 信号灯信号灯作为进程间通讯的一种方法,它不是用作为进程间通讯的一种方法,它不是用于交换大批数据,而用于多进程之间的于交换大批数据,而用于多进程之间的同步(协调对共享存储段的存取)。同步(协调对共享存储段的存取)。l(6) 共享内存共享内存通过信号灯实现存储共享(类似通过信号灯实现存储
30、共享(类似“红灯红灯停、绿灯行停、绿灯行”)吏缝疙侩养哀煞货响沃窍奏终啃项厄偷鸵陌张膜娟椅挨残锹杉迢油演荔阿第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件32程序员接口程序员接口lUNIX提供了在提供了在POSIX(计算机环境的(计算机环境的可移植操作系统界面)的可移植操作系统界面)的UNIX API,使其成为跨平台的编程接口。使其成为跨平台的编程接口。lUNIX 是一套类库中可调用的函数集,是一套类库中可调用的函数集,它的主要函数功能包括:标准它的主要函数功能包括:标准C类库类库的的I/O功能、文件及目录操作、进程的功能、文件及目录操作、进程的创建与终止
31、、通信设施、设备驱动函创建与终止、通信设施、设备驱动函数、系统数据库、数据交换格式等。数、系统数据库、数据交换格式等。毫鬃钒楚疏乖据妓厕莽蚂库迄词肌理蛆抗艳扶铆旨衙歇到眷翼锻纸捕鞭兽第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件33三、三、Windwos编程模式编程模式lWindows结构结构lWOSA及及Windows DNAl事件及消息机制事件及消息机制l多线程多线程l编程流程几开发包编程流程几开发包l程序员接口程序员接口旧稚亥汕轮强血也耽饥授臻西家曲翌陆杖琅雪所郊癸锐馏长睫版貌柿酮醒第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编
32、程模式ppt课件34 Windows结构结构l 基本系统设备驱动程序虚拟机管理程序子系统操作系统服务网络子系统文件管理子系统WindowsKernelWindowsGDIWindowsUserWindows子系统Windows API 层32位位Windows应用程序应用程序WindowsKernel外壳外壳16位位Windows应用程序应用程序系统虚拟机器共享地址空间MS-DOS虚拟机虚拟机茄热鬼行娠旅刮皿面疽冲曰酷恃说靖胎雌批已寂脑乃妒扣磋割鸟抢痹都猩第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件35Windows结构(续)结构(续)l(1) 系统虚拟
33、机器系统虚拟机器VM是系统的环境名,在这种环境下,系统是系统的环境名,在这种环境下,系统将支持所有的将支持所有的Windows应用程序和应用程序和Windows子系统组件。如图形设备接口子系统组件。如图形设备接口(GDI)等。)等。l(2) 32位位Windows应用程序应用程序是一种新的是一种新的Windows应用程序,是应用程序,是Microsoft Win32应用程序编程接口应用程序编程接口API的一个子集。的一个子集。么什京接羽糕改嚣牡掸池斌殴洗站荆千布淆臣回用软啥屁兵剁紧蛾瑟滑戎第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件36l(3) 外壳外壳
34、是一种是一种32位的位的Windows应用程序,它为应用程序,它为系统提供必须的用户界面。系统提供必须的用户界面。l(4) 16位位Windows应用程序应用程序在在Windwos 3.x上使用的应用程序。上使用的应用程序。l(5) Windows内核内核支持支持Windows应用程序所要求的低级服应用程序所要求的低级服务,如动态内存分配。务,如动态内存分配。委角溺聚遗苍荡淹坡梁鬼股念丧冀周崩变地啪碟梅拱吾擅厂伶销增葬纯恢第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件37l(6) GDI是是Windows图形功能的核心。图形功能的核心。l(7) User是
35、是Windows管理程序。管理程序。l(8) MS-DOS虚拟机器虚拟机器支持在支持在Windows下的下的MS-DOS应用程序。应用程序。寥彭番禁协导件防产历隔富屁卸损缝束许生眯爆航任肾讨砂粤居阜韩极狐第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件38WOSAlWOSA(开放服务(开放服务 体系结构体系结构 Windows Open Service Architecture)是是Windows为实现分布式计算而设计的为实现分布式计算而设计的一套一套API。该结构模型可以使不同的提供。该结构模型可以使不同的提供商提供访问多个后端的服务程序。商提供访问多个后
36、端的服务程序。lWOSA包括:包括:l(1) MAPI:消息:消息API。在不同网络类型上,给在不同网络类型上,给Windows程序提程序提供不同类型的透明的消息服务。供不同类型的透明的消息服务。帽疮嘉兑碉涡锑烘戎署簧翌筒耽近装捉铀宋渊招峡纂断捧娩络互技垃疆繁第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件39l(2) ODBC:开放数据库连接。:开放数据库连接。ODBC允许不同的允许不同的Windows应用程序访应用程序访问任何企业网络上的、多种类型数据库问任何企业网络上的、多种类型数据库系统。系统。l(3) RPC:远程方法调用。:远程方法调用。使使Wi
37、ndows应用程序可以跨异质的网络应用程序可以跨异质的网络去调用远程的方法或应用。去调用远程的方法或应用。绽赡纺霜瘤诈甚帅刘默福泳腔瞧伺扶押竞迅屠乙烃拦钥撇嗜犬析量絮霞捆第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件40WOSA(续)(续)l(4) Windows SoketS:Windows 套接字。套接字。使网络上使用不同类型数据传输协议的程序通使网络上使用不同类型数据传输协议的程序通过套接字进行透明的操作。过套接字进行透明的操作。l(5) License Services API:验证字服务:验证字服务API。这是一个软件验证字的编程接楼,可以实行对
38、这是一个软件验证字的编程接楼,可以实行对不同公司产品的监控以及控制网络程序的应用。不同公司产品的监控以及控制网络程序的应用。l(6) TAPI:提供一个电话应用的:提供一个电话应用的API接口。接口。使使Windows应用程序可以对传统的电话网络及应用程序可以对传统的电话网络及设备进行透明存取。设备进行透明存取。奄呐响杯手躁捎阴败檬煤硕鳖灯察完稼媚缄体伊蝉严黎裂翠淑苏曰钧瘦柴第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件41Windows DNAlWindows DNA(Windows Distibuted interNet Applications Ar
39、chitecture)。)。Windows分布式分布式Internet应用结构。应用结构。l目的是创建一个框架,用以建立基于微软目的是创建一个框架,用以建立基于微软Windows平台的各种应用程序,从而使平台的各种应用程序,从而使PC机和机和Internet完美结合。完美结合。lWindwos DNA建立了一个计算模型,它实建立了一个计算模型,它实现了现了Web和客户机和客户机/服务器计算的集成。服务器计算的集成。旬拢蓖欠砧黔胳烙琅终刷抵争陇梨驳坏册蹦帖镇硝对惊禹藕诵额磅倡籽胁第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件42l在最高层次上,在最高层次上,
40、Windows DNA融合融合PC机和机和Internet是通过两种途径:一是通过两种途径:一是使计算机之间通过协作望、公众网是使计算机之间通过协作望、公众网能很好地湖用和共同运作;二是将应能很好地湖用和共同运作;二是将应用的核心服务或用的核心服务或“管道管道”服务更深地服务更深地综合于操作系统。综合于操作系统。l更重要的是更重要的是Windwos DNA 提供了一提供了一个基于开放式协议和公开界面的互用个基于开放式协议和公开界面的互用性框架,这一框架能使用户以新功能性框架,这一框架能使用户以新功能(Web)扩展现有系统。)扩展现有系统。挞孤徘共栋横减涌亢蜒完尖奶蜒溜浦颠黄坝袭滞菏莹且廖叛卖进
41、逃学其屠第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件43lWindows DNA的核心是通过一个公的核心是通过一个公共对象模型(共对象模型(COM)将)将Web和客户机和客户机/服务器应用开发模式结合起来。服务器应用开发模式结合起来。Windows DNA通过构件对象模型使通过构件对象模型使用一套通用的服务集,如构件,动态用一套通用的服务集,如构件,动态HTML、网络浏览器和服务器、脚本、网络浏览器和服务器、脚本、事物处理、消息序列、安全性、目录、事物处理、消息序列、安全性、目录、DB和数据存取、系统管理以及用户界和数据存取、系统管理以及用户界面。这些服
42、务一统一的方式公开于各面。这些服务一统一的方式公开于各个层面,供应用程序使用。个层面,供应用程序使用。揉戚认硷免聘膨猩揖雏讥捶铰送隋品枉训您赠丰辫绩匡腿腹砷爸凭几项电第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件44Windows DNA体系结构体系结构l1、Windows平台:平台:WindowsOS、Win32技术技术l2、部件对象模型、部件对象模型COM:COM、DCOM及与之相关的技术及与之相关的技术l3、Internet技术:技术:MS-IE、动态、动态HTML(DHTML)、)、IIS、MS-Site Server、JAVA嗣隐弯磨省阮苟颗敲囤
43、鸽砰捕谁毁帜藏胳寺景枷揉永顷你跑看尊楔招蹦围第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件45l4、Windows DNA 服务:包括安全服务:包括安全性、目录、事物处理、消息队列、性、目录、事物处理、消息队列、DB管理、数据存取、管理、数据存取、E-mail与协作、脚与协作、脚本、系统管理等;本、系统管理等;l5、Windows DNA的工具:快速应用的工具:快速应用开发工具、组件的创建、协同开发、开发工具、组件的创建、协同开发、内容的创建与发布、内容的创建与发布、Web网站的开发。网站的开发。l6、其他、其他Windows DNA 服务器的应服务器的应
44、用。用。MS-BackOffice等。等。纯内必怎慨羡奥怨烛秃木塞庸蚀蛇德呕绳齐檄慕蚁着拼骏圾丑轨陶剃浙轰第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件46Windows DNA体系结构示意图体系结构示意图l 分布式分布式操作系统操作系统(DOE)镭焊比白晃蛾窄恿珍顺走鉴卉今丈秤咙圈真捎滔化琅咋畦江兄蹭涣智嘲沈第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件47事件及消息机制事件及消息机制lWindows是事件驱动(消息驱动)的是事件驱动(消息驱动)的OS,也是基于消息的也是基于消息的OS。lWindows 应用程序中消
45、息有两种送出途径;应用程序中消息有两种送出途径;直接和排队。直接和排队。Windows或某些运行的应用或某些运行的应用程序可直接发布消息给窗口过程,或者,程序可直接发布消息给窗口过程,或者,消息可送到消息队列,在应用程序执行期消息可送到消息队列,在应用程序执行期间应用程序对象连续不断轮询消息队列的间应用程序对象连续不断轮询消息队列的消息。凡是以排队方式送出的消息都被送消息。凡是以排队方式送出的消息都被送到一个由操作系统提供的消息队列的保留到一个由操作系统提供的消息队列的保留区。在区。在OS中当前执行的每个进程都有各自中当前执行的每个进程都有各自的消息队列。的消息队列。狈屋柏说剥笺夫渝婶戎忱醉染
46、棕榴带陀奢弃析敖惹曰塌反耶纬走忽扁颧席第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件48l事件驱动程序不是由事件的顺序来控事件驱动程序不是由事件的顺序来控制,而是由事件的发生来控制,而事制,而是由事件的发生来控制,而事件的发生是随机的、不确定的,这就件的发生是随机的、不确定的,这就允许程序的用户用各种合理的顺序来允许程序的用户用各种合理的顺序来安排程序的流程。安排程序的流程。l事件驱动围绕消息的产生与处理展开,事件驱动围绕消息的产生与处理展开,它是靠消息循环机制来实现的,消息它是靠消息循环机制来实现的,消息是一种报告有关事件发生的通知。是一种报告有关事件发
47、生的通知。浊插跳吮糙蔚连窒淌匈康秽鳖箕场缝悲迷筋锰精彝储举堑蚕愚介镀唆殊厂第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件49Windows应用程序的消息来源应用程序的消息来源l(1) 输入消息输入消息包括键盘和鼠标的输入。这类消息首先包括键盘和鼠标的输入。这类消息首先放在系统消息队列中,然后由放在系统消息队列中,然后由Windows将它们送到应用程序的消息队列中,由将它们送到应用程序的消息队列中,由应用程序来处理消息。应用程序来处理消息。l(2) 控制信息控制信息用来与用来与Windows的控制对象(列表框、的控制对象(列表框、按钮等)进行双向通信。这类信
48、息一般按钮等)进行双向通信。这类信息一般不经过应用程序消息队列,而是直接发不经过应用程序消息队列,而是直接发送到控制对象上去。送到控制对象上去。寇军捻来朝眯喇啮嘶槐滁舔增钨系掠焉侮秉盆井编苍辑啸挽油先韵糙表荔第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件50l(3) 系统消息系统消息对程序化的事件或系统时钟中断作出反对程序化的事件或系统时钟中断作出反映。有些消息(动态数据交换消息映。有些消息(动态数据交换消息DDE)要通过)要通过Windows的系统消息队列,的系统消息队列,而有的则不通过系统消息队列而直接送而有的则不通过系统消息队列而直接送入应用程序的消
49、息队列(如创建窗口消入应用程序的消息队列(如创建窗口消息)。息)。l(4) 用户消息用户消息这是程序员自己定义并在应用程序中主这是程序员自己定义并在应用程序中主动发出的消息,一般由应用程序的某一动发出的消息,一般由应用程序的某一部分内部处理。部分内部处理。利都热遏至购眷疲锣礼这耘袖盔地修半伯咬庄膊耪困懒艳咙环靛查悯倍湍第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件51多线程多线程l(1) Win32分配分配CPU的基本单位。是代码执的基本单位。是代码执行的流程,它可以执行应用程序代码的任行的流程,它可以执行应用程序代码的任何部分。何部分。l(2) 32位的
50、位的Windows应用程序可包含一个应用程序可包含一个或多个进程,每个进程由一个或多个线程或多个进程,每个进程由一个或多个线程构成。构成。l(3) 线程分为两种类型:线程分为两种类型:worker和和user-interface;前者不处理窗口信息,用于在;前者不处理窗口信息,用于在后台执行任务,后台执行任务,Worker线程是易用和常用线程是易用和常用的类型。后者用来处理用户输入和相应由的类型。后者用来处理用户输入和相应由用户产生的事件和消息。用户产生的事件和消息。猾挥美湖铺叙删坎送撕莉菲彬厌牲咏沟池坎序笑摄辕咯浆盈窥星泽内淖矩第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台
51、下编程模式ppt课件52l(4) Windows的多任务是通过使用的多任务是通过使用Win32 API,从而允许多进程与多线,从而允许多进程与多线程同时执行。对于用户来说,多任务程同时执行。对于用户来说,多任务和多线程的应用程序更易于响应用户和多线程的应用程序更易于响应用户的需求。的需求。咆鹤吻镀谈乡读足讥惩讹娟士敞迁碉怜表酗巧盲护僚其湘驱岛羔竿陨僵雄第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件53编程流程及开发包编程流程及开发包 lWindows软件开发包软件开发包SDK包括:包括:描述描述Windows函数、消息、结构、宏及函数、消息、结构、宏及资料
52、的大量书籍;资料的大量书籍;各种工具:对话编辑器、图像编辑器;各种工具:对话编辑器、图像编辑器;联机帮助文件联机帮助文件Windows库及头文件库及头文件C语言编写的样本语言编写的样本Windows程序等。程序等。他庶炬鱼鸵轩栅下擒捂幂拭陕矣曾淘摊知永唯盯猜署皿蒜扒贬喀技舰永徐第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件54lWindows SDK程序开发中,涉及程序开发中,涉及Windows SDK及及API;事件驱动程序设计、;事件驱动程序设计、消息处理和消息循环;窗口类和窗口样式;消息处理和消息循环;窗口类和窗口样式;Winmain()主函数;窗口
53、过程。()主函数;窗口过程。lC+是完全面向对象语言,它简化了开发过是完全面向对象语言,它简化了开发过程,提供代码重用,开发效率高等优点。程,提供代码重用,开发效率高等优点。lVisual C+ 6.0 采用采用Microsoft基本类基本类MFC库封装库封装SDK的结构、功能及应用程序框架的结构、功能及应用程序框架内部技术。内部技术。贷肌及胀吝赚瓶胶文获冒贪绽抢园磁罐胀痴累蝎磐哗吊缔竖喧代寒颤瀑苹第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件55用用VC+开发开发Windows应用程序的流程应用程序的流程 l(1) 进入进入VC+集成开发环境,选定新集成
54、开发环境,选定新建文件或项目类型建文件或项目类型l(2) 代码编辑。代码编辑。l(3) 编辑编辑Windows程序所需要的资源程序所需要的资源文件,包括对话框、图标、菜单等文件,包括对话框、图标、菜单等l(4) 用编译器进行编译用编译器进行编译l(5) 调试并优化。调试并优化。泻搁测赂意仆平屉引汛约模西腺扮革负排摄小归帕调谩窃掉秘友纬隘域宫第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件56程序员接口程序员接口lWindows API 有两种基本类型:有两种基本类型:Win16 是是 16位位Windwos的编程接口的编程接口Win32 是是 32位位Win
55、dows家族家族OS的编程的编程接口接口lWin32 API包含了包含了2000多个经实践检多个经实践检验过的函数和宏,提供极丰富的功能。验过的函数和宏,提供极丰富的功能。缅杭慰栋凤篆伟择岭八染节浚壬剔绰娜移食垢奎剔孺呜化酞译谋枯藻体乱第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件57l在在Win32 API的核心中,有三个主要的核心中,有三个主要组件提供了大部分组件提供了大部分Windows的功能。的功能。它们是:它们是:(1) USER32.DLL 负责窗口管理负责窗口管理,包括包括消息、菜单、通信、等消息、菜单、通信、等(2) GDI32.DLL G
56、DI组件是图形设备接组件是图形设备接口,它管理用户界面和绘图等口,它管理用户界面和绘图等(3) KERNEL32.DLL 处理存储器低层功处理存储器低层功能、资源管理等,是能、资源管理等,是Windows的核心。的核心。瀑增框反诌才啥玉糕饭漠呛琵给蒙背聘脏返霉滤赚枣迹捍误澜稳败壳使逃第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件58思考及作业思考及作业l思考题思考题:l 15、11、13、15l作业题:作业题:P182l 610、19棠咱缄挟寅圭豁辑当遁袜容俘春尉取耗坍济绥挣捅综程杯疆珐证位亮试驹第10单元典型OS平台下编程模式ppt课件第10单元典型OS平台下编程模式ppt课件59