2009年8月20日星期四

对段错误调试文章的补遗和更正


[chen@localhost seg]$ cat -n backtrace2.c
     1  #include <stdio.h>
     2  #include <execinfo.h>
     3  #include <stdlib.h>
     4  #include <signal.h>
     5
     6  /*
     7   * A dummy function to make the backtrace more interesting.
     8   */
     9  void
    10  dummy_function(void)
    11  {
    12          unsigned char *ptr = 0x00;
    13          *ptr = 0x00;
    14  }
    15
    16  void myfunc3(void)
    17  {
    18          dummy_function();
    19  }
    20
    21  void myfunc2(void)
    22  {
    23          myfunc3();
    24  }
    25
    26  void myfunc(int n)
    27  {
    28          if (n > 1)
    29                  myfunc(n-1);
    30          else
    31                  myfunc2();
    32  }
    33
    34  void dump(int signo)
    35  {
    36          void *array[10];
    37          size_t size;
    38          char **strings;
    39          size_t i;
    40
    41          size = backtrace(array, 10);
    42          strings = backtrace_symbols(array,size);
    43
    44          printf("Obtained %zd stack frames.\n", size);
    45
    46
    47          for ( i = 0; i < size ; ++i )
    48                  printf("%s\n",strings[i]);
    49
    50          free(strings);
    51          exit(0);
    52  }
    53
    54  int
    55  main(void)
    56  {
    57          signal(SIGSEGV, &dump);
    58
    59          myfunc(3);
    60
    61          return 0;
    62  }

g++ -g -rdynamic backtrace2.c -o backtrace2
[chen@localhost seg]$ ./backtrace2
Obtained 10 stack frames.
./backtrace2(_Z4dumpi+0x19) [0x804889b]
[0xa65420]
./backtrace2(_Z14dummy_functionv+0x10) [0x8048804]
./backtrace2(_Z7myfunc3v+0x8) [0x8048812]
./backtrace2(_Z7myfunc2v+0x8) [0x804881c]
./backtrace2(_Z6myfunci+0x21) [0x804883f]
./backtrace2(_Z6myfunci+0x1a) [0x8048838]
./backtrace2(_Z6myfunci+0x1a) [0x8048838]
./backtrace2(main+0x31) [0x8048873]
/lib/libc.so.6(__libc_start_main+0xdc) [0x3e1dec]


objdump -d -S backtrace2

080487f4 <_Z14dummy_functionv>:
/*
 * A dummy function to make the backtrace more interesting.
 */
void
dummy_function(void)
 80487f4:    55                       push   %ebp
 80487f5:    89 e5                    mov    %esp,%ebp
 80487f7:    83 ec 10                 sub    $0x10,%esp
{
    unsigned char *ptr = 0x00;
 80487fa:    c7 45 fc 00 00 00 00     movl   $0x0,0xfffffffc(%ebp)
    *ptr = 0x00;
 8048801:    8b 45 fc                 mov    0xfffffffc(%ebp),%eax
 8048804:    c6 00 00                 movb   $0x0,(%eax)
}
 8048807:    c9                       leave 
 8048808:    c3                       ret   
 8048809:    90                       nop   

上述例子说明我之前发布的内容是错误的,通过objdump是可以判断到具体哪一行代码出现段错误。
真是太好了!再次赞叹GNU组织开发出的glibc

Linux下的段错误产生的原因及调试方法

本文内容摘录自过个网站。在Linux下C/C++应用程序段错误经常发生,如何快速准确定位到出错地方,是本文讨论的主要内容。这里介绍两种不同环境下 的解决方法,带gdb调试环境的开发环境和不带gdb的嵌入式或发布环境。这些方法的关键都是利用程序运行调用堆栈来定位出错地点。
关键词:段错误(Segmentation fault),SIGSEGV,gdb,backtrace,objdump

一、段错误简要介绍和分析
[参见http://www.upsdn.net/html/2006-11/775.html]
简而言之,产生段错误就是访问了错误的内存段,一般是你没有权限,或者根本就不存在对应的物理内存,尤其常见的是访问0地址.

一般来说, 段错误就是指访问的内存超出了系统所给这个程序的内存空间,通常这个值是由gdtr来保存的,他是一个48位的寄存器,其中的32位是保存由它指向的 gdt表,后13位保存相应于gdt的下标,最后3位包括了程序是否在内存中以及程序的在cpu中的运行级别,指向的gdt是由以64位为一个单位的表, 在这张表中就保存着程序运行的代码段以及数据段的起始地址以及与此相应的段限和页面交换还有程序运行级别还有内存粒度等等的信息。一旦一个程序发生了越界 访问,cpu就会产生相应的异常保护,于是segmentation fault就出现了.

在编程中以下几类做法容易导致段错误,基本是是错误地使用指针引起的

1)访问系统数据区,尤其是往  系统保护的内存地址写数据
   最常见就是给一个指针以0地址
2)内存越界(数组越界,变量类型不一致等) 访问到不属于你的内存区域

二、解决方案
  1. 带GDB调试环境
先上例子再说。文件d.c内容如下
     1  dummy_function (void)
     2  {
     3          unsigned char *ptr = 0x00;
     4          *ptr = 0x00;
     5  }
     6
     7  int main (void)
     8  {
     9          dummy_function ();
    10
    11          return 0;
    12  }
第四行会造成段错误。
gcc -g d.c -o d 编译生成可执行程序d
运行结果如下
[chen@localhost seg]$ ./d
Segmentation fault

用gdb调试
[chen@localhost seg]$ gdb ./d
GNU gdb Red Hat Linux (6.5-25.el5rh)
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux-gnu"...Using host libthread_db library "/lib/libthread_db.so.1".

(gdb) r
Starting program: /home/chen/code/seg/d

Program received signal SIGSEGV, Segmentation fault.
0x08048364 in dummy_function () at d.c:28
4              *ptr = 0x00;

(gdb) backtrace
#0  0x08048364 in dummy_function () at d.c:4
#1  0x0804837c in main () at d.c:9

按上述步骤,能够清晰看到C文件产生段错误信号SIGSEGV在函数dummy_function()的第四行,和我们判断的一样,backtrace打 印堆栈调用
也是如此。


下面看一个C++例子,多调用一些模板库,会让调试麻烦些,但是这是比较接近实际应用情况。
文件iterbug.cpp内容如下
     1  #include <iostream>
     2  #include <vector>
     3  #include <iterator>
     4  #include <algorithm>
     5  using namespace std;
     6
     7  void dummy_function(void)
     8  {
     9          vector<int> coll1;
    10          vector<int> coll2;
    11
    12          /*
    13           * RUNTIME ERROR:
    14           * - beginning is behind the end of the range
    15           */
    16          vector<int>::iterator pos = coll1.begin();
    17          reverse (++pos,coll1.end());
    18
    19
    20          for ( int i=1; i<=9 ;++i )
    21                  coll2.push_back(i);
    22
    23          /*
    24           * RUNTIME ERROR:
    25           * - overwriting nonexisting elements
    26           */
    27          copy(coll2.begin(), coll2.end(),
    28                          coll1.begin());
    29
    30          /*
    31           * RUNTTIME ERROR:
    32           * - collections mistaken
    33           *   begin() and end() mistaken
    34           */
    35          copy(coll1.begin(), coll2.end(),
    36                          coll1.end());
    37  }
    38  int main()
    39  {
    40          dummy_function();
    41          return 0;
    42  }

三个运行时错误都在代码中注释出来了,后面两个根本不会执行,因为第一个运行时错误会造成程序终止。
 g++ -g iterbug.cpp -o iterbug
将程序编译
运行
[chen@localhost seg]$ ./iterbug
Segmentation fault
[chen@localhost seg]$ gdb ./iterbug
GNU gdb Red Hat Linux (6.5-25.el5rh)
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux-gnu"...Using host libthread_db library "/lib/libthread_db.so.1".

(gdb) r
Starting program: /home/chen/code/seg/iterbug

Program received signal SIGSEGV, Segmentation fault.
0x08048bbf in std::swap<int> (__a=@0x4, __b=@0xfffffffc)
    at /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/stl_algobase.h:97
97            _Tp __tmp = __a;
这时候进入了STL的代码里面,这里不太容易看出自身代码是哪里出错。就用backtrace查看堆栈情况
(gdb) backtrace
#0  0x08048bbf in std::swap<int> (__a=@0x4, __b=@0xfffffffc)
    at /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/stl_algobase.h:97
#1  0x08048c03 in std::__iter_swap<true>::iter_swap<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > > (__a={_M_current = 0x4}, __b=
      {_M_current = 0xfffffffc})
    at /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/stl_algobase.h:127
#2  0x08048c22 in std::iter_swap<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > > (__a={_M_current = 0x4}, __b=
      {_M_current = 0xfffffffc})
    at /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/stl_algobase.h:163
#3  0x08048c5f in std::__reverse<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > > (__first={_M_current = 0x4}, __last=
      {_M_current = 0xfffffffc})
    at /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/stl_algo.h:1586
#4  0x08048cc3 in std::reverse<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > > (__first={_M_current = 0x4}, __last=
      {_M_current = 0x0})
    at /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/stl_algo.h:1611
#5  0x080487bc in dummy_function () at iterbug.cpp:17
#6  0x0804891a in main () at iterbug.cpp:40

