内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

使用windows系統(tǒng)的簡(jiǎn)單介紹

使用Windows的小技巧

禁用Windows XP十大必禁服務(wù)讓系統(tǒng)運(yùn)行更快

我們提供的服務(wù)有:成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、寧海ssl等。為超過千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的寧海網(wǎng)站制作公司

Windows的很多服務(wù)都是雙刃劍,用不好就會(huì)帶來諸多安全隱患。本文介紹了十項(xiàng)服務(wù),建議大家一定要禁用,此外還有十余個(gè)建議禁止的,供用戶參考。

Windows XP必須禁止的服務(wù)

1.NetMeeting Remote Desktop Sharing

允許受權(quán)的用戶通過NetMeeting在網(wǎng)絡(luò)上互相訪問對(duì)方。這項(xiàng)服務(wù)對(duì)大多數(shù)個(gè)人用戶并沒有多大用處,況且服務(wù)的開啟還會(huì)帶來安全問題,因?yàn)樯暇W(wǎng)時(shí)該服務(wù)會(huì)把用戶名以明文形式發(fā)送到連接它的客戶端,黑客的嗅探程序很容易就能探測(cè)到這些賬戶信息。

2.Universal Plug and Play Device Host

此服務(wù)是為通用的即插即用設(shè)備提供支持。這項(xiàng)服務(wù)存在一個(gè)安全漏洞,運(yùn)行此服務(wù)的計(jì)算機(jī)很容易受到攻擊。攻擊者只要向某個(gè)擁有多臺(tái)Windows XP系統(tǒng)的網(wǎng)絡(luò)發(fā)送一個(gè)虛假的UDP包,就可能會(huì)造成這些Windows XP主機(jī)對(duì)指定的主機(jī)進(jìn)行攻擊(DDoS)。

另外如果向該系統(tǒng)1900端口發(fā)送一個(gè)UDP包,令“Location”域的地址指向另一系統(tǒng)的chargen端口,就有可能使系統(tǒng)陷入一個(gè)死循環(huán),消耗掉系統(tǒng)的所有資源(需要安裝硬件時(shí)需手動(dòng)開啟)。

3.Messenger

俗稱信使服務(wù),電腦用戶在局域網(wǎng)內(nèi)可以利用它進(jìn)行資料交換(傳輸客戶端和服務(wù)器之間的Net Send和Alerter服務(wù)消息,此服務(wù)與Windows Messenger無關(guān)。如果服務(wù)停止,Alerter消息不會(huì)被傳輸)。

這是一個(gè)危險(xiǎn)而討厭的服務(wù),Messenger服務(wù)基本上是用在企業(yè)的網(wǎng)絡(luò)管理上,但是垃圾郵件和垃圾廣告廠商,也經(jīng)常利用該服務(wù)發(fā)布彈出式廣告,標(biāo)題為“信使服務(wù)”。而且這項(xiàng)服務(wù)有漏洞,MSBlast和Slammer病毒就是用它來進(jìn)行快速傳播的。

4.Terminal Services

允許多位用戶連接并控制一臺(tái)機(jī)器,并且在遠(yuǎn)程計(jì)算機(jī)上顯示桌面和應(yīng)用程序。如果你不使用Windows XP的遠(yuǎn)程控制功能,可以禁止它。

5.Remote Registry

使遠(yuǎn)程用戶能修改此計(jì)算機(jī)上的注冊(cè)表設(shè)置。注冊(cè)表可以說是系統(tǒng)的核心內(nèi)容,一般用戶都不建議自行更改,更何況要讓別人遠(yuǎn)程修改,所以這項(xiàng)服務(wù)是極其危險(xiǎn)的。

6.Fast User Switching Compatibility

在多用戶下為需要協(xié)助的應(yīng)用程序提供管理。Windows XP允許在一臺(tái)電腦上進(jìn)行多用戶之間的快速切換,但是這項(xiàng)功能有個(gè)漏洞,當(dāng)你點(diǎn)擊“開始→注銷→快速切換”,在傳統(tǒng)登錄方式下重復(fù)輸入一個(gè)用戶名進(jìn)行登錄時(shí),系統(tǒng)會(huì)認(rèn)為是暴力破解,而鎖定所有非管理員賬戶。

如果不經(jīng)常使用,可以禁止該服務(wù)?;蛘咴凇翱刂泼姘濉脩糍~戶→更改用戶登錄或注銷方式”中取消“使用快速用戶切換”。

7.Telnet

