博文

硬盘分区命令FDISK详解(2006-05-15 20:24:00)

摘要: 硬盘的使用过程:物理格式化(低级格式化)——>分区操作(FDISK)——>高级格式化(FORMAT)——>安装操作系统——>安装应用软件或游戏。

一般来说,厂家将硬盘生产出来以后,低级格式化已由厂家完成,而硬盘的分区及高级格式化则留给供应商或用户自己来完成。

硬盘的分区用FDISK命令完成。

FDISK是DOS的公用程序和命令,它是硬盘分区的一种工具,是对硬盘进行高级格式化之前所需的操作。这个命令可以将硬盘分成不同的区域。以供DOS使用或给不同的操作系统使用,一般把这些区域称为硬盘的分区(Partition)。

在硬盘分区时,系统将硬盘的分区信息存放到硬盘的固定位置上。这个固定位置叫做硬盘分区表(Hard-disk Partition Table)。

在将硬盘之前,首先我们要了解几个概念:

物理驱动器(物理硬盘):安装在计算机中的硬盘。

逻辑驱动器(逻辑盘):硬盘中通过硬盘分区表创建的磁盘,例如C盘、D盘等。
主DOS分区(PRI-Drive):DOS可以启动逻辑驱动器。一台计算机只能有一个主DOS分区。通过我们把它设置为C盘。

扩展DOS分区(EXT-DOS):主DOS分区以外的那一部份硬盘空间。一般来讲,我们把主DOS分区以外的所有剩余硬盘空间都划分为扩展DOS分区。扩展DOS分区中可以包含一个或多个逻辑驱动器。

大多数情况,FDISK是将整个硬盘划分给DOS使用,在DOS启动系统后,再安装其他操作系统。具体硬盘分区方法如下:

用软盘或CDROM启动计算机;在DOS提示符下键入DOS命令“FDISK”并回车,这时就运行了硬盘的命令。屏幕出现下列信息:

Your computer has a disk larger than 512 MB. This version of Windows includes improved support for large disks, resulting in more efficient use of disk space on large drives, and allowing disks over 2 GB to be formatted as a ......

阅读全文(8279) | 评论:0

VB串口编程的几个问题(2006-05-05 22:21:00)

摘要: VB串口编程的几个问题作者:易兵    已阅读503次 目次:

串口数据接收方式
如何处理不定长数据的接收
用字符方式收发码值大于127的字符数据
串口通讯问答2


串口数据接收方式

1、 在OnComm 事件中接收数据:
这种方式能充分MSCOMM控件的特性。OnComm 事件还可以检查和处理通讯错误;可以通过检查CommEvent 属性的值来查询事件和错误;对于不定长数据以及对数据进行处理比较复杂的情况,此法不是很方便。

Private Sub MSComm_OnComm ()
Select Case MSComm1.CommEvent

' 错误
Case comEventBreak ' 收到 Break。
Case comEventCDTO ' CD (RLSD) 超时。
Case comEventCTSTO ' CTS Timeout。
Case comEventDSRTO ' DSR Timeout。
Case comEventFrame ' Framing Error
Case comEventOverrun '数据丢失。
Case comEventRxOver'接收缓冲区溢出。
Case comEventRxParity' Parity 错误。
Case comEventTxFull '传输缓冲区已满。
Case comEventDCB '获取 DCB] 时意外错误

' 事件
Case comEvCD ' CD 线状态变化。
Case comEvCTS ' CTS 线状态变化。
Case comEvDSR ' DSR 线状态变化。
Case comEvRing ' Ring Indicator 变化。
Case comEvReceive ' 收到 RThreshold # of chars.
Case comEvSend ' 传输缓冲区有 Sthreshold 个字符 '
Case comEvEof ' 输入数据流中发现 E......

阅读全文(4498) | 评论:0

数据加密技术(论文)(2006-05-05 22:17:00)

