博文

BIOS与CMOS基础(2008-02-20 20:43:00)

摘要:放假在家看到一本书,有关BIOS和注册表的,没舍得买,回来上网搜了下内容。感觉太过泛泛,但也放在这里,以便查阅: 一、BIOS是什么?
所谓BIOS,实际就是微机的基本输入输出系统(Basic Input-Output System)其内容集成在微机主板上的一个ROM芯片上,主要保存着有关微机系统最重要的基本输入输出程序,系统信息设置,开机上电自检程序和系统启动自举程序等。
二、BIOS的功用
BIOS ROM芯片不但可以在主板上看到而且BIOS管理功能如何在很大程度上决定了主板性能是否优越。BIOS管理功能主要包括:
1、BIOS中断服务程序:BIOS中断服务程序实质上是微机系统中软件与硬件之间的一个可编程接口,主要用于程序软件功能与微机硬件之间实施衔接。如:DOS 和 WINDOWS操作系统中对软盘、硬盘、光驱、键盘、显示器等外设的管理,都是直接建立在BIOS系统中断服务程序的基础上,而且操作人员也可以通过访问INT 5、INT 13 等中断点而直接调用BIOS中断服务程序。
2、BIOS系统设置程序
微机部件配置记录是放在一块可读写的CMOS RAM芯片中的,主要保存着系统基本情况,CPU特性、软硬盘驱动器显示器、键盘等部件的信息。在BIOS的ROM芯片中装有“系统设置程序”,主要用来设置CMOS ROM中的各项参数,这个程序在开机是按下“DEL”键即可进入设置状态,并供操作人员使用,CMOS的RAM芯片中关于微机的配置信息不正确时,将导致系统故障。
3、POST上电自检
微机接通电源后,系统首先由POST(Power On Self Test,上电自检)程序来对内部各个设备进行检查。通常完整的POST自检将包括对CPU、640KB基本内存,1MB以上的扩展内存、ROM主板、CMOS存储器、串并口、显卡、软硬盘子系统及键盘进行测试,一旦在自检中发现问题,系统将给出提示信息或鸣笛警告。
4、BIOS系统启动自举程序
系统在完成POST自检后,ROM BIOS就首先按照系统CMOS设置中保存的启动顺序收寻软硬盘驱动器及CD-ROM、网络服务器等有效地启动驱动器,读入操作系统引导记录,然后将系统控制权交给引导记录,并由引导记录来完成系统的顺利启动。
三、CMOS是什么
CMOS是微机主板上的......

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

数据库安装问题之二(2008-02-20 16:53:00)

摘要:1 command line option syntax error. type commmand /? for help 出现此问题是由于数据库安装文件所在文件夹有中文名字的缘故,如:D:/数据库安装/setup.exe,将中文名字修改即可。 不修改也无不可,仍可安装成功,且没有发现什么问题 2 安装程序配置服务器失败,参考服务器错误日志和C:\windows\sqlstp.log了解更多信息 可将program file下的microsoft sql server的文件夹全部删除即可,且最好要重新启动机器。并要注意注册表中没有挂起服务,且看上一篇。并注册表中没有有关sql的其它内容。  ......

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

数据库还原问题(2008-01-27 09:59:00)

摘要:电脑上周坏掉,修好后系统重装,今天为了毕设将一套软件全部装上,遇到两个问题,全是数据库相关,写到这里(似乎第一个问题曾经记录过): 就先说第二个问题吧--不能还原数据库: 嗯,将选项中的强制还原选上,仍不行。  mothed:将之前的数据库建表语句全部执行一次,再还原仍不行 上网找相关资料,遇到下面的话: 解决方法:右键点"数据库"(注意不是某个特定的数据库)--》所有任务--》还原数据库--》选择"从设备"还原,选择要还原成的数据库名,然后在选项卡中,选择最现有数据库上强制还原数据库,然后在下面修改数据库还原后的物理路径,这个路径要是存在的一个路径,否则就会出现上面的错误,逻辑文件名可以不用改。 嗯,注意了最后一句,‘要存在的路径’,这才注意到还原数据时数据库文件夹和日志文件都在C盘下,而我在安装时为了减轻C系统盘消耗,而将安装文件放到了F盘。哦,原来如此/。于是,将C变成F,还原OK,:) 第一个问题似乎已经记录过了,没有的话,下次再补上。......

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

使用PING命令轻松判断TCP/IP故障(2008-01-25 18:26:00)

