當前位置:首頁 » 文件傳輸 » ftp死鎖
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

ftp死鎖

發布時間: 2023-02-06 20:53:04

❶ apache commnet ftp的ftpclient類的setsotimeout和setdatatimeout有什麼區別

1. org.apache.commons.net.ftp.FTPClient.setDataTimeout(int)


Sets the timeout in milliseconds to use when reading from the data connection.


設置讀取數據傳輸超時時間


❷ 有全國計算機四級考試么,非計算機專業的可以考么,都什麼內容啊,很難么


不過官方只有考試大綱,沒有具體可參考的書
以下是大綱

基本要求

1.具有計算機及其應用的基礎知識。
2.熟悉計算機操作系統,軟體工程和資料庫的原理及其應用。
3.熟悉計算機體系結構、系統組成和性能評價的基礎和應用知識。
4.具有計算機網路和通信的基礎知識。
5.具有計算機應用項目開發的分析設計和組織實施的基本能力。
6.具有計算機應用系統安全性和保密性知識。

考試內容

一、計算機系統組成及工作原理

1. 基本概念:

⑴ 計算機系統的硬體組成。
⑵ 計算機系統的層次結構。
⑶ 計算機的主要性能指標。

2.運算方法基礎與運算器:

⑴ 數值數據在計算機中的表示。
⑵ 非數值數據在計算機中的表示。
⑶ 數據校驗碼。
⑷ 基本的算術運算。
⑸ 基本的邏輯運算。
⑹ 運算器的組成。

3.指令系統及控制器:

⑴ 指令格式和指令的定址方式。
⑵ 指令類型。
⑶ 控制器的組成。
⑷ CPU的總體結構。
⑸ 中斷系統。

4.存儲系統

⑴ 存儲系統原理。
⑵ 半導體隨機存儲器和只讀存儲器。
⑶ 主存儲器的組成與讀寫操作。
⑷ 外存儲器的工作原理。

5.輸入/輸出設備與輸入/輸出系統:

⑴ 常用輸入/輸出設備。。
⑵ 程序查詢方式。
⑶ 程序中斷方式。
⑷ DMA方式。
⑸ 通道方式。
⑹ 典型匯流排。

二、數據結構與演算法

1.基本概念:

⑴ 數據結構的基本概念。
⑵ 演算法的定義、性質、描述與演算法分析。

2.線性表:

