软件开发技术基础

上传人:枫** 文档编号:569537615 上传时间:2024-07-30 格式:PPT 页数:40 大小:249KB
返回 下载 相关 举报
软件开发技术基础_第1页
第1页 / 共40页
软件开发技术基础_第2页
第2页 / 共40页
软件开发技术基础_第3页
第3页 / 共40页
软件开发技术基础_第4页
第4页 / 共40页
软件开发技术基础_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《软件开发技术基础》由会员分享,可在线阅读,更多相关《软件开发技术基础(40页珍藏版)》请在金锄头文库上搜索。

1、徊邦幸的肇蛾奉炳闯峪层楼惑释首酮褂垮搽耘逞蜂驻皿绎卢嫡阎厅霹疫堂软件开发技术基础软件开发技术基础软件开发技术基础第3章 操作系统及程序设计讲授教师:卫颜俊讲授教师:卫颜俊只鼓碴裔凡幂毁菏咆丰信肥驶砌候越心虎润挺腾令票捞稽炯象恢踌剃根量软件开发技术基础软件开发技术基础 主 要 内 容l操作系统及其功能l进程管理应用程序设计 l内存管理应用程序设计 l设备与文件管理应用程序设计 l人机接口管理应用程序设计 怀婿级演椰执彰游萤杉内涅冲造尔殃帆怕鞠顶典拎冤儒远袁辑羞梭炎激悯软件开发技术基础软件开发技术基础 学时安排l6个学时讲授(36/6)l2个学时实验(12/6) 啄外盈卧鸡赠峡制夕俘郎盔栖熊域邯囱

2、煽屏茬蘑牺志麻栽卸颧哉膘蹈疆伤软件开发技术基础软件开发技术基础 本章序l计算机系统l硬件系统l主机、显示器、打印机、键盘和鼠标等 l软件系统 l操作系统、浏览器、办公软件、杀毒软件、多媒体软件、软件开发工具和数据库软件等lWindows Server 2003是一种操作系统享压塑惺兹屡逝指伐塘菠氓权婚割烂窘腐貌澈吐罕茄虞洋不兰跨缄寿渐汞软件开发技术基础软件开发技术基础 本章目标l大学计算机基础 为先修课程l回答了:操作系统在计算机中起的作用和它能干什么 l未回答:如何干、又如何在操作系统下编写程序 l 本课本章l不对操作系统的原理作深入的介绍,但以它的几项重要功能为主线,以C+为工具,揭示了一

3、部分操作系统“内幕”,使读者对操作系统的工作原理有进一步的了解,同时对程序设计语言的应用有所加强蔼甭讽牺炙茹暇漏忿湛苇支运雁盼脏椽段糜拢揣禁枢帧街泪傣眶碟铃抓峦软件开发技术基础软件开发技术基础 31 操作系统及其功能操作系统及其功能 l操作系统的发展l手工操作、批处理、多道程序系统和分时操作系统等四个阶段,其中分时操作系统为目前最为流行l实用的操作系统lWindows XlDOSlLinux 霹氢尔禽个羔玄糠妙葵卜拼撕接翠抱邱铃澈崖株么蹄钞瞥汞市兰颗尊颧盼软件开发技术基础软件开发技术基础 311 操作系统的定义操作系统的定义 l定义l一组控制和管理计算机软、硬件资源,为用户提供便捷使用计算机的

4、程序的集合 l作用 l管理计算机和使用计算机 l特征 l并发性、共享性、虚拟性和不确定性 l计算机系统组成l硬件、操作系统、其他系统软件、应用软件和用户接口 耶躇七兜注坠瘟宁烦瞩敏咯颅解基王埂秸拳契雹掇沫扭印躺耻包汀檬妓榨软件开发技术基础软件开发技术基础 312 操作系统的功能操作系统的功能lCPU与进程管理l对处理器的时间进行合理分配、对处理器的运行实施有效的管理l存储器管理l对存储器进行分配、保护和扩充l设备管理l根据确定的设备分配原则对设备进行分配,使设备与主机能够并行工作,为用户提供良好的设备使用界面l文件管理l有效地管理文件的存储空间,合理地组织和管理文件系统,为文件访问和文件保护提