允許遠(yuǎn)程用戶登錄到此計(jì)算機(jī)并運(yùn)行程序,并支持多種 TCP/IP Telnet客戶,包括基于 UNIX 和 Windows 的計(jì)算機(jī)。又一個(gè)危險(xiǎn)的服務(wù),如果啟動(dòng),遠(yuǎn)程用戶就可以登錄、訪問本地的程序,甚至可以用它來修改你的ADSL Modem等的網(wǎng)絡(luò)設(shè)置。除非你是網(wǎng)絡(luò)專業(yè)人員或電腦不作為服務(wù)器使用,否則一定要禁止它。

8.Performance Logs And Alerts

收集本地或遠(yuǎn)程計(jì)算機(jī)基于預(yù)先配置的日程參數(shù)的性能數(shù)據(jù),然后將此數(shù)據(jù)寫入日志或觸發(fā)警報(bào)。為了防止被遠(yuǎn)程計(jì)算機(jī)搜索數(shù)據(jù),堅(jiān)決禁止它。

9.Remote Desktop Help Session Manager

如果此服務(wù)被終止,遠(yuǎn)程協(xié)助將不可用。

10.TCP/IP NetBIOS Helper

NetBIOS在Win 9X下就經(jīng)常有人用它來進(jìn)行攻擊,對(duì)于不需要文件和打印共享的用戶,此項(xiàng)也可以禁用。

總結(jié):以上十種服務(wù)在一般情況下是用不著的,不排除在特殊應(yīng)用中用到,所以在使用一些軟件出問題時(shí)可以啟用這些服務(wù)試試看是否是禁用服務(wù)的關(guān)系。

在windows8系統(tǒng)中添加“開始”菜單

現(xiàn)在已經(jīng)有很多網(wǎng)友已經(jīng)開始使用windows8系統(tǒng)了,但有系統(tǒng)有很多地方讓我們感覺到非常的不適應(yīng),其中windows8系統(tǒng)的開始菜單選項(xiàng)沒有了!這個(gè)是最讓人無法接受的!window7 和xp系統(tǒng)都是有開始菜單的!有很多網(wǎng)友就想知道怎么樣在window8系統(tǒng)中添加一個(gè)開始按鈕呢?我們往下看!

如果你喜歡window8界面的簡(jiǎn)單的話,可以直接在鍵盤中按組合鍵“Win +X”屏幕左下角就彈出一個(gè)菜單!這個(gè)菜單中就會(huì)出現(xiàn)一些我們常用的操作!比如運(yùn)行,控制面板,資源管理器等等,大家可以試試!

windows8系統(tǒng)增加開始按鈕的方法:

按組合鍵“Wind +X”,點(diǎn)擊“Windows 資源管理器”,再點(diǎn)擊工具欄上的“查看”選項(xiàng)卡,勾選“隱藏項(xiàng)目”,就可以看到隱藏的文件了。接著,右擊屏幕下方的任務(wù)欄,選擇“工具欄”→“新建工具欄”,在彈出窗口中選擇開始菜單(%programdata%MicrorosoftWindowsSart Meru),完成后開始按鈕就會(huì)出現(xiàn)在任務(wù)欄右側(cè),右擊任務(wù)欄取消“鎖定任務(wù)欄”就可以隨意調(diào)整開始按鈕的位置。

也許你還會(huì)喜歡:觸控電腦是什么?觸控電腦好不好?

Windows 8系統(tǒng)如何設(shè)置賬戶密碼?

1、進(jìn)入控制面板,點(diǎn)擊“用戶賬戶和家庭安全”。

2、點(diǎn)擊“用戶賬戶”。

3、點(diǎn)擊“在電腦設(shè)置中更改我的賬戶信息”。

4、先點(diǎn)擊“用戶”,再點(diǎn)擊“創(chuàng)建密碼”。

5、輸入“新密碼”、“重新輸入密碼”(“密碼提示”可不填寫),點(diǎn)擊“下一步”。

6、點(diǎn)擊“完成”,創(chuàng)建密碼完成。

任務(wù)管理器已被系統(tǒng)管理員停用恢復(fù)方法

如果你的系統(tǒng)不是家庭版的話,你可以在管理員賬戶下用組策略來解除限制:點(diǎn)擊“開始”→“運(yùn)行”輸入“gpedit.msc”打開組策略編輯器,依次展開:

本地計(jì)算機(jī)→策略→用戶配置→管理模板→系統(tǒng)→Ctrl+Alt+Del 選項(xiàng),在該列表中打開刪除“任務(wù)管理器” 的屬性,在 刪除“任務(wù)管理器” 屬性中的“設(shè)置”選項(xiàng)卡中點(diǎn)選“已禁用”或“未配置”單選項(xiàng),確定。

如果是家庭版的Windows,因?yàn)闆]有組策略,所以要用注冊(cè)表來修復(fù),定位到:

HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPolicies

在該注冊(cè)表項(xiàng)下建立名為 System 的項(xiàng)(如在Policies分支下已有System項(xiàng),則無需此步驟)。然后在 System 項(xiàng)下建立名為 DisableTaskMgr 的“字符串值”或者“DWORD值”改為0即可。

如何在雙系統(tǒng)中刪除XP

筆者經(jīng)常在一些QQ群里和網(wǎng)站論壇里有人談?wù)撝p系統(tǒng),在這里我們先不談雙系統(tǒng)的'好壞,但是當(dāng)你在使用雙系統(tǒng)發(fā)現(xiàn)效果并不好時(shí),如何刪除其中一個(gè)系統(tǒng)呢?今天,筆者以如何卸載XP和Vista雙系統(tǒng)當(dāng)中的XP系統(tǒng)為例,介紹一下。

如果是安裝的xp和Vista的雙系統(tǒng),想要在完全卸載XP,需要先處理雙系統(tǒng)的引導(dǎo)啟動(dòng)菜單,在去掉了雙系統(tǒng)共享使用的啟動(dòng)管理器之后,才能正常格式化Windows7所在的分區(qū)。具體操作如下:

首先,啟動(dòng)到Vista系統(tǒng),在電腦光驅(qū)中放入Xp的安裝光盤(若是下載的ISO鏡象文件,可以用虛擬光驅(qū)Deamontools讀取并加載Xp的光盤鏡像到虛擬光驅(qū)中。)

其次,按“Win+R”鍵調(diào)出運(yùn)行窗口輸入“cmd”并運(yùn)行,打開命令行提示符窗口后依次輸入: X: cd boot bootsect /nt60 SYS 其中,“X”代表你的光驅(qū)盤符。

完成后重新啟動(dòng),Vista 的啟動(dòng)管理器就消失了。

再次,彈出XP安裝光盤,再重啟計(jì)算機(jī),我們就可以發(fā)現(xiàn)雙系統(tǒng)的啟動(dòng)菜單XP系統(tǒng)啟動(dòng)項(xiàng)和消失了,直接進(jìn)入Vista系統(tǒng),這表明雙系統(tǒng)引導(dǎo)啟動(dòng)菜單已經(jīng)刪除完成。

最后,在重啟后的Vista系統(tǒng)中,現(xiàn)在可以手動(dòng)刪除XP文件和文件夾了,如程序文件,用戶和Windows文件夾。如果沒有其它重要文件,直接格式化XP所在的分區(qū)。

這樣就在Vista下將XP卸載得干干凈凈了。

系統(tǒng)時(shí)間無法修改怎么辦

系統(tǒng)時(shí)間無法修改的原因:

1、主板電池(cmos)沒電。

2、有病毒(此類病毒修改時(shí)間的目的是讓殺毒軟件用不了,或者導(dǎo)致某些軟件運(yùn)行不正常,比如證券炒股軟件)。

3、你沒有修改時(shí)間的權(quán)限。

1、如何判斷是否cmos電池沒電。啟動(dòng)后進(jìn)入bios,修改時(shí)間,保存退出,關(guān)掉電腦重啟,再進(jìn)入cmos查看,如果時(shí)間是按照修改之后運(yùn)行的,就說明電池OK。否則就需要更換電池,如果更換了好電池之后還是不行,那可能是主板出問題了。

2、如何判斷是病毒。

(由于vista用戶,需要關(guān)掉uac才能使用本站的校對(duì)控件。所以這里開始提到的時(shí)間修改,一律用手工設(shè)置時(shí)間的方法)

有的電腦在windows下時(shí)間可以修改,但是修改之后又很快跳到一個(gè)錯(cuò)誤的時(shí)間,這種情況是病毒。

如果時(shí)間可以修改,但重新啟動(dòng)之后時(shí)間就不對(duì)。那么可以在時(shí)間修改之后,啟動(dòng)電腦,進(jìn)入bios看,如果這時(shí)候時(shí)間就錯(cuò)了,說明是主板電池沒電了,如果這時(shí)候時(shí)間是對(duì)的,進(jìn)入windows之后時(shí)間就錯(cuò)了,說明是病毒。

如果時(shí)間無法更改,比如本站的對(duì)時(shí)控件無法發(fā)揮作用,則可能是病毒也可能是沒有權(quán)限。所以需要判斷你當(dāng)前登錄的用戶有沒有修改時(shí)間的權(quán)限。

3、檢查時(shí)間修改權(quán)限:

先搞清楚你的windows用戶名,如果不知道則按下ctrl+alt+del三個(gè)鍵查看。

1.點(diǎn)擊開始--運(yùn)行 輸入secpol.msc,點(diǎn)確定。(或者“控制面板→管理工具→本地安全策略”)