⑴ 線性表的基本概念。
⑵ 線性表的順序存儲結構。
⑶ 線性表的鏈式存儲結構(單鏈表、循環鏈表、雙向鏈表。

3.數組:

⑴ 數組的基本概念(定義,基本操作)。
⑵ 數組的存儲方法。
⑶ 特殊矩陣的壓縮存儲。

4.堆棧與隊列:

⑴ 堆棧的基本概念與操作。
⑵ 堆棧的順序存儲結構。
⑶ 堆棧的鏈式存儲結構。
⑷ 隊列的基本概念與操作。
⑸ 隊列的順序存儲結構。
⑹ 隊列的鏈式存儲結構。

5.樹和二叉樹:

⑴ 樹的基本概念(定義,名詞術語)和存儲方法。
⑵ 二叉樹的基本概念及性質。
⑶ 二叉樹順序存儲結構與鏈式存儲結構。
⑷ 二叉樹的遍歷(前序遍歷,中序遍歷,後序遍歷,按層次遍歷)。
⑸ 線索二叉樹。
⑹ 二叉排序樹(建立與查找)。

6.圖:

⑴ 圖的基本概念(定義,分類,名詞術語)。
⑵ 圖的存儲方法(鄰接矩陣存儲方法,鄰接表存儲方法)。
⑶ 圖的遍歷(深度優先搜索,廣度優先搜索)。
⑷ 最小生成樹。
⑸ 最短路徑問題。
⑹ 拓撲排序。

7.文件及其查找:

⑴ 數據文件的基本概念。
⑵ 順序文件及其查找方法(順序查找方法,折半查找方法)。
⑶ 索引文件及其查找方法。
⑷ 散列文件及其查找方法。

8.內排序:

⑴ 排序的基本概念(定義,功能,分類)。
⑵ 插入排序方法。
⑶ 選擇排序方法。
⑷ 起泡排序方法。
⑸ 希爾排序方法。
⑹ 快速排序方法。
⑺ 堆排序方法。
⑻ 二路歸並排序方法。

三、離散數學

1.數理邏輯:

⑴ 命題、聯結詞及其命題符號化。
⑵ 命題公式及其分類。
⑶ 命題邏輯等值演算。
⑷ 析取範式與合取範式。
⑸ 命題邏輯推理理論。
⑹ 謂詞與量詞。
⑺ 謂詞公式與解釋。
⑻ 謂詞公式的分類。
⑼ 謂詞邏輯等值演算與前束範式。
⑽ 謂詞邏輯推理理論。

2.集合論:

⑴ 集合基本概念。
⑵ 集合的運算。
⑶ 基本的集合恆等式。
⑷ 有序對與卡氏積。
⑸ 二元關系。
⑹ 關系的逆、限制及象。
⑺ 關系的性質。
⑻ 關系的閉包。
⑼ 關系的復合。
⑽ 等價關系與劃分。
⑾ 偏序關系與哈斯圖。
⑿ 函數及其性質。
⒀ 復合函數與反函數。
⒁ 自然數與自然數集合。
⒂ 集合之間的等勢與優勢。
⒃ 集合的基數。

3.代數結構:

⑴ 代數運算及其性質。
⑵ 代數系統。
⑶ 代數系統的同態與同構。
⑷ 半群與群。
⑸ 子群與陪群。
⑹ 正規子群與商群。
⑺ 循環群與置換群。
⑻ 環與域。
⑼ 格與布爾代數。

4.圖論:

⑴ 無向圖與有向圖。
⑵ 路、迴路與圖的連通性。
⑶ 圖的矩陣表示。
⑷ 二部圖與完全二部圖。
⑸ 歐拉圖與哈密爾頓圖。
⑹ 平面圖。
⑺ 無向樹及其性質。
⑻ 生成樹。
⑼ 根樹及其應用。

四、操作系統

1.操作系統基本概念:

⑴ 操作系統的功能。
⑵ 操作系統的基本類型。
⑶ 操作系統的介面。

2.進程管理:

⑴ 進程、線程與進程管理。
⑵ 進程式控制制。
⑶ 進程調度。
⑷ 進程通信。
⑸ 死鎖。

3.作業管理:

⑴ 作業與作業管理。
⑵ 作業狀態與調度。

4.存儲管理:

⑴ 存儲與存儲管理。
⑵ 虛擬存儲原理。
⑶ 頁式存儲。
⑷ 段式存儲。
⑸ 段頁式存儲。
⑹ 局部性原理與工作集概念。

5.文件管理:

⑴ 文件與文件管理。
⑵ 文件的分類。
⑶ 文件結構與存取方式。
⑷ 文件目錄結構。
⑸ 文件存儲管理。
⑹ 文件存取控制。
⑺ 文件的使用。

6.設備管理:

⑴ 設備與設備分類。
⑵ 輸入輸出控制方式。
⑶ 通道技術。
⑷ 緩沖技術。
⑸ 設備分配技術與SPOOLing系統。
⑹ 磁碟調度。

7.典型操作系統的使用:

⑴ UNIX的特點與使用。
⑵ Linux的特點與使用。
⑶ Windows的特點與使用。

五、軟體工程

1.軟體工程基本概念:

⑴ 軟體與軟體危機。
⑵ 軟體工程定義。
⑶ 軟體生命周期。
⑷ 軟體過程模型。

2.結構化分析與設計:

⑴ 問題定義與可行性研究。
⑵ 軟體需求分析。
⑶ 數據流程圖與數據字典。
⑷ 軟體體系結構設計。
⑸ 概要設計與詳細設計。
⑹ 模塊結構設計與數據結構設計。
⑺ 用戶界面設計。

3.原型化開發方法:

⑴ 原型化開發的基本原理。
⑵ 原型化開發模型。
⑶ 原型化開發過程。
⑷ 軟體復用。

4.面向對象分析與設計:

⑴ 面向對象的基本概念。
⑵ 面向對象分析。
⑶ 面向對象設計。
⑷ 統一建模語言(UML)。

5.軟體測試:

⑴ 軟體測試的基本概念。
⑵ 軟體測試方法。
⑶ 測試用例設計。
⑷ 軟體測試過程。

6.軟體維護:

⑴ 軟體維護的基本概念。
⑵ 軟體維護活動。
⑶ 軟體可維護性。
⑷ 軟體維護的負作用。

7.軟體開發工具與環境:

⑴ 軟體開發工具。
⑵ 軟體工程環境。


8.軟體質量保證與軟體質量度量:

⑴ 軟體質量概念。
⑵ 軟體質量保證。
⑶ 軟體質量度量與評價。
⑷ 軟體技術的評審。
⑸ 軟體可靠性。

8.軟體管理:

⑴ 軟體管理職能。
⑵ 軟體項目組織與計劃。
⑶ 風險分析。
⑷ 項目進度與跟蹤。
⑸ 軟體配置管理。
⑹ 軟體過程成熟度模型(CMM)。
⑺ 軟體工程標准化與軟體文檔。
⑻ 軟體產權保護。

六、資料庫

1.資料庫基本概念:

⑴ 信息處理與資料庫。
⑵ 數據模型。
⑶ 資料庫系統結構。
⑷ 資料庫系統組成。

2.關系資料庫:

⑴ 關系資料庫的基本概念。
⑵ 關系數據模型。
⑶ 關系的完整性。
⑷ 關系代數。
⑸ 元組關系演算
⑹ 域關系演算。

3.關系資料庫標准語言SQL:

⑴ SQL語言的特點。
⑵ SQL語言的基本概念。
⑶ 數據定義。
⑷ 數據操縱。
⑸ 視圖。
⑹ 數據控制。
⑺ 嵌入式SQL。

4.關系資料庫設計理論:

⑴ 函數依賴。
⑵ 多值依賴。
⑶ 關系模式分解。
⑷ 關系模式的規范化。

5.資料庫保護:

⑴ 資料庫恢復。
⑵ 並發控制。
⑶ 完整性。
⑷ 安全性。

6.資料庫設計:

⑴ 資料庫設計的目標。
⑵ 資料庫設計的方法和步驟。
⑶ 需求分析。
⑷ 概念設計。
⑸ 邏輯設計。
⑹ 物理設計。
⑺ 資料庫的實施與維護。

7.資料庫管理系統:

⑴ 資料庫管理系統的組成。
⑵ 資料庫系統的工作過程。
⑶ 資料庫管理系統產品。

8.資料庫新技術:

⑴ 資料庫技術的發展。
⑵ 分布式資料庫。
⑶ 並行資料庫。
⑷ 多媒體資料庫。
⑸ 對象和對象-關系資料庫。
⑹ 資料庫倉庫。
⑺ 數據挖掘。
⑻ Web資料庫。

七、計算機體系結構

1.體系結構的基本概念:

⑴ 計算機系統的層次結構。
⑵ 體系結構的定義。
⑶ 體系結構的分類。
⑷ 體系結構發展的影響因素。
⑸ 體系的定量分析。

2.存儲體系:

⑴ 存儲層次。
⑵ Cache工作原理。
⑶ 虛存工作原理。

3.指令與時間並行性:

⑴ 指令優化策略。
⑵ 流水線技術。
⑶ RISC。

4.並行處理技術:

⑴ 並行性概念。
⑵ 超流水線與超標量技術。
⑶ 向量處理機。
⑷ 陣列處理機。
⑸ 多處理機。
⑹ 機群處理機。

5.系統性能評價:

⑴ 性能評價概念。
⑵ 基準測試程序。

八、計算機網路與通信

1.計算機網路與Internet:

⑴ 網路發展與網路用戶。
⑵ 網路硬體。
⑶ 網路軟體。
⑷ 參考模型。
⑸ 網路實例(Internet)。

2.應用層:

⑴ 應用層概述。
⑵ 萬維網:HTTP。
⑶ 文件傳輸:FTP。
⑷ 電子郵件。
⑸ 域名系統:DNS。
⑹ 網路安全。

3.傳輸層:

⑴ 傳輸層概述。
⑵ 傳輸協議的要素。
⑶ 無連接傳輸:UDP。
⑷ 面向連接傳輸:TCP。
⑸ 擁塞控制。

4.網路層與路由:

⑴ 網路層概述。
⑵ 路由原理。
⑶ Internet協議。
⑷ Internet路由。
⑸ 服務質量。
⑹ 網路互聯。

5.鏈路層與區域網:

⑴ 數據鏈路層概述。
⑵ 流量控制。
⑶ 差錯控制。
⑷ Internet鏈路層與HDLC。
⑸ 多路訪問協議與ETHERNET。
⑹ 數據鏈路層交換。

上機測試內容

1.計算機操作能力。
2.C語言程序設計能力。
3.項目開發能力。
4.開發工具的使用能力。

考試方式

1.考試形式包括筆試(180分鍾)和上機測試(60分鍾)。
2.筆試的試題包括選擇題和論述題兩種類型,其中在五分之一的選擇題用英文書寫,其餘選擇題和論述題用中文書寫。

❸ 怎麼獲得FTP伺服器上目錄下的所有文件名和子目錄

不要使用tidftp,長時間搜索會出現死鎖現象,使用WinInet單元
procere TFtpScan.Execute;
var
FFTPHandle: HINTERNET;
FInetHandle: HINTERNET;
Enum: HINTERNET;
FFindFileData: WIN32_FIND_DATA;
R: Boolean;
FFileName, DataStr: string;
TempErrorCode: Cardinal;
begin

❹ 計算機研究生考試要考哪幾門啊

計算機歷年考研真題

鏈接:https://pan..com/s/1S0XYQQBxtaFkIAOpoymp9Q

提取碼:cugd

若資源有疑問歡迎追問

❺ 計算機專業有哪些課程

主要課程有計算機應用基礎、應用文寫作、數學、英語、德育、電工與電子技術、計算機網路技術、C語言、計算機組裝與維修、企業網安全高級技術、企業網綜合管理、windows server 2008操作系統。

還有區域網組建、Linux伺服器操作系統、網路設備與網路技術(主要學習思科、華為公司設備的配置、管理、調試)、SQL Server、網路綜合布線技術、CAD繪圖等。

計算機學科的特色主要體現在:理論性強,實踐性強,發展迅速按一級學科培養基礎扎實的寬口徑人才,體現在重視數學、邏輯、數據結構、演算法、電子設計、計算機體系結構和系統軟體等方面的理論基礎和專業技術基礎。

(5)ftp死鎖擴展閱讀

計算機專業培養目標

本專業畢業生應獲得以下幾個方面的知識和能力:

1、掌握電子技術和計算機組成與體系結構的基本原理、分析方法和實驗技能,能從事計算機硬體系統開發與設計。

2、掌握程序設計語言、演算法與數據結構、操作系統以及軟體設計方法和工程的基本理論、基本知識與基本技能,具有較強的程序設計能力,能從事系統軟體和大型應用軟體的開發與研製。

3、掌握並行處理、分布式系統、網路與通信、多媒體信息處理、計算機安全、圖形圖象處理以及計算機輔助設計等方面的基本理論、分析方法和工程實踐技能,具有計算機應用和開發的能力。

4、掌握計算機科學的基本理論,具有從事計算機科學研究的堅實基礎。

❻ blogger 的ftp上傳問題

應該屬於配額限制、或者IIS死鎖之類的

❼ 為什麼調用FTPClient.retrieveFile會死鎖

從伺服器檢索命名文件並將其寫入給定的OutputStream中。
如果成功完成返回True,否則為false。
你可以去進去看下這個方法具體的實現。

❽ 運輸層知識要點——謝希仁《計算機網路》

為了在計算機網路中有條不紊地交換數據,就必須遵守一些事先約定好的規則。這些規則明確規定了所 交換數據的格式 以及有關的 同步 問題。

同步的含義:在一定條件下應當發生什麼事件,因而含有時序的意思。

網路協議:為進行網路中的數據交換而建立的規則、標准或約定。

網路協議由以下三個要素組成:

   1)語法:即數據與控制信息的結構或格式

   2)語義:即需要發出何種控制信息,完成何種動作以及做出何種反應

   3)同步:即事件實現順序的詳細說明

