欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载
     

    软件开发技术基础.ppt

    • 资源ID:2604118       资源大小:574.01KB        全文页数:40页
    • 资源格式: PPT        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    软件开发技术基础.ppt

    软件开发技术基础,第3章 操作系统及程序设计 讲授教师:卫颜俊,主 要 内 容,操作系统及其功能 进程管理应用程序设计 内存管理应用程序设计 设备与文件管理应用程序设计 人机接口管理应用程序设计,学时安排,6个学时讲授(36/6) 2个学时实验(12/6),本章序,计算机系统 硬件系统 主机、显示器、打印机、键盘和鼠标等 软件系统 操作系统、浏览器、办公软件、杀毒软件、多媒体软件、软件开发工具和数据库软件等 Windows Server 2003是一种操作系统,本章目标,大学计算机基础 为先修课程 回答了:操作系统在计算机中起的作用和它能干什么 未回答:如何干、又如何在操作系统下编写程序 本课本章 不对操作系统的原理作深入的介绍,但以它的几项重要功能为主线,以C+为工具,揭示了一部分操作系统“内幕”,使读者对操作系统的工作原理有进一步的了解,同时对程序设计语言的应用有所加强,31 操作系统及其功能,操作系统的发展 手工操作、批处理、多道程序系统和分时操作系统等四个阶段,其中分时操作系统为目前最为流行 实用的操作系统 Windows X DOS Linux,311 操作系统的定义,定义 一组控制和管理计算机软、硬件资源,为用户提供便捷使用计算机的程序的集合 作用 管理计算机和使用计算机 特征 并发性、共享性、虚拟性和不确定性 计算机系统组成 硬件、操作系统、其他系统软件、应用软件和用户接口,312 操作系统的功能,CPU与进程管理 对处理器的时间进行合理分配、对处理器的运行实施有效的管理 存储器管理 对存储器进行分配、保护和扩充 设备管理 根据确定的设备分配原则对设备进行分配,使设备与主机能够并行工作,为用户提供良好的设备使用界面 文件管理 有效地管理文件的存储空间,合理地组织和管理文件系统,为文件访问和文件保护提供更有效的方法及手段 用户接口 用户操作计算机的界面,或称为用户界面,通过用户接口,用户只需进行简单操作,就能实现复杂的应用处理,用户接口类型,命令接口,用户通过交互命令方式直接或间接地对计算机进行操作, DOS:是纯命令行输入方式,Windows:鼠标操作方式 程序接口,供用户以程序方式进行操作,或API(Application Programming Interface),用户通过API函数可以调用系统提供的例行程序,实现既定的操作。 DOS:中断服务功能,Windows:Windows API函数,313 DOS与Windows操作使用方法简介,DOS 常用命令:HELP DIR CLS CD RD COPY Windows 最常用的功能是:桌面、浏览器、资源管理器、我的电脑、网上邻居、控制面板(Control)、任务管理器(taskmgr)、Word、Excel、VC+,记事本(Notepad),写字板(write),314 DOS与Windows操作系统程序接口简介,DOS 单用户单任务的磁盘操作系统 功能体现在系统提供的DOS和BIOS层上,借助于高级语言和汇编 语言,并通过调用中断服务程序,可以完成大部分编程工作。 Windows 一种多用户多任务、图形化的新型操作系统,Windows NT体系结构,登录进程和会话管理器,事件日志、调度服务、SQL Server,Win32,MS-DOS程序和Win32程序,进程线程管理、I/O和内存管理,线程调度、中断和异常处理,将内核、设备驱动程序和执行体分离以适应不同的平台,将I/O函数调用转换为I/O请求,窗口和绘制,窗口,消息,Windows程序是以事件为驱动、消息机制为基础 消息定义:由用户操作而向应用程序发出的信息,也包括操作系统内部产生的消息。 消息类型:windows消息,命令消息和控件通知 WM_LBUTTONDOWN 、WM_PAINT 消息结构:消息号和参数组成 typedef struct tagMSG HWND hwnd;窗口句柄,为NULL,则可检索所有驻留在消息队列中的消息 UINT message;消息值,由windows.h头文件中的宏定义来标识 WPARAM wParam;包含有关消息的附加信息,不同消息其值有所不同 LPARAM lParam; DWORD time; 指定消息送至队列的时间 POINT pt;指定消息发送时屏幕光标的位置, 其数据类型POINT也是一个结构体 MSG;,Windows数据类型,Windows程序框架,WinMain框架结构 例3-1 对话框框架程序 例3-2 文档视图框架程序 例3-3,例3-1 WinMain框架结构,要求: 显示一个窗口 在窗口中显示一段文字 步骤: 打开VC+ 新键工程类型为“Win32 Application” 添加C+源程序,例3-1 WinMain框架结构(2),用到的主要数据结构: UINT 无符号整数 等价于 unsigned int HINSTANCE 实例句柄等价于 unsigned ong PSTR 字符指针等价于 char * TCHAR 字符等价于 char HWND窗口句柄等价于 unsigned long MSG 消息结构 WINAPI CDECL LRESULT 消息返回值等价于long CALLBACK PASCAL WPARAM 消息参数 等价于UINT LPARAM 消息参数 等价于long PAINTSTRUCT 窗口绘制信息结构 HDC设备环境句柄等价于unsigned long WNDCLASS 窗口结构体,例3-1 WinMain框架结构(3),typedef struct _WNDCLASS UINT style; WNDPROC lpfnWndProc; int cbClsExtra; int cbWndExtra; HANDLE hInstance; HICON hIcon; HCURSOR hCursor; HBRUSH hbrBackground; LPCTSTR lpszMenuName; LPCTSTR lpszClassName; WNDCLASS;,例3-2对话框框架程序,步骤 打开VC+ 工程类型为“MFC AppWizard(exe) ” 程序类型为“Dialog based ” 改变窗口标题 改变静态控件标题,例3-3文档视图框架程序,步骤 打开VC+ 工程类型为“MFC AppWizard(exe) ” 程序类型为“Single document ” 改变窗口标题 在视图类的OnDraw函数中添加代码: “pDC-TextOut(100,100,“MFC文档/视图演示程序“);”,32 进程管理应用程序设计,CPU与进程管理的相关概念 Windows操作系统的进程和线程管理 进程和线程的应用,321 CPU与进程管理,主要任务 对处理器的时间进行合理分配、对处理器的运行实施有效的管理 程序的概念 一个静态概念,代表有严格时间顺序的可执行指令序列,输入、处理和输出三部分组成指令序列特征 并发性、共享性、虚拟性和不确定性 进程的概念 程序的一次执行。系统进行资源调度和分配的独立单位,321 CPU与进程管理(2),进程与程序的主要区别 进程是动态的,而程序是静态的 进程的特点 动态性、并发性、独立性、异步性、结构性和制约性 进程的状态 就绪状态、运行状态和停止状态,321 CPU与进程管理(3),进程数据结构 进程描述信息 进程标识符(process ID),唯一,通常是一个整数;进程名,通常基于可执行文件名(不唯一);用户标识符(user ID);进程组关系(process group) 进程控制信息 当前状态;优先级(priority);代码执行入口地址;程序的外存地址;运行统计信息(执行时间、页面调度);进程间同步和通信;阻塞原因 资源占用信息 虚拟地址空间的现状、打开文件列表 CPU现场保护结构 寄存器值(通用、程序计数器PC、状态PSW,地址包括栈指针,321 CPU与进程管理(4),多个进程并发执行 同步和互斥 协调点,321 CPU与进程管理(5),Windows进程的建立 函数CreateProcess 使一个程序运行 使用C的spawnlp函数 使用Win API 函数ShellExecute ,例3-4 编程启动两个子进程,_spawnlp函数格式 “process.h” int _spawnlp( int mode, const char *cmdname, const char *arg0, const char *arg1, . const char *argn, NULL ); 其中mode表示运行方式, cmdname为进程名, arg0,argn为若干个进程参数, NULL为终止符。 返回值: -1 Error 其他:进程返回码,例3-5编程显示当前系统所有进程,PROCESSENTRY32 结构体格式 typedef struct tagPROCESSENTRY32 DWORD dwSize; DWORD cntUsage; DWORD th32ProcessID; /进程编号 DWORD th32DefaultHeapID; DWORD th32ModuleID; DWORD cntThreads; DWORD th32ParentProcessID; LONG pcPriClassBase; DWORD dwFlags; char szExeFileMAX_PATH; /进程执行文件名 PROCESSENTRY32;,例3-5编程显示当前系统所有进程(2),CreateToolhelp32Snapshot函数格式 HANDLE WINAPI CreateToolhelp32Snapshot( DWORD dwFlags, /TH32CS_SNAPPROCESS , TH32CS_SNAPTHREAD DWORD th32ProcessID /进程标识好,当前进程为0 );,例3-5编程显示当前系统所有进程(3),Process32First函数格式 BOOL WINAPI Process32First( HANDLE hSnapshot, LPPROCESSENTRY32 lppe );,例3-5编程显示当前系统所有进程(4),Process32Next函数格式 BOOL WINAPI Process32Next( HANDLE hSnapshot, LPPROCESSENTRY32 lppe );,例3-5编程显示当前系统所有进程(5),TerminateProcess函数格式 BOOL TerminateProcess( HANDLE hProcess, / 进程句柄 UINT uExitCode / 进程退出码 );,322 线程及其应用,线程的概念 指令序列 程序运行的基本单位,不过它是作为CPU调度单位,它只拥有必不可少的资源 线程的优点 减小并发执行的时间和空间开销 线程的状态 就绪、阻塞(等待)和执行,322 线程及其应用(2),线程与进程的区别 线程是比进程更小的单位,从运行角度来讲,同类线程的数据和代码区是共享的,这有利于线程的快速调度和切换,而进程之间的数据和代码区是独立的。,Windows操作系统下的线程状态转换,例3-6编写一个动态显示时钟时间的线程,CTime类 时间 CString类 字符串 CreateThread 函数格式 HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes, / 线程安全属性 DWORD dwStackSize, / 初始线程栈大小 LPTHREAD_START_ROUTINE lpStartAddress, /线程函数 LPVOID lpParameter, / 参数 DWORD dwCreationFlags, / 标志 LPDWORD lpThreadId / 保存线程号 ); 返回线程句柄,例3-6编写一个动态显示时钟时间的线程(2),TerminateThread 函数格式 BOOL TerminateThread( HANDLE hThread, / 线程句柄 DWORD dwExitCode / 退出码 ); 成功返回非0,例3-6编写一个动态显示时钟时间的线程(3),步骤 建立对话框程序 在对话框中拖入一个静态文本控件(时间标题) 一个编辑文本控件(时间) 四个按钮(启动、停止、确定、取消) 增加按钮消息函数 添加全局变量和函数代码 DWORD ThreadID;/定义线程编号变量 HANDLE hThread;/定义线程句柄变量 void ThreadProc()/线程函数 添加按钮消息代码 OnStart() OnStop(),Thank You !,By Yan-jun Wei,

    注意事项

    本文(软件开发技术基础.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开