




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第3章 操作系统及相关程序设计西安交通大学计算机教学实验中心2 主 要 内 容操作系统及其功能进程管理应用程序设计 内存管理应用程序设计 设备与文件管理应用程序设计 人机接口管理应用程序设计 331 操作系统概述操作系统的发展操作系统的功能操作系统的分类常见操作系统简介4什么是操作系统?定义一组控制和管理计算机软、硬件资源,合理组织计算机的工作流程,为用户提供便捷使用计算机的程序的集合 作用 管理计算机和使用计算机 特征 并发性、共享性、虚拟性和不确定性 操作系统是连接硬件和软件的桥梁53.1.1操作系统的发展手工操作单道批处理多道程序系统分时操作系统实时操作系统微机操作系统6DOS中的批处理
2、dir /pcopy 批处理.bat batch.batnotepadcalcpause7 3.1.2 操作系统的功能计算机的硬件、软件资源有哪些?CPU管理(进程管理)存储器管理文件管理设备管理用户接口8用户接口类型命令接口,用户通过交互命令方式直接或间接地对计算机进行操作,DOS:是纯命令行输入方式,Windows:鼠标操作方式程序接口,供用户以程序方式进行操作,或API(Application Programming Interface),用户通过API函数可以调用系统提供的例行程序,实现既定的操作。DOS:中断服务功能,Windows:Windows API函数3.1.3操作系统的分类
3、批处理操作系统嵌入式操作系统分时操作系统实时操作系统网络操作系统分布式操作系统910实用的操作系统Windows:窗口式图形界面、网络功能、分布式功能,个人计算机操作系统DOS:磁盘操作系统, ,个人计算机操作系统,单道程序系统、批处理Linux 分时操作系统、多任务、多用户、网络3.1.4 常见操作系统简介DOSDisk Operating System1979年,微软公司为IBM公司的16位Intel 8086 PC设计和开发了一个磁盘操作系统MS-DOS 1.0,1981年推出了支持内存为320KB的MS-DOS 1.1版,后更名为PC-DOS 1.0。1982年,支持PC/XT 硬盘的
4、MS-DOS 2.0问世111984年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命令、打印机操作12DOSDOS是一种单用户、单任务的磁盘操作系统 DOS操作系统包含四大模块:引导模块内核模块输入输出接口模块命令管理模块1314DOS的组成15DOS命令的执行过程16DOS的常用命
5、令(命令提示符方式可测试)CD 进入子目录CLS 清除屏幕COPY 复制文件DEL删除文件DIR 列目录FORMAT 格式化磁盘MD创建子目录PATH 设置或显示搜索路径RD 删除子目录REM重新命名Type 显示文件管道|重定向两个有用的命令:ping 、ipconfig/all17Windows操作系统Windows多用户、多任务、图形化支持网络、支持多媒体、支持多种硬件和应用程序18Windows NT体系结构 登录进程和会话管理器 事件日志、调度服务、SQL ServerOS/2;Win32; POSIX等MS-DOS程序和Win32程序进程线程管理、I/O和内存管理 线程调度、中断和
6、异常处理 将内核、设备驱动程序和执行体分离以适应不同的平台 将I/O函数调用转换为I/O请求 窗口和绘制 19Windows操作系统Windows最常用的功能是:桌面、浏览器、资源管理器、我的电脑、网上邻居、控制面板(Control)、任务管理器(taskmgr)、Word、Excel、VC+,记事本(Notepad),写字板(write) 20窗口 21过程驱动的程序结构Windows事件驱动的程序结构(消息驱动的程序结构)系统消息队列Windows也为每个应用程序创建一个应用消息队列。事件所产生的消息,首先进入系统消息队列,然后再被传送到对应的应用消息队列,最后才被送到消息所对应的窗口。W
7、indows应用程序设计模式22Windows中的消息循环23消息类型 标准消息(windows消息): 任何以WM_开头的消息(WM_COMMAND除外);如:WM_QUIT,WM_CREATE;命令消息: WM_COMMAND;子窗口通知(控件通知): 由子窗口(大多为控件)产生并发送到该控件所属的父窗口的消息。常见消息宏WM_LBUTTONDOWN WM_RBUTTONDOWNWM_LBUTTONUP WM_PAINT24消息的结构消息结构:消息号和参数组成typedef struct tagMSG HWND hwnd;窗口句柄,为NULL,则可检索所有驻留在消息队列中的消息 UINT
8、message;消息值,由windows.h头文件中的宏定义来标识 WPARAM wParam;包含有关消息的附加信息,不同消息其值有所不同 LPARAM lParam; DWORD time; 指定消息送至队列的时间 POINT pt;指定消息发送时屏幕光标的位置, 其数据类型POINT也是一个结构体MSG;25句柄多个程序或一个程序的多个副本,称为实例。为了对同一程序的多个副本进行管理,Windows引入了实例句柄。Windows为每个应用程序建立一张表,实例句柄就好象是这张表的一个索引。句柄指Windows使用的一个唯一的整数值,26使用VC+编写Windows程序通常有三种方式:直接使
9、用Windows API函数,通过VC+提供的工具生成对话框框架程序文档视图框架程序 例 文档视图框架程序 步骤 打开VC+ 工程类型为“MFC AppWizard(exe) ”程序类型为“Single document ”改变窗口标题在视图类的OnDraw函数中添加代码:“pDC-TextOut(100,100,MFC文档/视图演示程序);” 2728void CTest_winView:OnDraw(CDC* pDC)CTest_winDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);CString m_str;int c,a=2,b=123;c=a
10、+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操作系统的进程和线程管理 进程和线程的应用 30 3.2.1 CPU与进程管理 主要任务对处理器的时间进行合理分配、对处理器的运行实施有效的管理 程序由输入、处理和输出三部分组成,有严格时间顺序的可执行指令序列是一个静态概念顺序执行操作系统依次执行各个程序,在一个程序的整个执行过程中由该程序占有全
11、部系统资源单道程序执行的特征顺序性、封闭性、可再现性并发执行多个程序在一个处理器上的交替执行,其目的主要是为了提高计算机资源的利用率多道程序并发执行的特征间断(异步)性、失去封闭性、失去可再现性。31进程的定义进程的特点进程的状态 32进程的状态转换33进程管理的关键问题进程的同步进程的互斥PCB的数据结构进程的调度进程调度的算法进程与程序的区别3435 3.2.2 进程程序设计Windows API函数库,它以C语言标准提供给程序员,CreateProcess函数在一个进程中建立另一个子进程,还可以通过TerminateProcess函数退出该子进程的执行。36进程函数CreateProce
12、ss函数来创建一个进程 OpenProcess:获得一个已经存在的进程对象的句柄TerminateProcess终止指定进程 37CreateProcessbRet = CreateProcess(NULL, /不在此指定可执行文档的文档名szCommandLine, /命令行参数NULL, /默认进程安全性NULL, /默认线程安全性FALSE, /当前进程内的句柄不能够被子进程继承CREATE_NEW_CONSOLE, /为新进程创建一个新的控制台窗口NULL, /使用本进程的环境变量NULL, /使用本进程的驱动器和目录&si, /父进程传给子进程的一些信息&pi); /保存新进程信息的
13、结构38获得一个已经存在的进程对象的句柄HANDLE OpenProcess( DWORD dwDesiredAccess, /访问权限 BOOL bInheritHandle, /若要子进程获得对该对象的权限,应为TRUE,否则为FALSEDWORD dwProcessId /进程标识号); 39终止进程BOOL TerminateProcess( HANDLE hProcess, / 进程句柄,由OpenProcess函数返回 UINT uExitCode / 进程退出码,这里可以设为0); 40进程终止实例使用任务管理器查到待终止的进程号为:2212HANDLE hProcess3;hP
14、rocess3=OpenProcess(PROCESS_TERMINATE,FALSE,2212);TerminateProcess(hProcess3,0);41保存创建的进程信息PROCESS_INFORMATION结构体保存创建的进程信息,其格式如下:typedef struct _PROCESS_INFORMATION HANDLE hProcess; /进程句柄 HANDLE hThread; /主线程句柄 DWORD dwProcessId; /进程编号 DWORD dwThreadId; /主线程编号 PROCESS; 42【例3-2】编程显示当前系统所有进程的编号和名称。Cre
15、ateToolhelp32SnapshotTakes a snapshot of the processes and the heaps, modules, and threads used by the processes.取得进程快照43CreateToolhelp32Snapshot为指定的进程、进程使用的堆HEAP、模块MODULE、线程THREAD)建立一个快照snapshot。44函数格式HANDLE WINAPI CreateToolhelp32Snapshot( DWORD dwFlags, /TH32CS_SNAPPROCESS , /TH32CS_SNAPTHREAD DW
16、ORD th32ProcessID /进程标识号,当前进程为0);dwFlags输入指定快照中包含的系统内容。 TH32CS_SNAPPROCESS - 在快照中包含系统中所有的进程.th32ProcessID输入指定将要快照的进程ID。如果该参数为0表示快照当前进程。45PROCESSENTRY32 结构体格式typedef struct tagPROCESSENTRY32 DWORD dwSize; DWORD cntUsage; DWORD th32ProcessID; /进程编号 DWORD th32DefaultHeapID; DWORD th32ModuleID; DWORD cn
17、tThreads; DWORD th32ParentProcessID; LONG pcPriClassBase; DWORD dwFlags; char szExeFileMAX_PATH; /进程执行文件名 PROCESSENTRY32;463.2.3 线程程序设计线程是进程内一个可以独立执行的子任务,也是进程内的一个可调度的实体。47引入原因 引入思想 进程两个基本特性:资源分配的独立单位调度的基本单位引入思想:将进程资源分配和调度分开,引 入线程。48引入益处 开销 通信引入原因49从开销角度来说:启动一个新进程必须分配独立地址空间,建立众多的数据表来维护它的代码段、堆栈段,这是一种很
18、“昂贵”的多任务工作方式 。运行于一个进程中的多个线程,彼此之间使用相同的地址空间,共享大部分数据,启动一个线程所花费的空间远远小于启动一个进程所花费的空间。线程间彼此切换所需的时间也远远小于进程间切换所需要的时间时间。引入原因50从通信角度来说:不同进程具有独立的数据空间,要进行数据的传递只能通过通信方式进行,这种方式不仅费时,而且很不方便。线程由于同一进程下的线程之间共享数据空间,所以一个线程的数据可以直接为其他线程所用,这不仅快捷,而且方便。引入原因51总之:创建一个新线程花费时间少(结束亦如此)两个线程的切换花费时间少同一进程内的线程共享内存和文件,因此它们之间相互通信无须调用内核适合
19、多处理机系统引入原因52线程的属性(1)每个线程具有一个唯一的标识。(2)不同的线程可以执行相同的程序。(3)同一进程的多个线程共享该进程的主存空间。资源的拥有者是进程或称任务。(4)线程是处理机独立调度的单位。(5)线程有其生命周期。就绪、阻塞(等待)和执行状态。线程可由内核控制,也可由用户控制53有时称轻量级进程进程中的一个运行实体是一个CPU调度单位线程也描述为:进程的执行体、一个执行单元、进程内的一个可调度实体等。 线程的其他定义54线程与进程的区别 线程是比进程更小的单位,从运行角度来讲,同类线程的数据和代码区是共享的,这有利于线程的快速调度和切换,而进程之间的数据和代码区是独立的。 55Windows中的线程函数CreateThread /创建线程CTerminateThread /终止线程WaitForSingleObject /等待新线程运行结束CloseHandle /关闭线程#include 使用MFC56【例3-3】【例3-3】编写一个动态显示计算机时间的线程程序57CreateT
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 计算机三级数据库相关法规解读试题及答案
- 公司职工体检管理制度
- 刑侦部门分级管理制度
- 制定信息安全管理制度
- 公司员工吵架管理制度
- 单位设备器材管理制度
- 宿舍设备安全管理制度
- 印刷费用成本管理制度
- 加压泵站维护管理制度
- 宾馆管理日常管理制度
- 农行反洗钱与制裁合规知识竞赛考试题库大全-上下
- DGTJ08-202-2020钻孔灌注桩施工规程 上海市
- 充电桩基本知识课件
- 中职电子类面试题及答案
- 作风建设学习教育读书班交流发言提纲
- 2025年社会工作者职业水平考试中级实务模拟试卷:社会工作专业能力与团队协作能力试题
- 2025年《AI人工智能知识竞赛》题库及答案解析
- 全国公开课一等奖人教版小学数学五年级下册《数学广角-找次品》课件
- 2022年高中物理同步讲义(选修性必修3)第11讲-热力学第一定律(原卷版)
- 电工电焊工安全培训
- 红色体育知到智慧树章节测试课后答案2024年秋西安体育学院
评论
0/150
提交评论