一、運輸層協議的概述

   1.1 進程之間的通信

   1.2 運輸層的兩個主要協議

   1.3 運輸層的埠

二、用戶數據報協議UDP

   2.1 UDP概述

   2.2 UDP的首部格式

三、傳輸控制協議TCP概述

   3.1 TCP的最主要的特點

   3.2 TCP的連接

四、可靠傳輸的工作原理

   4.1 停止等待協議

   4.2 連續ARQ協議

五、TCP報文段的首部格式

六、TCP可靠傳輸的實現

   6.1 以位元組為單位的滑動窗口

   6.2 超時重傳時間的選擇

   6.3 選擇確認SACK

七、TCP的流量控制

   7.1 利用滑動窗口實現流量控制

   7.2 必須考慮傳輸效率

八、TCP的擁塞控制

   8.1 擁塞控制的一般原理

   8.2 幾種擁塞控制方法

   8.3 隨機早期檢測RED

九、TCP的運輸連接管理

   9.1 TCP的連接建立

   9.2 TCP的連接釋放

   9.3 TCP的有限狀態機

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

1.1 進程之間的通信

1.只有主機的協議棧才有運輸層,而網路核心部分中的路由器在轉發分組時都只用到了下三層的功能

2.兩個主機進行通信就是兩個主機中的應用進程互相通信。從運輸層的角度看,通信的真正端點並不是主機而是主機中的進程。(IP協議能把分組送到目的主機)

網路層時為主機之間提供邏輯通信,而運輸層為應用進程之間提供端到端的邏輯通信。

3.運輸層一個重要功能——復用、分用。 (應用進程復用、分用運輸層)

1.2 運輸層的兩個主要協議

1.UDP—User Datagram Protocol 用戶數據報協議(無連接):DNS/RIP/DHCP/SNMP/NFS

TCP—Transmission Control Protocol 傳輸控制協議(面向連接):SMTP/TELNET/HTTP/ FTP

1.3 運輸層的埠

問題:為了使運行不同操作系統的計算機的應用進程能夠互相通信,就必須使用統一的方法(而這種方法必須與特定操作系統無關)對TCP/IP體系的應用進程進行標識。

為什麼不用進程號來區分?(第一,不同操作系統的進程標識符不同;第二,用功能來識別,而不是進程,例如郵件服務功能,而不管具體是哪個進程)

解決方案:在運輸層使用協議埠號,即埠。軟體埠是應用層的各種協議進程與運輸實體進行層間交互的一種地址。(埠號只具有本地意義,只是為了標識本計算機應用層中各個進程在和運輸層交互時的層間介面。)

埠分為兩大類:

1)伺服器使用的埠號:熟知埠號或系統埠號(0~1023);登記埠號(1024~49151)

2)客戶端使用的埠號:49152~65535

2.1 UDP概述

1.UDP只在IP的數據報服務至上增加了很少一點功能,就是復用、分用以及差錯檢測功能

2.特點

   1)無連接

   2)盡最大努力交付

   3)面向報文 (不合並、不拆分、保留這些報文的邊界)

   4)UDP沒有擁塞控制

   5)UDP支持一對一、一對多、多對一和多對多的交互通信

   6)UDP的首部開銷小,只有8位元組

應用進程本身可以在不影響應用的實時性的前提下,增加一些提高可靠性的措施,如採用前向糾錯或重傳已丟失的報文。

2.2 UDP的首部格式

1.traceroute 讓發送的UDP用戶數據報故意使用一個非法的UDP埠號,接收方丟棄報文,並由ICMP(網路控制報文協議)發送「埠不可達」差錯報文給發送方。

2.計算檢驗和。IP數據報的校驗和只檢驗IP數據報的首部,但UDP的校驗和是把首部和數據部分一起都檢驗。(12位元組的首部+真正的首部+數據來進行校驗和的計算)

   Q1.為什麼計算校驗和要加12位元組的偽首部

   Q2.計算校驗和的原理是什麼?

3.1 TCP的最主要的特點

1.面向連接的運輸層協議(建立連接、傳輸數據、釋放連接)

2.點對點,每一條TCP連接只能有兩個端點

3.可靠交付(無差錯、不丟失、不重復、並且按序到達)

4.全雙工通信。TCP連接的兩端都設有發送緩存和接收緩存。

5.面向位元組流。(流指的是流入到進程或從進程流出的位元組序列;面向位元組流:TCP把應用程序交下來的數據看成是一連串的無結構位元組流。 接收方的應用程序必須有能力識別接收到的位元組流,把它還原成有意義的應用層數據。 因此TCP可以根據窗口值和當前網路狀況調整發送的報文長度。劃分短一點,或者積累到足夠多再發送出去。)

3.2 TCP的連接

1.TCP把連接作為最基本的抽象。

2.每一條TCP連接有兩個端點。TCP連接的端點叫作套接字。

   套接字soket = (IP地址:埠號)

每一條TCP連接唯一地被通信兩端的兩個端點(即兩個套接字)所確定。

   TCP連接 ::= {socket1, socket2}

理想的傳輸條件有以下兩個特點:

   1)傳輸信道不產生差錯

   2)不管發送方以多快的速度發送數據,接收方總是來得及處理收到的數據

實際的網路並不具備,因此:

   1)出現差錯時,讓發送方重傳

   2)接收方來不及處理時,及時告訴發送方適當降低發送數據的速度

4.1 停止等待協議

1.「停止等待」就是沒發送完一個分組就停止發送,等待對方的確認,在收到確認後再發送下一個分組。

2.超時重傳。在每發完一個分組就設置一個超時計時器,如果在超時計時器之前收到對方的確認,就撤銷已設置的超時計時器。如果未收到,就認為剛才的分組丟失,並重傳。

