python基础之linux基础

1.1、操作系统

# OS:通用目的的软件程序;

用户
应用程序
操作系统
硬件

 

 

 

# os的功能:

(1)驱动硬件

(2)进程管理

(3)内存管理

(4)网络管理

(5)文件管理

(6)安全管理

# os的分类:

服务器:RHEL,Centos,WindowsServer,Debian等;

桌面:windows7,windows10,MacOS,Ubuntu等;

移动设备:Android,IOS等;

 

1.2、开发接口标准

# ABI

ABI描述了应用程序与OS之间的底层接口,允许编译好的目标代码在使用兼容ABI的系统中无需改变就能运行。

# API

API定义了源代码和库之间的接口,因此同样的源代码可以在支持这个API的任何系统中编译。

# POSIX

IEEE在操作系统上定义的一系列API标准,POSIX兼容的程序可在其他POSIX操作系统编译执行。

 

1.3、用户空间与内核空间
# 用户空间(user space)
用户程序的运行空间,为了安全,他们是隔离的,即便用户程序崩溃,内核也不会受到影响;
# 内核空间(kernel space)
是linux内核运行的空间,可以执行任何命令,调用系统的一切资源;
# 代码
1 name='lxroot'            # 用户空间
2 a=1                          # 用户空间
3 a=a+1
4 file.write(name)              # 切换到内核空间
5 a=a-2            
1.4、各种开源协议说明
# BSD授权:鼓励代码共享,但需要尊重代码作者的著作权;
(1)如果二次发布的产品中包含源代码,则在源代码中必须带有原来的代码中的BSD协议;
(2)如果二次发布的只是二进制格式的库或程序,则需要在发布的文档中说明包含原来代码中的BSD协议;
(3)不可以用源代码的组织或作者和原来产品的名字来作推广;
#Apache Licence 2.0:对商用软件友好的许可;
(1)需要给代码的用户一份Apache Licence;
(2)如果你修改了代码,需要在被修改的文件中做出说明;
(3)在延伸的代码中需要带有原来代码中的协议,商标,专利申明和其他原来作者规定需要包含的说明;
(4)如果再发布的产品中包含一个notice文件,则在notice文中需要带有Apache licence,可以增加自己的许可,但不可表现为对Apache Licence构成更改;
# GPL的出发点是代码的开源、免费使用和修改、衍生代码的开源和免费使用,但不允许修改和衍生的代码作为闭源的商业软件发布和销售;
# LGPL是GPL的一个主要为类库使用设计的开源协议(仅调用库,不需要开源)

猜你喜欢

转载自www.cnblogs.com/soulgou123/p/9365581.html
今日推荐