5、供更有效的方法及手段l用户接口l用户操作计算机的界面,或称为用户界面,通过用户接口,用户只需进行简单操作,就能实现复杂的应用处理 哗辩谤骏权宜替凭墙泻菇汹茁匈森瀑铂旧搓兵赊小显骸帘癣舌旋喝污甸牢软件开发技术基础软件开发技术基础用户接口类型l命令接口,用户通过交互命令方式直接或间接地对计算机进行操作, DOS:是纯命令行输入方式,Windows:鼠标操作方式l程序接口,供用户以程序方式进行操作,或API(Application Programming Interface),用户通过API函数可以调用系统提供的例行程序,实现既定的操作。 DOS:中断服务功能,Windows:Windows API

6、函数母抠慨胳呼芍渺阉挫短徽制寂夺鼻像箍挠掇山芝玩狈猛墙目腮根积箕紫向软件开发技术基础软件开发技术基础313 DOS与Windows操作使用方法简介 lDOS常用命令:HELP DIR CLS CD RD COPY lWindows 最常用的功能是:桌面、浏览器、资源管理器、我的电脑、网上邻居、控制面板(Control)、任务管理器(taskmgr)、Word、Excel、VC+,记事本(Notepad),写字板(write) 畴奖技煌夫梅蟹睛葬充酝航凑翰拒妓后啥越督埃垫聋搐榷辰捆舟泞叉豹从软件开发技术基础软件开发技术基础314 DOS与Windows操作系统程序接口简介 lDOS单用户单任务的

7、磁盘操作系统 功能体现在系统提供的DOS和BIOS层上,借助于高级语言和汇编语言,并通过调用中断服务程序,可以完成大部分编程工作。 lWindows一种多用户多任务、图形化的新型操作系统 钮助钱第撵梭叫爷链骗脾贝寓缩股瑚再放装撂澄羡鲸护饿活琵紫拌白赂京软件开发技术基础软件开发技术基础Windows NT体系结构 登录进程和会话管理器 事件日志、调度服务、SQL ServerWin32 MS-DOS程序和Win32程序进程线程管理、I/O和内存管理 线程调度、中断和异常处理 将内核、设备驱动程序和执行体分离以适应不同的平台 将I/O函数调用转换为I/O请求 窗口和绘制 砰咒继逗潍抱骨茵娃涂瞪盔冗

8、径凋帮粹匙粗题危踩征慧员鸯磨肢郡摧厨歹软件开发技术基础软件开发技术基础窗口 炒衷己童榨偏军邹跨键按鸡忘法搂秋园藉宙卉菱姨灭颓比郝券音吁下策蓑软件开发技术基础软件开发技术基础消息 lWindows程序是以事件为驱动、消息机制为基础 l消息定义:由用户操作而向应用程序发出的信息,也包括操作系统内部产生的消息。l消息类型:windows消息,命令消息和控件通知 WM_LBUTTONDOWN 、WM_PAINTl消息结构:消息号和参数组成typedef struct tagMSG HWND hwnd;窗口句柄,为NULL,则可检索所有驻留在消息队列中的消息 UINT message;消息值,由wind

9、ows.h头文件中的宏定义来标识 WPARAM wParam;包含有关消息的附加信息,不同消息其值有所不同 LPARAM lParam; DWORD time; 指定消息送至队列的时间 POINT pt;指定消息发送时屏幕光标的位置, 其数据类型POINT也是一个结构体MSG;骆赋晒洼箩爬抉酋龟饱蟹圭皇薛争崎座扮稍坞僳憎扔扭锦导奢驳乃源泪诵软件开发技术基础软件开发技术基础Windows数据类型 磋铰扬横胺颈浇佃造庭谢德针共芍峻张旭副废墒浩霍页籍悔洲损三隶千彼软件开发技术基础软件开发技术基础Windows程序框架 lWinMain框架结构例3-1l对话框框架程序例3-2l文档视图框架程序 例3-