3.三種情況:A發送的分組出錯、丟失;B發送的確認丟失;B發送的確認遲到

確認丟失:B丟棄重復的分組,向A重傳確認

確認遲到:A丟棄重復的確認,B丟棄重復分組,並向A重傳確認

4.常稱為自動重傳請求ARQ,重傳時自動進行的(超時即重傳)

5.缺點:信道利用率太低

   U=Td/(Td+RTT+Ta)

為了提高傳輸效率,發送方不使用停止等待協議,而是採用流水線傳輸。流水線傳輸就是發送發可連續發送多個分組,不必等每發完一個分組就停頓下來等待對方的確認。(連續ARQ協議和滑動窗口協議)

4.2 連續ARQ協議

1.位於發送窗口內的分組都可連續發送出去,而不需要等待對方的確認。

2.累積確認:接收方不必對收到的分組逐個發送確認,而是在收到幾個分組後,對按序到達的最後一個分組發送確認。

3.缺點:Go-back-N (發送前5個分組,第3個分組丟失,後面三個要重傳)

1.源埠和目的埠

2.序號。 每個位元組都按順序編號。

3.確認號。 期望收到對方下一個報文段的第一個數據位元組的序號。

若確認號=N,則表明:到序號N-1為止的所有數據都已正確收到。

4.數據偏移。 指出TCP報文段的數據起始處距離TCP報文段的起始處有多遠(也即TCP報文段首部長度)。由於首部中還有長度不確定的選項欄位,因此數據偏移欄位是必要的。

5.窗口。窗口欄位明確指出了現在允許對方發送的數據量。窗口值是經常在動態變化著。

6.1 以位元組為單位的滑動窗口

1.發送緩存用來暫存:

   1)發送應用程序傳送給發送方TCP准備發送的數據;

   2)TCP已發送但未收到確認德爾數據

2.接收緩存用來存放:

   1)按序到達的、但尚未被接收應收程序讀取的數據;

   2)未按序到達的數據

3.注意三點:

   1)A的發送窗口是根據B的接收窗口設置的,但是在同一時刻,由於網路傳輸的滯後,A的發送窗口並不總是B的接收窗口一樣大

   2)TCP通常對不按序到達的數據是先臨時存放在接收窗口中,等到位元組流中所缺少的位元組收到後,再按序交付上層的應用進程

   3)TCP接收方有累計確認功能(不能過分推遲發送確認,否則會導致發送方不必要的重傳)

6.2 超時重傳時間的選擇

1.超時重傳時間設置太短,會引起很多不必要的重傳;如果設置太長,使網路的空閑時間增大,降低傳輸效率。

2.新的RTTs = (1-a)x(舊的RTTs) + ax(新的RTT樣本),其中RTT樣本的時間為:記錄一個報文段發出的時間,以及收到相應的確認時間,時間差就是報文段的往返時間RTT。

3.RTO = RTTs + 4 x RTTd,其中RTO為超時重傳時間,RTTd是RTT的偏差的加權平均值。

新的RTTd = (1-b) x (舊的RTTd)+ b x |RTTs - 新的RTT樣本|

4.一個問題:發送一個報文段,設定的重傳時間到了,還沒有收到確認。於是重傳報文段。經過一段時間,收到了確認報文段。現在的問題是:如何判定此確認報文段是對先發送的報文段的確認,還是對後來重傳的報文段的確認?

1)解決方法1,在計算加權平均值RTTs時,只要報文段重傳了,就不採用其往返時間樣本。

引入的問題:報文段的時延突然增大的情況

2)解決方法2,報文段每重傳一次,就把超時重傳時間RTO增大一些(一般是2倍)。當不在發生報文段的重傳時,再根據加權平均計算。

6.3 選擇確認SACK

SACK文檔並沒有指明發送發應當怎樣響應SACK。因此大多數的實現還是重傳所有未被確認的數據塊。

7.1 利用滑動窗口實現流量控制

1.流量控制:就是讓發送方的發送速率不要太快,要讓接收方來得及接收。

2.利用滑動窗口機制可很方便地在TCP連接上實現對發送方的流量控制。發送方的發送窗口不能超過接收方給出的接收窗口的數值。

3.死鎖情況:B向A發送了零窗口的報文段後不久,B又有了一些緩存空間,因此B向A發送rwnd = 400.然而該報文段在傳送過程中丟失。A一直等待B發送的非零窗口的通知,B也一直等待A發送的數據。( 窗口通知不超時重傳?為什麼? )

解決方法:TCP為每個連接設有一個持續計時器。只要一方收到對方的零窗口通知,就啟動計時器。計時器到期後,發送一個零窗口探測報文段,而對方就在確認這個探測報文段時給出了現在的窗口值。若仍為零,收到報文段的一方重新設置持續計時器。

7.2 必須考慮傳輸效率

1.應用程序把數據傳送到TCP的發送緩存後,剩下的發送任務就由TCP來控制了。

2.三種不同的機制來控制TCP報文段的發送時機:

   1)TCP維持一個變數,它等於最大報文段長度MSS,只要緩存中的存放的數據達到MSS,就組裝成一個TCP報文段發送出去

   2)由發送方的應用進程指明要求發送報文段,即TCP支持推送操作

   3)發送方設置一個定時器

3.問題一、若用戶只發送一個位元組,則非常浪費帶寬。

解決方法:若發送應用程序把要發送的數據逐個位元組地送到TCP的發送緩存,則發送方就把第一個數據位元組先發送出去,把後面到達的數據位元組都緩存起來。當發送方收到對第一個數據字元的確認後,再把發送緩存中的所有數據組裝成一個報文段發送出去。(採用收到確認就發送+並開始緩存的方式;同時當到達的數據已達到發送窗口大小的一半或已達到報文段的最大長度時,就立即發送一個報文段。)

4.問題二、糊塗窗口綜合症。接收緩存已滿,應用程序一次只讀取一個位元組,然後向發送方發送確認。

解決方法:讓接收方等待一段時間,使得接收緩存已有足夠空間容納一個最長的報文段,或者等到接收緩存已有一半空閑的空間。則接收方就發出確認報文。

8.1 擁塞控制的一般原理

1.擁塞的定義:對資源的需求 > 可用資源。 在計算機網路中的鏈路帶寬、交換結點中的緩存和處理機等,都是網路中的資源。

2.擁塞解決不能靠解決某一個部分的問題。因為這會將瓶頸轉移到其他地方。問題的實質往往是整個系統的各個部分不匹配。只有所有部分都平衡了,問題才會得到解決。

3.擁塞控制與流量控制的比較。

   1)擁塞控制:防止過多的數據注入到網路中,這樣可以使網路中的路由器或鏈路不致過載。

   擁塞控制有個前提:網路能夠承受現有的網路負荷

   擁塞控制是一個全局性過程。(發送擁塞時,不知道在某處、什麼原因造成的)

   2)流量控制:點對點通信量的控制,是個端到端的問題

   流量控制:抑制發送端發送數據的速率,以便使接收端來得及接收。

4.尋找擁塞控制的方案無非就是使不等式 「對資源的需求 > 可用資源 」不再成立的條件。但是必須考慮該措施帶來的其他影響。

