20 世纪 80 年代,出现了两种最流行的操作系统,
1)系统V由 AT&T 创建
2)BSD创建于加州大学伯克利分校
一些BSD变种是OpenBSD、FreeBSD、MAC OS X
一些系统V变体有 AIX/HP-UX/Solaris
Linux于 1991 年创建,由以下材料制成:
GNU工具(用户空间)+Linux内核(内核空间)
比较UNIX 内核 vs GNU hurd vs Linux 内核,基本的/相关的UNIX/Linux 内核用户所知道的区别在于内核集成(构建)策略方法,
在 UNIX 中、核心内核和服务层(如 MemoryMgmt/ProcessMgmt/IPC/..)被静态编译和链接以创建内核可执行文件。单个静态二进制文件。
在 GNU 赫德,核心内核仅构建为静态可执行文件,服务构建为动态模块。在启动时核心内核被加载并驻留在内存中。核心内核将在需要时动态加载服务层。当不需要服务时,服务将被卸载。具有可加载模块的内核。
优点/缺点:
- 单个静态二进制文件的响应时间较短。
- 具有可加载模块的内核具有更长的响应时间
- 单个静态二进制文件占用更多内存,因为足迹携带所有服务的完整静态图像
- 具有可加载模块的内核占用更少的内存
Linux内核集成(构建)策略称为“模块化内核”,它是上述两种策略的混合。希望你有理由提及GNU赫德。
Linux/UNIX 内核的机制,1) 内核及其服务的工作 2)向用户提供接口(shell和系统调用),始终相同,如下所示,
所以,对于 Linux/UNIX 内核用户来说,
1)更重要的是了解方面的差异内核集成(构建)策略方法。
2)如果UNIX和Linux内核的机制是相同的,那么,我们可以进一步思考不太重要 所谈论的方面不同的实现使用 C 的服务层(Memory_mgmt_policy/drivers/FileSytems/.....)。为什么不那么重要?因为,这是对 Linux/UNIX 内核用户的抽象,并且每个操作系统的实现总是有所不同(永远不会相同),并且也会随时间而变化。
我的问题:
要了解Unix与Linux内核的区别,您同意(上面)提到的两个原因吗?
如果不是,请纠正我。