当前位置:首页 » 文件传输 » 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们还在找位置。直到你的指示灯不闪了再做别的。