5.計算機網路是個復雜的系統。從控制理論的角度來看擁塞控制,可以分為開環控制和閉環控制兩種方法。

   1)開環控制:設計網路時事先將有關發生擁塞的因素考慮周到,力求網路在工作時不產生擁塞。但一旦系統運行起來,就不再中途改正。

   2)閉環控制:基於反饋環路。

   步驟一、監測網路系統以便檢測到擁塞在何時、何處發生;

   步驟二、把擁塞發生的信息傳送到可採取行動的地方

   步驟三、調整網路系統的運行以解決出現的問題

8.2 幾種擁塞控制方法(只考慮網路擁塞程度,即假設接收方總是有足夠大的緩存空間)

1.慢開始和擁塞避免

1)發送方維持一個擁塞窗口。

   擁塞窗口的大小取決於網路的擁塞程度,並且動態地在變化。

   控制擁塞窗口的原則是:只要網路沒有出現擁塞,擁塞窗口增大;如果網路出現擁塞,則減小。

2)慢開始的思路:由小到大逐漸增大擁塞窗口數值。每收到一個對新的報文段的確認,把擁塞窗口增加至多一個MSS的數值。(沒經過一個傳輸輪次,擁塞窗口cwnd就加倍)

輪次:把擁塞窗口所允許發送的報文段都連續發送出去,並收到了對已發送的最後一位元組的確認。

慢開始的「慢」並不是指cwnd的增長速率慢,而是指TCP開始發送報文段時先設置cwnd=1(一個MSS數值)。

3)慢開始門限ssthresh

   為防止擁塞窗口增長過大,引入一個慢開始門限ssthresh。

   當cwnd < ssthresh時,使用上述的慢開始演算法

   當cwnd > ssthresh時,停止使用慢開始演算法而改用擁塞避免演算法

4)擁塞避免演算法

思路:讓擁塞窗口cwnd緩慢增大,即沒經過一個往返時間RTT就把發送方的擁塞窗口cwnd增加1,而不是加倍。

5)慢開始門限的設置

只要發送方判斷網路出現擁塞(沒有按時收到確認),就把慢開始門限ssthresh設置為出現擁塞時發送方窗口值的一半,然後把擁塞窗口cwnd重置為1,執行慢開始演算法。

6)乘法減小和加法增大

乘法減小:網路出現擁塞時,把慢開始門限ssthresh減半(當前的ssthresh的一半),並執行慢開始演算法。

加法增大:執行擁塞避免方法

2.快重傳和快恢復

1)快重傳(盡快重傳未被確認的報文段)

首先,要求接收方每收到一個失序的報文段後就立即發出重復確認。(如接收方收到了M1和M2後都分別發出了確認,但接收方沒有收到M3但接著收到了M4。此時接收方立即發送對M2的重復確認。)

其次,發送方只要一連收到三個重復確認,就應當立即重傳對方尚未收到的報文段M3.

2)快恢復

要點一、當發送方連續收到三個重復確認,就執行「乘法減小」演算法,把慢開始門限ssthresh減半。

要點二、由於發送方認為網路很可能沒有發生擁塞(因為收到了連續的重復確認),把cwnd設置為慢開始門限ssthresh減半後的值,然後開始執行擁塞避免演算法

慢開始演算法只在TCP連接建立時和網路出現超時才使用。

3.發送方的窗口

發送方窗口的上限值 = Min [rwnd, cwnd]

8.3 隨機早期檢測RED(IP層影響TCP層的擁塞控制)

1.網路層的分組丟棄策略

網路層的策略對TCP擁塞控制影響最大的就是路由器的分組丟棄策略。

如果路由器隊列已滿,則後續到達的分組將都被丟棄。這就叫做尾部丟棄策略。

2.全局同步

由於TCP復用IP,若發生路由器中的尾部丟棄,就可能會同時影響到很多條TCP連接,結果就使許多TCP連接在同一時間突然都進入到慢開始狀態。全局同步使得全網的通信量突然下降了很多,網路恢復正常後,其通信量又突然增大很多。

3.隨機早期檢測RED

使路由器的隊列維持兩個參數,即隊列長度最小門限THmin和最大門限THmax。當每一個分組到達時,RED就先計算平均隊列長度Lav。RED演算法是:

1)若平均隊列長度小於最小門限THmin,則把新到達的分組放入隊列進行排隊

2)若平均隊列長度超過最大門限THmax,則把新到達的分組丟棄

3)若平均隊列長度在最小門限THmin和最大門限THmax之間,則按照某一概率p將新到達的分組丟棄。

隨機體現在3),在檢測到網路擁塞的早期徵兆時(即路由器的平均隊列長度超過一定的門限值時),就先以概率p隨機丟棄個別的分組,讓擁塞控制只在個別的TCP連接上進行,因而避免發生全局性的擁塞控制。

4.平均隊列長度Lav和分組丟棄概率p

Lav = (1-d) x (舊的Lav) +d x (當前的隊列長度樣本)

p = ptemp / (1- count x ptemp)

ptemp = pmax x (Lav - THmin) / (THmax - THmin)

TCP時面向連接的協議。

運輸連接就有三個階段:連接建立、數據傳送和連接釋放

運輸連接的管理:使運輸連接的建立和釋放都能正常地進行。

在TCP連接建立過程中要解決以下三個問題:

   1)要使每一方能夠確知對方的存在

   2)要允許雙方協商一些參數(如最大窗口值、是否使用窗口擴大選項和時間戳等等)

   3)能夠對運輸實體資源(如緩存大小、連接表中的項目等)進行分配

9.1 TCP的連接建立

1.TCP規定,SYN=1報文段不能攜帶數據,但消耗一個序號

2.TCP規定,ACK=1報文段可以攜帶數據,如果不攜帶數據則不消耗序號

3.為什麼A還要發送一次確認?為了防止已失效的連接請求報文突然又傳送到B,因而產生錯誤。

「已失效的連接請求報文段」

A發出第一個連接請求報文段,在網路中滯留超時,又發出了第二個連接請求。但B收到第一個延遲的失效的連接請求報文段後,就誤認為是A又發出了一次新的連接請求。於是就向A發出確認報文段,同意建立連接。假定不採用三次握手,那麼只要B發出確認,新的連接就建立。此時A不會理睬B的確認,也不會發數據,但B一直等A發送數據,B的許多資源就浪費了。

採用三次握手,A不會向B發送確認,因此B就知道A並沒有要求建立確認。

9.2 TCP的連接釋放

1.TCP規定,FIN報文段基石不攜帶數據,也消耗一個序號

2.第二次握手後,TCP通知高層應用程序,因而從A到B這個方向的連接就釋放,TCP連接處於半關閉狀態

3.為什麼A在TIME-WAIT狀態必須等待2MSL的時間

  1)為了保證A發送的最後一個ACK報文段能夠到達B。因為ACK可能丟失,此時B可能會超時重傳,然後A重傳確認,並重新啟動2MSL計時器

  2)防止「已失效的連接請求報文段」出現在本連接中。可以使本連接持續時間內所產生的所有報文段都從網路中消失。

9.3 TCP的有限狀態機

❾ 我去FTP伺服器里下載東西,每次都是下載到最後,冒出一個框框,說是內存不能為read

這個問題很多人都遇到過,我也不例外,下面是我以前遇到時的解決辦法,不要怕內容太長,也許你看到一半就能解決了.

0X000000該內存不能為read written的解決方法

出現這個現象有方面的,一是硬體,即內存方面有問題,二是軟體,這就有多方面的問題了。

