软件技术基础主讲刘志强西安交通大学计算机教学实验中心.PPT
《软件技术基础主讲刘志强西安交通大学计算机教学实验中心.PPT》由会员分享,可在线阅读,更多相关《软件技术基础主讲刘志强西安交通大学计算机教学实验中心.PPT(38页珍藏版)》请在三一办公上搜索。
1、,软件技术基础主讲:刘志强西安交通大学计算机教学实验中心,第10单元典型OS平台下编程模式,第 2 页,教学目标,了解在三种OS平台上软件编程模式开发流程开发工具的基本知识,第 3 页,教学要求,通过本单元学习,了解:DOS OS编程模式DOS结构、DOS编程流程及开发工具、内存分配、OS程序员接口UNIX OS编程模式UNIX 结构、编程流程几开发包、多进程编程特点、常见进程通信方式、程序员接口Windwos编程模式Windows编程模式、WOSA及WindoowsDNA、事件几消息机制、多线程、编程流程及开发包、程序员接口,第 4 页,本单元涉及的内容,第5章5.1 DOS操作系统编程模式
2、5.2 UNIX 操作系统编程模式5.3 Windows操作系统编程模式P156P183,第 5 页,一、DOS OS编程模式,DOS是微机系统配备的主流操作系统之一,是单用户、单任务的磁盘操作系统。DOS提供功能服务的两种方式:键盘命令程序执行方式DOS的主要功能:管理各种设备管理CPU管理各种文件管理内存支持用户的各种命令和程序支持shell操作和Windows支持网络环境,第 6 页,DOS系统结构,DOS由4个模块构成:引导模块(BOOT引导区)用于启动DOS时自动引导、装入DOS系统到内存。DOS内核模块(MSDOS.SYS)由两部分组成:内核初始化程序DOS-INIT和DOS中断服
3、务程序。前者仅用于启动DOS;后者则是真正DOS的内核,提供系统的中断服务功能。DOS I/O接口模块(IO.SYS)是DOS的I/O设备处理程序.它与ROM-BIOS一起组成I/O处理的服务体系,完成所有的I/O操作.命令管理模块(C)主要负责接受并处理各种输入命令.它是直接面向用户操作的.,第 7 页,DOS模块结构图,DOS系统,BOOT模块,Command模块,MD-DOS模块,IO模块,Command常驻部分,Command暂驻部分,COM-INIT初始化程序,内核初始化程序DOS-INIT,DOS中断服务程序,IO初始化程序SYS-INIT,标准设备驱动程序,第 8 页,DOS的层
4、次结构,ROM-BIOS,硬件系统,IO.SYS 设备驱动,MSDOS.SYS系统功能,C,用户程序,键盘命令,用户的操作,第 9 页,DOS编程流程,DOS编程流程:,确定程序目标,设计程序,编码,编译,运行,测试与调试,维护与修改,确定程序的目标,算法、语言、处理技巧等,系统设计;包括用户界面、数据结构等,系统编程;用指定程序设计语言编写源程序,编译产生可执行文件,运行可执行文件,对运行的程序进行正确性测试,修改错误,对程序不断进行建设性维护,使其完善,第 10 页,DOS编程开发工具,DOS环境下的程序设计语言很多,包括:Fortran、BASIC、Pascal、C、C+、汇编语言等。不
5、同的语言有其各自的适用领域和特点。如果是科学计算应用,选Fortran语言比其它语言和合适。C和C+是比较流行的程序设计语言,但它们也不是万能的。在C语言中做不到的,在C+语言中也做不到。但用C+编写程序,比用C写程序更容易阅读和交流,编程效率更高、更好。汇编语言适合对硬件接口类快速响应的应用,但汇编语言编写、调试、维护很困难,也不便于阅读。具体使用哪一种语言,还是要具体情况具体分析,根据实际情况和需要进行选用。,第 11 页,DOS内存分配图,DOS内存可以划分为四种类型:基本内存:计算机主板上640KB以下的存储空间。DOS的系统程序和用户的应用程序都要使用这片空间。扩展内存(Extend
6、ed):计算机主板上640KB以上的存储空间。这部分空间DOS不能直接管理,而是要通过扩展内存管理程序HIMEM.SYS来使用这部分内存。扩充内存(Expanded):插在计算机主板的扩充槽中的内存扩充板上的那部分存储器,它们是通过EMS.SYS程序来管理的。保留内存(Reserved):这是给计算机留做存储I/O系统数据及各种接口驱动程序使用的存储器,也称适配器内存。,第 12 页,操作系统程序员接口,在DOS平台下,通过DOS、BIOS和应用程序都可以实现对计算机硬、软件资源的操作。BIOS提供的是最接近硬件的低层接口,操作最直接;DOS提供的是高层次的功能服务;而高级语言则是通过对DOS
7、和BIOS功能的调用来实现对计算机硬件设备的操作。操作是间接的。高级语言具有编程效率高、可移值性好、便于交流等优点。但也存在着执行效率较低(不如DOS、BIOS功能),不能直接对硬件进行操作的不足。在开发程序过程中,使用什么语言,采用何种编程方式,都要视具体情况和需要来选择。绝对的“好”是不存在的。,第 13 页,二、UNIX OS编程模式,UNIX 结构UNIX编程流程及开发包多进程编程特点常见进程通信方式程序员接口,第 14 页,UNIX 结构,UNIX系统分为三层:内层:核心层,UNIX内核,是OS管理和控制中心,常驻内存。中间层:系统调用层,界于核心层和应用层(外层)之间,是供程序员设
8、计、开发应用程序时调用的。UNIX系统调用包括:进程管理、文件管理、终端状态等。外层:应用层,包括各种开发工具、高级语言编译器、网络通讯处理程序等。所有应用层程序都是在shell(命令语言解释程序)的管理和控制下为用户服务的,是面向用户操作的界面。,第 15 页,UNIX系统结构图,裸机,存储程序、进程管理、文件管理、I/O设备管理,系统调用,应用程序、各种语言处理程序,Shell命令解释程序,系统程序员,终端机,用户n,用户n,用户n,应用层,系统调用层,内核层,第 16 页,UNIX编程流程及开发包,UNIX编程流程主要包含4个过程:源代码编辑。UNIX的编辑器是vi、ed。编译。对源程序
9、文件进行编译,产生目标程序。UNIC的C编译命令是cc,创建类库的命令是ar,编译大的应用程序用make命令。调式。UNIX提供了三种调试工具:Lint 用于检查源代码的错误,包括数据类型不匹配,语法问题;Prof 分析程序运行花费的时间,可用于优化代码;Sdb 是符号诊错器,也提供断点支持及编程环境中的交互式的程序调用。链接。将目标程序和库函数等链接、装配成可直接执行的程序。执行程序。运行可执行程序(将可执行程序名做为命令执行)。,第 17 页,创建可执行C程序的操作步骤,编译程序的预处理程序逐行读入源代码,替换符号名(#define定义的),接受来自用户源文件中的指令、用户程序中命名文件的
10、内容等。编译程序把用户源代码文件中的c语言代码翻译成汇编语言代码。汇编程序把汇编语言代码翻译为目标机器的机器指令,并将这些指令保存在目标文件中。链接编辑程序把目标文件、用户程序中调用的库函数进行链接,生成可执行程序。,第 18 页,UNIX开发包,基于图形界面的UNIX程序开发与Windows32位程序开发类似。MOTIF API是功能强大的提供一致性外观和用户接口的窗口部件的集合的集合;TCL/TK是功能强大且简单易学的一种解释性语言,也是一套C的函数库,可提供基本的命令与控制结构;而TK是一个X Window的工具包,是TCL在X Window 系统的应用。GTK(GIMP ToolKit
11、)开发工具,基本是面向对象的应用程序设计的一套API,有些类似于Microsoft的MFC编程。UNIX下的开发语言包括:C、C+、Fortran、Ada、Pascal、Lisp、Small Talk等。,第 19 页,多进程编程特点,UNIX操作系统是分时多用户系统。在处理过程中,将CPU时间片分配给每个进程。由于每个进程都有各自的运行环境,因此在进程状态转换控制过程中要考虑处理不同的内容数据:用户数据保存:包括正文段(TEXT)、数据段、堆栈段(Stack)和共享内存段;寄存器数据保存:包括PC(指向下一条要执行的地址)、PSW(处理机状态)、SP(堆栈指针)、PCBP(进程控制块指针),
12、FP(指向堆栈中一个函数的Local变量的地址)、AP(指向堆栈中函数调用的实参位置)、ISP(中断堆栈指针)及其他通用寄存器等。系统层次保存:包括虚拟存储空间管理表格,中断处理堆栈。当该进程再得到CPU时间片时,能够从“断点”处开始正常地运行处理。,第 20 页,多进程程序的特点,并行化。将一个大而复杂的问题,划分为一系列小而简单的问题进行处理。处理时,各个小处理可以同时进行,而在一些关键点的处理时,再采用集中式。简单有序。经并行化分解的程序是简单的,可以单独处理,但相互之间通过通讯机制而有机地结合成一个整体。互不干扰。各个进程是独立的。事物化。将程序设计成一个进程只进行一次处理,相当于完成
13、一个事物。进程处理完相当于一次事物完成。这样的变成简单易行。,第 21 页,常见进程通信方式,UNIX系统中的进程间的通讯有两层含义:单一进程内部各个模块间的通讯作为单独单位的各个不同进程间的通讯前者沿袭了单任务操作系统中的模块通讯方法;后者必须保证各个进程在通讯过程中互不干扰从而保持其通信的一致性。,第 22 页,UNIX采用的进程通信方式,文件和记录锁定。为避免两个进程间同时要求访问同一共享资源而引起访问和操作的混乱,在进程对共享资源进行访问前必须对其进行锁定,该进程访问完后再释放。这是UNIX为共享资源提供的互斥性保障。管道。管道一般用于两个不同进程之间的通信。当一个进程创建一个管道,并
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件技术 基础 主讲 刘志强 西安交通大学 计算机 教学 实验 中心
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-5451492.html