系统管理员和程序员

Everythings Sysadmin的作者Tom给一个初级系统管理员回了封Learn your operating system’s internals的信,有讲到每次靠重启解决问题和用猜代替知道的时候总是觉得这是对行业和专业的深深打击。然后又讲了系统管理上三个复杂且容易误解的内容:内存子系统,文件子系统和进程。再加一个是安全子系统,然而这三块的内容又是理解安全的必要前提。总之就是一个系统管理员一定要深入操作系统,知道操作系统到底是怎么工作的。Tom还列了几本针对不同操作系统的书出来,

  • Windows:《Windows Internals》,中文版:《深入解析Windows操作系统》,Russinovich, Solomon and Ionescu
  • Linux:《Linux Kernel Internals》,Beck, Bohme, Dziadzka, Kunitz et al
  • FreeBSD:《The Design and Implementation of the FreeBSD Operating System》,中文版:《FreeBSD操作系统设计与实现》,McKusick and Neville-Neil
  • The TCP/IP Protocol: 《TCP/IP Illustrated》, W. Richard Stevens,中文版:《TCP/IP详解》,W. Richard Stevens

无论你是否使用FreeBSD,都应该读一读FreeBSD的那本。TCP/IP那本就不消说了,现在离了网络的计算机啥也不是!

还有一个Hacker News的贴是问How to step up my coding skills?,提问的人想在半年到一年的时间里成为一个Skilled Programmer,回贴的都说程序员这摊子浑水深了,这点时间是不够的。顶的最多的是说要写代码,也有列了代码量的。不过我觉得Ixiaus列出的建议还是很实用的,比如下面几条:

  • 要成为一个程序员,不是码农。/Ctrl+C/V
  • 不要忽视理论、算法、数据结构和数学
  • 学习多个语言,包括面向对象和函数式编程。

系统管理员和程序员虽是两个不同的职位,但是学习的内容应该说是差不多的,系统管理员甚至要比之程序员学得更多,了解的更多,按三金的话就是:我们知道的状态比其他人多,修好只不过是把系统调到已知状态。


Last modified on 2011-01-06