2.接著會(huì)出現(xiàn)“本地安全策略”的管理對(duì)話框,在左邊的樹形框內(nèi)點(diǎn)--本地策略--用戶權(quán)利指派

3.在右邊的列表中找到并雙擊“更改系統(tǒng)時(shí)間”,彈出一個(gè)窗口。

(如果操作無法完成,說明你沒有管理權(quán)限,用administrator重新登錄)

里面列出了有權(quán)限的用戶列表,如果發(fā)現(xiàn)沒有你的用戶名,則說明你原先沒有權(quán)限。

如果已經(jīng)有你的用戶名,說明你有權(quán)限,但是如果時(shí)間還是無法修改,說明是病毒。

好了,如果是屬于沒有權(quán)限的情況,則增加權(quán)限后再修改時(shí)間。如果判斷是病毒,而當(dāng)前又無有效殺毒方法,則建議取消所有用戶的時(shí)間修改權(quán)限,然后按照以下的操作!

windows xp:

取消權(quán)限:從列表中選擇用戶,點(diǎn)刪除,再點(diǎn)確定

增加權(quán)限:點(diǎn)擊“添加用戶或組”,再點(diǎn)高級(jí),從列表中選擇用戶,確定選擇,再點(diǎn)確定關(guān)閉。

Windows系統(tǒng)問題及使用技巧

篇一:Win Server 2003系統(tǒng)問答集錦

1、如何打開 DirectX 的 DirectX3D 硬件加速:

答:打開桌面屬性,設(shè)置 - 高級(jí) - 疑難問答 - 硬件加速 - 完全 - 應(yīng)用。運(yùn)行 dxdiag.exe,打開顯示選項(xiàng)卡,可看到 3 項(xiàng)全部啟用了。最后,利用Windows updates在Windows Server 2003中安裝DirectX 9.0a。

2、如何啟用聲卡:

答:系統(tǒng)安裝后,聲卡是禁止?fàn)顟B(tài),所以要在控制面板 - 聲音 - 啟用,重啟之后再設(shè)置它在任務(wù)欄顯示。

現(xiàn)在我們還要啟用音頻加速。在運(yùn)行中輸Services.msc然后按回車,會(huì)出現(xiàn)Services 窗口,找到Windows Audio服務(wù),雙擊打開,把啟動(dòng)類型設(shè)置為自動(dòng),點(diǎn)擊應(yīng)用,然后點(diǎn)擊啟動(dòng),啟動(dòng)該服務(wù)。

最后我們還要使用DirectX診斷工具,在運(yùn)行中輸入dxdiag并回車,打開聲音選項(xiàng)卡,把硬件的聲音加速級(jí)別的滑塊拖動(dòng)到完全加速。

3、如何啟用 ASP 支持:

答:Windows Server 2003 默認(rèn)安裝,是不安裝 IIS 6 的,需要另外安裝。安裝完 IIS 6,還需要單獨(dú)開啟對(duì)于 ASP 的支持。方法是:

控制面板 - 管理工具 - Web服務(wù)擴(kuò)展 - Active Server Pages - 允許。

4、如何啟用 XP 的主題:

答:首先我們需要回到服務(wù)設(shè)置對(duì)話框啟用Themes服務(wù),在運(yùn)行中輸入Services.msc并按回車,找到并雙擊Themes這個(gè)服務(wù),設(shè)置啟動(dòng)類型為自動(dòng),點(diǎn)擊應(yīng)用,然后點(diǎn)擊啟動(dòng)打開這個(gè)服務(wù)。

5、禁止關(guān)機(jī)時(shí)出現(xiàn)的關(guān)機(jī)理由選擇項(xiàng):

答:開始 - 運(yùn)行 - gpedit.msc - 計(jì)算機(jī)配置 - 管理模板 - 系統(tǒng) - 顯示關(guān)機(jī)事件跟蹤 - 禁用。

6、如何啟用攝像機(jī),攝像頭或者掃描儀等設(shè)備:

答:在運(yùn)行中輸入Services.msc并回車,找到并雙擊Windows Image Acquisition (WIA) 服務(wù),設(shè)置啟動(dòng)類型為自動(dòng)點(diǎn)擊應(yīng)用后點(diǎn)擊啟動(dòng),然后點(diǎn)擊確定。

7、如何禁用開機(jī) CTRL+ALT+DEL:

答:管理工具 - 本地安全策略 - 本地策略 - 安全選項(xiàng) - 交互式登錄:不需要按CTRL+ALT+DEL - 已啟用。

慎用!搞不好會(huì)進(jìn)不去系統(tǒng)。