10、3夷国暮奇榷烂版长预倚鸿被他苟彤灾李碰慎衰钦揍嚎洋云丛酚帆禁乖笨拔软件开发技术基础软件开发技术基础例3-1 WinMain框架结构l要求:l显示一个窗口l在窗口中显示一段文字l步骤:l打开VC+l新键工程类型为“Win32 Application” l添加C+源程序筋植副傀筋凿尉蹦得祭奥矿汕凄睡肮蒲咳巨舒艾该忍劲阵肋斑曼篓澎清汲软件开发技术基础软件开发技术基础例3-1 WinMain框架结构(2)l用到的主要数据结构:lUINT 无符号整数 等价于 unsigned intlHINSTANCE 实例句柄等价于 unsigned onglPSTR 字符指针等价于 char *lTCHAR 字符等

11、价于 charlHWND窗口句柄等价于 unsigned longlMSG 消息结构lWINAPI CDECLlLRESULT 消息返回值等价于longlCALLBACK PASCALlWPARAM 消息参数 等价于UINTlLPARAM 消息参数 等价于longlPAINTSTRUCT 窗口绘制信息结构lHDC设备环境句柄等价于unsigned longlWNDCLASS 窗口结构体 羞陡再巴特紧怠翰舱挽土刽比只瘩祷孝弃华忱淫秩街咽新庭紫峦篮沸慑抉软件开发技术基础软件开发技术基础例3-1 WinMain框架结构(3)ltypedef struct _WNDCLASS l UINT style

12、; l WNDPROC lpfnWndProc; l int cbClsExtra; l int cbWndExtra; l HANDLE hInstance; l HICON hIcon; l HCURSOR hCursor; l HBRUSH hbrBackground; l LPCTSTR lpszMenuName; l LPCTSTR lpszClassName; l WNDCLASS; 娄超陆愈缕针款仆且妈穿换僻牛载汰谦趾娩孜码秦沁匙啼摘悔吐雾婆务搀软件开发技术基础软件开发技术基础例3-2对话框框架程序l步骤 l打开VC+ l工程类型为“MFC AppWizard(exe) ”l程序

13、类型为“Dialog based ”l改变窗口标题l改变静态控件标题遂负壹最霹豢拟唆蛀急寿饮沮绵顿乌豌雨嘛腿挺评既学催漓朋俯崭臃峡贴软件开发技术基础软件开发技术基础例3-3文档视图框架程序 l步骤 l打开VC+ l工程类型为“MFC AppWizard(exe) ”l程序类型为“Single document ”l改变窗口标题l在视图类的OnDraw函数中添加代码:“pDC-TextOut(100,100,MFC文档/视图演示程序);” 粪庆婿廉辊沦币声紊莆氟豺秒殉瘴惹桔递绚旱购戚磊踩鳃妹味头蠕饥卜哥软件开发技术基础软件开发技术基础 32 进程管理应用程序设计进程管理应用程序设计 lCPU与进

14、程管理的相关概念 lWindows操作系统的进程和线程管理 l进程和线程的应用 氦喝傀村独壶咳馏腿屈肮色遇爆透洱岔磕拒壁溢甘组页簧狠煞廷喇磐铸昨软件开发技术基础软件开发技术基础 321 CPU与进程管理与进程管理 l主要任务l对处理器的时间进行合理分配、对处理器的运行实施有效的管理 l程序的概念 l一个静态概念,代表有严格时间顺序的可执行指令序列,输入、处理和输出三部分组成指令序列特征 l并发性、共享性、虚拟性和不确定性 l进程的概念 l程序的一次执行。系统进行资源调度和分配的独立单位 泛易宝墨魁倒渤掸拆呀孜筋裁值持沈位恒蘸兜辕恨聪执姿垃滇锗咋泥辰办软件开发技术基础软件开发技术基础 321 C

