应用软件工程师岗位培训课程常用操作系统.ppt
- 文档编号:1771920
- 上传时间:2022-10-24
- 格式:PPT
- 页数:56
- 大小:2.09MB
应用软件工程师岗位培训课程常用操作系统.ppt
《应用软件工程师岗位培训课程常用操作系统.ppt》由会员分享,可在线阅读,更多相关《应用软件工程师岗位培训课程常用操作系统.ppt(56页珍藏版)》请在冰豆网上搜索。
常用操作系统常用操作系统钱青海钱青海windows版本及开发工具简介版本及开发工具简介进程进程线程线程线程的建立与退出线程的建立与退出线程调度线程调度线程同步线程同步动态连接库动态连接库与其它操作系统区别与其它操作系统区别2windows版本版本Windows1.0Windows是由微软在1983年11月(在Lisa之后,Macintosh之前)宣布,并在两年后(1985年11月)发行。
在此后的两年中,紧随着MicrosoftWindows早期版本1.0之后,又推出了几种改进版本,以支持国际商业市场,并提供新型视讯显示器和打印机的驱动程序。
Windows2.0Windows版本2.0是在1987年11月正式在市场上推出的。
该版本对使用者接口做了一些改进。
这些改进中最有效的是使用了可重迭式窗口,而Windows1.0中使用的是并排式窗口。
Windows2.0还增强了键盘和鼠标接口,特别是加入了菜单和对话框。
Windows3.xMicrosoftWindows版本3.1是1992年4月发布的,其中包括的几个重要特性是TrueType字体技术(给Windows带来可缩放的轮廓字体)、多媒体(声音和音乐)、对象连结和嵌入(OLE:
ObjectLinkingandEmbedding)和通用对话框。
跟OS/2一样,Windows3.1只能在保护模式下运作,并且要求至少配置了1MB内存的286或386处理器。
WindowNT在1993年7月发表的WindowsNT是第一个支持Intel386、486和Pentium微处理器32位保护模式的Windows版本。
WindowsNT提供32位平坦寻址,并使用32位的指令集。
(本章后面我会谈到一些寻址空间的问题)。
WindowsNT还可以移植到非Intel处理器上,并在几种使用RISC芯片的工作站上执行。
3windows版本版本Windows95/98Windows95是在1995年8月发布的。
和WindowsNT一样,Windows95也支持Intel386或更高等级处理器的32位,但是Windows95具有需要较少硬件资源的优点。
Windows98在1998年6月发布,具有保护模式。
虽然它缺少WindowsNT中的某些功能,诸如高安全性和对RISC机器的可移植性等许多加强功能,包括执行效能的提高、更好的硬件支持以及与因特网和全球信息网(WWW)更紧密的结合。
WindowsME2000年9月微软公司发行32位图形操作系统WindowsME,该操作系统是在Windows95和Windows98的基础上开发的。
Window2000Windows2000有四个版本:
Professional、Server、AdvancedServer和DatacenterServer。
所有版本的Windows2000都有共同的一些新特征:
NTFS5,新的NTFS文件系统;EFS,允许对磁盘上的所有文件进行加密;WDM,增强对硬件的支持。
WindowXP2001年10月微软发布了WindowsXP,它包括了简化了的Windows2000的用户安全特性,并整合了防火墙,以用来确保长期以来一直困扰微软的安全问题。
WINDOWS20032003年1月发布的Windows2003大量继承了WindowsXP的友好操作性和Windows2000sever的网络特性,是一个同时适合个人用户和服务器使用的操作系统。
Windows2003完全延续了WindowsXP安装时方便、快捷、高效的特点,几乎不需要多少人工参与就可以自动完成硬件的检测、安装、配置等工作。
虽然在名称上,Windows2003又延续了Windows家族的习惯命名法则,但从其提供的各种内置服务以及重新设计的内核程序来说,Windows2003与Windows2000/XP有着本质的区别。
4windows开发工具开发工具常见的常见的Windows应用程序开发语言和工具应用程序开发语言和工具:
MicrosoftVisualC+MicrosoftVisualBasicMicrosoftVisualJ+BorlandDelphi5windows版本及开发工具简介版本及开发工具简介进程进程线程线程线程的建立与退出线程的建立与退出线程调度线程调度线程同步线程同步动态连接库动态连接库与其它操作系统区别与其它操作系统区别6进程进程进程通常被定义为一个正在运行的程序的实例,它由两个部分组成:
操作系统用来管理进程的内核对象。
地址空间,它包含所有可执行模块或DLL模块的代码和数据。
它还包含动态内存分配的空间。
如线程堆栈和堆分配空间。
每个进程至少拥有一个线程,来执行进程的地址空间中的代码。
7进程句柄和优先级进程句柄和优先级进程的实例句柄进程的实例句柄加载到进程地址空间的每个可执加载到进程地址空间的每个可执行文件或行文件或DLL文件均被赋予一个文件均被赋予一个独一无二的实例句柄。
对于加载独一无二的实例句柄。
对于加载资源的函数调用来说,通常都需资源的函数调用来说,通常都需要该句柄的值。
要该句柄的值。
表示进程句柄的两种数据类型:
表示进程句柄的两种数据类型:
HMODULE与与HINSTANCE进程的优先级进程的优先级8创建进程创建进程创建进程的几种方式:
调用ShellExecute函数调用WinExec函数调用Createprocess函数函数原型:
HINSTANCEShellExecute(HWNDhwnd,LPCTSTRlpOperation,LPCTSTRlpFile,LPCTSTRlpParameters,LPCTSTRlpDirectory,INTnShowCmd);UINTWinExec(LPCSTRlpCmdLine,UINTuCmdShow);BOOLCreateProcess(LPCTSTRlpApplicationName,LPTSTRlpCommandLine,LPSECURITY_ATTRIBUTESlpProcessAttributes,LPSECURITY_ATTRIBUTESlpThreadAttributes,BOOLbInheritHandles,DWORDdwCreationFlags,LPVOIDlpEnvironment,LPCTSTRlpCurrentDirectory,LPSTARTUPINFOlpStartupInfo,LPPROCESS_INFORMATIONlpProcessInformation);9终止进程终止进程终止进程运行常用的四种方式:
主线程的进入点函数返回进程中的一个线程调用ExitProcess函数一个进程中的线程调用TerminateProcess函数(应该避免使用这种方法)程中的所有线程自行终止运行(这种情况非常少)。
10终止进程终止进程思考调用和不调用思考调用和不调用ExitProcess函数函数程序输出结果的不同:
程序输出结果的不同:
classCSamplepublic:
CSample()printf(“Constructorn);CSample()printf(“Destructorn);CSampleg_SampleObj;voidmain()CSampleSampleObj;ExitProcess(0);不调用不调用ExitProcess函数的输出结函数的输出结果:
果:
ConstructorConstructorDestructorDestructor调用调用ExitProcess函数的输出结果:
函数的输出结果:
ConstructorConstructor11进程间通信方式进程间通信方式文件映射文件映射文件映射(Memory-MappedFiles)能使进程把文件内容当作进程地址区间一块内存那样来对待。
因此,进程不必使用文件I/O操作,只需简单的指针操作就可读取和修改文件的内容。
Win32API允许多个进程访问同一文件映射对象,各个进程在它自己的地址空间里接收内存的指针。
通过使用这些指针,不同进程就可以读或修改文件的内容,实现了对文件中数据的共享。
应用程序有三种方法来使多个进程共享一个文件映射对象:
继承:
第一个进程建立文件映射对象,它的子进程继承该对象的句柄;命名文件映射:
第一个进程在建立文件映射对象时可以给该对象指定一个名字(可与文件名不同)。
第二个进程可通过这个名字打开此文件映射对象。
另外,第一个进程也可以通过一些其它IPC机制(有名管道、邮件槽等)把名字传给第二个进程。
句柄复制:
第一个进程建立文件映射对象,然后通过其它IPC机制(有名管道、邮件槽等)把对象句柄传递给第二个进程。
第二个进程复制该句柄就取得对该文件映射对象的访问权限。
12进程间通信方式进程间通信方式共享内存共享内存Win32API中共享内存(SharedMemory)实际就是文件映射的一种特殊情况。
进程在创建文件映射对象时用0xFFFFFFFF来代替文件句柄(HANDLE),就表示了对应的文件映射对象是从操作系统页面文件访问内存,其它进程打开该文件映射对象就可以访问该内存块。
由于共享内存是用文件映射实现的,所以它也有较好的安全性,也只能运行于同一计算机上的进程之间。
匿名管道匿名管道匿名管道(AnonymousPipe)是在父进程和子进程之间,或同一父进程的两个子进程之间传输数据的无名字的单向管道。
通常由父进程创建管道,然后由要通信的子进程继承通道的读端点句柄或写端点句柄,然后实现通信。
父进程还可以建立两个或更多个继承匿名管道读和写句柄的子进程。
这些子进程可以使用管道直接通信,不需要通过父进程。
匿名管道是单机上实现子进程标准I/O重定向的有效方法,它不能在网上使用,也不能用于两个不相关的进程之间。
13进程间通信方式进程间通信方式命名管道命名管道命名管道(NamedPipe)是服务器进程和一个或多个客户进程之间通信的单向或双向管道。
不同于匿名管道的是命名管道可以在不相关的进程之间和不同计算机之间使用,服务器建立命名管道时给它指定一个名字,任何进程都可以通过该名字打开管道的另一端,根据给定的权限和服务器进程通信。
命名管道提供了相对简单的编程接口,使通过网络传输数据并不比同一计算机上两进程之间通信更困难,但它不适合同时和多个进程通信。
邮件槽邮件槽邮件槽(Mailslots)提供进程间单向通信能力,任何进程都能建立邮件槽成为邮件槽服务器。
其它进程,称为邮件槽客户,可以通过邮件槽的名字给邮件槽服务器进程发送消息。
进来的消息一直放在邮件槽中,直到服务器进程读取它为止。
一个进程既可以是邮件槽服务器也可以是邮件槽客户,因此可建立多个邮件槽实现进程间的双向通信。
14进程间通信方式进程间通信方式剪贴板剪贴板剪贴板(ClippedBoard)实质是Win32API中一组用来传输数据的函数和消息,为Windows应用程序之间进行数据共享提供了一个中介,Windows已建立的剪切(复制)粘贴的机制为不同应用程序之间共享不同格式数据提供了一条捷径。
当用户在应用程序中执行剪切或复制操作时,应用程序把选取的数据用一种或多种格式放在剪贴板上。
然后任何其它应用程序都可以从剪贴板上拾取数据,从给定格式中选择适合自己的格式。
动态数据交换动态数据交换动态数据交换(DDE)是使用共享内存在应用程序之间进行数据交换的一种进程间通信形式。
应用程序可以使用DDE进行一次性数据传输,也可以当出现新数据时,通过发送更新值在应用程序间动态交换数据。
对象连接与嵌入对象连接与嵌入应用程序利用对象连接与嵌入(OLE)技术管理复合文档(由多种数据格式组成的文档),OLE提供使某应用程序更容易调用其它应用程序进行数据编辑的服务。
15进程间通信方式进程间通信方式动态连接库动态连接库Win32动态连接库(DLL)中的全局数据可以被调用DLL的所有进程共享,这就又给进程间通信开辟了一条新的途径,当然
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 应用软件 工程师 岗位培训 课程 常用 操作系统
![提示](https://static.bdocx.com/images/bang_tan.gif)