发现,我们是在0x080487bc in dummy_function () at iterbug.cpp:17发生错误,即iterbug.cpp的17行。我们来查看代码。
(gdb) l dummy_function()
2       #include <vector>
3       #include <iterator>
4       #include <algorithm>
5       using namespace std;
6
7       void dummy_function(void)
8       {
9               vector<int> coll1;
10              vector<int> coll2;
11
(gdb) l
12              /*
13               * RUNTIME ERROR:
14               * - beginning is behind the end of the range
15               */
16              vector<int>::iterator pos = coll1.begin();
17              reverse (++pos,coll1.end());
18
19
20              for ( int i=1; i<=9 ;++i )
21                      coll2.push_back(i);
好了,确实找到了错误所在。
后面就是修正这些逻辑错误了。

上述例子分别来自http://www.upsdn.net/html/2006-11/775.html 和 The C++ Standard Library A Tutorial and Reference
  1. 不带GDB调试环境
在很多嵌入式开发环境下,不能提供gdb,因为gdb运行环境太大了。不过一般的嵌入式开发环境会提供objdump等工具,那么可以通过 backtrace来获得堆栈信息,再用objdump来查看获得的堆栈信息与代码的关联。

http://www.gnu.org/software/libc/manual/html_node/Debugging-Support.html#Debugging -Support上的说明
摘录如下:

33 Debugging support

Applications are usually debugged using dedicated debugger programs. But sometimes this is not possible and, in any case, it is useful to provide the developer with as much information as possible at the time the problems are experienced. For this reason a few functions are provided which a program can use to help the developer more easily locate the problem.


33.1 Backtraces

A backtrace is a list of the function calls that are currently active in a thread. The usual way to inspect a backtrace of a program is to use an external debugger such as gdb. However, sometimes it is useful to obtain a backtrace programmatically from within a program, e.g., for the purposes of logging or diagnostics.

The header file execinfo.h declares three functions that obtain and manipulate backtraces of the current thread.

— Function: int backtrace (void **buffer, int size)

The backtrace function obtains a backtrace for the current thread, as a list of pointers, and places the information into buffer. The argument size should be the number of void * elements that will fit into buffer. The return value is the actual number of entries of buffer that are obtained, and is at most size.

The pointers placed in buffer are actually return addresses obtained by inspecting the stack, one return address per stack frame.

Note that certain compiler optimizations may interfere with obtaining a valid backtrace. Function inlining causes the inlined function to not have a stack frame; tail call optimization replaces one stack frame with another; frame pointer elimination will stop backtrace from interpreting the stack contents correctly.

— Function: char ** backtrace_symbols (void *const *buffer, int size)

The backtrace_symbols function translates the information obtained from the backtrace function into an array of strings. The argument buffer should be a pointer to an array of addresses obtained via the backtrace function, and size is the number of entries in that array (the return value of backtrace).

The return value is a pointer to an array of strings, which has size entries just like the array buffer. Each string contains a printable representation of the corresponding element of buffer. It includes the function name (if this can be determined), an offset into the function, and the actual return address (in hexadecimal).

Currently, the function name and offset only be obtained on systems that use the ELF binary format for programs and libraries. On other systems, only the hexadecimal return address will be present. Also, you may need to pass additional flags to the linker to make the function names available to the program. (For example, on systems using GNU ld, you must pass (-rdynamic.)

The return value of backtrace_symbols is a pointer obtained via the malloc function, and it is the responsibility of the caller to free that pointer. Note that only the return value need be freed, not the individual strings.

The return value is NULL if sufficient memory for the strings cannot be obtained.

— Function: void backtrace_symbols_fd (void *const *buffer, int size, int fd)

The backtrace_symbols_fd function performs the same translation as the function backtrace_symbols function. Instead of returning the strings to the caller, it writes the strings to the file descriptor fd, one per line. It does not use the malloc function, and can therefore be used in situations where that function might fail.

The following program illustrates the use of these functions. Note that the array to contain the return addresses returned by backtrace is allocated on the stack. Therefore code like this can be used in situations where the memory handling via malloc does not work anymore (in which case the backtrace_symbols has to be replaced by a backtrace_symbols_fd call as well). The number of return addresses is normally not very large. Even complicated programs rather seldom have a nesting level of more than, say, 50 and with 200 possible entries probably all programs should be covered.

     #include <execinfo.h>      #include <stdio.h>      #include <stdlib.h>            /* Obtain a backtrace and print it to stdout. */      void      print_trace (void)      {        void *array[10];        size_t size;        char **strings;        size_t i;              size = backtrace (array, 10);        strings = backtrace_symbols (array, size);              printf ("Obtained %zd stack frames.\n", size);              for (i = 0; i < size; i++)           printf ("%s\n", strings[i]);              free (strings);      }            /* A dummy function to make the backtrace more interesting. */      void      dummy_function (void)      {        print_trace ();      }            int      main (void)      {        dummy_function ();        return 0;      } 
好吧,看了这个说明就大致知道了backtrace等三个函数是如何调用的,以及有什么作用。
更多的可以看http://www.kernel.org/doc/man- pages/online/pages/man3/backtrace.3.html上的man page
这时候再回到http://www.upsdn.net/html/2006-11/775.html上给的一个例子

.利用backtrace和objdump进行分析:
[chen@localhost seg]$ cat -n backtrace.c
     1  #include <stdio.h>
     2  #include <execinfo.h>
     3  #include <stdlib.h>
     4  #include <signal.h>
     5
     6  /*
     7   * A dummy function to make the backtrace more interesting.
     8   */
     9  void
    10  dummy_function(void)
    11  {
    12          unsigned char *ptr = 0x00;
    13          *ptr = 0x00;
    14  }
    15
    16  void dump(int signo)
    17  {
    18          void *array[10];
    19          size_t size;
    20          char **strings;
    21          size_t i;
    22
    23          size = backtrace(array, 10);
    24          strings = backtrace_symbols(array,size);
    25
    26          printf("Obtained %zd stack frames.\n", size);
    27
    28
    29          for ( i = 0; i < size ; ++i )
    30                  printf("%s\n",strings[i]);
    31
    32          free(strings);
    33          exit(0);
    34  }
    35
    36  int
    37  main(void)
    38  {
    39          signal(SIGSEGV, &dump);
    40          dummy_function();
    41
    42          return 0;
    43  }
一样是第十三行出现错误

gcc -g -rdynamic backtrace.c -o backtrace
编译运行
在man page里面说明了使用backtrace函数需要用-rdynamic参数进行编译

[chen@localhost seg]$ ./backtrace
Obtained 5 stack frames.
./backtrace(dump+0x19) [0x80486c2]
[0x192420]
./backtrace(main+0x2a) [0x8048756]
/lib/libc.so.6(__libc_start_main+0xdc) [0x3e1dec]
./backtrace [0x80485e1]
这里打印出了堆栈调用情况
我们用objdump来查看0x8048756这样的地址到底是什么地方
 objdump -d -S backtrace > backtrace.dump
查看backtrace.dump文件,搜索上面那几个十六进制地址


backtrace:     file format elf32-i386

Disassembly of section .init:


    ...

08048694 <dummy_function>:
 * A dummy function to make the backtrace more interesting.
 */
void
dummy_function(void)
{
 8048694:    55                       push   %ebp
 8048695:    89 e5                    mov    %esp,%ebp
 8048697:    83 ec 10                 sub    $0x10,%esp
    unsigned char *ptr = 0x00;
 804869a:    c7 45 fc 00 00 00 00     movl   $0x0,0xfffffffc(%ebp)
    *ptr = 0x00;
 80486a1:    8b 45 fc                 mov    0xfffffffc(%ebp),%eax
 80486a4:    c6 00 00                 movb   $0x0,(%eax)
}
 80486a7:    c9                       leave 
 80486a8:    c3                       ret   

080486a9 <dump>:

void dump(int signo)
{
 80486a9:    55                       push   %ebp
 80486aa:    89 e5                    mov    %esp,%ebp
 80486ac:    83 ec 48                 sub    $0x48,%esp
    void *array[10];
    size_t size;
    char **strings;
    size_t i;

    size = backtrace(array, 10);
 80486af:    c7 44 24 04 0a 00 00     movl   $0xa,0x4(%esp)
 80486b6:    00
 80486b7:    8d 45 cc                 lea    0xffffffcc(%ebp),%eax
 80486ba:    89 04 24                 mov    %eax,(%esp)
 80486bd:    e8 c6 fe ff ff           call   8048588 <backtrace@plt>
 80486c2:    89 45 f4                 mov    %eax,0xfffffff4(%ebp)
    strings = backtrace_symbols(array,size);
 80486c5:    8b 45 f4                 mov    0xfffffff4(%ebp),%eax
 80486c8:    89 44 24 04              mov    %eax,0x4(%esp)
 80486cc:    8d 45 cc                 lea    0xffffffcc(%ebp),%eax
 80486cf:    89 04 24                 mov    %eax,(%esp)
 80486d2:    e8 91 fe ff ff           call   8048568 <backtrace_symbols@plt>
 80486d7:    89 45 f8                 mov    %eax,0xfffffff8(%ebp)

    printf("Obtained %zd stack frames.\n", size);
 80486da:    8b 45 f4                 mov    0xfffffff4(%ebp),%eax
 80486dd:    89 44 24 04              mov    %eax,0x4(%esp)
 80486e1:    c7 04 24 40 88 04 08     movl   $0x8048840,(%esp)
 80486e8:    e8 8b fe ff ff           call   8048578 <printf@plt>


    for ( i = 0; i < size ; ++i )
 80486ed:    c7 45 fc 00 00 00 00     movl   $0x0,0xfffffffc(%ebp)
 80486f4:    eb 17                    jmp    804870d <dump+0x64>
        printf("%s\n",strings[i]);
 80486f6:    8b 45 fc                 mov    0xfffffffc(%ebp),%eax
 80486f9:    c1 e0 02                 shl    $0x2,%eax
 80486fc:    03 45 f8                 add    0xfffffff8(%ebp),%eax
 80486ff:    8b 00                    mov    (%eax),%eax
 8048701:    89 04 24                 mov    %eax,(%esp)
 8048704:    e8 8f fe ff ff           call   8048598 <puts@plt>
 8048709:    83 45 fc 01              addl   $0x1,0xfffffffc(%ebp)
 804870d:    8b 45 fc                 mov    0xfffffffc(%ebp),%eax
 8048710:    3b 45 f4                 cmp    0xfffffff4(%ebp),%eax
 8048713:    72 e1                    jb     80486f6 <dump+0x4d>

    free(strings);
 8048715:    8b 45 f8                 mov    0xfffffff8(%ebp),%eax
 8048718:    89 04 24                 mov    %eax,(%esp)
 804871b:    e8 38 fe ff ff           call   8048558 <free@plt>
    exit(0);
 8048720:    c7 04 24 00 00 00 00     movl   $0x0,(%esp)
 8048727:    e8 7c fe ff ff           call   80485a8 <exit@plt>

0804872c <main>:
}

int
main(void)
{
 804872c:    8d 4c 24 04              lea    0x4(%esp),%ecx
 8048730:    83 e4 f0                 and    $0xfffffff0,%esp
 8048733:    ff 71 fc                 pushl  0xfffffffc(%ecx)
 8048736:    55                       push   %ebp
 8048737:    89 e5                    mov    %esp,%ebp
 8048739:    51                       push   %ecx
 804873a:    83 ec 14                 sub    $0x14,%esp
    signal(SIGSEGV, &dump);
 804873d:    c7 44 24 04 a9 86 04     movl   $0x80486a9,0x4(%esp)
 8048744:    08
 8048745:    c7 04 24 0b 00 00 00     movl   $0xb,(%esp)
 804874c:    e8 d7 fd ff ff           call   8048528 <signal@plt>
    dummy_function();
 8048751:    e8 3e ff ff ff           call   8048694 <dummy_function>

    return 0;
 8048756:    b8 00 00 00 00           mov    $0x0,%eax
}
 
    ...

上面用红色标注出来的就是那几个地址了
[chen@localhost seg]$ ./backtrace
Obtained 5 stack frames.
./backtrace(dump+0x19) [0x80486c2]
[0x192420]
./backtrace(main+0x2a) [0x8048756]
/lib/libc.so.6(__libc_start_main+0xdc) [0x3e1dec]
./backtrace [0x80485e1]
我们再看看这些地址分析下。
最后一次调用堆栈是 ./backtrace(dump+0x19) [0x80486c2]这肯定是backtrace函数调用,
./backtrace(main+0x2a) [0x8048756]则是我们自己写的程序最后出错地方。
8048756:    b8 00 00 00 00           mov    $0x0,%eax
对应的是return 0,呵呵,我们出错的地址是在8048756的上一条。即
8048751:    e8 3e ff ff ff           call   8048694 <dummy_function>
所以我们在没有用gdb的情况,可以判断段错误发生在函数dummy_function上,但是具体在哪一行就不能获得。

建议将这些内容看看,如果对这些感兴趣的。
http://www.upsdn.net/html/2006-11/775.html
http://www.gnu.org/software/libc/manual/html_node/Debugging-Support.html#Debugging-Support
http://www.kernel.org/doc/man-pages/online/pages/man3/backtrace.3.html
<完>

2009年8月19日星期三

人类最丑陋的行为艺术 地球上最邪恶的美

摄影师亨利·费尔携其系列作品"地球上的工业伤疤"在意大利,德国和新加坡等国举行

了巡回摄影展。他以自己的镜头控诉工业文明给地球带来的不可修复的环境破坏。该系列

作品以艺术家独有的视角,通过对色彩和形态的巧妙捕捉,将人们的矛盾心理推至极端:

乍看是绚烂多彩的艺术摄影,可在知晓它们竟是工业废料排放带给地球的极度破坏后,

任谁都会有触目惊心之感吧。



煤矿开采业争分夺秒地攫取着大地的资源。爆破,挖掘,不惜破坏生态,仅为取其所

需。图中瓦砾堆上的小型推土机将松动的沙石推至下方接应的推土机中。而后旁边待命

的装载车将沙石卸入附近的河谷中。河谷中的溪流就是这么被填平的。瓦砾堆上矗立着

的小树丛,在黄昏暮色下瑟瑟发抖,难逃被连根拔起的命运。
末日矗立


这是燃煤发电厂的废料排放池。燃煤发电所排放的灰烬和烟雾都是有毒物质。另外,高浓度的的砷,

杜松醇,铬,铅,硒,硫酸盐,硼等多种污染物也是燃煤发电的排放物。大自然中的有害辐射物,

主要来自于燃煤发电厂。
巨大人工调色盘


这是一个造纸厂的水流处理曝气池。该厂主要生产化妆面纸。在活水流向河流之前,

该处理池以其特有的微生物分解出水中所含的有机木质纤维。这个曝气过程将会分

解掉水流中的水粒子以向处理池当中的微生物提供氧气。

完美花布



生产制造可为燃料的煤时,矿物煤必须和含有多种化学元素

的水流混合加工。这就形成了如图所示波澜壮阔的的煤泥流。

工厂通常会建造木质堤坝拦截煤泥流。但通常这些木质堤坝

形同虚设。煤泥流夹带着煤和多种有毒化学物质,喷薄而下,

汇入河流。

黑血


这张图片中羽毛状的泡沫是在铝土废料中形成的。铝金属是从铝土中提炼的。

提炼时需要先用腐蚀性化学制品和大功率电流制造出氧化铝,而后电解还原

氧化铝以得到铝。这个过程会从液态物质里分解出铝土的固体杂质。该图

展示的就是对杂质的排放情况。此外,在制铝过程中所排放出的全氟化碳

则是温室效应的元凶之一。
地球的淤血


西绪弗斯是希腊神话中的一个人物,他因为卓尔不凡的智慧惹恼了众神。作为惩罚,
他被判要将一块永远都会在最后一刻滚进山谷的大石头推上山顶。他注定不会成功,
将永远重复着这单一反复的动作。该图所示的是一辆在推铲石油焦炭的推土机。石
油焦碳是炼油产生的衍生品,可被用作能量资源和碳源。作为能量资源,71%的
石油焦碳被用作燃料来生产水泥,石灰,热电联产以及其他工业用途。而作为碳源,
它则可被用于生产铝制品和钢铁制品。

西绪弗斯的往复运动


这张图所展示的是用硫酸等化学成分制造磷酸盐原料时所排放出的具有放射性的酸性有害物质。
这些化工物质沿着废弃肥料渠为大地抹上两道黑与金。它们会渗入地表水,而后污染到地下水。
化肥是现代农业工业化革命的推动力之一。但据研究数据推测,不到50年,地球上的磷酸盐将
被耗尽。此外,民以食为天,种植粮食的土壤也因使用化肥而越发贫瘠。最终,化肥将会
侵入水源,污染江河湖海。

黄黑


这是佛罗里达州一座巨型磷酸盐废料渠的排通管道。
它排除的工业废料汇集成流,最终与地下水汇合。
剧毒巧克力


在提炼过磷酸盐后,工业废料就会排放到这里进行加工。
在废料渠中对它们进行固液分离。
邪恶的触须


这个装载架正在将木材移卸到火车上。这些木材的命运,
即被绞成纸浆,成为卫生纸和面纸。
树木屠宰场


该图所示的是巴吞鲁日一处曾经繁忙熙攘的制铝厂留下的一片狼籍。
衰败


这张图片所展示的是工人们在一处废坑中钻探泥浆。这些堪钻运作留下的副产品有
大量的碎石,钻头润滑剂以及放射性物质。这种形式的"废坑再开发"显示了勘探开
采的无休无止,没有穷尽。图片右下角的机械喷涂是违法操作,这将会威胁到该地
段的地下水体。
水力压裂钻探场


这个废料坑位于一处水力压裂钻探场。它再次揭示了对废料坑的
再次开采。同样,这种喷涂是违法的,并会污染地下水。
废料坑


天然气钻探嵌入农田中,开采资源。签了租约的农民们正在寻求法律途径逃离此地。
这些天然气钻探不仅及其碍眼,而且还会抽干该地区的地下水,污染水井,并波及
附近区域。
探测厂+探测厂


 <完>

2009年7月24日星期五

贺仲雄: 步入知本时代---漫谈学习科研与成才

步入知本时代

---漫谈学习科研与成才

(部分人的真实姓名隐去)

贺仲雄

本文段落:

引言 步入知本时代
一.喜逢科坛添新秀——青春 篇
二.钗于匣内待时飞 ——求知篇
三.衣带渐宽终不悔 ——奋斗篇
四.千叩柴扉百回开—— 拜师篇
五.跨溪结屋更清奇——选 题篇
六.石梯连云上九重——攀登 篇
七.红袖添香夜读书——家庭篇
八.人生难得几次搏——拼搏篇

九.笑看蓓蕾春雨时——成 才篇

2009年7月22日星期三

国内外常用数据库介绍

 
 

jfp 通过 Google 阅读器发送给您的内容:

 
 

于 09-6-26 通过 科学堂 作者:刀客

一、中国 

1、中国知网(CNKI)   http://www.cnki.net/
     中国知识基础设施工程(China National Knowledge Infrastructure,CNKI)是由清华同方光盘股份有限公司、清华大学中国学术期刊电子杂志社、光盘国家工程研究中心联合建设的综合性文献数据库,于1999年6月在

CERNET上开通了中心网站(http://www.cnki.net),在CHINANET上开通了第二中心网站(http://www.chinajournals.com),并且在许多图书馆和情报单位建立了镜像站点。目前CNKI已建成了中国期刊全文数据库、优秀博硕士学位论文数据库、中国重要报纸全文数据库、重要会议论文全文数据库、科学文献计量评价数据库系列光盘等大型数据库产品,中国期刊全文数据库为其主要产品之一。
     CNKI中国期刊全文数据库(Chinese Journal Full-text Database,CJFD)收录了1994年至今的6600种核心期刊与专业特色期刊的全文,积累全文文献618万篇,分为理工A(数理化天地生)、理工B(化学化工能源与材料)、理工C(工业技术)、农业、医药卫生、文史哲、经济政治与法律、教育与社会科学、电子技术与信息科学9个专辑,126个专题文献数据库。网站及数据库交换服务中心每日更新,各镜像站点通过互联网或光盘来实现更新。

2、中文科技期刊数据库/维普数据库(VIP)  http://www.cqvip.com/
     由科技部西南信息中心直属的重庆维普资讯公司开发,收录1989年以来8000余种中文期刊的830余万篇文献,并以每年150万篇的速度递增 。维普数据库按照《中国图书馆图书分类法》进行分类,所有文献被分为7个专辑:自然科学、工程技术、农业科学、医药卫生、经济管理、教育科学和图书情报,7大专辑又进一步细分为27个专题。

3、中国科学引文数据库(CSCD) http://sdb.csdl.ac.cn/index.jsp
     中国科学引文数据库(Chinese Science Citation Database,CSCD)创建于1989年,1999年起作为中国科学文献计量评价系列数据库(ASPT)的A辑,由中国科学院文献情报中心与中国学术期刊电子杂志社联合主办,并由清华同方光盘电子出版社正式出版,是我国最大、最具权威的科学引文索引数据库—中国的SCI,为我国科学文献计量和引文分析研究提供了强大的工具。
 CSCD收录了国内数学、物理、化学、天文学、地学、生物学、家林科学、医药卫生、工程技术、环境科学和管理科学等领域的中英文科技核心期刊和优秀期刊,其中核心库来源期刊为650种。

4、Medch  http://www.medch.cn/
      medch数据库是北京唯博赛科技有限公司打造的医学类专业网站,提供外文文献的检索和全文传递服务。特点如下:
     1)、外文文献检索
      medch外文文献检索:提供1995年至今的800万篇医学文献,涵盖70多个国家的1万多本医学期刊.
      pubmed检索:数据与pubmed检索完全同步,具备高级检索与二次检索等检索方式,同时支持全文传递.
     2)、外文期刊导航
     介绍了国内外医学期刊1万余种,多数都有英文刊名、中文刊名、期刊缩写、投稿须知、中英文介绍。
     3)、外文书籍导航
      收录医学书籍10万余本,全部都有详细介绍,便于读者了解国际医学书籍现状。
     4)、医学翻译
      除了提供医学词汇翻译功能外,还提供大量原文为英文(含中文翻译)及原文为中文(含英文翻译)的双语医学读物,辅助读者理解。
     5)、药品说明书
      处方资料(药品说明书)可通过药品商品名、通用名检索国内合法使用的全部19万种药品。除了可以查看某种药品的通用说明书外,还可以浏览这个药品的所有生产厂家,以及单个生产厂家的特定说明书。
     