注意:為系統(tǒng)安全起見,一開始設(shè)置時(shí)管理員的密碼就不要留空。

篇二:Windows 2003 使用技巧 薈萃

秘笈、寶典之類的dd通常只在武俠小說里露面,故事里的主角往往無意間練得絕世武功從此揚(yáng)名立萬。如今,想熟練使用軟、硬件產(chǎn)品,多看大家整理出的.使用技巧絕對(duì)是一條有效的捷徑。在這之中,尤其又以windows操作系統(tǒng)的技巧類文章出現(xiàn)次數(shù)最為頻繁。

去年5月22日,微軟發(fā)布最新的windows server 2003(以下簡(jiǎn)稱Windows 2003)操作系統(tǒng)。不少玩家朋友已經(jīng)體驗(yàn)到了它無窮魅力,作為Windows XP的服務(wù)器版本,windows 2003以其.net的全新架構(gòu)、更高的集成度、豐富的功能以及易用性成為新一代服務(wù)器操作系統(tǒng)。而對(duì)于個(gè)人玩家而言,優(yōu)秀的穩(wěn)定性和出色的多媒體性能,同樣也是學(xué)習(xí)兼娛樂的最佳選擇。我們?cè)诰W(wǎng)上搜集了部分關(guān)于windows 2003的優(yōu)化方法。不敢獨(dú)享,希望能夠?qū)φ谑褂玫呐笥褌冇兴鶐椭4蠹乙部梢栽谖恼略u(píng)論里相互探討,共同來玩轉(zhuǎn)windows 2003。

幾種取消Windows 2003關(guān)機(jī)提示的方法

1、編輯組策略

打開“開始-“運(yùn)行,在“打開一欄中輸入“gpedit.msc命令打開組策略編輯器,依次展開“計(jì)算機(jī)配置→“管理模板→“系統(tǒng),雙擊右側(cè)窗口出現(xiàn)的“顯示‘關(guān)閉事件跟蹤程序’,將“未配置改為“已禁用即可。

2、修改注冊(cè)表

打開“開始→“運(yùn)行,在“運(yùn)行一欄中輸入“Regedit命令打開注冊(cè)表編輯器,依次打開HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT,新建一個(gè)項(xiàng),將其取名為“Reliability,而后在右側(cè)窗口中再新建一個(gè)DWORD值,取名為“ShutdownReasonOn,將它的值設(shè)為0就可以了。

3、電源巧設(shè)置

進(jìn)行電源設(shè)置最為簡(jiǎn)便,只要依次打開“開始“控制面板“電源選項(xiàng),在出現(xiàn)“電腦選項(xiàng)屬性點(diǎn)選“高級(jí)選項(xiàng)卡,將“在按下計(jì)算機(jī)電源按鈕時(shí)設(shè)置為“關(guān)機(jī),然后按“確定完成。當(dāng)您需要關(guān)機(jī)時(shí),只要直接撳下電腦主機(jī)上的電源開關(guān)或鍵盤上的Power鍵(需主板支持)就可直接完成關(guān)機(jī)動(dòng)作了。

Windows 操作系統(tǒng)的使用

Windows 操作系統(tǒng)的使用

Windows 規(guī)定了這個(gè)限制條件,目的是為了確保內(nèi)核對(duì)象結(jié)構(gòu)保持狀態(tài)的一致。下面是關(guān)于Windows 操作系統(tǒng)的使用,希望大家認(rèn)真閱讀!

1,進(jìn)程虛擬地址空間

在windows操作系統(tǒng)中,每個(gè)進(jìn)程都有自己的私有地址空間,因此一個(gè)進(jìn)程的線程只能訪問屬于這個(gè)進(jìn)程的內(nèi)存空間,即進(jìn)程之間是地址隔離的。在windows2000中,進(jìn)程虛擬地址空間可分為如下四個(gè)部分:

1)NULL 區(qū) (0x00000000~0x0000FFFF): 如果進(jìn)程中的一個(gè)線程試圖操作這個(gè)分區(qū)中的數(shù)據(jù),CPU就會(huì)引發(fā)非法訪問。他的作用是,調(diào)用malloc等內(nèi)存分配函數(shù)時(shí),如果無法找到足夠的內(nèi)存空間,它將返回NULL。而不進(jìn)行安全性檢查。它只是假設(shè)地址分配成功,并開始訪問內(nèi)存地址0x00000000(NULL)。由于禁止訪問內(nèi)存的這個(gè)分區(qū),因此會(huì)發(fā)生非法訪問現(xiàn)象,并終止這個(gè)進(jìn)程的運(yùn)行。