摘要: 数据加密技术(论文) 文章出处:   发布时间:2005-05-12   点击次数:1252 google_ad_client = "pub-5920153652866057";google_ad_width = 336;google_ad_height = 280;google_ad_format = "336x280_as";google_ad_type = "text_image";google_ad_channel ="9395858272";google_color_border = ["FFFFFF","DFF2FD","6699CC","FF4500"];google_color_bg = ["FFFFFF","DFF2FD","003366","FFEBCD"];google_color_link = ["000000","0000CC","FFFFFF","DE7008"];google_color_url = ["000000","008000","AECCEB","E0AD12"];google_color_text = ["000000","000000","AECCEB","8B4513"]; 我们经常需要一种措施来保护我们的数据,防止被一些怀有不良用心的人所看到或者破坏。在信息时代,信息可以帮助团体或个人,使他们受益,同样,信息也可以用来对他们构成威胁,造成破坏。在竞争激烈的大公司中,工业间谍经常会获取对方的情报。因此,在客观上就需要一种强有力的安全措施来保护机密数据不被窃取或篡改。数据加密与解密从宏观上讲是非常简单的,很容易理解。加密与解密的一些方法是非常直接的,很容易掌握,可以很方便的对机密数据进行加密和解密。   一:数据加密方法    在传统上,我们有几种方法来加密数据流。所有这些方法都可以用软件很容易的实现,但是当我们只知道密文的时候,是不容易破译这些加密算法的(当同时有原文和密文时,破译加密算法虽然也不是很容易,但已经是可能的了)。最好的加密算法对系统性能几乎没有影响,并且还可以带来其他内在的优点。例如,大家都知道的pkzi......

阅读全文(3351) | 评论:0

读取还原精灵、还原卡密码的原理与程序制作(2006-04-30 22:35:00)