一:先說說硬體:

一般來說,電腦硬體是很不容易壞的。內存出現問題的可能性並不大(除非你的內存真的是雜牌的一塌徒地),主要方面是:1。內存條壞了(二手內存情況居多)、2。使用了有質量問題的內存,3。內存插在主板上的金手指部分灰塵太多。4。使用不同品牌不同容量的內存,從而出現不兼容的情況。5。超頻帶來的散熱問題。你可以使用MemTest 這個軟體來檢測一下內存,它可以徹底的檢測出內存的穩定度。

二、如果都沒有,那就從軟體方面排除故障了。

先說原理:內存有個存放數據的地方叫緩沖區,當程序把數據放在緩沖區,需要操作系統提供的「功能函數」來申請,如果內存分配成功,函數就會將所新開辟的內存區地址返回給應用程序,應用程序就可以通過這個地址使用這塊內存。這就是「動態內存分配」,內存地址也就是編程中的「游標」。內存不是永遠都招之即來、用之不盡的,有時候內存分配也會失敗。當分配失敗時系統函數會返回一個0值,這時返回值「0」已不表示新啟用的游標,而是系統向應用程序發出的一個通知,告知出現了錯誤。作為應用程序,在每一次申請內存後都應該檢查返回值是否為0,如果是,則意味著出現了故障,應該採取一些措施挽救,這就增強了程序的「健壯性」。若應用程序沒有檢查這個錯誤,它就會按照「思維慣性」認為這個值是給它分配的可用游標,繼續在之後的執行中使用這塊內存。真正的0地址內存區儲存的是計算機系統中最重要的「中斷描述符表」,絕對不允許應用程序使用。在沒有保護機制的操作系統下(如DOS),寫數據到這個地址會導致立即當機,而在健壯的操作系統中,如Windows等,這個操作會馬上被系統的保護機制捕獲,其結果就是由操作系統強行關閉出錯的應用程序,以防止其錯誤擴大。這時候,就會出現上述的內存不能為「read」錯誤,並指出被引用的內存地址為「0x00000000「。內存分配失敗故障的原因很多,內存不夠、系統函數的版本不匹配等都可能有影響。因此,這種分配失敗多見於操作系統使用很長時間後,安裝了多種應用程序(包括無意中「安裝」的病毒程序),更改了大量的系統參數和系統檔案之後。

在使用動態分配的應用程序中,有時會有這樣的情況出現:程序試圖讀寫一塊「應該可用」的內存,但不知為什麼,這個預料中可用的游標已經失效了。有可能是「忘記了」向操作系統要求分配,也可能是程序自己在某個時候已經注銷了這塊內存而「沒有留意」等等。注銷了的內存被系統回收,其訪問權已經不屬於該應用程序,因此讀寫操作也同樣會觸發系統的保護機制,企圖「違法」的程序唯一的下場就是被操作終止執行,回收全部資源。計算機世界的法律還是要比人類有效和嚴厲得多啊!像這樣的情況都屬於程序自身的BUG,你往往可在特定的操作順序下重現錯誤。無效游標不一定總是0,因此錯誤提示中的內存地址也不一定為「0x00000000」,而是其它隨機數字。

首先建議:

1、 檢查系統中是否有木馬或病毒。這類程序為了控制系統往往不負責任地修改系統,從而導致操作系統異常。平常應加強信息安全意識,對來源不明的可執行程序絕不好奇。

2、 更新操作系統,讓操作系統的安裝程序重新拷貝正確版本的系統檔案、修正系統參數。有時候操作系統本身也會有BUG,要注意安裝官方發行的升級程序。

3、 盡量使用最新正式版本的應用程序、Beta版、試用版都會有BUG。

4、 刪除然後重新創建 Winnt\System32\Wbem\Repository 文件夾中的文件:在桌面上右擊我的電腦,然後單擊管理。 在"服務和應用程序"下,單擊服務,然後關閉並停止 Windows Management Instrumentation 服務。 刪除 Winnt\System32\Wbem\Repository 文件夾中的所有文件。(在刪除前請創建這些文件的備份副本。) 打開"服務和應用程序",單擊服務,然後打開並啟動 Windows Management Instrumentation 服務。當服務重新啟動時,將基於以下注冊表項中所提供的信息重新創建這些文件: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBEM\CIMOM\Autorecover MOFs

下面搜集幾個例子給大家分析:

例一:IE瀏覽器出現「0x0a8ba9ef」指令引用的「0x03713644」 內存,或者「0x70dcf39f」指令引用的「0x00000000」內存。該內存不能為「read」。要終止程序,請單擊「確定」的信息框,單擊「確定」後,又出現「發生內部錯誤,您正在使用的其中一個窗口即將關閉」的信息框,關閉該提示信息後,IE瀏覽器也被關閉。解決方法:

1、 開始-運行窗口,輸入「regsvr32 actxprxy.dll」回車,接著會出現一個信息對話 框「DllRegisterServer in actxprxy.dll succeeded」,確定。再依次運行以下命令。(這個方法有人說沒必要,但重新注冊一下那些.dll對系統也沒有壞處,反正多方下手,能解決問題就行。)

regsvr32 shdocvw.dll

regsvr32 oleaut32.dll

regsvr32 actxprxy.dll

regsvr32 mshtml.dll

regsvr32 msjava.dll

regsvr32 browseui.dll

regsvr32 urlmon.dll

2、 修復或升級IE瀏覽器,同時打上系統補丁。看過其中一個修復方法是,把系統還原到系統初始的狀態下。建議將IE升級到了6.0。

例二:有些應用程序錯誤: 「0x7cd64998」 指令參考的 「0x14c96730」 內存。該內存不能為 「read」。解決方法:Win XP的「預讀取」技術這種最佳化技術也被用到了應用程序上,系統對每一個應用程序的前幾次啟動情況進行分析,然後新增一個描述套用需求的虛擬「內存映像」,並把這些信息儲存到Windows\Prefetch文件夾。一旦建立了映像,應用軟體的裝入速度大大提高。XP的預讀取數據儲存了最近8次系統啟動或應用軟體啟動的信息。建議將虛擬內存撤換,刪除Windows\Prefetch目錄下所有*.PF文件,讓windows重新收集程序的物理地址。

例三:在XP下雙擊光碟裡面的「AutoRun.exe」文件,顯示「0x77f745cc」指令引用的「0x00000078」內存。該內存不能為「written」,要終止程序,請單擊「確定」,而在Windows 98里運行卻正常。 解決方法:這可能是系統的兼容性問題,winXP的系統,右鍵「AutoRun.exe」文件,屬性,兼容性,把「用兼容模式運行這個程序」項選擇上,並選擇「Windows 98/Me」。win2000如果打了SP的補丁後,只要開始,運行,輸入:regsvr32 c:\winnt\apppatch\slayerui.dll。右鍵,屬性,也會出現兼容性的選項。

例四:RealOne Gold關閉時出現錯誤,以前一直使用正常,最近卻在每次關閉時出現「0xffffffff」指令引用的「0xffffffff」內存。該內存不能為「read」 的提示。 解決方法:當使用的輸入法為微軟拼音輸入法2003,並且隱藏語言欄時(不隱藏時沒問題)關閉RealOne就會出現這個問題,因此在關閉RealOne之前可以顯示語言欄或者將任意其他輸入法作為當前輸入法來解決這個問題。

