
正文
怎样用windows系统的简单介绍
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
Windows 操作系统的使用
Windows 操作系统的使用
Windows 规定了这个限制条件,目的是为了确保内核对象结构保持状态的一致。下面是关于Windows 操作系统的使用,希望大家认真阅读!
1,进程虚拟地址空间
在windows操作系统中,每个进程都有自己的私有地址空间,因此一个进程的线程只能访问属于这个进程的内存空间,即进程之间是地址隔离的。在windows2000中,进程虚拟地址空间可分为如下四个部分:
1)NULL 区 (0x00000000~0x0000FFFF): 如果进程中的一个线程试图操作这个分区中的数据,CPU就会引发非法访问。他的作用是,调用malloc等内存分配函数时,如果无法找到足够的内存空间,它将返回NULL。而不进行安全性检查。它只是假设地址分配成功,并开始访问内存地址0x00000000(NULL)。由于禁止访问内存的这个分区,因此会发生非法访问现象,并终止这个进程的运行。
2)用户模式分区 ( 0x00010000~0xBFFEFFFF):这个分区中存放进程的私有地址空间。一个进程无法以任何方式访问另外一个进程驻留在这个分区中的数据(相同exe,通过copy-on-write来完成地址隔离)。(在windows中,所有.exe和动态链接库都载入到这一区域。系统同时会把该进程可以访问的所有内存映射文件映射到这一分区)。
2)隔离区 (0xBFFF0000~0xBFFFFFFF):这个分区禁止进入。任何试图访问这个内存分区的操作都是违规的。微软保留这块分区的目的是为了简化操作系统的现实。
3)内核区 (0xC0000000~0xFFFFFFFF):这个分区存放操作系统驻留的代码。线程调度、内存管理、文件系统支持、网络支持和所有设备驱动程序代码都在这个分区加载。这个分区被所有进程共享。
一、在这一节,我们详细讨论一下用户模式分区,用户模式分区从地地址到高地址依次为:
1)代码段,存放函数体的二进制代码。
2)静态数据区(分为以初始化数据段和未初始化数据段)全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。程序结束后由系统释放 。
3)堆,一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。
......(未映射部分)(这个部分包含各种导入的dll等)
4)栈, 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。
二、下面详细介绍exe导入到执行的全过程,以及地址空间的加载。
1)系统找到在调用CreateProcess时指定的exe文件。
2)系统创建一个新进程的内核对象。
3)系统为这个新进程创建一个私有的地址空间。
4)系统保留一个足够大的地址空间区域,用来存放exe文件。这个区域的位置在exe文件中设定。默认情况下,exe文件的基地址是0x0400000. (1.编译器处理每个源代码模块,生成obj文件。2.链接程序将所有obj模块的内容组合在一起,生成一个单独的可执行映射文件即exe,该映射文件包含用于可执行模块的所有二进制代码以及全局/静态数据变量,同时也包含一个导入部分,列出了该可执行模块所需要的所有dll模块的名字,对于每个列出的 dll名,该导入部分指明了那些函数和变量符号是被可执行的二进制代码所引用的)
5)在将exe文件映射到进程的地址空间之后,系统会访问exe 文件中的一个段(这个段列出了一些DLL文件),并列出exe文件代码中调用函数dll文件的部分。然后,系统为每个dll文件调用loadlibrary函数,如果某个dll文件需要调用更多的 dll,那么系统会再次调用loadlibrary函数,来加载这个dll。系统保留一个足够大的地址空间区域,用来存放这个dll文件。默认情况下,微软创建dll文件基地址0x10000000。 windows提供的所有标准系统dll都有不同的基地址,这样,即使加载到单个地址空间,他们之间也不会重叠。(1.编译器处理每个源代码模块,生成一个obj模块。2.链接程序将所有obj模块的内容组合在一起,生成一个单独的dll映像文件,该映像文件包含用于dll的所有二进制代码以及全局/静态数据变量。3.如果链接程序检查到dll的源代码模块至少导出了一个函数或变量,则链接程序同时生成一个单独的lib文件,这个lib文件很小,只是简单地列出了所有被导出的函数和变量的符号名)
6)当把所有的exe文件和dll文件都映射到进程的地址空间之后,系统就会创建一个线程内核对象,并使用该线程以DLL_PROCESS_ATTACH为参数来调用每个DLL的DllMain函数,当所有映射的DLL都对此通知做出相应后,系统将驱使主线程开始执行exe文件的启动代码(winmainCRTStartup 函数),这个函数负责对c/c++运行时库进行初始化和调用函数入口函数(main 或 winmain)。
下面强调一些dll和lib的加载区别:
dll允许可执行模块(.dll文件或.exe文件)仅包含在运行时定位DLL函数的可执行代码所需的信息(即将dll附带的lib加载到可执行模块中)。
对于lib文件,链接器从静态链接库LIB获取所有被引用函数,并将库同代码一起放到可执行文件中。
三、堆和栈的理论知识
3.1申请方式
stack: 由系统自动分配。 例如,声明在函数中一个局部变量 int b; 系统自动在栈中为b开辟空间
heap: 需要程序员自己申请,并指明大小,在c中malloc函数 ,在C++中用new运算符 。
3.2 申请后系统的响应
栈:只要栈的剩余空间大于所申请空间,系统将为程序提供内存,否则将报异常提示栈溢出。
堆:首先应该知道操作系统有一个记录空闲内存地址的链表,当系统收到程序的申请时,
会遍历该链表,寻找第一个空间大于所申请空间的堆结点,然后将该结点从空闲结点链表中删除,并将该结点的'空间分配给程序,另外,对于大多数系统,会在这块内存空间中的首地址处记录本次分配的大小,这样,代码中的delete语句才能正确的释放本内存空间。另外,由于找到的堆结点的大小不一定正好等于申请的大小,系统会自动的将多余的那部分重新放入空闲链表中。
3.3申请大小的限制
栈:在Windows下,栈是向低地址扩展的数据结构,是一块连续的内存的区域。这句话的意思是栈顶的地址和栈的最大容量是系统预先规定好的,在WINDOWS下,栈的大小是2M(也有的说是1M,总之是一个编译时就确定的常数),如果申请的空间超过栈的剩余空间时,将提示overflow。因此,能从栈获得的空间较小。
堆:堆是向高地址扩展的数据结构,是不连续的内存区域。这是由于系统是用链表来存储的空闲内存地址的,自然是不连续的,而链表的遍历方向是由低地址向高地址。堆的大小受限于计算机系统中有效的虚拟内存。由此可见,堆获得的空间比较灵活,也比较大。
3.4申请效率的比较:
栈由系统自动分配,速度较快。但程序员是无法控制的。
堆是由new分配的内存,一般速度比较慢,而且容易产生内存碎片,不过用起来最方便.
另外,在WINDOWS下,最好的方式是用VirtualAlloc分配内存,他不是在堆,也不是在栈是直接在进程的地址空间中保留一快内存,虽然用起来最不方便。但是速度快,也最灵活。
3.5堆和栈中的存储内容
栈: 在函数调用时,第一个进栈的是主函数中后的下一条指令(函数调用语句的下一条可执行语句)的地址,然后是函数的各个参数,在大多数的C编译器中,参数是由右往左入栈的,然后是函数中的局部变量。注意静态变量是不入栈的。
当本次函数调用结束后,局部变量先出栈,然后是参数,最后栈顶指针指向最开始存的地址,也就是主函数中的下一条指令,程序由该点继续运行。
堆:一般是在堆的头部用一个字节存放堆的大小。堆中的具体内容有程序员安排。
3.6 “栈(stack)”和“堆(heap)”是两种不同的动态数据区,栈是一种先进后出的线性结构,栈顶地址总是小于等于栈的基地址。堆是一种链式结构。进程的每个线程都有私有的“栈”,所以每个线程虽然代码一样,但本地变量的数据都是互不干扰。一个堆栈可以通过“基地址”和“栈顶”地址来描述。全局变量和静态变量分配在静态数据区,本地变量分配在动态数据区,即堆栈中。程序通过堆栈的基地址和偏移量来访问本地变量。
四、下面说明一下啊函数的调用堆栈变换,来更好的理解堆栈的原理。(VS2005测试)
压栈的顺序是从高地址向低地址方向。
1)参数以从右到左的次序压入堆栈。
2)压入EBP的值(书上分析这个位置插入一个函数返回指令地址,但分析时没有发现因为间隔只有4个字节)
3)压入局部变量
4)返回值放入EAX寄存器中。因为win32汇编一般用eax返回结果 所以如果最终结果不是在eax里面的话 还要把它放到eax。所以返回值的释放过程在参数之后进行。
;
相关问答
Q1: 苹果电脑上的windows系统怎么安装软件怎么办
1. 如何让苹果电脑能安装windows系统的软件
苹果官方放出的Boot Camp工具让Microsoft Windows XP操作系统进驻苹果笔记本成为现实,使那些碍于操作系统而犹豫该不该选择苹果的朋友找到一个两全其美的解决之道。
在大多数人眼里,苹果这个已经超脱出IT品牌而升华为IT时尚的标准,灵性的外观设计和紧凑完备的功能造就了一大批苹果迷,但由于苹果坚持在旗下产品上维系自己的操作系统,使不少饱受Windows熏陶的消费者心存芥蒂尔放弃了选择苹果产品。
在市场销量面前,高贵如苹果也不得不放下架子,先是发布了采用Intel双核处理器的MacBook Pro笔记本,而今又在网站上放出Boot Camp工具,使用户可在MacBook Pro笔记本上安装Windows XP操作系统。如此一来也使得苹果MacBook Pro笔记本摆脱了软硬件的桎梏,拥有了更为广泛的客户群体,今天我们就一起来看看Boot Camp工具的具体应用。
MacBook Pro笔记本
首先要能够通过Boot Camp工具安装Windows系统,你的Mac必须满足下列条件:
1. 仅限于采用Intel处理器的Mac,如到货本地的MacBook Pro;
2. 采用Mac OS X Tiger v10.4.6版操作系统;
3. 10GB以上硬盘空间;
4. 一张空白刻录光盘;
5. 更新最新固件并拥有Micrsoft Windows Xp、Service Pack2家庭版或专业版光盘(单光盘)。
在满足以上条件的Mac上安装Boot Camp并运行(苹果中国网站上提供),首先Boot Camp会提示用户刻录一张包含Mac硬件驱动的光盘,以便Windows系统识别:
刻录驱动盘
在完成刻录后Boot Camp会让用户划分磁盘分区用于Windows系统的安装:
划分好适当容量的分区
一切就绪后放入Windows安装光盘并点击开始安装Start Installation,便进入我们熟悉的Windows系统安装界面:
在选择安装分区使用户必须注意的是千万不要删除或者建立磁盘分区,否则有可能导致Mac OS X系统紊乱,并且制定的Windows安装分区要与之前划分的分区一致,而后就是按部就班的让Windows在你的Mac里安家落户了。
重新启动
在安装完毕后重新启动,在启动界面点击键盘上的Option键(Alt键)即可出现两个系统选择画面,而如果没有按Option键将进入默认的Mac OS X系统。
系统预置
在Mac OS X Tiger v10.4.6版操作系统中可以直接切换至Windows操作系统,首先点击下方工具条上的系统设置。收起
2. 装了windows系统的苹果笔记本怎么安装软件
苹果笔记本安装windows系统的安装步骤:1、点击底部的launcher。
2、点击其他,打开boot camp助理。3、勾选前面两个勾。
4、浏览到windows系统镜像,并插入U盘(大于4G)。5、U盘刻录完成后再次打开boot camp助理,勾选第三个。
6、划分区域,至少20G空间,如果打算长期使用的,至少需要60G空间。7、系统会自动引导进入U盘,在选择分区时点击驱动器选项。
8、选中bootcamp分区,点击格式化。9、点击安装,等待文件复制完毕,即可使用windows系统。
3. 苹果电脑系统怎么安装windows系统
苹果的mac系统在很多方面都没有windows 7要方便,装软件也好,使用也好,还是windows更加适用,在这里就来看看如何在mac系统下安装windows 7系统吧! 在开始之前需要准备: - Windows 7 Installation DVD - Mac OS X Installation DVD或Boot Camp 2.1 on CD/DVD(Boot Camp是必须的) 步骤1 在Mac系统下打开Finder 步骤 2 找到Applications(应用程序)这一项 。
步骤 3 找到里面的Boot Camp打开它。 步骤 4 这是BootCamp图标 步骤 5 打开后继续下一步。
步骤 6 可以在这里建立一个Windows分区,拖拽中间的竖条来给Mac系统和Windows分配空间。Windows 7大概最少需要10 GB的空间,如果你还要安装其他程序则需要更大,这里分了32 GB给我的Windows 7,完成后点Partition确定开始分区。
Boot Camp将开始分区你的硬盘。 步骤 7 一旦完成分区就可以开始安装你的Windows 7了,插入 刻录好的Windows 7安装盘,点击Start Installation开始安装。
步骤 8 这时电脑将重新启动进入Windows 7安装界面,选择语言、时间格式和键盘布局格式,按照添就好了。然后点Next下一步 。
步骤 9 点击Install now开始安装 。 步骤 10 这里选择接受accept the license terms,然后下一步Next。
步骤 11 安装方式选择自定义Custom (advanced高级) 方式进行安装。 步骤 12 选择之前用BOOTCAMP 分的32 G的分区,然后点击 Drive options (advanced) 这个连接。
这时下面出现多个选项,先选中之前要安装的那个32 G的BOOTCAMP分区,然后点击Format格式化选项开始格式化分区,这里不能选错分区。 然后出现一个带叹号的提示窗口,点OK 确认格式化。
格式化完成后 Next 点下一步继续。 步骤 13 Windows 7安装开始复制文件,需要等待一段时间,复制完毕后电脑还将重新启动。
Windows 7将继续完成安装。 最后一次重新启动。
步骤 14 在这里输入用户名,还有下面输入计算机名称,名字可以随便取,但是两个名字不能相同。完成后点 Next 继续。
步骤 15 设置登陆密码,输入两次,最后一个是忘记密码找回需要的提示问题,随便设置一个。然后点击 Next 继续。
步骤 16 Windows 7将问你要产品序列号,这个序列号在下载Windows 7的时候在最后一个画面显示,需要记下来在这里使用,输入后点 Next 下一步继续。 步骤 17 这里选择Use remended settings。
步骤 18 预览时间和日期设置确保正确 Next 下一步继续。 步骤 19 如果在无线网络内,将会问选择那个网络,这里就看自己的环境了,有就选,没有就点Skip 跳过。
步骤 20 Windows 7提示选择计算机使用的环境,有家庭、工作、公共场所等。 步骤 21 当选择家庭时,Windows提示是否建立家庭网络,一般人都不需要,点Skip 跳过。
步骤 22 Windows 7进入桌面。 如果你有Mac OS X 安装光盘DVD,进入光盘。
步骤 22 在Mac OS X 安装光盘DVD上运行 setup.exe 。 步骤 23 安装Boot Camp,点 Next 继续,开始安装。
步骤 24 阅读许可协议,选择 I accept the terms in the license agreement接受协议,再点 Next 继续。 步骤 25 选择Apple Software Update for Windows ,然后点 Install 安装。
步骤 26 Boot Camp开始安装Windows必须的Mac电脑驱动程序。 完成安装后点Finish 完成按钮。
重新启动使安装的驱动程序生效,点 Yes 。 步骤 27 再次进入系统表明已经成功的在Mac电脑上安装完Windows 7了。
4. 苹果笔记本怎么安装win系统安装
你好,方法如下
步骤一:
进入苹果系统,左上角——前往——实用工具——BootCamp 助理,然后选择 继续,见图片
步骤二:
1.选第二项,从Apple下载最新的windows支持软件,此为苹果电脑的win7驱动
根据网速大概20分钟,别着急,注意路径(装好win7后要安装此驱动,可以下到U盘上);
2.如果您使用的苹果电脑有光驱,请把安装盘插入光驱内;
如果电脑没有光驱,请将USB外置光驱连接电脑,插入安装盘;
3.选第三项,安装win7或者更高版本,下一步;
4.划分win7系统和mac系统空间大小,可以均等分割,也可以根据自己的使用习惯分;
5.点击安装,系统会分区,然后系统会自动重启,进入win7安装界面
步骤三:
选择自定义——选择分区BOOTCAMP。——驱动器选项 高级——格式化——确定
然后就开始装系统了,大概需要30分钟,之间会重启多次,然后就进入系统了,win7就装好了
5. 苹果笔记本怎么安装windows系统
装双系统
1、首先在MAC系统里的“实用工具”中找到“Boot Camp 助理”程序图标,打开之后按照提示,在原mac分区中划分出一块空间创建windows分区,瓜分出来的分区只能用来装系统,即是说安装之后的windows只有一个C分区。分区大小根据自己的需要而定,一般来说,选择apple的产品,windows应该不需要经常利用的。
2、分区完之后Boot Camp助理会出现提示,插入XP或vista、win7的系统安装光盘。塞进光盘之后看见桌面会有光盘图标,说明系统已经认出了安装光盘(不能用ghost),之后重启,Boot Camp助理有重启选项。
3、重新启动后,macbook会自动进入windows安装界面,和PC安装系统没什么区别,唯一区别在于分区的地方。这个地方不出意外应该是显示出4个分区,一个是你的mac分区,一个是已经划分出来得Boot Camp也就是未来的windows分区,还有一个200M左右的小的未划分区域,注意这个千万不要删除或格式化,剩下的还有一个8M左右的未划分区域,在安装xp的时候也经常会出现这个情况,一般是系统的保留分区,不用管它。
4、选中分出来的Boot Camp分区直接格式化,不要删除。选择NTFS格式,兼容性更好。格式化完之后直接安装。
5、完全安装好windows之后,进入桌面后不要插任何u *** 设备,包括鼠标,键盘等外设将mac os系统恢复光盘放入光驱,安装从盘中读出来的Boot Camp软件,里面有mac book air设备的windows驱动软件,安装结束后重启。等到重启完后就可以使用了。
不建议换 苹果买的就是系统 装了Windows苹果还有什么意义呢
6. 如何在苹果电脑上安装windows系统
方法:
首先,在苹果的mac系统上安装Parallels Desktop For mac虚拟机软件,启动后点击最顶部的“文件”,再选择“新建”:
然后再选择“从DVD或镜像文件安装”,再点击“继续”按钮:
接下来我们选择“选择一个映像文件”,并击“继续”按钮:
接下来我们再选择windows的ISO镜像文件:
在PD的安装界面下识别了ISO文件后,再点击“继续”按钮:
后面是一个算比较关键的步骤了,建议选择“如同PC”,这样我们的WINDOWS操作系统就在一个虚拟窗口中了,而第一个“如同MAC”的话你可能不习惯,选择好后再点击“继续”按钮:
同样的,和其它软件一个,为这个虚拟机建立一个名称吧,其它就默认即可。再点击“继续”按钮:
接下来的安装步骤中会要求你输入密钥,点击“输入密钥”:
在新窗口中输入新的密钥并验证通过才能“启动”:
下面就和我们正常的windows安装过程一样了,只是少了分区等配置:
PD下使用windows的ISO镜像安装系统是非常快的,一会就安装成功
Q2: 激活windows系统需怎样操作?
右击以管理员方式打开激活工具,点击激活Windows即可激活。具体步骤如下:
1、首先打开计算机,在计算机内找到暴风激活工具选项并使用鼠标右键点击,然后在弹出的选项栏内找到“以管理员身份运行”选项并使用鼠标点击。
2、激活工具自动识别到win7版本,在界面内找到【一键永久激活windows和Office】选项并使用鼠标点击。
3、然后在弹出的选项栏内找到“OK”选项并使用鼠标点击。
4、重启进入系统,再次打开激活工具,点击【查看系统激活状态】如果有看到【计算机已永久激活】,说明windows7已经真正永久激活。
注意事项:
如果激活成功,则会在最后有提示,如果不成功,会出现另一个界面,提示你选择用别的方式来激活系统。
关于怎样用windows系统和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