5、全国中西日俄文期刊联合目录数据库
 http://union.csdl.ac.cn/Union/index.jsp
     是全国性的连续出版物联合目录数据库。数据库报道国内 400多家图书情报单位收藏的中西日俄文期刊10万余种,收录的单位遍及中国科学院全院和北京地区各大图书情报单位以及国内一些大的图书情报单位。如中科院文献情报中心、中信所、北京大学图书馆、清华大学图书馆、国防科工委情报所、医科院图书馆、农科院图书馆等。从2000年起,数据库在国内率先对网络期刊进行系统的收集与编目,目前数据库收录网络西文期刊5194种,用户可通过数据库光盘或网络版直接连接到各期刊网站浏览期刊目次文摘信息。

6、中国生物医学文献数据库(CBMDisc)  http://cbmwww.imicams.ac.cn/
     是中国医学科学院医学信息研究所开发的,收录了1978年以来1,600多种中国生物医学期刊以及汇编、会议论文的文献题录,总计340余万条记录,年增长量约40万条。学科范围涉及基础医学、临床医学、预防医学、药学、口腔医学、中医学及中药学等生物医学的各个领域。全部题录均根据美国国立医学图书馆最新版《医学主题词表》(MeSH词表)和中国中医研究院图书情报研究所新版《中医药学主题词表》进行了主题标引,并根据《中国图书资料分类法》进行分类标引。