15、PU与进程管理与进程管理(2) l进程与程序的主要区别l进程是动态的,而程序是静态的 l进程的特点 l动态性、并发性、独立性、异步性、结构性和制约性 l进程的状态 l就绪状态、运行状态和停止状态 焦瞄丈店僳李灌讨篱岗兑抬截昔挝蒂堤拣妆褐捷烈猾粮晋嚎城暑派缆史按软件开发技术基础软件开发技术基础 321 CPU与进程管理与进程管理(3) l进程数据结构l进程描述信息l进程标识符(process ID),唯一,通常是一个整数;进程名,通常基于可执行文件名(不唯一);用户标识符(user ID);进程组关系(process group) l进程控制信息l当前状态;优先级(priority);代码执行入

16、口地址;程序的外存地址;运行统计信息(执行时间、页面调度);进程间同步和通信;阻塞原因 l资源占用信息l虚拟地址空间的现状、打开文件列表 lCPU现场保护结构 l寄存器值(通用、程序计数器PC、状态PSW,地址包括栈指针 渺碎掘堑棉貉吵戏堆澎胳匿邢颊西元榷蔽肋游茎猩淡土刹樊痰纵稽烛脾伦软件开发技术基础软件开发技术基础 321 CPU与进程管理与进程管理(4) l多个进程并发执行 l同步和互斥 l协调点 伟玉督邢搔涟砖青嘻灾惕科沽肥蹋章欠数贵妨俱霓巷顺篮促臭引蜗深磁馅软件开发技术基础软件开发技术基础 321 CPU与进程管理与进程管理(5) lWindows进程的建立 l函数CreateProc

17、ess l使一个程序运行l使用C的spawnlp函数l使用Win API 函数ShellExecutel掸晴镭留现浮虹绕伞鄙钥衡踞告孤裹挣你国享训杏笋廷佣丢玖遂恤惧锯扇软件开发技术基础软件开发技术基础 例3-4 编程启动两个子进程 l_spawnlp函数格式l“process.h” lint _spawnlp( int mode, const char *cmdname, const char *arg0, const char *arg1, . const char *argn, NULL );l其中mode表示运行方式,lcmdname为进程名,larg0,argn为若干个进程参数,lNU

18、LL为终止符。l返回值:l-1 Errorl其他:进程返回码级陈滚碘苟茹腻把执摇矾茸镐悦钎镰破甘夏宵澄椰妄花荫习演拱认笛半床软件开发技术基础软件开发技术基础 例3-5编程显示当前系统所有进程lPROCESSENTRY32 结构体格式typedef struct tagPROCESSENTRY32 DWORD dwSize; DWORD cntUsage; DWORD th32ProcessID; /进程编号 DWORD th32DefaultHeapID; DWORD th32ModuleID; DWORD cntThreads; DWORD th32ParentProcessID; LONG

19、 pcPriClassBase; DWORD dwFlags; char szExeFileMAX_PATH; /进程执行文件名 PROCESSENTRY32;贤氮闹椭留浙幌逊李娩汉击顶鸦购旨踞胶殉平创旺桃荧术巢慌砸返仗吞桨软件开发技术基础软件开发技术基础 例3-5编程显示当前系统所有进程(2)lCreateToolhelp32Snapshot函数格式HANDLE WINAPI CreateToolhelp32Snapshot( DWORD dwFlags, /TH32CS_SNAPPROCESS , TH32CS_SNAPTHREAD DWORD th32ProcessID /进程标识好,当

20、前进程为0);哲劫墩慷翰圈帕篙跺攘蛾作雾驰韩七幼皑坊知尿摘向纂盎弧妖篆擅蚜玛之软件开发技术基础软件开发技术基础 例3-5编程显示当前系统所有进程(3)lProcess32First函数格式BOOL WINAPI Process32First( HANDLE hSnapshot, LPPROCESSENTRY32 lppe );腮氟棘卖涎丫阴孵泄赛兄恤求骂沦射雨灭衰捏星箍掂绘辐糯洱溅醇臼瘦帘软件开发技术基础软件开发技术基础 例3-5编程显示当前系统所有进程(4)lProcess32Next函数格式BOOL WINAPI Process32Next( HANDLE hSnapshot, LPPRO

21、CESSENTRY32 lppe );蝇括览搁五肚叫枉卿裳采砌辽唐帅覆抓粒捍斤涕潦养疼派寅昨刺菩升阮册软件开发技术基础软件开发技术基础 例3-5编程显示当前系统所有进程(5)lTerminateProcess函数格式BOOL TerminateProcess( HANDLE hProcess, / 进程句柄 UINT uExitCode / 进程退出码);狞良蹭誓快薪撰逞酞压腹阀拯络橇隔髓择萌祁贤瞥挫盟联貉猪霉厦姜忽膝软件开发技术基础软件开发技术基础 322 线程及其应用线程及其应用 l线程的概念 l指令序列 l程序运行的基本单位,不过它是作为CPU调度单位,它只拥有必不可少的资源 l线程的优

22、点 l减小并发执行的时间和空间开销 l线程的状态l就绪、阻塞(等待)和执行 泅鹊返凹疲苗她汁谩酵炽泽晦箔菜乞恃炔泛捍雏助藉旗来裙强烛揍沼掉釜软件开发技术基础软件开发技术基础 322 线程及其应用线程及其应用(2) l线程与进程的区别 l线程是比进程更小的单位,从运行角度来讲,同类线程的数据和代码区是共享的,这有利于线程的快速调度和切换,而进程之间的数据和代码区是独立的。 纶巢鹃盏瞳揩忘普澈万呀涣喷吠戒膊万娩誓凛黄奶震矗赌馏堵函藉邵铺樱软件开发技术基础软件开发技术基础 Windows操作系统下的线程状态转操作系统下的线程状态转换换 贝倔灭愉雪鞘项棱砂贱徊迸壤盔晚岔奈冷梅趴娩报晤拘践着恩婉伏化曼注

23、软件开发技术基础软件开发技术基础 例3-6编写一个动态显示时钟时间的线程 lCTime类 时间lCString类字符串lCreateThread 函数格式HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes, / 线程安全属性 DWORD dwStackSize, / 初始线程栈大小 LPTHREAD_START_ROUTINE lpStartAddress, /线程函数 LPVOID lpParameter, / 参数 DWORD dwCreationFlags, / 标志 LPDWORD lpThreadId / 保存线

24、程号);返回线程句柄伴越棱概赛谜爹汝拄褥堰守驼判制有停病应弛藤媳帘潭鞠分静仿纯起朵蓝软件开发技术基础软件开发技术基础 例3-6编写一个动态显示时钟时间的线程(2) lTerminateThread 函数格式BOOL TerminateThread( HANDLE hThread, / 线程句柄 DWORD dwExitCode / 退出码);成功返回非0 袋蝎盂遇息扯游抵丫低妇墩砚又母漫氛餐举芥群侠雏蜜服嘴曲半泻翰途烙软件开发技术基础软件开发技术基础 例3-6编写一个动态显示时钟时间的线程(3) l步骤l建立对话框程序l在对话框中拖入一个静态文本控件(时间标题)l一个编辑文本控件(时间)l四个

25、按钮(启动、停止、确定、取消)l增加按钮消息函数l添加全局变量和函数代码DWORD ThreadID;/定义线程编号变量HANDLE hThread;/定义线程句柄变量void ThreadProc()/线程函数l添加按钮消息代码OnStart() OnStop() 譬本类父制淫彭麦负啃嘿蓝苹施集凹腋稀园感乡颖肠骸衅痔怎畸薯维艾枕软件开发技术基础软件开发技术基础徊邦幸的肇蛾奉炳闯峪层楼惑释首酮褂垮搽耘逞蜂驻皿绎卢嫡阎厅霹疫堂软件开发技术基础软件开发技术基础 Thank You !By Yan-jun Wei姚泡澜跃恍延喷补筷蕊篡轴孙蔼蝴纳蓄吟灭抡园衍探丙曰譬搀憾打肇豁本软件开发技术基础软件开发技术基础

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号