2)用戶模式分區(qū) ( 0x00010000~0xBFFEFFFF):這個(gè)分區(qū)中存放進(jìn)程的私有地址空間。一個(gè)進(jìn)程無法以任何方式訪問另外一個(gè)進(jìn)程駐留在這個(gè)分區(qū)中的數(shù)據(jù)(相同exe,通過copy-on-write來完成地址隔離)。(在windows中,所有.exe和動(dòng)態(tài)鏈接庫(kù)都載入到這一區(qū)域。系統(tǒng)同時(shí)會(huì)把該進(jìn)程可以訪問的所有內(nèi)存映射文件映射到這一分區(qū))。

2)隔離區(qū) (0xBFFF0000~0xBFFFFFFF):這個(gè)分區(qū)禁止進(jìn)入。任何試圖訪問這個(gè)內(nèi)存分區(qū)的操作都是違規(guī)的。微軟保留這塊分區(qū)的目的是為了簡(jiǎn)化操作系統(tǒng)的現(xiàn)實(shí)。

3)內(nèi)核區(qū) (0xC0000000~0xFFFFFFFF):這個(gè)分區(qū)存放操作系統(tǒng)駐留的代碼。線程調(diào)度、內(nèi)存管理、文件系統(tǒng)支持、網(wǎng)絡(luò)支持和所有設(shè)備驅(qū)動(dòng)程序代碼都在這個(gè)分區(qū)加載。這個(gè)分區(qū)被所有進(jìn)程共享。

一、在這一節(jié),我們?cè)敿?xì)討論一下用戶模式分區(qū),用戶模式分區(qū)從地地址到高地址依次為:

1)代碼段,存放函數(shù)體的二進(jìn)制代碼。

2)靜態(tài)數(shù)據(jù)區(qū)(分為以初始化數(shù)據(jù)段和未初始化數(shù)據(jù)段)全局變量和靜態(tài)變量的存儲(chǔ)是放在一塊的,初始化的全局變量和靜態(tài)變量在一塊區(qū)域, 未初始化的全局變量和未初始化的靜態(tài)變量在相鄰的另一塊區(qū)域。程序結(jié)束后由系統(tǒng)釋放 。

3)堆,一般由程序員分配釋放, 若程序員不釋放,程序結(jié)束時(shí)可能由OS回收 。注意它與數(shù)據(jù)結(jié)構(gòu)中的堆是兩回事,分配方式倒是類似于鏈表。

......(未映射部分)(這個(gè)部分包含各種導(dǎo)入的dll等)

4)棧, 由編譯器自動(dòng)分配釋放 ,存放函數(shù)的參數(shù)值,局部變量的值等。其操作方式類似于數(shù)據(jù)結(jié)構(gòu)中的棧。

二、下面詳細(xì)介紹exe導(dǎo)入到執(zhí)行的全過程,以及地址空間的加載。

1)系統(tǒng)找到在調(diào)用CreateProcess時(shí)指定的exe文件。

2)系統(tǒng)創(chuàng)建一個(gè)新進(jìn)程的內(nèi)核對(duì)象。

3)系統(tǒng)為這個(gè)新進(jìn)程創(chuàng)建一個(gè)私有的地址空間。

4)系統(tǒng)保留一個(gè)足夠大的地址空間區(qū)域,用來存放exe文件。這個(gè)區(qū)域的位置在exe文件中設(shè)定。默認(rèn)情況下,exe文件的基地址是0x0400000. (1.編譯器處理每個(gè)源代碼模塊,生成obj文件。2.鏈接程序?qū)⑺衞bj模塊的內(nèi)容組合在一起,生成一個(gè)單獨(dú)的可執(zhí)行映射文件即exe,該映射文件包含用于可執(zhí)行模塊的所有二進(jìn)制代碼以及全局/靜態(tài)數(shù)據(jù)變量,同時(shí)也包含一個(gè)導(dǎo)入部分,列出了該可執(zhí)行模塊所需要的所有dll模塊的名字,對(duì)于每個(gè)列出的 dll名,該導(dǎo)入部分指明了那些函數(shù)和變量符號(hào)是被可執(zhí)行的二進(jìn)制代碼所引用的)

