您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 第3章 操作系统及相关程序设计1_概述及进程管理.
软件开发技术基础普通高等教育“十一五”国家级规划教材“十二五”普通高等教育本科国家级规划教材赵英良等.软件开发技术基础(第2版).机械工业出版社第3章操作系统及相关程序设计西安交通大学计算机教学实验中心主要内容操作系统及其功能进程管理应用程序设计内存管理应用程序设计设备与文件管理应用程序设计人机接口管理应用程序设计西安交通大学计算机教学实验中心33.1操作系统概述操作系统的发展操作系统的功能操作系统的分类常见操作系统简介西安交通大学计算机教学实验中心4什么是操作系统?定义一组控制和管理计算机软、硬件资源,合理组织计算机的工作流程,为用户提供便捷使用计算机的程序的集合作用管理计算机和使用计算机特征并发性、共享性、虚拟性和不确定性操作系统是连接硬件和软件的桥梁西安交通大学计算机教学实验中心53.1.1操作系统的发展手工操作单道批处理多道程序系统分时操作系统实时操作系统微机操作系统西安交通大学计算机教学实验中心6DOS中的批处理dir/pcopy批处理.batbatch.batnotepadcalcpause西安交通大学计算机教学实验中心73.1.2操作系统的功能计算机的硬件、软件资源有哪些?CPU管理(进程管理)存储器管理文件管理设备管理用户接口西安交通大学计算机教学实验中心8用户接口类型命令接口,用户通过交互命令方式直接或间接地对计算机进行操作,DOS:是纯命令行输入方式,Windows:鼠标操作方式程序接口,供用户以程序方式进行操作,或API(ApplicationProgrammingInterface),用户通过API函数可以调用系统提供的例行程序,实现既定的操作。DOS:中断服务功能,Windows:WindowsAPI函数西安交通大学计算机教学实验中心3.1.3操作系统的分类批处理操作系统嵌入式操作系统分时操作系统实时操作系统网络操作系统分布式操作系统9西安交通大学计算机教学实验中心10实用的操作系统Windows:窗口式图形界面、网络功能、分布式功能,个人计算机操作系统DOS:磁盘操作系统,,个人计算机操作系统,单道程序系统、批处理Linux分时操作系统、多任务、多用户、网络西安交通大学计算机教学实验中心3.1.4常见操作系统简介DOSDiskOperatingSystem1979年,微软公司为IBM公司的16位Intel8086PC设计和开发了一个磁盘操作系统MS-DOS1.0,1981年推出了支持内存为320KB的MS-DOS1.1版,后更名为PC-DOS1.0。1982年,支持PC/XT硬盘的MS-DOS2.0问世11西安交通大学计算机教学实验中心1984年11月,MS-DOS3.1,加入对网络支持。1991年6月,MS-DOS5.0,继承4.0对于内存管理进行的改进,是EMM规格最为稳定、普及的版本,也加入了许多内存管理的程式,如EMM386、MEM等等1994年6月,MS-DOS6.22,最后一个销售版本。2000年9月,MS-DOS8.0,dos的最后一个版本,取消了部分功能,例如不再支持SYS命令、打印机操作12西安交通大学计算机教学实验中心DOSDOS是一种单用户、单任务的磁盘操作系统DOS操作系统包含四大模块:引导模块内核模块输入输出接口模块命令管理模块13西安交通大学计算机教学实验中心14DOS的组成西安交通大学计算机教学实验中心15DOS命令的执行过程16DOS的常用命令(命令提示符方式可测试)CD进入子目录CLS清除屏幕COPY复制文件DEL删除文件DIR列目录FORMAT格式化磁盘MD创建子目录PATH设置或显示搜索路径RD删除子目录REM重新命名Type显示文件管道|重定向两个有用的命令:ping、ipconfig/all西安交通大学计算机教学实验中心17Windows操作系统Windows多用户、多任务、图形化支持网络、支持多媒体、支持多种硬件和应用程序西安交通大学计算机教学实验中心18WindowsNT体系结构登录进程和会话管理器事件日志、调度服务、SQLServerOS/2;Win32;POSIX等MS-DOS程序和Win32程序进程线程管理、I/O和内存管理线程调度、中断和异常处理将内核、设备驱动程序和执行体分离以适应不同的平台将I/O函数调用转换为I/O请求窗口和绘制西安交通大学计算机教学实验中心19Windows操作系统Windows最常用的功能是:桌面、浏览器、资源管理器、我的电脑、网上邻居、控制面板(Control)、任务管理器(taskmgr)、Word、Excel、VC++,记事本(Notepad),写字板(write)…西安交通大学计算机教学实验中心20窗口西安交通大学计算机教学实验中心21DOS过程驱动的程序结构Windows事件驱动的程序结构(消息驱动的程序结构)系统消息队列Windows也为每个应用程序创建一个应用消息队列。事件所产生的消息,首先进入系统消息队列,然后再被传送到对应的应用消息队列,最后才被送到消息所对应的窗口。Windows应用程序设计模式西安交通大学计算机教学实验中心22Windows中的消息循环23消息类型标准消息(windows消息):任何以WM_开头的消息(WM_COMMAND除外);如:WM_QUIT,WM_CREATE;命令消息:WM_COMMAND;子窗口通知(控件通知):由子窗口(大多为控件)产生并发送到该控件所属的父窗口的消息。常见消息宏WM_LBUTTONDOWNWM_RBUTTONDOWNWM_LBUTTONUPWM_PAINT西安交通大学计算机教学实验中心24消息的结构消息结构:消息号和参数组成typedefstructtagMSG{HWNDhwnd;窗口句柄,为NULL,则可检索所有驻留在消息队列中的消息UINTmessage;消息值,由windows.h头文件中的宏定义来标识WPARAMwParam;包含有关消息的附加信息,不同消息其值有所不同LPARAMlParam;DWORDtime;指定消息送至队列的时间POINTpt;指定消息发送时屏幕光标的位置,其数据类型POINT也是一个结构体}MSG;西安交通大学计算机教学实验中心25句柄多个程序或一个程序的多个副本,称为实例。为了对同一程序的多个副本进行管理,Windows引入了实例句柄。Windows为每个应用程序建立一张表,实例句柄就好象是这张表的一个索引。句柄指Windows使用的一个唯一的整数值,西安交通大学计算机教学实验中心26使用VC++编写Windows程序通常有三种方式:直接使用WindowsAPI函数,通过VC++提供的工具生成对话框框架程序文档\视图框架程序西安交通大学计算机教学实验中心例文档视图框架程序步骤打开VC++工程类型为“MFCAppWizard(exe)”程序类型为“Singledocument”改变窗口标题在视图类的OnDraw函数中添加代码:“pDC-TextOut(100,100,MFC文档/视图演示程序);”27西安交通大学计算机教学实验中心28voidCTest_winView::OnDraw(CDC*pDC){CTest_winDoc*pDoc=GetDocument();ASSERT_VALID(pDoc);CStringm_str;intc,a=2,b=123;c=a+b;m_str=Hello;pDC-TextOut(10,10,m_str);m_str.Format(%d,c);pDC-TextOut(10,30,m_str);pDC-Rectangle(100,100,400,400);}西安交通大学计算机教学实验中心293.2进程管理CPU与进程管理的相关概念Windows操作系统的进程和线程管理进程和线程的应用西安交通大学计算机教学实验中心303.2.1CPU与进程管理主要任务对处理器的时间进行合理分配、对处理器的运行实施有效的管理程序由输入、处理和输出三部分组成,有严格时间顺序的可执行指令序列是一个静态概念西安交通大学计算机教学实验中心顺序执行操作系统依次执行各个程序,在一个程序的整个执行过程中由该程序占有全部系统资源单道程序执行的特征顺序性、封闭性、可再现性并发执行多个程序在一个处理器上的交替执行,其目的主要是为了提高计算机资源的利用率多道程序并发执行的特征间断(异步)性、失去封闭性、失去可再现性。31西安交通大学计算机教学实验中心进程的定义进程的特点进程的状态32西安交通大学计算机教学实验中心进程的状态转换33西安交通大学计算机教学实验中心进程管理的关键问题进程的同步进程的互斥PCB的数据结构进程的调度进程调度的算法进程与程序的区别34西安交通大学计算机教学实验中心353.2.2进程程序设计WindowsAPI函数库,它以C语言标准提供给程序员,CreateProcess函数在一个进程中建立另一个子进程,还可以通过TerminateProcess函数退出该子进程的执行。西安交通大学计算机教学实验中心36进程函数CreateProcess函数来创建一个进程OpenProcess:获得一个已经存在的进程对象的句柄TerminateProcess终止指定进程西安交通大学计算机教学实验中心37CreateProcessbRet=CreateProcess(NULL,//不在此指定可执行文档的文档名szCommandLine,//命令行参数NULL,//默认进程安全性NULL,//默认线程安全性FALSE,//当前进程内的句柄不能够被子进程继承CREATE_NEW_CONSOLE,//为新进程创建一个新的控制台窗口NULL,//使用本进程的环境变量NULL,//使用本进程的驱动器和目录&si,//父进程传给子进程的一些信息&pi);//保存新进程信息的结构西安交通大学计算机教学实验中心38获得一个已经存在的进程对象的句柄HANDLEOpenProcess(DWORDdwDesiredAccess,//访问权限BOOLbInheritHandle,//若要子进程获得对该对象的权限,应为TRUE,否则为FALSEDWORDdwProcessId//进程标识号);西安交通大学计算机教学实验中心39终止进程BOOLTerminateProcess(HANDLEhProcess,//进程句柄,由OpenProcess函数返回UINTuExitCode//进程退出码,这里可以设为0);西安交通大学计算机教学实验中心40进程终止实例使用任务管理器查到待终止的进程号为:2212HANDLEhProcess3;hProcess3=OpenProcess(PROCESS_TERMINATE,FALSE,2212);TerminateProcess(hProcess3,0);西安交通大学计算机教学实验中心41保存创建的进程信息PROCESS_INFORMATION结构体保存创建的进程信息,其格式如下:typedefstruct_PROCESS_INFORMATION{HANDLEhProcess;//进程句柄HANDLEhThread;//主线程句柄DWORDdwProcessId;//进程编号DWORDdwThreadId;//主线程编号}PROCESS;西安交通大学计算机教学实验中心42【例3-2】编程显示当前系统所有进程的编号和名称。CreateToolhelp32SnapshotTakesasnapshotoftheprocessesandtheheaps,modules,andthreadsusedbytheprocesses.取得进程快照西安交
本文标题:第3章 操作系统及相关程序设计1_概述及进程管理.
链接地址:https://www.777doc.com/doc-3377371 .html