摘要:本文介绍使用PING命令轻松判断TCP/IP故障的方法。 1、Ping 127.0.0.1: 127.0.0.1是本地循环地址,如果本地址无法Ping通,则表明本地机TCP/IP协议不能正常工作。 2、Ping本机的IP地址: 用IPConfig查看本机IP,然后Ping该IP,通则表明网络适配器(网卡或MODEM)工作正常,不通则是网络适配器出现故障。 3、Ping同网段计算机的IP: Ping一台同网段计算机的IP,不通则表明网络线路出现故障;若网络中还包含有路由器,则应先Ping路由器在本网段端口的IP,不通则此段线路有问题;通则再PING路由器在目标计算机所在网段的端口IP,不通则是路由出现故障;通则再Ping目的机IP地址。 4、Ping网址: 若要检测一个带DNS服务的网络,在上一步Ping通了目标计算机的IP地址后,仍无法连接到该机,则可PING该机的网络名,比如Ping www.williamlong.info,正常情况下会出现该网址所指向的IP,这表明本机的DNS设置正确而且DNS服务器工作正常,反之就可能是其中之一出现了故障;同样也可通过Ping计算机名检测WINS解析的故障(WINS是将计算机名解析到IP地址的服务)。 这四步执行完毕后,网络中的故障所在点就已明确,我们就可以正确的解决问题了   出处:http://www.williamlong.info/info/archives/174.html......

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

求解:tar 的疑惑(2007-12-28 11:53:00)

摘要:众所周知,tar是将文件或目录打包,如: tar -czvf davytest.tar.gz /home/zhaodw/davytest/data 但是,如果我在/home/zhaodw下,运行解压命令: tar -xzvf davytest.tar 则在/home/zhaodw的路径下面,解压出/home/zhaodw/davytest/data,则在/home/zhaodw下有/home/zhaodw/davytest/data这样的路径及文件 但是,不好意思,我不想要/home/zhaodw/davytest/data这个路径,我只想将data的文件夹解压到/home/zhaodw中,要怎么办? 就是说我不想打包中有路径名只想将最后的文件,要怎么办? 另外记上一个参数:-C。运行如下命令: tar -czvf davytest.tar.gz -C /home/otheruser 即把davytest.tar.gz的文件解压到/home/otheruser这个路径下,而不是在当前路径下 其中-czvf中的解释如下: -c 建立一个新的文件 -z 自动使用 gzip 压缩,如果您用了这个选项,最好后缀使 .gz -v 给出较多的讯息 (verbose) -f 命令行的下一项是要建立的那个文件的名字或者要使用的设备的名字 -x 解开文件 其它觉得比较好的参数: -r 增加文件    tar -rf davytest.tar davytest.html 即把davytest.html追加到davytest.tar中 但是,如果在tar的时候加上了参数z,则不可以用-r,会提示tar: Cannot append to compressed archive,可见追加只能到打包的文件中,不能到压缩的文件中 -u 更新文件,注意对压缩的文件不可用 tar -uf all.tar logo.gif
  这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。 -t 列出文件,可对压缩的文件用 tar -tf all.tar
  这条命令是列出all.tar包中所有文件,-t是列出文件的意思
......

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

sed 命令(2007-11-28 09:33:00)

摘要:目录:

★ 命令行参数简介
★ 首先假设我们有这样一个文本文件 sedtest.txt
★ 输出指定范围的行 p
★ 在每一行前面增加一个制表符(^I)
★ 在每一行后面增加--end
★ 显示指定模式匹配行的行号 [/pattern/]=
★ 在匹配行后面增加文本 [/pattern/]a\ 或者 [address]a\
★ 删除匹配行 [/pattern/]d 或者 [address1][,address2]d
★ 替换匹配行 [/pattern/]c\ 或者 [address1][,address2]c\
★ 在匹配行前面插入文本 [/pattern/]i\ 或者 [address]i\
★ 替换匹配串(注意不再是匹配行) [addr1][,addr2]s/old/new/g
★ 限定范围后的模式匹配
★ 指定替换每一行中匹配的第几次出现
★ &代表最后匹配
★ 利用sed修改PATH环境变量
★ 测试并提高sed命令运行效率
★ 指定输出文件 [address1][,address2]w outputfile
★ 指定输入文件 [address]r inputfile
★ 替换相应字符 [address1][,address2]y/old/new/
★ !号的使用
★ \c正则表达式c 的使用
★ sed命令中正则表达式的复杂性
★ 转换man手册成普通文本格式(新)
★ sed的man手册(用的就是上面的方法)

★ 命令行参数简介

sed
-e script 指定sed编辑命令
-f scriptfile 指定的文件中是sed编辑命令
-n 寂静模式,抑制来自sed命令执行过程中的冗余输出信息,比如只
显示那些被改变的行。

不明白?不要紧,把这些肮脏丢到一边,跟我往下走,不过下面的介绍里
不包括正则表达式的解释,如果你不明白,可能有点麻烦。

★ 首先假设我们有这样一个文本文件 sedtest.txt

cat > sedtest.......

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

