1.1.2 linux入门和基本操做使用

OS的接口有两类:
GUI:Graphic User Interface(图形界面接口)
Gnome:C 语言研发的图形界面,gtk
KDE :C++,qt
CLI:Command line interface(交互通讯接口)
bash , zsh , sh ,csh ,tcsh ,ksh.
操做系统的功能:
驱动程序
进程管理
安全
网络功能
内存管理
文件系统
......
所谓启动一个程序,就是将一个程序从磁盘上读出来并交给内核,而内核建立出一个可供管理的动态程序,由于内核使用来管理这些程序的。
API:Application program Interface(应用编程接口)程序员面对的接口
ABI:Application binary interface 应用者应对运行程序的接口linux

GUN:源码不能运行,要编译成二进制格式运行,gcc,glibc,vi, linux程序员

Redhat:
发行版,目前linux发行版有数百种之多。目前最主流的发版本:debian(社区方式运做)SLS的子分支slackware,最著名的就是ubantu,knopix,其中有一个分支叫做SuSE(openSUSE);
redhat 9.0以后分裂成两个版本:Redhat Enterprise linux:RHEL 才到7.2:
Centos:Community —Enterprise OS
Gentoo
ARrch Linux
课外做业:
GPL,BSD,Apache 是什么,他们有什么区别?又有什么联系?
Android系统跟他们又有什么关系?
1、GPL:要解释清楚GPL这个东西,必定要把GNU说一说。
GNU:是“GNU is Not Unix”的递归缩写。它的目标是建立一套彻底自由的操做系统,可是因为技术或者其余缘由,GNU组织提供的只是运行的Unix上的一些软件:gcc、vi。
GPL:是General Public License的缩写。也是GNU中包含的协议条款。GPL是GNU试图保证你共享和修改自由软件的自由——保证自由软件对全部用户是自由的。受GPL协议保护的软件,只要使用者对软件进行二次开发或者修复BUG之类的操做,必须公开对源程序修改或添加后的全部代码。
一、确保软件自始至终都以开放源代码形式发布,保护开发成果不被窃取用做商业发售。任何一套软件,只要其中使用了受 GPL 协议保护的第三方软件的源程序,并向非开发人员发布时,软件自己也就自动成为受 GPL 保护而且约束的实体。也就是说,此时它必须开放源代码。
二、GPL 大体就是一个左侧版权(Copyleft,或译为“反版权”、“版权属左”、“版权所无”、“版责”等)的体现。你能够去掉全部原做的版权信息,只要你保持开源,而且随源代码、二进制版附上 GPL 的许可证就行,让后人能够很明确地得知此软件的受权信息。GPL 精髓就是,只要使软件在完整开源的状况下,尽量使使用者获得自由发挥的空间,使软件获得更快更好的发展。
三、不管软件以何种形式发布,都必须同时附上源代码。例如在 Web 上提供下载,就必须在二进制版本(若是有的话)下载的同一个页面,清楚地提供源代码下载的连接。若是以光盘形式发布,就必须同时附上源文件的光盘。
四、开发或维护遵循 GPL 协议开发的软件的公司或我的,能够对使用者收取必定的服务费用。但仍是一句老话——必须无偿提供软件的完整源代码,不得将源代码与服务作捆绑或任何变相捆绑销售。
2、BSD
BSD是Berkeley Software Distribution(伯克利软件套件)的缩写。在1977年至1995年由加州大学伯克利分校开发和发布的。其主要开发者是Bill Joy,而Bill Joy在1982与其余两人建立了太阳微系统公司(Sun Microsystems)。为何BSD诞生在伯克利大学而非其余著名大学?缘由很简单,Unxi系统的创始人,Ken Thompson到他的母校去“支教”了。这一契机为Bill Joy开发BSD提供了基础。历史上, BSD曾经被认为是UNIX的一支——"BSD UNIX", 由于它和AT&T UNIX操做系统共享基础代码和设计。在20世纪80年代,衍生出了许多变形的UNIX受权软件。比较著名的如DEC的Ultrix及Sun公司的SunOS。1990年代,BSD很大程度上被System V4.x版以及OSF/1系统所取代,晚期BSD版本为几个开源软件开发提供了平台而且一直沿用至今。今天,“BSD”并不特指任何一个BSD衍生版本,而是类UNIX操做系统中的一个分支的总称。
1.1.2   linux入门和基本操做使用
上图是 Openfoundry 绘制的 Android 的受权许可证结构,能够看到在 Android 多层软件栈中,仅仅最核心的 Linux 内核使用了 GNU 通用公共许可证,在这个层次上,Google 对 Linux 内核的全部修改必须反馈回 Linux 主版本树(Android 的内核将在 Linux 3.3 版本进行回归,两个版本的 Linux 内核进行融合)。编程

其上层的类库以及应用框架以及所谓用户空间部分,大部分使用了“ 温和 ”的 Apache-2.0 软件许可受权,容许 Android 上的开发商基于 Android 的源代码进行开发而不向社区反馈。基于上文讨论 GPL 的第一个问题,用户空间的类库以及程序使用 Linux 内核的系统调用不被视为是Linux内核的衍生产品,于是得以自由采用 Apache-2.0 的软件受权进行发布。GPL 世界和非GPL世界的分界线在于一个叫作 Bionic Libc 的类库。Bionic Libc 的关键之处在于若是 Bionic Libc 受到内核 GPL 的“感染”,将会波及非 GPL 的用户空间的各个模块。
Android 的 Bionic Libc 的类库,采用 BSD 的许可证受权。在 2008 年 Google IO大会上,一份著名的 PPT:“ Android Anatomy And Physiology ”讲到 Android 使用 Bionic Libc 类库替换Linux经常使用的 Gnu glibc ,其中一个主要缘由是 “ We want to keep GPL out of user-space ”。安全

相关文章
相关标签/搜索