摘要:作者:qb45 
作者地址:湖北-枝江
帖子原来是2004-7-20日发布,2005-9-1新增括号里的内容
(我是qb45,很多人很奇怪我为什么叫qb45,因为我只会用qbasic编程,用的是4.5的版本,别的版本不大会用,我的职业是“电工”,我很多的爱好中有个爱好是编程,我是个业余的编程爱好者,我是湖北·枝江的,qq号见编程爱好者论坛里的个人说明!
http://www.programfan.com/club/showbbs.asp?id=82092
还原精灵与还原卡的工作原理分析:
    还原精灵的工作原理:它修改了引导区,引导区又被称为MBR,它位于硬盘的0头0柱1扇区,在扩展int 13中没有头、柱、扇区这个概念,它只有逻辑扇区,在扩展的int 13中MBR位于是0扇区,如果BIOS中设置的是硬盘启动的话,系统会首先载入这个扇区到内存,然后运行这个代码,还原精灵就是用的是自己的引导代码,这个方法与引导型病毒一样,病毒的目的是破坏,而它的目的是保护,就如武器在坏人手里有破坏力一样,这个代码接管了INT13中断,每当我们向硬盘写入数据时,其实还是写入到硬盘中,可是没有真正修改硬盘中的FAT。由于INT13被接管,当还原精灵发现是写操作,如果没有激活管理身份,便将原先数据目的地址重新指向它自己定义的一段连续的空磁盘空间,并将先前背份的第二份FAT中的被修改的相关数据指向这片空间。当我们读取数据时,和写操作相反。所以还原精灵需要被保护的磁盘上有较大的空闲空间,它就需要利用这段空间!
    另外,用户不可能格式化真正的硬盘,还是因为被接管的INT13,所有对硬盘的操作都要通过INT13。还原卡的原理也和还原精灵软件的方法类似,不做详细解释

如何解除还原精灵与还原卡的保护呢?
   通过分析原理,我们发现保护程序是通过修改中断向量来达到保护硬盘不被真正写入的,其中int13是关键,它拦截了int13的处理程序,将自己的程序挂到上面,这也是无法写进数据的原因所在,有的卡同时还修改了时钟中断来达到反跟踪,它会利用早以被它修改过的时钟中断定时检查中断向量表,它一旦发现修改......

阅读全文(3888) | 评论:1

超频4种思路2种方法5项注意 (2006-04-19 20:30:00)

摘要:“超频”在DIYer中是个永恒的话题,每每让CPU的速度提升一些或榨取一点硬件性能的“油水”,他们总会欣喜不已。DIYer就是为了让电脑用得更好,“超频”正是一把利器。随着游戏和大型应用软件的更新换代,电脑相对变慢或者根本“跑不动”都很快成为“残酷的现实”,升级?费用太高!别急,或许超频可以满足你暂时的需要。另外,据调查:电脑中几乎没有配件可以陪伴你三年。就拿笔者来说,2000年组装的“爱机”(i815E+赛扬600+128MB
            SDR)早已升级成(Barton 2600+ +KT600+512MB
            DDR),只有显示器还在为笔者服务。既然如此,我们何必让它们拥有那么长的寿命呢(何况“超频”是否不利于CPU还有争论,个人感觉运气成分更多一些)?“超”吧,“折腾”吧,我们会在更“快”中找到更快乐!下面我将从超频思路、超频方法、超频应注意的事项这三个方面简单地谈一下超频,算是一个“预热”!               超频思路:CPU主频=外频×倍频。这是一个众所周知的CPU主频计算公式,但这也从根本上为我们提供了“超频”的思路。很明显我们可以通过超外频、超倍频、两者同时超频、降倍频超外频等多种思路来达到超频的目的。以上这四种思路是比较有意义的,也是目前主要采用的。“降外频超倍频”从实质上来并没有什么实际意义,而仅仅是满足了没有体质强健CPU而又想炫耀频率的电脑爱好者一种虚荣而已。               四种超频思路               第一,超外频
       &nb......

阅读全文(2430) | 评论:0

怎样接收电子邮件(POP3协议简介)(2006-04-17 21:04:00)

摘要:时间:2002.02.27 于重庆 主题:怎样接收电子邮件(POP3协议简介) 内容:

怎样接收电子邮件(POP3协议简介)
在Internet,POP3(Post Office Protocol 3)协议通常被用来接收电子邮件。这个协议很容易学,因为它只包含12个命令(其中有3个你完全可以忽略它们的存在)。这些命令被客户端计算机用来发送 给远程服务器。反过来,服务器返回给客户端计算机两个回应代码。如果你还没有看本站另一篇文章-“Winsock Terminal 示例程序”的话,请先阅读那篇文章,因为你需要那个程序来做实验。 运行示例程序,单击工具栏上的"Connect to"按钮。在弹出的对话框中输入你要连机的邮件服务器的地址例如: mail.comset.net 选择POP3协议,然后单击"Connect"按钮。如果成功的话(如果出错,肯定是你服务器地址有问题,别怀疑到程序头上来),你会在文本框中看到服务器返回给你的信息。我的服务器的应答如下: +OK POP3 mail.comset.net v5.49 server ready 这个字符串告诉你连机成功了。不同服务器的回应会有所不同,但开头部分都是一样的,那就是:
"+OK"。它的意思是服务器接受客户端计算机所使用的命令顺序及语法。如果开头是"-ERR",则表示你使用了错误的命令。在你的应用程序中,只须处理来自服务器的回应的前面几个字符。这么小的处理量正是POP3相对其它协议的优势所在。 授权状态 好了,现在我们已经建立了同服务器的连接并且从服务器那里得到了肯定的回答。接下来要做的就是告诉服务器你的身份。服务器要管理成千上万个邮箱并不是件好难的事。它已为每个邮箱建立好了一个帐户。每个帐户由用户名和密码构成。当你连上服务器后,要发送的第一个命令就是USER,用户名是该命令的参数。具体写法如下: USER username 如果用户名已注册,服务器将返回一条正确的消息,然后你就可以输入下面的命令,告诉服务器你的密码。 PASS password 如果用户名和密码吻合的话,服务器同样会返回一条正确的消息,告诉你可以进入下一阶段,即TRANSACTION state. TRANSACTION状态 为了知道你的邮箱中目前有多少封邮件以及这些邮件的大......

阅读全文(4067) | 评论:2

UTF-8 and Unicode FAQ(2006-04-02 20:23:00)

摘要:UTF-8 and Unicode FAQ by Markus Kuhn 中国LINUX论坛翻译小组 xLoneStar[译] 2000年2月 这篇文章说明了在 POSIX 系统 (Linux,Unix) 上使用 Unicode/UTF-8 所需要的信息. 在将来不远的几年里, Unicode 已经很接近于取代 ASCII 与 Latin-1 编码的位置了. 它不仅允许你处理处理事实上存在于地球上的任何语言文字, 而且提供了一个全面的数学与技术符号集, 因此可以简化科学信息交换. UTF-8 编码提供了一种简便而向后兼容的方法, 使得那种完全围绕 ASCII 设计的操作系统, 比如 Unix, 也可以使用 Unicode. UTF-8 就是 Unix, Linux 已经类似的系统使用 Unicode 的方式. 现在是你了解它的时候了. 什么是 UCS 和 ISO 10646? 国际标准 ISO 10646 定义了 通用字符集 (Universal Character Set, UCS). UCS 是所有其他字符集标准的一个超集. 它保证与其他字符集是双向兼容的. 就是说, 如果你将任何文本字符串翻译到 UCS格式, 然后再翻译回原编码, 你不会丢失任何信息. UCS 包含了用于表达所有已知语言的字符. 不仅包括拉丁语,希腊语, 斯拉夫语,希伯来语,阿拉伯语,亚美尼亚语和乔治亚语的描述, 还包括中文, 日文和韩文这样的象形文字, 以及 平假名, 片假名, 孟加拉语, 旁遮普语果鲁穆奇字符(Gurmukhi), 泰米尔语, 印.埃纳德语(Kannada), Malayalam, 泰国语, 老挝语, 汉语拼音(Bopomofo), Hangul, Devangari, Gujarati, Oriya, Telugu 以及其他数也数不清的语. 对于还没有加入的语言, 由于正在研究怎样在计算机中最好地编码它们, 因而最终它们都将被加入. 这些语言包括 Tibetian, 高棉语, Runic(古代北欧文字), 埃塞俄比亚语, 其他象形文字, 以及各种各样的印-欧语系的语言, 还包括挑选出来的艺术语言比如 Tengwar, Cirth 和 克林贡语(Klingon). UCS 还包括大量的图形的, 印刷用的, 数学用的和科学用的符号, 包括所有由 TeX, Pos......

阅读全文(2996) | 评论:0

程序员趣味读物:谈谈Unicode编码 出处:CSDN (2006-04-02 14:23:00)

摘要:这是一篇程序员写给程序员的趣味读物。所谓趣味是指可以比较轻松地了解一些原来不清楚的概念,增进知识,类似于打RPG游戏的升级。整理这篇文章的动机是两个问题:   问题一:   使用Windows记事本的“另存为”,可以在GBK、Unicode、Unicode big endian和UTF-8这几种编码方式间相互转换。同样是txt文件,Windows是怎样识别编码方式的呢?   我很早前就发现Unicode、Unicode big endian和UTF-8编码的txt文件的开头会多出几个字节,分别是FF、FE(Unicode),FE、FF(Unicode big endian),EF、BB、BF(UTF-8)。但这些标记是基于什么标准呢?   问题二:   最近在网上看到一个ConvertUTF.c,实现了UTF-32、UTF-16和UTF-8这三种编码方式的相互转换。对于Unicode(UCS2)、GBK、UTF-8这些编码方式,我原来就了解。但这个程序让我有些糊涂,想不起来UTF-16和UCS2有什么关系。   查了查相关资料,总算将这些问题弄清楚了,顺带也了解了一些Unicode的细节。写成一篇文章,送给有过类似疑问的朋友。本文在写作时尽量做到通俗易懂,但要求读者知道什么是字节,什么是十六进制。 0、big endian和little endian   big endian和little endian是CPU处理多字节数的不同方式。例如“汉”字的Unicode编码是6C49。那么写到文件里时,究竟是将6C写在前面,还是将49写在前面?如果将6C写在前面,就是big endian。还是将49写在前面,就是little endian。   “endian”这个词出自《格列佛游记》。小人国的内战就源于吃鸡蛋时是究竟从大头(Big-Endian)敲开还是从小头(Little-Endian)敲开,由此曾发生过六次叛乱,其中一个皇帝送了命,另一个丢了王位。   我们一般将endian翻译成“字节序”,将big endian和little endian称作“大尾”和“小尾”。 1、字符编码、内码,顺带介绍汉字编码   字符必须编码后才能被计算机处理。计算机使用的缺省编码方式就是计算机的内码。早期的计算机使用7位的ASCII编码,为了处理汉字,程序员设......

阅读全文(2289) | 评论:0

Unicode转GB2312编码码表(2006-02-28 21:18:00)

摘要:00A4 A1E8
00A7 A1EC
00A8 A1A7
00B0 A1E3
00B1 A1C0
00B7 A1A4
00D7 A1C1
00E0 A8A4
00E1 A8A2
00E8 A8A8
00E9 A8A6
00EA A8BA
00EC A8AC
00ED A8AA
00F2 A8B0
00F3 A8AE
00F7 A1C2
00F9 A8B4
00FA A8B2
00FC A8B9
0101 A8A1
0113 A8A5
011B A8A7
012B A8A9
014D A8AD
016B A8B1
01CE A8A3
01D0 A8AB
01D2 A8AF
01D4 A8B3
01D6 A8B5
01D8 A8B6
01DA A8B7
01DC A8B8
02C7 A1A6
02C9 A1A5
0391 A6A1
0392 A6A2
0393 A6A3
0394 A6A4
0395 A6A5
0396 A6A6
0397 A6A7
0398 A6A8
0399 A6A9
039A A6AA
039B A6AB
039C A6AC
039D A6AD
039E A6AE
039F A6AF
03A0 A6B0
03A1 A6B1
03A3 A6B2
03A4 A6B3
03A5 A6B4
03A6 A6B5
03A7 A6B6
03A8 A6B7
03A9 A6B8
03B1 A6C1
03B2 A6C2
03B3 A6C3
03B4 A6C4
03B5 A6C5
03B6 A6C6
03B7 A6C7
03B8 A6C8
03B9 A6C9
03BA A6CA
03BB A6CB
03BC A6CC
03BD A6CD
03BE A6CE
03BF A6CF
03C0 A6D0
03C1 A6D1

阅读全文(16252) | 评论:0

浅谈程序设计中的一些非常规算法(2006-02-28 20:48:00)

摘要:
浅谈程序设计中的一些非常规算法^_^  
  浅谈程序设计中的一些非常规算法^_^

我们在做题的时候肯定会遇到一些不知道该怎么解决的问题,也许是因为算法还不会,也许是因为会了但是算法不知道该怎么对应的使用。所以,也许可以用一种比较奇怪的方法来解决一些问题。当然,在平时的练习当中,我们要练的是各种各样的常规算法,以下的一些不太常规的方法只适用于的确实不知道该如何解决问题或者是特殊情况下,仅仅为了以这几种解法来说明程序设计中需要我们更多地运用我们的大脑来思考出属于我们自己的算法,以及用数学的一些建模的思想来辅助程序设计。 总之,勤于思考是最重要滴。 例一 TJU1010数素数 Problem 素数是的只能被1和它本身整除的自然数。判断一个数是素数的方法是使用2到该数的平方根的素数除它,若有能整除的则该数不是素数。 Input 本题有多组数据,每组数据由两个正整数M,N组成。(0<M<N<1000000= Output 输出一个整数,表示介于M,N之间(包括M,N)的素数的数量。 记得上个星期四罗小松讲解这道题的时候采用了空间压缩的方式,以及建立素数表的方式。后者既然已经讲了这里就只作总结:在编程序设计的时候要多多利用计算机本身的功能。比如:编一个比较慢的程序计算出结果,然后寻找规律;建立表;用计算机自带的计算器辅助;甚至在忘记带草稿纸的情况下用记事本演算…… 总之,要合理的利用计算机 而对于这道题,如果纯用“筛选法”求出m~n之间的素数,显然会超空间,而如果采用枚举法,时间又会不够。除了“空间压缩”这种方法之外,是否还有一个可以把这道题AC的方法呢。 首先我们考虑枚举法超时的原因:对于一个很大的数,比如100000,需要从2尝试到1000,而如果M与N相差很大,那么就会出现超时的情况。 其次我们再考虑筛选法,原因是数据限制到了1000000所以超出了空间限制。 第三,我们仔细思考,不难想到素数的特点: 除了1和本身之外没有其他的约数。 在这个定义上,我们可以发现,这里的约数有2种情况:1、合数;2、素数。而我们判断一个数n是否是素数,其实并不用用枚举法找出从2~round(sqrt(n))中是否存......

阅读全文(4944) | 评论:2