时间与时间戳 linux与php(2007-11-27 18:09:00)

摘要:linux下显示时间的时间戳: 当前时间:date +%s 特定时间:date +%s -d "20071126 00:12:00"  PHP中,脚本内容如下:   <?php
  echo date('U'); 显示unix的从unix纪元的时间戳
  
  echo strtotime("today")."\n"; 显示当前时间的时间戳
  $davytest=strtotime("today")+720; 其中strtotime的类型为int
  var_dump(strtotime("today"));
  var_dump($davytest);
  $stamp = mktime(0, 12, 0, 11, 26, 2007); 将小括号里的时间转换为时间戳,小时,分,秒,月,日,年
  echo "mktime".$stamp."\n";
  var_dump(getdate($stamp)); 将时间按小时,分,秒,月,日,年,和时间戳,按数组形式显示
  echo date("M-d-Y H:i:s", $stamp)."\n"; 将时间戳按月,日,年,小时:分:秒的形式打印出来,注意分是i
  ?......

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

php标准的输入输出(2007-11-27 11:46:00)

摘要:还是用脚本来说话: <?php
// ask for input
fwrite(STDOUT, "Enter your name: "); // get input
$name = trim(fgets(STDIN)); 接收用户输入 // write input back
fwrite(STDOUT, "Hello, $name!");
?> 运行:php inouttest.php 运行结果为:
Enter your name: davy
Hello, davy! 其中: 常量 说明 STDIN 标准的输入设备 STDOUT 标准的输出设备 STDERR 标准的错误设备 可以在PHP脚本里使用这三个常量,以接受用户的输入,或者显示处理和计算的结果。 PHP处理过程如下:fwrite()函数首先会向标准的输出设备写一条消息,询问用户的姓名。然后它会把从标准输入设备获得的用户输入信息读取到一个PHP变量里,并它把合并成为一个字符串。然后就用fwrite()把这个字符串打印输出到标准的输出设备上......

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

php中的$argv和$argc(2007-11-27 11:38:00)

摘要:php 中可使用命令行变量。太多文字太抽象,用脚本来说话:  <?php
  echo $argv[1]."\n";
  echo $argv[2]."\n";
  echo $argc."\n";
  print_r($argv);
  var_dump($argv);
  ?> 运行脚本时,命令行为:php argvtest.php TQ TQx 则输出结果为: TQ
TQx   $argv是一个数组
3 注意$argc变量,它用来保存$argv数组里元素的个数。要比正常输入的多一个,打印出来才知道,是多了一个脚本文件名称
Array
(
    [0] => argvtest.php
    [1] => TQ
    [2] => TQx
)
array(3) {
  [0]=>
  string(12) "argvtest.php"
  [1]=>
  string(2) "TQ"
  [2]=>
  string(3) "TQx"
}               注意两个打印(print_r,var_dump)的不同......

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

线程,进程和程序的简单比较 (2007-11-26 18:05:00)

摘要:觉得写得很好。出处:http://www.hinn.cn/2007/10/thread_process_program.html 我对于线程,进程的概念一直都是比较模糊,最近整理了一下。总结起来就是,线程是进程的一部分,进程是程序的一部分。
      线程的引入:例如,有一个Web服务器要进程的方式并发地处理来自不同用户的网页访问请求的话,可以创建父进程和多个子进程的方式来进行处理,但是创建一个进程要花费较大的系统开销和占用较多的资源。除外,这些不同的用户子进程在执行的时候涉及到进程上下文切换,上下文切换是一个复杂的过程。所以,为了减少进程切换和创建的开销,提高执行效率和节省资源,人们在操作系统中引入了"线程(thread)"的概念。
      进程的作用和定义:进程是为了提高CPU的执行效率,减少因为程序等待带来的CPU空转以及其他计算机软硬件资源的浪费而提出来的。进程是为了完成用户任务所需要的程序的一次执行过程和为其分配资源的一个基本单位,是一个具有独立功能的程序段对某个数据集的一次执行活动。
      线程和进程的区别:
      1、线程是进程的一部分,所以线程有的时候被称为是轻权进程或者轻量级进程。
      2、一个没有线程的进程是可以被看作单线程的,如果一个进程内拥有多个进程,进程的执行过程不是一条线(线程)的,而是多条线(线程)共同完成的。
      3、系统在运行的时候会为每个进程分配不同的内存区域,但是不会为线程分配内存(线程所使用的资源是它所属的进程的资源),线程组只能共享资源。那就是说,出了CPU之外(线程在运行的时候要占用CPU资源),计算机内部的软硬件资源的分配与线程无关,线程只能共享它所属进程的资源。
      4、与进程的控制表PCB相似,线程也有自己的控制表TCB,但是TCB中所保存的线程状态比PCB表中少多了。
&nbs......

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