例五:我的豪傑超級解霸自從上網後就不能播放了,每次都提示「0x060692f6」(每次變化)指令引用的「0xff000011」內存不能為「read」,終止程序請按確定。 解決方法:試試重裝豪傑超級解霸,如果重裝後還會,到官方網站下載相應版本的補丁試試。還不行,只好換就用別的播放器試試了。

例六:雙擊一個游戲的快捷方式,「0x77f5cd0」指令引用「0xffffffff」內 存,該內存不能為「read」 ,並且提示Client.dat程序錯誤。解決方法:重裝顯卡的最新驅動程序,然後下載並且安裝DirectX9.0。

例七:一個朋友發信息過來,我的電腦便出現了錯誤信息:「0x772b548f」指令引用的「0x00303033」內存,該內存不能為「written」,然後QQ自動下線,而再打開QQ,發現了他發過來的十幾條的信息。 解決方法:這是對方利用QQ的BUG,發送特殊的代碼,做QQ出錯,只要打上補丁或升級到最新版本,就沒事了。

該內存不能為read或written的解決方案關鍵詞: 該內存不能為"read" 該內存不能為"written"

從網上搜索來的幾篇相關文章.

【文章一】

使用Windows操作系統的人有時會遇到這樣的錯誤信息:
「「0X????????」指令引用的「0x00000000」內存,該內存不能為「read」或「written」」,然後應用程序被關閉。

如果去請教一些「高手」,得到的回答往往是「Windows就是這樣不穩定」之類的義憤和不屑。其實,這個錯誤並不一定是Windows不穩定造成的。本文就來簡單分析這種錯誤的一般原因。
一、應用程序沒有檢查內存分配失敗
程序需要一塊內存用以儲存數據時,就需要使用操作系統提供的「功能函數」來申請,如果內存分配成功,函數就會將所新開辟的內存區地址返回給應用程序,應用程序就可以通過這個地址使用這塊內存。這就是「動態內存分配」,內存地址也就是編程中的「游標」。內存不是永遠都招之即來、用之不盡的,有時候內存分配也會失敗。當分配失敗時系統函數會返回一個0值,這時返回值「0」已不表示新啟用的游標,而是系統向應用程序發出的一個通知,告知出現了錯誤。作為應用程序,在每一次申請內存後都應該檢查返回值是否為0,如果是,則意味著出現了故障,應該採取一些措施挽救,這就增強了程序的「健壯性」。若應用程序沒有檢查這個錯誤,它就會按照「思維慣性」認為這個值是給它分配的可用游標,繼續在之後的執行中使用這塊內存。真正的0地址內存區儲存的是計算機系統中最重要的「中斷描述符表」,絕對不允許應用程序使用。在沒有保護機制的操作系統下(如DOS),寫數據到這個地址會導致立即當機,而在健壯的操作系統中,如Windows等,這個操作會馬上被系統的保護機制捕獲,其結果就是由操作系統強行關閉出錯的應用程序,以防止其錯誤擴大。這時候,就會出現上述的「寫內存」錯誤,並指出被引用的內存地址為「0x00000000」。內存分配失敗故障的原因很多,內存不夠、系統函數的版本不匹配等都可能有影響。因此,這種分配失敗多見於操作系統使用很長時間後,安裝了多種應用程序(包括無意中「安裝」的病毒程序),更改了大量的系統參數和系統檔案之後。
二、應用程序由於自身BUG引用了不正常的內存游標
在使用動態分配的應用程序中,有時會有這樣的情況出現:程序試突讀寫一塊「應該可用」的內存,但不知為什麼,這個預料中可用的游標已經失效了。有可能是「忘記了」向操作系統要求分配,也可能是程序自己在某個時候已經注銷了這塊內存而「沒有留意」等等。注銷了的內存被系統回收,其訪問權已經不屬於該應用程序,因此讀寫操作也同樣會觸發系統的保護機制,企圖「違法」的程序唯一的下場就是被操作終止執行,回收全部資源。計算機世界的法律還是要比人類有效和嚴厲得多啊!像這樣的情況都屬於程序自身的BUG,你往往可在特定的操作順序下重現錯誤。無效游標不一定總是0,因此錯誤提示中的內存地址也不一定為「0x00000000」,而是其它隨機數字。如果系統經常有所提到的錯誤提示,下面的建議可能會有說明 :

1.檢視系統中是否有木馬或病毒。這類程序為了控制系統往往不負責任地修改系統,
從而導致操作系統異常。平常應加強信息安全意識,對來源不明的可執行程序絕不好奇。
2.更新操作系統,讓操作系統的安裝程序重新拷貝正確版本的系統檔案、修正系統參數。
有時候操作系統本身也會有BUG,要注意安裝官方發行的升級程序。
3.試用新版本的應用程序。

Mode:
將虛擬內存撤換
答案:
目前為止是肯定的,也就是如在下次冷天到來時亦沒再發生,就代表這是主因
追加:
如果你用 Ghost 恢復 OS 後建議 刪除WINDOWS\PREFETCH目錄下所有*.PF文件因為需讓windows重新收集程序的物理地址
有些應用程序錯誤 "0x7cd64998" 指令參考的 "0x14c96730" 內存。該內存不能為 "read"推論是此原因
源由:
Win XP的「預讀取」技術
這種最佳化技術也被用到了應用軟體上,系統對每一個應用軟體的前幾次啟動情況進行分析,然後新增一個描述套用需求的虛擬「內存映像」,並把這些信息儲存到WINDOWSPREFETCH數據夾。一旦建立了映像,應用軟體的裝入速度大大提高。XP的預讀取數據儲存了最近8次系統啟動或應用軟體啟動的信息。
後敘:
目前此方法亦是獨步網路的(其碼自己針對此問題查了許久),也是常見問題,原本幾乎每天睡前關閉軟體時一些程序都會發生...read...
現在就沒發生了。

【文章二】