5)在將exe文件映射到進(jìn)程的地址空間之后,系統(tǒng)會(huì)訪問exe 文件中的一個(gè)段(這個(gè)段列出了一些DLL文件),并列出exe文件代碼中調(diào)用函數(shù)dll文件的部分。然后,系統(tǒng)為每個(gè)dll文件調(diào)用loadlibrary函數(shù),如果某個(gè)dll文件需要調(diào)用更多的 dll,那么系統(tǒng)會(huì)再次調(diào)用loadlibrary函數(shù),來加載這個(gè)dll。系統(tǒng)保留一個(gè)足夠大的地址空間區(qū)域,用來存放這個(gè)dll文件。默認(rèn)情況下,微軟創(chuàng)建dll文件基地址0x10000000。 windows提供的所有標(biāo)準(zhǔn)系統(tǒng)dll都有不同的基地址,這樣,即使加載到單個(gè)地址空間,他們之間也不會(huì)重疊。(1.編譯器處理每個(gè)源代碼模塊,生成一個(gè)obj模塊。2.鏈接程序?qū)⑺衞bj模塊的內(nèi)容組合在一起,生成一個(gè)單獨(dú)的dll映像文件,該映像文件包含用于dll的所有二進(jìn)制代碼以及全局/靜態(tài)數(shù)據(jù)變量。3.如果鏈接程序檢查到dll的源代碼模塊至少導(dǎo)出了一個(gè)函數(shù)或變量,則鏈接程序同時(shí)生成一個(gè)單獨(dú)的lib文件,這個(gè)lib文件很小,只是簡(jiǎn)單地列出了所有被導(dǎo)出的函數(shù)和變量的符號(hào)名)

6)當(dāng)把所有的exe文件和dll文件都映射到進(jìn)程的地址空間之后,系統(tǒng)就會(huì)創(chuàng)建一個(gè)線程內(nèi)核對(duì)象,并使用該線程以DLL_PROCESS_ATTACH為參數(shù)來調(diào)用每個(gè)DLL的DllMain函數(shù),當(dāng)所有映射的DLL都對(duì)此通知做出相應(yīng)后,系統(tǒng)將驅(qū)使主線程開始執(zhí)行exe文件的啟動(dòng)代碼(winmainCRTStartup 函數(shù)),這個(gè)函數(shù)負(fù)責(zé)對(duì)c/c++運(yùn)行時(shí)庫(kù)進(jìn)行初始化和調(diào)用函數(shù)入口函數(shù)(main 或 winmain)。

下面強(qiáng)調(diào)一些dll和lib的加載區(qū)別:

dll允許可執(zhí)行模塊(.dll文件或.exe文件)僅包含在運(yùn)行時(shí)定位DLL函數(shù)的可執(zhí)行代碼所需的信息(即將dll附帶的lib加載到可執(zhí)行模塊中)。

對(duì)于lib文件,鏈接器從靜態(tài)鏈接庫(kù)LIB獲取所有被引用函數(shù),并將庫(kù)同代碼一起放到可執(zhí)行文件中。

三、堆和棧的理論知識(shí)

3.1申請(qǐng)方式

stack: 由系統(tǒng)自動(dòng)分配。 例如,聲明在函數(shù)中一個(gè)局部變量 int b; 系統(tǒng)自動(dòng)在棧中為b開辟空間

heap: 需要程序員自己申請(qǐng),并指明大小,在c中malloc函數(shù) ,在C++中用new運(yùn)算符 。

3.2 申請(qǐng)后系統(tǒng)的響應(yīng)

棧:只要棧的剩余空間大于所申請(qǐng)空間,系統(tǒng)將為程序提供內(nèi)存,否則將報(bào)異常提示棧溢出。

堆:首先應(yīng)該知道操作系統(tǒng)有一個(gè)記錄空閑內(nèi)存地址的鏈表,當(dāng)系統(tǒng)收到程序的申請(qǐng)時(shí),

會(huì)遍歷該鏈表,尋找第一個(gè)空間大于所申請(qǐng)空間的堆結(jié)點(diǎn),然后將該結(jié)點(diǎn)從空閑結(jié)點(diǎn)鏈表中刪除,并將該結(jié)點(diǎn)的'空間分配給程序,另外,對(duì)于大多數(shù)系統(tǒng),會(huì)在這塊內(nèi)存空間中的首地址處記錄本次分配的大小,這樣,代碼中的delete語句才能正確的釋放本內(nèi)存空間。另外,由于找到的堆結(jié)點(diǎn)的大小不一定正好等于申請(qǐng)的大小,系統(tǒng)會(huì)自動(dòng)的將多余的那部分重新放入空閑鏈表中。

3.3申請(qǐng)大小的限制

棧:在Windows下,棧是向低地址擴(kuò)展的數(shù)據(jù)結(jié)構(gòu),是一塊連續(xù)的內(nèi)存的區(qū)域。這句話的意思是棧頂?shù)牡刂泛蜅5淖畲笕萘渴窍到y(tǒng)預(yù)先規(guī)定好的,在WINDOWS下,棧的大小是2M(也有的說是1M,總之是一個(gè)編譯時(shí)就確定的常數(shù)),如果申請(qǐng)的空間超過棧的剩余空間時(shí),將提示overflow。因此,能從棧獲得的空間較小。

