GNU 小知识(学习笔记)

GNU is not UNIX

GNU 与UNIX兼容,且源码完全开放,使用者开发出来的源码也需开放。

GPL全称:General Public License 通用公共许可证,GPL的核心是保证任何人有共享和修改自由软件的自由。

Linus 为了在 PC 上运行 Unix,在 Minix 的启发下,开发了 Linux。注意,Linux 只是一个系统内核,系统启动之后使用的仍然是 gcc 和 bash 等软件。Linus 在发布 Linux 的时候选择了 GPL,因此符合 GNU 的宗旨

Linux内核遵循GPL协议但不是GNU项目的部分

所有所谓的“Linux”发行版实际上都是 GNU/Linux 的发行版

GNU 第一个软件GNU Emacs 是个编辑器

目标是建立一套完全自由的和可移植的类Unix操作系统。

FSF 自由软件基金会

GNU目前已经推出的软件主要由Emacs──功能强大的编辑环境,GCC──性能优

异的多平台的C,C++,Fortran编译器和其他40多种软件

GCC效率惊人 GCC是C,C++,Objective C(由NeXT公司贡献)三者合一的编译器,它先有一个前端处理程序将C,C++,Ovjective C的语句转换成为一个类似于Lisp的内部语言--RTL,再由一个后端处理程序将其优化后产生目的CPU可以执行的机器代码,因而对于每种新语言来说,只要写好一个新的前端处理程序就可以立刻将此语言移植到GCC已经支持的不同硬件平台上去,而且编译出来的就已经是经过优化的二进制代码。

GNU先开发UNIX已有的应用程序,然后再开发自己的系统核心-Hurd。Hurd是基于Mach这个微内核(micro kernel)上的操作系统核心。

Mach的开发是为了取代BSD的UNIX核心,所以是许多新的操作系统的设计基础。马赫是第一个以多线程方式处理任务的系统

GNU/Linux有一切皆文件的哲学思想,几乎任何东西都可看作一个文件。

内核是操作系统的核心

基于硬件的第一层软件扩充,为其他应用程序提供对计算机硬件的安全访问的一个软件层。内核提供操作系统的最基本的功能,是操作系统工作的基础。

内核负责进程管理、内存管理、文件系统、设备管理、网络

内核中必须嵌入系统中出现的每个外设的驱动

操作系统的代码分成两部分。内核所在的地址空间称作内核空间。当执行到内核空间的一段代码时,我们称程序处于内核态,而当程序执行到外部空间代码时;我们称程序处于用户态。

微核的目标是将系统服务的实现和系统的基本操作规则分离开来。由一个非常简单的硬件抽象层和一组比较关键系统调用组成,这些系统调用仅仅包括了建立一个系统必需的几个部分,如线程管理,地址空间和进程间通信等。

微内核可移植性强、安全并且易于扩展。

宏内核/单内核,是一个很大的进程。它的内部又能够被分为若干模块

模块间的通讯是通过直接调用其他模块中的函数实现的,而不是消息传递,执行速度相对较快。

内核各组件之间的关联很大,也就是常说的耦合性很大,不利于模块化设计。

混合内核实质上也是微内核,是以微内核架构来设计操作系统的核心,在实现上则采用宏内核的作法。让一些微核结构运行在用户空间的代码运行在核心空间,从而保证核心的运行效率足够高。

exokernel也称外内核系统,这种内核不提供任何硬件抽象操作,但是允许为内核增加额外的运行库,程序可以通过这些运行库应用直接或者接近直接地对硬件进行操作。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值