運行某些程序的時候,有時會出現內存錯誤的提示(0x後面內容有可能不一樣),然後該程序就關閉。
「0x????????」指令引用的「0x????????」內存。該內存不能為「read」。
「0x????????」指令引用的「0x????????」內存,該內存不能為「written」。
不知你出現過類似這樣的故障嗎?
一般出現這個現象有方面的,一是硬體,即內存方面有問題,二是軟體,這就有多方面的問題了。
下面先說說硬體:
一般來說,內存出現問題的可能性並不大,主要方面是:內存條壞了、內存質量有問題,還有就是2個不同牌子不同容量的內存混插,也比較容易出現不兼容的情況,同時還要注意散熱問題,特別是超頻後。你可以使用MemTest 這個軟體來檢測一下內存,它可以徹底的檢測出內存的穩定度。
假如你是雙內存,而且是不同品牌的內存條混插或者買了二手內存時,出現這個問題,這時,你就要檢查是不是內存出問題了或者和其它硬體不兼容。
如果都沒有,那就從軟體方面排除故障了。
先簡單說說原理:內存有個存放數據的地方叫緩沖區,當程序把數據放在其一位置時,因為沒有足夠空間,就會發生溢出現象。舉個例子:一個桶子只能將一斤的水,當你放入兩斤的水進入時,就會溢出來。而系統則是在屏幕上表現出來。這個問題,經常出現在windows2000和XP系統上,Windows 2000/XP對硬體的要求是很苛刻的,一旦遇到資源死鎖、溢出或者類似Windows 98里的非法操作,系統為保持穩定,就會出現上述情況。另外也可能是硬體設備之間的兼容性不好造成的。
下面我從幾個例子給大家分析:
例一:打開IE瀏覽器或者沒過幾分鍾就會出現"0x70dcf39f"指令引用的"0x00000000"內存。該內存不能為「read」。要終止程序,請單擊「確定」的信息框,單擊「確定」後,又出現「發生內部錯誤,您正在使用的其中一個窗口即將關閉」的信息框,關閉該提示信息後,IE瀏覽器也被關閉。 解決方法:修復或升級IE瀏覽器,同時打上補丁。看過其中一個修復方法是,Win2000自升級,也就是Win2000升級到Win2000,其實這種方法也就是把系統還原到系統初始的狀態下。比如你的IE升級到了6.0,自升級後,會被IE5.0代替。
例二:在windows xp下雙擊光碟裡面的「AutoRun.exe」文件,顯示「0x77f745cc」指令引用的「0x00000078」內存。該內存不能為「written」,要終止程序,請單擊「確定」,而在Windows 98里運行卻正常。 解決方法:這可能是系統的兼容性問題,winXP的系統,右鍵「AutoRun.exe」文件,屬性,兼容性,把「用兼容模式運行這個程序」項選擇上,並選擇「Windows 98/Me」。win2000如果打了SP的補丁後,只要開始,運行,輸入:regsvr32 c:\winnt\apppatch\slayerui.dll。右鍵,屬性,也會出現兼容性的選項。
例三:RealOne Gold關閉時出現錯誤,以前一直使用正常,最近卻在每次關閉時出現「0xffffffff」指令引用的「0xffffffff」內存。該內存不能為「read」 的提示。 解決方法:當使用的輸入法為微軟拼音輸入法2003,並且隱藏語言欄時(不隱藏時沒問題)關閉RealOne就會出現這個問題,因此在關閉RealOne之前可以顯示語言欄或者將任意其他輸入法作為當前輸入法來解決這個問題。
例四:我的豪傑超級解霸自從上網後就不能播放了,每次都提示「0x060692f6」(每次變化)指令引用的「0xff000011」內存不能為「read」,終止程序請按確定。 解決方法:試試重裝豪傑超級解霸,如果重裝後還會,到官方網站下載相應版本的補丁試試。還不行,只好換就用別的播放器試試了。
例五:雙擊一個游戲的快捷方式,「0x77f5cd0」指令引用「0xffffffff」內 存,該內存不能為「read」 ,並且提示Client.dat程序錯誤。 解決方法:重裝顯卡的最新驅動程序,然後下載並且安裝DirectX9.0。
例六:一個朋友發信息過來,我的電腦便出現了錯誤信息:「0x772b548f」指令引用的「0x00303033」內存,該內存不能為「written」,然後QQ自動下線,而再打開QQ,發現了他發過來的十幾條的信息。 解決方法:這是對方利用QQ的BUG,發送特殊的代碼,做QQ出錯,只要打上補丁或升級到最新版本,就沒事了。

【原因 解決方法】

1 內存條壞了 更換內存條
2 雙內存不兼容 使用同品牌的內存或只要一條內存
3 內存質量問題 更換內存條
4 散熱問題 加強機箱內部的散熱
5 內存和主板沒插好或其他硬體不兼容 重插內存或換個插槽
6 硬體有問題 更換硬碟
7 驅動問題 重裝驅動,如果是新系統,應先安裝主板驅動
8 軟體損壞 重裝軟體
9 軟體有BUG 打補丁或更新到最新版本
10 軟體和系統不兼容 給軟體打上補丁或是試試系統的兼容模式
11 軟體和軟體之間有沖突 如果最近安裝了什麼新軟體,卸載了試試
12 軟體要使用其他相關的軟體有問題 重裝相關軟體,比如播放某一格式的文件時出錯,可能是這個文件的解碼器有問題
13 病毒問題 殺毒
14 殺毒軟體與系統或軟體相沖突 由於殺毒軟體是進入底層監控系統的,可能與一些軟體相沖突,卸載試試
15 系統本身有問題 有時候操作系統本身也會有BUG,要注意安裝官方發行的更新程序,象SP的補丁,最好打上.如果還不行,重裝系統,或更換其他版本的系統。

〔又一說〕

在控制面板的添加/刪除程序中看看你是否安裝了微軟NET.Framework,如果已經安裝了,可以考慮卸載它,當然如果你以後在其它程序需要NET.Framework時候,可以再重新安裝。
另外,如果你用的是ATI顯卡並且你用的是SP2的補丁(一些ATI的顯卡驅動需要在NET.Framework正常工作的環境下)。這種情況你可以找一款不需要NET.Framework支持的ATI顯卡驅動。
如果以上兩種方法並不能完全解決問題,你試著用一下「IE修復」軟體,並可以查查是否有病毒之類的。
〔微軟NET.Framework升級到1.1版應該沒問題了〕

〔還有一說〕

方法一:

微軟新聞組的朋友指點:開始--運行:regsvr32 jscript.dll
開始--運行:regsvr32 vbscript.dll

不過沒解決---但提供了路子-----一次運行注冊所有dll
搜索查找到方法如下:

運行 輸入cmd 回車在命令提示符下輸入
for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1
這個命令老兄你慢慢輸 輸入正確的話會看到飛快地滾屏 否則……否則失敗就是沒這效果。回車後慢慢等(需要點時間1-2分鍾) 都運行完再打開看

方法二:
這是個典型問題~~~~~引起這個問題的原因很多。一般來講就是給系統打上補丁和更換內存、給內存換個插槽這3種方法來解決。[系統補丁只要到Microsoft Update網站在線更新就可以了]
造成這種問題的原因很多,不能單純的下結論,盡量做到以下幾點可能對你有幫助:
1。確保使用的是未修改過的軟體(非漢化、破解版)
2。使用改軟體時盡量不要運行其他軟體。(這是個臨時文件,可能某些軟體也在使用臨時文件夾,所以產生干擾)
3。把那些什麼桌面工具,內存整理工具通通關掉(你至少有2個類似的工具在運行)」

處理方法:
運行regedit進入注冊表, 在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellExecuteHooks下,應該只有一個正常的鍵值"{AEB6717E-7E19-11d0-97EE-00C04FD91972}, 將其他的刪除。

〔我個人的最後解決和看法〕

我今天嘗試了多種辦法,最後我發現問題出在微軟的NET.Framework上面。我升級了這個軟體,並打齊了補丁,短暫平安後,有出現「內存不能為read」的情況。後來我受上面文章的啟發,卸載了微軟的NET.Framework1.0和1.1,世界太平了。

另外:如果是打開「我的電腦」、「我的文檔」等的時候出現上述情況,還有一種可能,就是你的右鍵菜單太臃腫了,此時只要清理右鍵菜單問題就解決了。
--------------------------------------------------------------------------------

〔試驗的結果〕

上面的方法,最管用、最徹底的方法是這個:

運行 輸入cmd 回車在命令提示符下輸入
for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1

【技巧】如果怕輸入錯誤的話,可以復制這條指令,然後在命令提示框點擊左上角的c:\,使用下面的「編輯-粘貼」功能就不容易輸錯了。在飛速滾屏完全靜止之後,別著急啟動其他程序,先耐心等一會兒,因為此時dll們還在找位置。直到你的指示燈不閃了再做別的。