堆:堆是向高地址擴(kuò)展的數(shù)據(jù)結(jié)構(gòu),是不連續(xù)的內(nèi)存區(qū)域。這是由于系統(tǒng)是用鏈表來存儲(chǔ)的空閑內(nèi)存地址的,自然是不連續(xù)的,而鏈表的遍歷方向是由低地址向高地址。堆的大小受限于計(jì)算機(jī)系統(tǒng)中有效的虛擬內(nèi)存。由此可見,堆獲得的空間比較靈活,也比較大。

3.4申請(qǐng)效率的比較:

棧由系統(tǒng)自動(dòng)分配,速度較快。但程序員是無法控制的。

堆是由new分配的內(nèi)存,一般速度比較慢,而且容易產(chǎn)生內(nèi)存碎片,不過用起來最方便.

另外,在WINDOWS下,最好的方式是用VirtualAlloc分配內(nèi)存,他不是在堆,也不是在棧是直接在進(jìn)程的地址空間中保留一快內(nèi)存,雖然用起來最不方便。但是速度快,也最靈活。

3.5堆和棧中的存儲(chǔ)內(nèi)容

棧: 在函數(shù)調(diào)用時(shí),第一個(gè)進(jìn)棧的是主函數(shù)中后的下一條指令(函數(shù)調(diào)用語句的下一條可執(zhí)行語句)的地址,然后是函數(shù)的各個(gè)參數(shù),在大多數(shù)的C編譯器中,參數(shù)是由右往左入棧的,然后是函數(shù)中的局部變量。注意靜態(tài)變量是不入棧的。

當(dāng)本次函數(shù)調(diào)用結(jié)束后,局部變量先出棧,然后是參數(shù),最后棧頂指針指向最開始存的地址,也就是主函數(shù)中的下一條指令,程序由該點(diǎn)繼續(xù)運(yùn)行。

堆:一般是在堆的頭部用一個(gè)字節(jié)存放堆的大小。堆中的具體內(nèi)容有程序員安排。

3.6 “棧(stack)”和“堆(heap)”是兩種不同的動(dòng)態(tài)數(shù)據(jù)區(qū),棧是一種先進(jìn)后出的線性結(jié)構(gòu),棧頂?shù)刂房偸切∮诘扔跅5幕刂?。堆是一種鏈?zhǔn)浇Y(jié)構(gòu)。進(jìn)程的每個(gè)線程都有私有的“?!?,所以每個(gè)線程雖然代碼一樣,但本地變量的數(shù)據(jù)都是互不干擾。一個(gè)堆??梢酝ㄟ^“基地址”和“棧頂”地址來描述。全局變量和靜態(tài)變量分配在靜態(tài)數(shù)據(jù)區(qū),本地變量分配在動(dòng)態(tài)數(shù)據(jù)區(qū),即堆棧中。程序通過堆棧的基地址和偏移量來訪問本地變量。

四、下面說明一下啊函數(shù)的調(diào)用堆棧變換,來更好的理解堆棧的原理。(VS2005測(cè)試)

壓棧的順序是從高地址向低地址方向。

1)參數(shù)以從右到左的次序壓入堆棧。

2)壓入EBP的值(書上分析這個(gè)位置插入一個(gè)函數(shù)返回指令地址,但分析時(shí)沒有發(fā)現(xiàn)因?yàn)殚g隔只有4個(gè)字節(jié))

3)壓入局部變量

4)返回值放入EAX寄存器中。因?yàn)閣in32匯編一般用eax返回結(jié)果 所以如果最終結(jié)果不是在eax里面的話 還要把它放到eax。所以返回值的釋放過程在參數(shù)之后進(jìn)行。

;

分享標(biāo)題:使用windows系統(tǒng)的簡(jiǎn)單介紹
網(wǎng)站網(wǎng)址:http://www.rwnh.cn/article26/hhggcg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、網(wǎng)站營(yíng)銷、用戶體驗(yàn)全網(wǎng)營(yíng)銷推廣、電子商務(wù)、定制網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)
淮滨县| 宁河县| 宣恩县| 岫岩| 通州市| 潮州市| 丁青县| 海安县| 岗巴县| 高平市| 句容市| 镇宁| 平顺县| 金溪县| 射阳县| 广安市| 宜城市| 碌曲县| 麟游县| 桃源县| 巴南区| 平利县| 含山县| 洪洞县| 太湖县| 临澧县| 卢龙县| 仪陇县| 遵义县| 迁西县| 泰宁县| 龙井市| 宜春市| 安丘市| 博野县| 扎兰屯市| 广南县| 台东市| 望奎县| 瑞金市| 潼关县|