




已阅读5页,还剩35页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件开发技术基础,第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, / 线程句柄 DWO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025汽车销售合同书
- 2025年广州市职工劳动合同范本
- 2025年蚌埠市龙子湖区产业发展有限公司招聘22人考前自测高频考点模拟试题及答案详解一套
- 2025内蒙古能源集团所属单位招聘30人考前自测高频考点模拟试题及答案详解(网校专用)
- 2025年4月广东深圳光明区政务服务和数据管理局招聘一般类岗位专干5人模拟试卷及参考答案详解
- 2025贵州瓮安县瓮水街道招聘公益性岗位人员20人考前自测高频考点模拟试题及答案详解(必刷)
- 2025北京第五实验学校招聘38人考前自测高频考点模拟试题附答案详解(典型题)
- 建设工程的项目合作协议合同6篇
- 房屋单方面解约合同5篇
- 江苏评审专家考试题库及答案
- 人教版九年级初中化学实验报告单电子版
- 导尿术操作并发症及处理规范
- 水利水电工程单元工程施工质量验收评定表及填表说明
- 人工智能训练师理论知识考核要素细目表四级
- 全国职业院校技能大赛高职组(服装创意设计与工艺赛项)备赛试题库(含答案)
- DL∕T 831-2015 大容量煤粉燃烧锅炉炉膛选型导则
- 金相检验中级试题
- 工业园区环保管家技术方案
- (正式版)QBT 8006-2024 年糕 标准
- 艾滋梅毒乙肝母婴培训课件
- (完整版)24点练习题大全
评论
0/150
提交评论