- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
从程序员的角度来看 Linux 内核和 UNIX 内核(例如 FreeBSD)之间的区别。我搜索了几篇关于这个的文章。他们从用户的角度和管理员的角度以及公司经理的角度对这些进行了比较。任何人都可以从程序员的角度找到文章或说些什么吗?
我的意思是程序员,用户级程序员还是内核级程序员?
非常感谢任何提示或启发。
希望这不是一个让每个人都恶心的陈词滥调问题。 :P
最佳答案
从标准的角度来看,确实没有任何区别。 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 有乐器。
您查看的级别会影响您看到或看不到的差异。
关于linux - 从程序员的角度看 Linux 内核和 UNIX 内核(如 FreeBSD)的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5012452/
如果我在 FreeBSD 上,我想编译一些 C 代码。我为此使用了什么#ifdef? 我意识到这是正确的网络搜索应该回答的基本问题,但我找不到正确的搜索词。我看过代码检查 FREEBSD 和/或 __
好的,所以我刚刚读完 FreeBSD 的 kill(2) 的实现,并且正在尝试编写我自己的“kill”。这个系统调用需要 uid和 signum并将信号发送到 uid 拥有的进程,不包括调用进程。 我
如何获取系统中文件描述符的当前计数? 我知道如何获得最大值。 % sysctl kern.maxfiles kern.maxfiles: 8232 引用: http://www.freebsd.org
我继承了一个多台运行 jails 的 FreeBSD6.1 机器的环境。 由于本地网络上的 IP 耗尽,我想更改 jails,以便在物理网络上有 1 个可路由的 IP,而在 jails 之间有另一个不
如何从源代码在 FreeBSD 10.1 x86_64 上记录系统调用(int 0x80 和 sysenter/syscall 的系统调用编号和返回值)? 我知道 truss 可以完成这项工作,但我需
我的电脑上有 Windows、Linux 和 FreeBSD。但不小心我“忘记”在磁盘末尾分配 17 GB 的可用磁盘空间(“坏”Windows 使用了一个小的主恢复分区。因此我现在有 4 个主分区)
我有一个库,我想在 FreeBSD 上测试它。我的 CI 设置没有任何 FreeBSD 系统,添加它们会很困难,但是我可以在我的 CI 脚本中启动一个 VM。 (事实上 ,我已经这样做是为了在更奇
我负责管理一堆服务器,我想在每个服务器上设置我的提示,这样我就不会对我登录的位置感到困惑。 我已经编辑了我的 .cshrc文件并将其放入其中: set prompt=`whoami`@`hostnam
我正在为 FreeBSD 上的服务器编写错误处理代码。对于极其严重的错误,我想通过立即终止来避免数据损坏。很简单,exit(3) .在我退出之前,我输出引导我到达那里的相关变量。但是,理想情况下,此终
在 FreeBSD 系统上,在下面的顶部输出中,mysql 守护进程处于“sbwait”状态。这意味着什么? last pid: 12833; load averages: 0.18, 0.26
我有一个包含/boot/loader* 和/boot/kernel 等的 FreeBSD 镜像。它在 EC2 实例下启动良好,但我想用 Qemu 启动它。我尝试了各种方法,但都没有奏效。见下文。 qe
我倾向于在 Linux 上使用 cscope 和 ctags。我只是在我的源目录中运行 ctags -R 和 cscope -R 开始浏览源代码。 看起来它在 FreeBSD 中有所不同。 任何人请发
我安装了 FreeBSD 虚拟机,然后运行 sudo pkg install clang-devel。然而 clang-format似乎丢失了: -sh: clang-format: not fo
我正在为不使用 Make 的应用程序 ( Cypress ) 创建一个 FreeBSD 端口;相反,它使用 NPM: npm run binary-build-linux cd cli npm run
我在运行 Java 子进程时遇到性能问题Java下,运行在FreeBSD 9.0-RELEASE i386上。 对于该程序,System.exit() 的运行时间约为 2.6 秒。和我不明白为什么。在
我正在阅读 FreeBSD 的源代码,发现它们有 2 个文件可用于创建 MBR - sys/boot/i386/boot0/boot0.S 和 sys/boot/i386/mbr/mbr.S。 从目前
我正在尝试编写一个可移植的安装脚本来为我的编程语言构建编译器。可以看到脚本here : mkdir ArithmeticExpressionCompiler cd ArithmeticExpressi
我目前正在尝试找到一种在 FreeBSD 9.2 上安装包 openjdk8 的方法。为此,我使用了: sudo pkg install openjdk8 它没有任何问题。但是,这也将 perl 包更
在 FreeBSD 8.4 中,pkg 安装无法运行并出现错误。 $ pkg install git pkg:No active remote repositories configured. pkg
我正在考虑为 FreeBSD 编写一个守护程序,但是,我从来没有做过,而且看起来很棘手。 有没有我可以包含的库,然后只为我的守护进程编写特定的东西? 最佳答案 很抱歉发布这个答案而不是评论 - 我没有
我是一名优秀的程序员,十分优秀!