二、美国

1、Wiley InterScience http://www.interscience.wiley.com/

Wiley InterScience是John Wiely & Sons 公司创建的动态在线内容服务,1997年开始在网上开通。通过InterScience,Wiley公司以许可协议形式向用户提供在线访问全文内容的服务。Wiley InterScience收录了360多种科学、工程技术、医疗领域及相关专业期刊、30多种大型专业参考书、13种实验室手册的全文和500多个题目的Wiley学术图书的全文。其中被SCI收录的核心期刊近200种。期刊具体学科划分为:Business, Finance &Management (商业、金融和管理)、Chemistry (化学)、Computer Science (计算机科学)、Earth Science (地球科学)、Education (教育学)、Engineering (工程学)、Law (法律)、Life and Medical Sciences(生命科学与医学)、Mathematics and Statistics (数学统计学)、Physics (物理)、Psychology (心理学) 。

如何用代理注册自己的wiley interscience密码

忘记了是在哪里看到的了,不过的确是好用,我已经注册了一个,介绍给大家,大家不妨也注册一个。wiley interscience原来的确验证方法已经失效,大家不妨用SD代理试试看,一般来说定了SD的图书馆大多也定了wileyinterscience。

注意:(1)必须进入代理后进行注册,否则没有相应的权限,注册后要击活,方法是:进入代理后登陆—–点MYPROFILE——–点ActivateRoaming Access即可。
(2)当你手上有INTERSCIENCE的密码时,不要忘记去看看过期了没有!inTERSCIENCE的PWD用90天左右,必须续用!(据说不必须进入代理就右进行续用)方法是快到期之前点MYPROFILE——–点ActivateRoaming Access—–点LICENSE SOURCES、REFRESH ROAMING ACCESS即可。

2、isiknowledge/SCI  http://www.isiknowledge.com/
     SCI收录最重要的学术期刊和收录论文的参考文献并索引。("一个有效的索引必须严格限制它的收录范围,基本上应只收集对研究者有用的信息"。—Eugene Garfield, Ph. D)
     SCI覆盖学科领域:
  农业、天文学与天体物理、生物化学与分子生物学、生物学、生物技术与应用微生物学、化学、计算机科学、生态学、工程、环境科学、食品科学与技术、基因与遗传、地球科学、免疫学、材料科学、数学、医学、微生物学、矿物学、神经科学、海洋学、肿瘤学、儿科学、药理学与制药、物理学、植物科学、精神病学、心理学、外科学、通信科学、热带医学、兽医学、动物学等150 多个学科领域。收录期刊每一期每一篇文献。

     Social Sciences Citation Index(SSCI)
