上一页 1 ··· 58 59 60 61 62 63 64 65 66 ··· 75 下一页
摘要: 进程的地址空间是私有的。出于安全性的目的,如果一个进程不具有特殊的权限,是无法访问另外一个进程的内存空间的,也无法知道内存中保存的数据的意义。但是在一些具体的应用情况下需要多个进行相互配合,有时计算机用户也需要在多个应用程序之间交换数据。Windows系统下,在进程间通信或共享数据的方式如下。◇邮槽(Mailslot)。 邮槽是最为简单的进程间数据共享方式,一个进程创建并拥有一个邮槽,其他进程都可以打开这个邮槽并向其发送消息。◇管道(Pipe)。实质是一种共享的内存,由一个进程创建,其他进程连接,并可进行双向的通信。◇剪贴板(Clipboard)。 剪贴板是重要的进程间数据共享方式,所有的进程 阅读全文
posted @ 2011-01-09 23:33 浪里飞 阅读(1407) 评论(0) 推荐(0) 编辑
摘要: 一、基本概念 GetVersionEx GetSystemInfo GetWindowsDirectory GetSystemDirectory Getting System Information[2] Time[3] Registry[4~6,1:P291] 示例:遍历子键和键值 二、其它 1、通过注册表设置一个自启动的程序 程序的自启动有很多种方法,注册表是其中最常用的一种,有多个键具有... 阅读全文
posted @ 2011-01-09 23:00 浪里飞 阅读(854) 评论(0) 推荐(0) 编辑
摘要: 一、基本概念 1、Windows系统是消息(Message)驱动的。当用户操作输入设备,产生硬件中断后,系统内核会得到这此硬件中断,硬件在系统中经过复杂的运算和处理最终变成消息。消息被系统发送给指定窗口。 所有的对用户界面的操作都会产生消息,包括鼠标单击、按钮、菜单选择、窗口创建、窗口移动等。 在创建窗口时,需指定窗口所属的窗口类,每一个窗口类都对应一个消息处理函数,因此每一个窗口都具有自己的消... 阅读全文
posted @ 2011-01-09 17:26 浪里飞 阅读(1289) 评论(0) 推荐(0) 编辑
摘要: 一、基本概念Windows的用户界面分为两个部分:字符图形界面和图形用户界面。字符图形界面较为简单,主要内容包括如何在界面上读取用户输入,如何向界面终端输出信息。如何控制界面的字体、背景、颜色等。字符界面的人机交互接口只有一种,称作控制台( Console)。用户通过控制台向应用程序输入命令和数据,应用程序将运行结果或提示信息等显示在控制台上。如cmd.exe。字符界面应用程序的所有输入和输出都是通过Console,字符界面相关的API函数都是通过Console的句柄来操作控制台的。Console句柄分为两种,标准输入(Stand In)句柄和标准输出(Stand Out)句柄,分别用于从界面 阅读全文
posted @ 2011-01-09 15:53 浪里飞 阅读(3433) 评论(0) 推荐(0) 编辑
摘要: 一、基本概念 1、服务是一种在系统中常驻的程序,服务可以在系统启动时自启动(先于用户登录)。当一个应用程序需要常驻在系统,或者随时为其他应用程序提供服务时,可以使用服务应用程序。一般编写网络服务端程序时需要使用服务。比如Windows系统中常用的网络应用服务器(WEB、FTP、邮件等)IIS就是一个服务应用程序。 Windows系统中具有一个服务控制器(SCM)用于控制服务。服务的安装、删除、启... 阅读全文
posted @ 2011-01-09 15:25 浪里飞 阅读(1291) 评论(0) 推荐(0) 编辑
摘要: 一、基本概念常见的线程同步方法(对象)有: 互斥对象(Mutex),事件对象(Event),信号量(Semaphore),临界区(critical section)等。Synchronization Functions[1] 在同步过程中,两个最重要的概念是同步对象和等待函数。 在线程同步过程中,需要先定义一个同步对象,同步对象一般具有两种状态:标志的(置位,signaled)和未标志的(未置位,nonsignaled)。线程根据是否已经完成操作将同步对象设置为标志的或未标志的。 而等待函数的功能是专门用于等待同步对象状态改变。一个线程调用等待函数后执行会暂停,直到同步对象的状态改变后,等待函 阅读全文
posted @ 2011-01-08 23:09 浪里飞 阅读(804) 评论(0) 推荐(0) 编辑
摘要: 一、基本概念1、进程是应用程序的实例。进程包括一个虚拟地址空间及代码、数据、对象等程序运行所需环境和资源的集合。在内存空间中包括若干可执行的代码、数据、资源、一系列对系统对象操作的句柄,安全上下文、进程标识符(PID),环境变量等程序执行的环境。同时,进程还包括一个或多个执行线程。 线程是程序的执行流程。在操作系统层面,线程是需要操作系统为其分配执行时间片的基本单元。线程附属于进程,一个线程可以执行进程中任意部分的代码。一个系统中同一时间只能有少量线程执行(决定于CPU个数和核数),操作系统决定当前执行哪一个线程,并进行调度。每一个线程都包括一个上下文(主要是CPU寄存器值)。在进行线程调度时 阅读全文
posted @ 2011-01-08 20:21 浪里飞 阅读(2027) 评论(0) 推荐(0) 编辑
摘要: 二、堆管理 用户使用内存分配函数分配的内存都位于堆中,所以使用堆管理函数对内存进行分配、释放等是最为直接的方式。 Windows系统中,每个进程都有自己的堆,每个进程的堆的数量也有所不同。Windows系统中所谓的“堆”(Heap)并不是内存块,而是一种用于内存管理的对象,也是一种内存组织的形式。进程可以从属于自己的堆上分配内存和释放内存。堆包括有若干种属性,如堆的大小最大值可以是固定的、也可... 阅读全文
posted @ 2011-01-08 12:50 浪里飞 阅读(1424) 评论(0) 推荐(0) 编辑
摘要: 4、进程的内存空间 1)进程虚拟地址空间的实现 Windows系统中每个进程都有一个私有的虚拟地址空间,系统需要将每个进程的虚拟地址都映射到物理内存地址上。为了实现系统中每个进程都有一个私有的虚拟地址空间,系统为每一个进程都创建一个页目录( Directory)和一组页表。每个进程的页表是独立的,而内核空间的页表是所有进程共享的。 在x86平台上,CR3寄存器标识了页目录所在的物理地址。Win... 阅读全文
posted @ 2011-01-07 23:31 浪里飞 阅读(1814) 评论(0) 推荐(0) 编辑
摘要: 一、相关概念 1、内存主要储存程序运行时所需的机器代码、数据等内容。 内存的最小存储单元是字节,内存中的每一个字节都有一个地址。在32位系统上,使用32位的数来表示内存地址,因此一共可以表示232 (4294967296-4G)个字节。 2、地址 (1)地址空间。 系统中所有可用的内存地址的集合称为地址空间。比如,如果可以使用4GB的内存,那么其地址空间就是0x00000000~0xFFFFF... 阅读全文
posted @ 2011-01-07 23:06 浪里飞 阅读(1415) 评论(0) 推荐(0) 编辑
上一页 1 ··· 58 59 60 61 62 63 64 65 66 ··· 75 下一页