程序员我的意思是,用户土地程序员还是内核级程序员?
任何提示或启示都非常感激。
希望这不是一个陈词滥调的问题,让每个人都生病。 :P
答案 0 :(得分:5)
从标准的角度来看,确实没有任何区别。 Linux是一个符合“POSIX”标准的操作系统,FreeBSD,Mac OS X和Solaris也都符合“POSIX”标准。至少在理论上。
一旦超越标准,就会有很多不同之处。 Linux作为inotify,udev和其他一系列独特的系统。 FreeBSD有kqueue。他们在ptrace之类的确切实现方面存在差异。例如,Mac OS X的ptrace几乎没有其他Unix系统中的功能。
除了自定义库之外,开发工具也存在差异。 Solaris和FreeBSD都有dtrace。 Linux有valgrind。 Mac OSX有乐器。
您正在考虑的级别会影响您看到或未看到的差异。
答案 1 :(得分:3)
对于userland程序员, no 存在差异。 userland编程将编码为像C这样的语言VM,它将由C库例程转换为低级系统调用。
那些使用其他工具(如Perl,Python,Java等)的人甚至会从内核中删除 more ,因此它也不会直接影响他们。
就内核程序员而言,由于内核本身不同,差异可能很大。虽然我已经在Linux内部做了相当多的工作,但我还没有看到FreeBSD的内部结构,所以我无法对低级别的差异做出明智的评论,但是(最后一点是知情的意见,而不是福音),因为他们运行独立的开发流,具有完全相同的视图的机会很小。