多学科综合性社会科学引文索引:全面收录1,800多种社会科学期刊,也收录Science Citation Index Expanded所收录的期刊当中涉及社会科学研究的论文。包括人类学、商业、沟通、犯罪学和刑罚学、经济学、教育、环境研究、家庭研究、地理学、老年医学和老年病学、卫生政策和服务、计划与发展、历史、工业关系与劳工问题、图书馆学和信息科学、语言与语言学、法律、政治科学、心理学、精神病学、公共卫生、社会问题、社会工作、社会学、药物滥用、城市研究、妇女问题、社会科学。

    Arts & Humanities Citation Index (http://pcs.isiknowledge.com/
哲学、语言、语言学、文学评论、文学、音乐、哲学、诗歌、宗教、戏剧、考古学、建筑、艺术、亚洲研究、古典、舞蹈、电影/广播/电视、民俗、历史。

3、美国IEEE   http://www.ieee.org/
IEEE(Institute of Electrical & Electronics Engineers)是电子信息领域最著名的跨国性学术团体,其会员分布在世界150多个国家和地区。据IEEE统计,IEEE会员总数2001年比2000年增加3.1%,达到377342人,其中学生会员为65669人,增长12.6%。
随着人们的信息越来越多地来自Internet,IEEE需要为会员提供更加完善和全面的电子信息产品和服务。IEEE应成为IEEE会员获得信息的首选之地。IEEE必须识别正确的信息,并提供对它们的访问方法。实现这个目标的重要一步是通过IEEE Xplore与IEEE/IEE Electronic Library (IEL)连接。IEL包括了1988年以来IEEE和IEE的所有期刊杂志和会议录,以及IEEE的标准,可以通过题目、关键词和摘要进行查阅。

4、美国EBSCO(英文文献期刊)  http://ejournals.ebsco.com
数据库简介:
  EBSCO公司从1986年开始出版电子出版物,共收集了4000多种索引和文摘型期刊和2000多种全文电子期刊。该公司含有Business Source Premier (商业资源电子文献库)、Academic Search Elite(学术期刊全文数据库)等多个数据库。 500XK6
  Business Source Premier收录了三千多种索引、文摘型期刊和报纸,其中近三千种全文刊。数据库涉及国际商务、经济学、经济管理、金融、会计、劳动人事、银行等的主题范围,适合经济学、工商管理、金融银行、劳动人事管理等专业人员使用。数据库中有较著名"华尔街日报"(The Walls Street Journal)、"哈佛商业评论"(Harvard Business Review)、"每周商务"(Business Week)、"财富"(Fortune)、"经济学家智囊团国家报告" (EIU Country Reports)、 American Banker、Forbes、The Economist等报刊。该数据库从1990年开始提供全文,题录和文摘则可回溯检索到1984年,数据库每日更新。
  学术期刊集成全文数据库(Academic Search Premier,简称ASP):包括有关生物科学、工商经济、资讯科技、通讯传播、工程、教育、艺术、文学、医药学等领域的七千多种期刊,其中近四千种全文刊。
EBSCO内含有两个免费数据库:
ERIC为(Educational Resource Information Center) (教育资源信息中心)是美国教育部的教育资源信息中心数据库,收录980多种教育及和教育相关的期刊文献的题录和文摘,包括250多种EBSCO收录的全文杂志教育文献数据库,数据为1967至今。

Newspaper Source (报纸资源)
Newspaper Source收录159种美国地方报纸、18种国际性报纸、6个新闻专线、9个报纸专栏,包括基督教科学箴言报、洛山矶时报等194种报纸的全文。 另外还收录4种美国全国性报纸的索引和摘要。附:
Academic Search Elite 多学科学术期刊 全文
Academic Search Premier 多学科学术期刊 全文
Business Source Elite 商业、管理、财经 全文
Business Source Premier 商业、管理、财经 全文
EconLit 经济学 文摘
Communication & Mass Media Complete (CMMC) 传播和大众传媒 全文 AGRICOLA 农业 文摘
EBSCO Hospital Package 医学、生物医学
MEDLINE 医学 文摘
Biomedical Reference Coll.: Comp. Ed. 生物医学 全文
Health Business Elite 医疗管理 全文
Psychology & Behavioral Sci. Coll.: Comp. Ed. 心理学和行为科学 全文
CINAHL 医学 - 护理学 文摘
Nursing & Allied Health Coll.: Comp. Ed. 医学 - 护理学 全文
Cochrane Collection 医学 - 护理学 全文
International Pharmaceutical Abstracts(IPA) 药学 文摘
SPORTDiscus 医学 - 运动医学 文摘
PsycINFO 心理学 文摘
ERIC 教育学 文摘
Professional Development Collection 教育学 全文
Canadian MAS FULLTEXT Elite 中、小学期刊读物 全文
Scientific American Archive Online 综合性科技期刊 全文
EBSCO Language & Literature Collection 语言文学数据库集锦
American Humanities Index 人文科学 文摘
MLA International Bibliography 语言文学 文摘
Cloumbia Granger's Poetry Database 诗歌 全文
MagillOnLiterature Plus 文学 全文
Military Library FullTEXT 军事 全文
MasterFILE Premier 综合性期刊 全文
Newspaper Source 综合性报纸 全文
World Magazine Bank 综合性杂志 全文

5、ProQuest http://proquest.umi.com/login

ProQuest博士论文全文学位论文全文数据库收录的是PQDD数据库中部分记录的全文。PQDD的全称是ProQuest Digital Dissertations,是世界著名的学位论文数据库,收录有欧美1,000余所大学文、理、工、农、医等领域的博士、硕士学位论文,是学术研究中十分重要的信息资源。它是UMI公司的一个分库。

UMI公司简介:
  该公司的全称是UMI,The answser Company (UMI有问必答公司),成立于1938年,是全球最大的信息存储和发行商之一,也是美国学术界著名的出版商,它向全球160多个国家提供信息服务,内容涉及商业管理、社会科学、人文科学、新闻、科学与技术、医药、金融与税务等。其出版物包括18,000多种外文缩微期刊、7000多种缩微报纸、150多万篇博士/硕士论文、20多万种绝版书及研究专集:从1980年起该公司开始电子出版物的制作与发行:如光盘数据库、磁带数据库、联机数据库等。

UMI提供以下三种数据库:
学术研究图书馆(Academic Research Library,简称ARL)
  综合参考及人文社会科学期刊论文数据库,涉及社会科学、人文科学、商业与经济、教育、历史、传播学、法律、军事、文化、科学、医学、艺术、心理学、宗教与神学、社会学等学科,收录2,300多种期刊和报纸,其中全文刊占三分之二,有图像。可检索1971年来的文摘和1986年来的全文。
商业信息数据库(ABI/INFORM)
  ABI即为Abstracts of Business Information的缩写,世界著名商业及经济管理期刊论文数据库,收录有关财会、银行、商业、计算机、经济、能源、工程、环境、金融、国际贸易、保险、法律、管理、市场、税收、电信等主题的1,500多种商业期刊,涉及这些行业的市场、企业文化、企业案例分析、公司新闻和分析、国际贸易与投资、经济状况和预测等方面,其中全文刊超过50%,其余为文摘,有图像。

医学电子期刊全文数据库(ProQuest Medical Library)
  该数据库收录有220种全文期刊,文献全文以PDF格式或文本加图像格式存储;收录范围包括所有保健专业的期刊,有护理学、儿科学、神经学、药理学、心脏病学、物理治疗及其它方面。

6、美国Netlibrary(英文电子图书) http://www.netlibrary.com
NetLibrary处在美国科罗拉多州波尔德尔市,于1999年成立,是世界上向图书馆提供电子图书的主要提供商。NetLibrary于2002年1月25日成为OCLC联机计算机图书馆中心的下属部门。目前,世界上7000多个图书馆通过netLibrary存取电子图书,其中包括哥伦比亚大学,斯坦福大学,加州大学伯克莱分校,以及世界上其他成千的大小图书馆。
OCLC netLibrary目前提供400多家出版社出版的60,000多种电子图书,并且每月增加约2,000种。这些电子图书覆盖所有主题范畴,约80%的书籍是面向大学程度的读者。大多数NetLibrary的电子图书内容新颖,近90%的电子图书是1990年后出版的。

netLibrary是OCLC的一个部门,是当前世界上eBook的主要提供商,它提供来自300多个出版商的50,000多种高质量电子图书,这些电子图书的90%是1990年后出版的,每月均增加几千种。

7、Drug Information Fulltext  http://www.ovid.com/site/catalog/DataBase/48.jsp
Drug Information Fulltext (DIFT) 收录来自逾2000本药物学专著的约110,000种目前在美国市场上通行的药物的信息。该数据库收录了两种主要的出版物:《可注射药物手册》和《美国医院处方服务药物信息》。
 《可注射药物手册》(Handbook on Injectable Drugs ,HID)是可注射药物稳定性和兼容性方面最可信赖的参考书,收录了300多种商品药的记录和药物研究方面的重要信息。
 《美国医院处方服务药物信息》(AHFS Drug Information)是权威的参考书,被人们称作"大红书"而广为人知,致力于为药剂师和卫生保健专业人员提供最详细的问题答案。提供在美国可以使用的每一种单药的评估信息,有超过5万种药物产品细节。收录包括药物的使用信息,注意事项,药物的相互作用,化学和稳定性,药理学,药代动力学,毒理学,剂量和给药,制剂等。

8、IPA  http://www.ipa.org/
     国际药学文摘 (International Pharmaceutical Abstract,IPA),1964年发行印刷版,1970年后实现了计算机化服务。IPA数据库主要目的是评论和介绍药学文献,包括药物临床和技术信息、药学实践、药学教育、药学和药物的法律问题,数据由美国医药卫生系统药师协会(American Society of Health-System Pharmacists,ASHP)提供。
     ASHP收集750多种世界各地期刊信息。1988年开始提供美国医院药师协会主要会议发表文章的摘要,现在还提供美国药学会(American Pharmaceutical Association,APHA)和美国药学院协会(American Association ofColleges of Pharmacy,AACP)年会的介绍摘要。
  IPA既包括了美国所有州药学期刊,又包括了大部分化妆品出版物。美国医药卫生系统药师协会(ASHP)选择标准没有文章语种和杂志影响大小的限制,无论社论、评论和其他文字信息,凡是带药学重要信息的都被摘录和索引。
  IPA数据库中药物的术语是依照美国医院药师协会出版、美国医院处方服务机构(American Hospital Formulary Service,AHFS)制定的类目进行分类的,可以在药理学/治疗学分类(PC)字段中检索这些术语。

9、PubMed  http://www.ncbi.nlm.nih.gov/PubMed/
      PubMed是互联网上最著名的免费Medline数据库,由美国国立医学图书馆的生物信息技术中心(National Center for Biotechnology Information,NCBI)提供,网址为:http://www.ncbi.nlm.nih.gov/PubMed/。该系统于1997年开始使用,与以往的Medline光盘数据库相比,收录范围广、更新速度快、界面友好。PubMed的数据主要有4个部分:
     Medline:与我们通常使用的Medline数据库收录的范围、年代、内容相同,但数据更新速度较快。

     OLDMEDLINE:收录了1950-1965年间的美国医学索引(IM)中的题录。
     In Process Citations:临时性的数据库,收录准备进行标引的题录和文摘信息,每天都在接受新的数据,进行文献的标引和加工,每周把加工好的数据加入到Medline中,同时从In Process Citations库中删除。InProcess Citations中的记录标有[PubMed- in process]的标记。
     Record supplied by publisher:出版商将期刊文献信息电子版提供给PubMed后,每条记录都标有[PubMed- as supplied by publisher]的标记,这些记录每天都在不停地向In Process Citations库中传送,加入到InProcess Citations后,原有的标记将改为[PubMed- in process]的标记。由于被Medline收录的有些期刊所涉及学科范围较广,有些文献已超出了Medline的收录范围(如地壳运动、火山爆发等),从而不能进入Medline,但仍然存在于PubMed中,其标记为[PubMed]。       

10、MEDLINE  http://medline.cos.com/
      MEDLINE是美国国立医学图书馆(The National Library of Medicine,NLM)开发的当今世界上最具权威性的文摘类医学文献数据库之一。早期的MEDLINE包括了美国《医学索引》(Index Medicus)、《国际护理索引》(International Nursing Index)和《牙科文献索引》(Index to Dental Literature)三大检索工具的内容,后来又有更多的子文档加入,如AIDS-HIV、Bioethics、Biotechnology等数据库。MEDLINE收录了自1966年以来世界上70多个国家约4,000多种生物医学期刊上发表的论文的题录或文摘,其中大约有75%的文献为英文文献,文献来源以美国为主。目前MEDLINE的记录数已经超过了1,000多万条,覆盖了基础医学、临床医学、护理学、牙科学、兽医学、卫生保健、营养卫生、职业卫生、卫生管理等。数据库不提供全文,大多数文献都带有英文文摘(1975年以前的文献无文摘)。

11、LWW  http://www.lwwonline.com/
      LWW是OVID公司把Lippincott Williams & Wilkins, Inc. (LWW) 核心期刊组成的生物学全文期刊医学专集 ( LWW Fulltext Collection Total Access),是世界上第二大医学出版社,其临床医学及护理学尤为特出。

LWW 电子期刊全文数据库收录235种医学期刊,其中154种为核心刊(90%为英, 美核心刊),约150种刊被ISI 收录,且影响因子较高。回溯期最早至1993年。

12、HMIC  http://www.ovid.com/site/catalog/DataBase/99.jsp
      HMIC(Health Management Information Consortium)包括英国本土及以外的有关卫生管理及相关主题的3个完整的书目数据库,有期刊论文、专论和技术报告等,总记录300,000多条,每年增加12000多条,每半月更新一次。
  1.DH(department of health)data是一个健康信息服务的数据库,包括健康服务和医院管理的信息。

  2.King's Fund Database(KF数据库),包括皇家基金图书馆的书目信息,一个独立健康慈善机构,目的是改善和提高卫生和社会保健服务的管理。图书馆向公众开放,包括的主题有:英国卫生管理和服务、社会保健、服务发展、国立卫生服务组织机构和管理、卫生保健经济学等。记录信息包括图书、小册子、政府报告、期刊论文的摘要和范围广泛的灰色文献。
  3.HELMIS(health management information service)数据库由Nuffield Institute for Health提供,涉及英国、欧洲大陆(包括东欧)和发展中国家的社区护理和卫生系统管理,主题包括初级保健、健康系统改革、比较系统、计划、协同工作、卫生经济学等

13、BP(BIOSIS Previews) http://ovidsp.tx.ovid.com/
     由美国生物科学信息服务社 (BIOSIS)开发,目前是世界上最大的生命科学文摘索引数据库,包含Biological Abstracts, Biological Abstracts/RRM (Reports, Reviews, and Meetings)的内容。BIOSIS Previews覆盖所有生命科学的领域,包括:生物学、生物化学、生物工程学、植物学、临床和实验医学、药理学、动物学、农学和兽医学。它收录了90多个国家的5000多种生物学和生命科学的期刊,以及相关的国际会议、综述、书籍和专利信息。BIOSIS Previews 包括了1969年以来的约1300万条记录。数据库每周更新,每年增加560,000 余条新记录。与MEDLINE比较,BP更偏重与基础和理论研究的报道。

14、《科学在线》(Science Online)   http://www.sciencemag.org/
      由AAAS美国科学促进会出版,Highwire提供平台服务的综合性电子出版物。内容包括《科学》、《今日科学》《科学快讯》、《信号转导知识环境》和《衰老科学知识环境》。
    《科学》周刊(Science):创建于1880年,是在国际学术界享有盛誉的综合性科学周刊。影响因子在所有科技类出版物中排名第一。
 《今日科学》(Science Now) :《科学》周刊的新闻组为网上用户提供的有关科研成果或科学政策的最新消息和相关报道。
 《科学快讯》(Science Express):《科学》用于及时报道研究文章的网上预先出版服务。
 《信号转导知识环境》(Science'STKE):包括了研究人员和学生在别处查询不到的原始评论、观点以及编辑指南;具有独特的连接标识图,用于访问有关细胞信号路径的构成与关系的数据库。包含了原始的协议,展现了关于实验方法的重要实验技巧和指南。STKE 的索引是按照Index Medicus/MEDLINE编写的。还包括一本虚拟期刊,能够从50多种期刊中查找到成千上万篇关于信号转导方面最好的文章。
 《衰老科学知识环境》(Science'SAGE KE):包含了原始的评论、观点和意见以及由研究团体成员所撰写的对神经退化病例的研究,这些都是在别处无法看到的;囊括了由一流科学家们报道和撰写的有关这一领域最新发展及意义(本周最重要的)的大纲以及较为详细的新闻文章。SAGE KE 创造了一个虚拟社区,为研究人员提供了相互交换信息和讨论的机会;为用户提供途径,通过虚拟期刊获取成千上万篇有关衰老科学文章的文摘。SAGE KE的主编和科学顾问团成员都是在这一领域非常活跃的研究人员,通晓该领域的最新发展。

三、荷兰

1、Sciencedirect  http://www.sciencedirect.com/  http://elsevier.lib.tsinghua.edu.cn/
荷兰Elsevier Science公司出版的期刊是世界上公认的高品位学术期刊,它拥有1263种电子全文期刊数据库,并已在清华大学图书馆设立镜像站点:ScienceDirect OnSite(SDOS)。国内11所学术图书馆于2000年首批联合订购SDOS数据库中1998年以来的全文期刊。 它得到70多个国家认可,中国高校每月下载量高达250万篇。包括2200多种期刊,780多万篇全文,包括在编文章;2000多种图书,包括常用参考书、系列丛书、手册;6000多万条摘要。涉及农业和生物科学、生物化学、遗传学和分子生物学、商业,管理和财会、化学工程学、化学、计算机科学、决策科学、地球和行星学、经济学、计量经济学和金融、社会科学、能源和动力、工程和技术、环境科学、免疫学和微生物学、材料科学、数学、医学、神经系统科学、药理学、毒理学和药物学、物理学和天文学、心理学。

2、EMBASE http://www.embase.com/
EMBASE.com是Elservler公司2003年推出的新产品。作为全球最大最具权威性的生物医学与药理学文献数据库,EMBASE.com将EMBASE(荷兰医学文摘) (1974年以来)的900多万条生物医学记录与600多万条独特的MDELINE(1966年以来)的记录相结合。囊括了7O多个国家/地区出版的6500多种刊物,覆盖各种疾病和药物信息,尤其涵盖了大量欧洲和亚洲医学刊物,是其它同类型数据库所无法匹敌的,真正满足生物医学领域的用户对信息全面性的需求。

EMBASE.com是Elsevier推出的针对生物医学和药理学领域信息所提供的基于网络的数据检索服务。EMBASE收录文献内容广泛,不仅包括基础和临床医学,还包括与医学相关的许多领域,如药物研究、药理学、配药学、药剂学、药物副作用、毒物学、生物工艺学、保健策略与管理、药物经济学、医疗公共政策管理、公共职业与环境卫生、药物依赖性及滥用、精神科学、替代与补充医学、法医学和生物医学工程等。

3、Cell Press  http://www.cell.com/cellpress
     荷兰Elsevier出版集团的生命科学领域内的一个著名品牌。它出版了Cell、Neuron等九种前沿学术期刊,这些期刊文章被广泛引用,是公认的了解生物医学最新学术成果的必读文献。  
     Cell Press的期刊在ISI学科排名中名列前茅。Cell在2007年的影响因子为29.887,在过去7年中有6年都被列为细胞生物学、生物化学、分子生物学领域内的顶级刊物。另外一些新的期刊,如Molecular Cell,Developmental Cell 和Cancer Cell等已迅速成为各自研究领域内的顶级刊物。目前包括Cell、 Neuron、Immunity、 Molecular Cell、Developmental Cell、 Cancer Cell、Current Biology、 Structure、Chemistry &Biology。

4、荷兰OVID(英文文献期刊) http://gateway.ovid.com
它由Wolters Kluwer集团之一OVID科技公司是由总裁Mark Nelson于1984年创立于纽约,由一人开始营业,扩展至目前已有将近200人。分公司分布于世界各地,如:雪梨、伦敦、巴黎……等地。公司名称也从最早的OnlineResearch System改名为CD Plus,CDP echnologies,而至目前的OVID Technologies,以强调突显Ovid公司与客户及软体间的专业关系。
Ovid是一全球性的资讯公司,以创造容易撷取资讯、独立于平台之媒介为使命。无论我们的顾客使用Dos、Windows、Unix或全球资讯网和Java平台,皆可经由Ovid一般使用者介面轻易地撷取资讯。公司的发展最初由医学起家,从Medline至目前已包涵人文、社会、科技等近百种资料库。
1984 发展第一代检索界面
1990 发表CDPNet,建立第一套以PC为基础,经由Novell环境检索的网路系统
1991 发表CDPNet Version 2.0,并荣获Information World Review评为年度最佳产品
1992 Beta version of Ovid 3.0成为Medline第一个Windows界面的产品
1993 发表Unix版系统,并荣获Information Today评为最佳使用界面及检索引擎
1994 1. 并购BRS公司,开启CDP Online业务
   2. 公开发行股票于美国地区上市
1995 1. 发表Windows和VT-100界面Z39.50相容的Ovid Client/Server
    2. 发表Ovid Core Biomedical Collection及Ovid全文系统
    3. 荣获Business Week评为全美排行第14大成长迅速的公司
1996 发表Z39.50相容的Ovid Web Gateway
1997 发表第一套Java检索介面-Ovid Java Client
1998 1. 发表400种STM(Science Technology Medicine)电子全文期刊
    2. 九月份Wolters Kluwer采购Ovid公司股票,Ovid公司原为检索软体出版公司,现为Wolters Kluwer集团之一员,因Wolters Kluwer公司为全球知名900种期刊之出版商,故现今Ovid除了出版检索软体,也是Information Provider。

5、Kluwer www.springerlink.com/
包含电子图书和期刊。
荷兰Kluwer Academic Publisher是具有国际性声誉的学术出版商,它出版的图书、期刊一向品质较高,备受专家和学者的信赖和赞誉。Kluwer Online是Kluwer出版的600余种期刊的网络版,专门基于互联网提供Kluwer电子期刊的查询、阅览服务。2005年, Kluwer Acdemic Publisher被德国施普林格(Springer-Verlag)收购,Kluwer Online全部文献资料(包括2006年之前出版的)并入SpringerLink。

Kluwer Online电子期刊,涵盖24个学科专题。其学科分类及其期刊种数如下:
Psychology ( 心理学 ) 85 种
Biological Sciences ( 生物学 ) 121 种
Law ( 法学 ) 80 种
Medicine ( 医学 ) 112 种
Philosophy ( 哲学 ) 44 种
Chemistry ( 化学 ) 81 种
Social Sciences ( 社会科学 ) 46 种
Computer Sciences ( 计算机和信息科学 ) 60 种
Business Administration ( 工商管理 ) 30 种
Mathematics ( 数学 ) 67 种
Education ( 教育 ) 29 种
Engineering ( 工程 ) 36 种
Economics ( 经济学 ) 31 种
Physics  ( 物理学 ) 21 种
Linguistics ( 语言学 ) 9 种
Materials Sciences ( 材料科学 ) 27 种
Humanities ( 人文科学 ) 8 种
Earth Sciences ( 地球科学 ) 27 种
Archaeology ( 考古学 ) 6 种
Electrical Engineering ( 电气电子工程 ) 16 种
Operations Research/Management Science ( 运筹学 / 管理学 ) 5 种
Environmental Sciences ( 环境科学 ) 23 种
Art ( 艺术 ) 1 种
Astronomy ( 天文学 / 天体物理学 / 空间科学 ) 9 种 

四、英国

1、Ingenta http://www.ingenta.com/
Ingenta网站是Ingenta公司于1998年建成的学术信息平台。在几年的发展中,该公司先后兼并了多家信息公司,合并了这些公司的数据库。2001年,Ingenta公司兼并了Catchword公司,近期Ingenta准备将两家公司的信息平台整合为一体。在整合之前,用户可分别从Ingenta.com和Catchword.com查询对方提供的全部信息。整合后可提供全球190多个学术出版机构的全文联机期刊5,400多种,以及26,000多种其它类型出版物。目前,Ingenta公司在英国和美国多个城市设有分公司,拥有分布于世界各地的10,000多个团体用户和2,500多万个个人用户,已成为全球学术信息服务领域的一个重要的文献检索系统。

2、Blackwell www.blackwell-synergy.com
Blackwell出版公司是世界上最大的期刊出版商之一(总部设在英国伦敦的牛津),以出版国际性期刊为主,包含很多非英美地区出版的英文期刊。它所出版的学术期刊在科学技术、医学、社会科学以及人文科学等学科领域享有盛誉。
  近年来,Blackwell出版的期刊不断发展。目前,Blackwell出版期刊总数已超过700种,其中理科类期刊占54%左右,其余为人文社会科学类。涉及学科包括:农业、动物学、医学、工程、数学统计、计算机技术、商业经济、生命科学、物理学、人文科学、艺术、社会及行为科学等。
  Blackwell出版期刊的学术质量很高,很多是各学科领域内的核心刊物,据最新统计,其中被SCI收录的核心期刊有239种,被SSCI收录的有118种。

3、《不列颠百科全书》(Encyclopedia Britannica,EB)  http://search.eb.com/
     又称《大英百科全书》,在西方百科全书中享有盛誉。Encyclopedia Britannica Online(EB Online)作为第一部Internet网上的百科全书,1994年正式网上发布以后受到各方好评,多次获得电子出版物或软件方面的有关奖项。目前,Encyclopedia Britannica Online的用户已遍及国外各高校、中小学、公共图书馆及政府机构。特别是在欧美地区,几乎每个图书馆都在使用EB Online电子版。EB Online已成为世界上使用最广泛的电子参考工具之一。

4、BMJ  http://www.bmj.com/
     BMJ出版集团成立于1840年,是BMA(British Medical Association)的一部分,作为医学和专业期刊领域领先的出版社,BMJ一直致力于"为医疗、保健专业人员以及科研团体和公众出版权威的出版物",旗下包括BMJ

Journal Collection、Clinic Evidence、BestTreatments、BMJ Learning。
     BMJ Journal Collection (BMJ期刊专辑)不仅包括著名的《英国医学期刊》(British Medical Journal),而且还收录了从医疗保健管理到神经学等领域的其他22种期刊,编者来自世界各地,如美国、澳大利亚、加拿大、香港、欧洲、东南亚地区。出版的许多期刊都在其各自领域处于世界领先地位,如Gut(《内脏》)、Thorax(《胸腔》)、Archives of Disease in Child (《儿童期疾病档案》)以及Annals of the Rheumatic Disease(《风湿病年鉴》) 。所有期刊均可以在线获得,涵盖专业领域、大众健康和循证医学领域,主要为临床期刊,旨在帮助医务工作者提高日常工作经验。(http://journals.bmj.com/
     Clinical Evidence(临床实证)是一个不断更新的有关常见临床干预影响实证的最佳资源。它提供病症的概述,以及用于该病症的预防和治疗干预手段的优缺点;强调支持特定干预手段的最佳可得实证,重在为患者带来最佳结果;涵盖了治疗和护理中所见到的最常见病症。
     Clinical Evidence Online (临床实证在线)现涵盖500个主题以及超过2000种的治疗方法;每月都在不断的在线扩充更新资料和新主题;包括链接至PubMed、Embase和Cochrane精华内容的参考资料;包括一些不在印刷期刊中出版而仅有网络版的主题;还提供其它服务,如:电子邮件提醒服务;诸如常见缩写、术语和药物名称指南之类的有关网站工具;讲座用的下载版EBM(循证医学培训)模块;借助PDA方式快捷的获得全部的临床实证内容。(http://www.clinicalevidence.com

BMJ 期刊专辑列表:
British Medical Journal(《英国医学期刊》)
Annals of the Rheumatic Disease(《风湿病年鉴》)
Archives of Disease in Childhood (《儿童期疾病档案》)
British Journal of Ophthalmology(《英国眼科学期刊》)
British Journal of Sports Medicine(《英国运动医学期刊》)
Emergency Medicine Journal(《急诊医学期刊》)
Gut (《内脏》)
Heart(《心脏》)
Journal of Clinical Pathology(《临床病理学期刊》)
Journal of Medicine Ethics (《医学伦理学期刊》)
Journal of Medical Genetics(《医学遗传学期刊》)
Journal of Neurology, Neurosurgery and Psychiatry (《神经病学、神经外科学及精神病学期刊》)
Postgraduate Medical Journal (《研究生医学期刊》)
Quality and Safety in Health Care(《医疗保健的品质与安全》)
Sexually Transmitted Infections(《性传播感染疾病》)
Thorax(《胸腔》)

循证医学类期刊
Evidence-Based Medicine (《循证医学》)
Evidence-Based Mental Health(《循证精神健康》)
Evidence-Based Nursing (《循证护理学》)

公共卫生类期刊
Injury Prevention (《伤害预防》)
Journal of Epidemiology and Community Health(《流行病学与社区健康期刊》)
Occupational and Environmental Medicine(《职业与环境医学》)
Tobacco Control(《烟草控制》)   
4、OUP全文数据库
     牛津大学出版社(Oxford University Press,OUP)是世界上历史最悠久和規模最大的大学出版社,现出版180多种同行评审过的期刊,其中三分之二的期刊是与学协会及国际组织合作出版的。覆盖的学术领域,包括生物、医学、化学、心理学、数学、物理、工程、政治、经济、法律、语言、文学、艺术、哲学、社会科学等学科。
  据2006年JCR报告统计,在牛津出版的全部180余种期刊中,被SCI/SSCI收录的期刊有119种。其中SCI收录123种,去重后为80种,SSCI收录52种,去重后为39种。收录总数超过出版期刊总数的66%。其中Human ReproductionUpdate、Brain、Human Communication Research、Public Opinion Quarterly等期刊的影响因子均在相关领域内排名第一。 (http://www.oxfordjournals.org/

五、德国

1、springer
德国施普林格(Springer-Verlag)是世界上著名的科技出版集团, 通过Springer LINK系统提供学术期刊及电子图书的在线服务。
  Springer公司和 EBSCO/Metapress 公司现已开通Springer LINK电子期刊服务。目前Springer LINK所提供的全文电子期刊共包含439种学术期刊(其中近400种为英文期刊),按学科分为以下11个"在线图书馆":生命科学、医学、数学、化学、计算机科学、经济、法律、工程学、环境科学、地球科学 、物理学与天文学,是科研人员的重要信息源。
  目前大部分期刊可以阅读全文,但也有一些期刊尚不能阅读全文,一般规律是:显示pdf字样的,可以打开全文,显示remote pdf字样的,则不能打开全文,目前代理公司正在解决此事。
Springer Link 涵盖的学科范围及种数:
 Law (法律): 5种 Environmental (环境科学): 37 种
 Medicine (医学): 179种 Geoscience (地球科学): 53种
 Mathematics (数学): 73种 Life Science (生命科学): 105种
 Economics (经济学): 30种 Chemical Sciences (化学): 36种
 Engineering (工程): 58种 Computer Science (计算机科学):45种
 Physics and Astronomy(物理与天文学):61种

六、瑞士

1、S.Karger  http://www.karger.com/
     S.Karger AG 公司,是瑞士一家著名医学和科技出版公司,於1890年创建于德国柏林,创始人Samuel Karger立志要将其发展为医学专业出版公司。目前,S.Karger的出版品以医学为主,学科领域涵盖了传统医学和现代医学最新的发展,从变态学到肿瘤学、从内分泌学到肾脏学、从神经系统科学到遗传学等所有生物医学相关领域。是目前全球为数不多完全专注于医学领域的出版社,也是医学及生物科学界享有盛誉的出版社之一,曾因出版众多科学家与诺贝尔奖获得者的专著而盛名。现有41个系列丛书 (print and electronic),每年出版约150本书新书,包括连续出版物和非连续出版物。S.Karger全球著名的医学刊物:
血液学Acta Haematologica
泌尿和肾脏学 American Journal of Nephrology
泌尿和肾脏学 Blood Purification
心血管系统Cardiology
牙科,口腔外科及其医药Caries Research
外周血管疾病Cerebrovascular Diseases
基因和遗传Cytogenetic and Genome Research
皮肤病和性病Dermatology
胃肠道学,肝脏学Digestion
免疫学International Archives of Allergy and Immunology
传染病学,微生物学,病毒学Intervirology
外周血管疾病Journal of Vascular Research
泌尿和肾脏学Nephron
内分泌学和新陈代谢Neuroendocrinology
肿瘤学Oncology
耳鼻喉科ORL
胃肠道学和肝脏学Pancreatology
精神病学Psychotherapy and Psychosomatics
呼吸系统Respiration
神经影像Stereotactic and Functional Neurosurgery
老年医学和老年学Dementia and Geriatric Cognitive Disorders

相关日志


 
 

可从此处完成的操作:

 
 

2009年7月14日星期二

[Fwd: [Unix-Center.Net] Unix-Center.Net需要您的帮助]

我从2007年就开始使用Unix-Center的资源了,作为一个学生,我真的很喜欢这个
地方,很喜欢蒋先生为教育的投入和付出。作为一个学生,我没有收入,但是我仍
然会尽力帮助这个伟大的项目。我相信这个项目会潜移默化地改变一代人,改变一
个国家的IT事业。
向蒋先生致敬,向所有关心国家、教育的人致敬!

Unix-Center这个公益项目出现经济困难了,希望大家能帮助下。
下面是原文。

尊敬的用户:

这是Unix-Center.Net的群发邮件。您收到这封邮件,是因为您是Unix-Center.Net的注册会员。如果您已经通过其他途径收到过类似的邮件,请接受我诚挚的道歉。

我恳请诸位花一点时间读完这篇文章,因为将有数以万计的人会从您的爱心中得到帮助。

Unix-Center.Net的目标是为研究、学习和使用各种版本的Unix和类Unix操作系统的教师、学生和工程技术人员提供一个体验和测试各种版本的Unix和类Unix系统的软硬件平台。该平台能够为所有注册用户免费提供SSH/VNC服务,MySQL数据库服务,传统的C/C++、 Java、Fortran等多种语言开发环境,基于Apache、MySQL和PHP的Web应用开发环境。简单地讲,Unix-Center.Net的注册用户可以远程登录进入多个不同的操作系统,具备自己独立的用户空间和磁盘配额,享受该操作系统上普通用户的所有权限,学习和使用各种版本的Unix和类Unix操作系统的常用命令和功能,可以将自己正在开发的应用程序上载到Unix体验中心的服务器,在不同的软硬件平台上编译和运行。

到目前为止,Unix-Center.Net所提供的操作系统包括AIX 5.3,Solaris 10,OpenSolaris 2009.04,Fedora Core 10,Ubuntu 8.04,FreeBSD 6.2,Debian Linux for MIPS。这些操作系统分别运行在IBM Power 5,Sun UltraSPARC T1,AMD Opteron,Intel Xeon,龙芯2E等不同构架的处理器上。各种各样的服务器,再加上交换机、防火墙、存储等等,Unix-Center.Net的全部设备需要整整三个机柜才能够装得下。

中国大陆的网络环境很独特。拿各个大学的接入情况来看,清华北大等高校是通过中国教育科研网(CERNET)接入互联网的,以中科院为代表的一大批科研院所访问国内网站是需要先从国外绕一大圈再绕回来的,南方相当多的高校是通过公网(网通、联通、电信)接入互联网的。由于Unix- Center.Net的主要服务对象是学生,所以选择将服务器托管在互连互通条件比较好的北京赛尔机房,不然的话大部分学生访问起来都有困难。

这个网站不是政府所设置的开放实验室,也不是任何网络公司投资的创新项目。它是我的个人网站。

做这样一个网站的缘起很简单。因为工作的关系,我注意到很多高校 -- 即使是非常好的高校 --也没有办法给学生提供一个全面的环境来学习操作系统。大部分学校的机房,运行的操作系统清一色的是Windows。极少数学校的机房可以提供一两个版本的 Unix或者是Linux操作系统,但是和市面上版本繁多的操作系统相比较,可以选择的余地是在太少。在处理器构架方面,基本上都是x86/x64处理器,学生可能听说过其他种类的处理器,但是基本上没有机会见到,更不用说是使用了。因此,我萌发了一个极其简单的想法:买一些不同构架的服务器,安装上不同种类的操作系统,托管到一个机房,开放注册账号,免费地提供SSH登录服务。我是一个急性子的人,想到的事情就要赶紧去做,于是Unix- Center.Net的雏形在2007年初上线了。我没有想到的是,在短短的时间里便有上万名用户注册到这个系统,并且对系统功能提出了更多的需求。于是我赶紧添加新的服务器,并且恳求朋友帮忙开发一些必要的程序,逐渐完善这个系统的功能。

我于2000年底硕士毕业之后,在美国工作了三年,又在中国工作了六年。在过去的两年半中,这个系统烧掉了我大部分的工资和积蓄。购买各种服务器设备的费用,大概是70万人民币;北京赛尔机房的服务器托管和带宽费用,大概是每年30万人民币。(由于Unix-Center.Net对于推广我的雇主的操作系统有很大的帮助,我的雇主曾经在我的游说之下为Unix-Center.Net提供了半年的带宽费用。但是考虑到Unix-Center.Net同时提供其他种类的操作系统,我的雇主后来中止了对Unix-Center.Net的支持。)和我同年龄的人,现在大部分都有车有房了吧。而我最值钱的资产,是在保安严密的机房中的三个机柜。

我曾经和国家负责推广Linux和开源技术的机构取得联系,也曾经和某些教育部门取得联系,希望能够得到他们的支持。但是"有关部门"的负责人听取了我的陈述之后,不约而同地摇摇头,说:"你这个事情做得很好。很遗憾我们不能够给你提供任何帮助。"我也曾经考虑过将这个网站用商业化的模式来运作,但是这个公益性平台所服务的对象大部分是穷学生和穷教师,暂时并没有盈利的空间。并且,我自认为我是一个做事的人,而不是一个做生意的人。让我自己来运营一家公司的话,赚钱的可能性并不大。

中国是一个发展中国家,我们有很多教师、学生和工程人员希望能够学习Unix/Linux系统,却又苦于没有合适的环境和条件。Unix- Center.Net存在的目的,就是给这些爱好Unix/Linux的人一个学习和练习的条件。用一个简单的数据来说,到2009年6 月底,Unix-Center.Net的注册用户接近9 万人。我不知道这么多人都在这些服务器上做什么事情,但是我相信这些服务器对他们有用。譬如说,清华大学教授操作系统课程的一位教授告诉我说他让学生们到 Unix-Center.Net来对不同的操作系统进行比较。又譬如说,我收到中国科技大学一位博士生的电子邮件,说是他利用这些服务器完成了毕业论文中比较关键的一些计算。这些有限的证言,让我坚信这个系统是有其存在的意义的。尽管没有获得"有关部门"的支持,我从来都没有想过要放弃。

坦率地说,我现在遇到了一些困难。我所在的公司,在这次经济危机中被收购了。我不能够确定将来我是否还有能力将这个系统支持下去。但是我非常希望能够维持这个系统的运行,因为它确实对很多人有用。如果您也相信这一点的话,我希望您能够帮助我将这个系统维持下去。不管是10元、100元还是1000 元,对于Unix-Center.Net的用户来说都是莫大的帮助。

如果您在中国,您可以将您的捐款通过转帐支付给我的个人银行账号:

中国银行北京市分行清华园支行
蒋清野
4563-5101-0088-4741-228

招商银行北京市分行清华园支行
蒋清野
6226-0901-0156-8117

支付宝账户
13511026844

如果您在国外,您可以将您的捐款通过PayPal支付给我的个人账号(qjiang@ieee.org),或者是通过转帐支付到我在CitiBank的个人账号:

CitiBank
FDIC Routing #: 321171184
Account Name: Qingye Jiang
Account #: 40038862963
Debit Card #:5262-2519-8546-8207

我还恳请您在捐款之后给我发一封电子邮件(电子邮件地址qjiang@ieee.org),详细说明您的个人姓名以及捐款数目,以便我定期地整理和公布捐款情况。

如果您希望进一步了解关于我个人的情况,欢迎您访问我个人的博客http://www.qyjohn.net/

如果您希望进一步了解关于Unix-Center.Net的情况,欢迎您访问Unix-Center.Net的网站http://www.unix-center.net/?page_id=2

如果您愿意进一步帮助Unix-Center.Net,请您将这篇文章转贴到您认为合适的论坛、社区,或者是转发给您的同事和朋友。

这一件事情,纯粹是我的个人行为。但是我仍然希望我能够代表Unix-Center.Net的用户对您说一声:谢谢您的爱心,谢谢您的支持。

蒋清野
2009年7 月13日

[Fwd: [Unix-Center.Net] Unix-Center.Net需要您的帮助]