展开

关键词

套接字socket 的地址族类型、工作原理、创建过程

注:本分类下文章大多整理自《深入分析linux内核源代码》一书,另有参考其他一些资料如《linux内核完全剖析》、《linux c 编程一站式学习》等,只是为了更好地理清系统编程网络编程中的一些概念性问题 (3)在Linux 系统中,socket 属于文件系统的一部分,网络通信可以被看作是对文件的读取,使得我们对网络的控制对文件的控制一样方便。 Linux 将上述套接字地址族抽象为统一的 BSD 套接字接口,应用程序关心的只是 BSD 套接字接口,而 BSD 套接字由各地址族专有的软件支持。 INET BSD 套接字之间的接口通过 Internet 地址族套接字操作集实现,这些操作集实际是一组协议的操作例程,在include/linux/net.h 中定义为struct proto_ops 在内核的初始化阶段,内建于内核的不同地址族分别以 BSD 套接字接口在内核中注册。然后,随着应用程序创建并使用 BSD 套接字。内核负责在 BSD 套接字底层的地址族之间建立联系。

1K120

linaro公司及其op-tee介绍

arm-linux-gnueabihf armv8l-linux-gnueabihf aarch64-linux-gnu arm-eabi aarch64-elf ...... 今天它成为Linaro的一个关键的安全项目,Linaro的几个成员的支持使用它。 ? 关于op-tee使用的license问题: 1,大部分遵循BSD 2-条款。 BSD 代码鼓励代码共享,但需要尊重代码作者的著作权。BSD由于允许使用者修改重新发布代码,也允许使用或在BSD代码上开发商业软件发布销售。 而很多的公司企业在选用开源产品的时候都首选BSD协议,因为可以完全控制这些第三方的代码,在必要的时候可以修改或者二次开发。 但是Linux就是采用的是GPL。 GPL协议BSD, Apache Licence等鼓励代码重用的许可很不一样。

2.7K100
  • 广告
    关闭

    腾讯云+社区系列公开课上线啦!

    Vite学习指南,基于腾讯云Webify部署项目。

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    较流行的4个开源协议

    如果再发布的只是二进制类库/软件,则需要在类库/软件的文档版权声明中包含原来代码中的BSD协议。 (2)不可以用开源代码的作者/机构名字原来产品的名字做市场推广。 (3)BSD 代码鼓励代码共享,但需要尊重代码作者的著作权。BSD由于允许使用者修改重新发布代码,也允许使用或在BSD代码上开发商业软件发布销售,因此是对商业集成很友好的协议。 2.GPL(GNU General Public License) 我们很熟悉的Linux就是采用了GPL。 这也就是为什么我们能用免费的各种linux,包括商业公司的linuxlinux上各种各样的由个人,组织,以及商业软件公司开发的免费软件了。 4.MIT(MIT) MIT是BSD一样宽泛的许可协议,作者只想保留版权,而无任何其他了限制。也就是说,你必须在你的发行版里包含原许可协议的声明,无论你是以二进制发布的还是以源代码发布的。

    11230

    扩展swap分区

    root@gz ~]# gdisk /dev/vdb GPT fdisk (gdisk) version 0.8.10 Partition table scan: MBR: protective BSD swap 8300 Linux filesystem 8301 Linux reserved 8302 Linux /home 8400 data a581 Midnight BSD boot a582 Midnight BSD swap a583 Midnight BSD UFS a584 Midnight BSD ZFS a585 Midnight BSD Vinum a800 Apple UFS a901 NetBSD swap a902 NetBSD 20971486 4.0 GiB 8200 Linux swap Command (?

    15910

    五种开源协议的比较(BSD,Apache,GPL,LGPL,MIT)_

    BSD 代码鼓励代码共享,但需要尊重代码作者的著作权。BSD由于允许使用者修改重新发布代码,也允许使用或在BSD代码上开发商业软件发布销售,因此是对 商业集成很友好的协议。 该协议BSD类似,同样鼓励代码共享尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)。 GPL(GNU General Public License) 我们很熟悉的Linux就是采用了GPL。GPL协议BSD, Apache Licence等鼓励代码重用的许可很不一样。 这也就是为什么我们能用免费的各种linux,包括商业公司的linuxlinux上各种各样的由个人,组织,以及商 业软件公司开发的免费软件了。 其它细节如再发布的时候需要伴随GPL协议等BSD/Apache等类似。

    30210

    扒一扒常见的开源许可协议

    之前看过一幅图,非常清楚的给出了几个常见的开源许可协议(GPL、BSD、MIT、Mozilla、ApacheLGPL)的区别,如下: ? 很多人提到BSD,都会想到Bill Joy这个元老级程序员,这里有一篇关于他的文章(那些神一样的程序员),大家可以查阅。 之前用过的antlrNSubstitute,都是BSD许可协议。 工程本来是想开发一个自由的操作系统,但是后来由于操作系统内核开发速度较慢,同时Linux内核发布了,于是GNU工程就决定复用Linux内核加上自己的一些工具类库,发布了GNU/Linux操作系统,这也是现在各种 linux操作系统发行版(比如:Debian、RHEL、CentOS等)的原型。 所以这些平常用到的Linux操作系统就是大家用过的基于GPL许可协议的开源软件。

    42510

    常见的开源协议

    如果再发布的只是二进制类库/软件,则需要在类库/软件的文档版权声明中包含原来代码中的BSD协议。 不可以用开源代码的作者/机构名字原来产品的名字做市场推广。 BSD 代码鼓励代码共享,但需要尊重代码作者的著作权。BSD由于允许使用者修改重新发布代码,也允许使用或在BSD代码上开发商业软件发布销售,因此是对商业集成很友好的协议。 我们很熟悉的Linux就是采用了GPL。GPL协议BSD, Apache Licence等鼓励代码重用的许可很不一样。 GPL的出发点是代码的开源/免费使用引用/修改/衍生代码的开源/免费使用,但不允许修改后衍生的代码做为闭源的商业软件发布销售。 这也就是为什么我们能用免费的各种linux,包括商业公司的linuxlinux上各种各样的由个人,组织,以及商业软件公司开发的免费软件了。

    41220

    Linux与Unix到底有什么不同

    通过在伯克利的Unix的所有活动,一个新的Unix软件支付诞生了:伯克利软件发行版,或者叫BSD。最初,BSD并不是AT&T的Unix的代替品,而是附加软件功能附加品。 BSD可能是当今所有现代Unix系统中最大的安装基础。此外,在最近的历史中,每一个苹果Mac硬件单元搭载的系统都可以被称为BSD,因为它的OS X(现在的macOS)操作系统是一个BSD-派生。 Linux发行版使用GNU提供的组件、Linux内核,MIT的X-Windows GUI以及其他可以在开源BSD许可下使用的BSD组件来实现。 要注意的一方面是,作为把Linux作为主要目标的开发平台,macOS设备操作系统的普及,可能归功于类BSD的macOS操作系统。很多Linux系统工具脚本可以简单地在macOS终端运行。 此外,Unix树的BSD分支是开源的,而NetBSD、OpenBSDFreeBSD都有强大的用户群开源社区,它们可能不像Linux那样可见或活跃,但在近期的服务器份额报告中保持不变,维持在像Web服务等领域以远高于私有

    45630

    Linux是怎么来的?终于有一篇文章讲清楚了

    汤姆逊丹尼斯里奇 PDP-7计算机 1.3 BSD操作系统 伯克利软件套件(英语:Berkeley Software Distribution,缩写为 BSD ),也被称为伯克利UNIX(Berkeley BSDLinux 早出现,稳定性安全性都在 Linux 之上,甚至 Windows OS X 都有来自 BSD 的代码,但是现在一提到开源自由软件,人们首先想到的是Linux,而不是资格更老的 但是事实证明,Linux 赢得了这场战争,有实力,也有些运气,Linux 在发展的时候,BSD 当时正被官司缠上,没有多余的心思应战 Linux,而BSD腹背受敌的原因很明显是因为他们的商业化,而Linux 汤姆逊丹尼斯里奇 PDP-7计算机 1.3 BSD操作系统 伯克利软件套件(英语:Berkeley Software Distribution,缩写为 BSD ),也被称为伯克利UNIX(Berkeley BSDLinux 早出现,稳定性安全性都在 Linux 之上,甚至 Windows OS X 都有来自 BSD 的代码,但是现在一提到开源自由软件,人们首先想到的是Linux,而不是资格更老的

    52620

    前事不忘,后事之师,唠唠开源的前世今生

    1980 年,DARPA(美国国防部高级研究计划局)想要实现全新的 TCP/IP 协议栈,BSD 版 Unix 成为首选,因为这版代码最公开最容易得到,DARPA 选择伯克利合作开发。 商业化的 Unix 开始 BSD Unix 分歧不断,从技术层面的分歧,到文化层面的分歧不断加深,几乎到水火不容的地步。 随着互联网的兴起,GNU、Linux、开源 BSD 项目才真正被整个 Unix 世界的人们所了解。 1992~1994 年间被关闭了),这使得 BSD 的主要开发者转向了 Linux,大部分原来贡献 Unix 的黑客也开始转向 Linux。 这一点在思想上很大程度上不受传统 Unix 文化影响下的人们的支持,他们反而喜欢类似 BSD 的方式。Torvalds 在这一点上很聪明,他巧妙穿梭在 GPL 协议反 GPL 协议之间。

    7920

    Linux 与 Unix 到底有什么不同?

    通过在伯克利的Unix的所有活动,一个新的Unix软件支付诞生了:伯克利软件发行版,或者叫BSD。最初,BSD并不是AT&T的Unix的代替品,而是附加软件功能附加品。 BSD可能是当今所有现代Unix系统中最大的安装基础。此外,在最近的历史中,每一个苹果Mac硬件单元搭载的系统都可以被称为BSD,因为它的OS X(现在的macOS)操作系统是一个BSD-派生。 Linux发行版使用GNU提供的组件、Linux内核,MIT的X-Windows GUI以及其他可以在开源BSD许可下使用的BSD组件来实现。 要注意的一方面是,作为把Linux作为主要目标的开发平台,macOS设备操作系统的普及,可能归功于类BSD的macOS操作系统。很多Linux系统工具脚本可以简单地在macOS终端运行。 此外,Unix树的BSD分支是开源的,而NetBSD、OpenBSDFreeBSD都有强大的用户群开源社区,它们可能不像Linux那样可见或活跃,但在近期的服务器份额报告中保持不变,维持在像Web服务等领域以远高于私有

    34220

    Linux 与 Unix 到底有什么不同?

    通过在伯克利的Unix的所有活动,一个新的Unix软件支付诞生了:伯克利软件发行版,或者叫BSD。最初,BSD并不是AT&T的Unix的代替品,而是附加软件功能附加品。 BSD可能是当今所有现代Unix系统中最大的安装基础。此外,在最近的历史中,每一个苹果Mac硬件单元搭载的系统都可以被称为BSD,因为它的OS X(现在的macOS)操作系统是一个BSD-派生。 Linux发行版使用GNU提供的组件、Linux内核,MIT的X-Windows GUI以及其他可以在开源BSD许可下使用的BSD组件来实现。 要注意的一方面是,作为把Linux作为主要目标的开发平台,macOS设备操作系统的普及,可能归功于类BSD的macOS操作系统。很多Linux系统工具脚本可以简单地在macOS终端运行。 此外,Unix树的BSD分支是开源的,而NetBSD、OpenBSDFreeBSD都有强大的用户群开源社区,它们可能不像Linux那样可见或活跃,但在近期的服务器份额报告中保持不变,维持在像Web服务等领域以远高于私有

    39400

    开源许可证协议

    一直以来,GPL是Linux软件及各种开源项目中比较受欢迎的项目协议; 首先借用有心人士的一张相当直观清晰的图来划分各种协议:开源许可证GPL、BSD、MIT、Mozilla、ApacheLGPL的区别 BSD 代码鼓励代码共享,但需要尊重代码作者的著作权。BSD由于允许使用者修改重新发布代码,也允许使用或在BSD代码上开发商业软件发布销售,因此是对商业集成很友好的协议。 该协议BSD类似,同样鼓励代码共享尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)。 GPL 我们很熟悉的Linux就是采用了GPL。GPL协议BSD, Apache Licence等鼓励代码重用的许可很不一样。 这也就是为什么我们能用免费的各种linux,包括商业公司的linuxlinux上各种各样的由个人,组织,以及商业软件公司开发的免费软件了。

    59550

    梳理正则表达式发展史

    在 macOS 环境下 从实验结果来看, grep '\d' demo.txt' 命令在 Linux 与 macOS 输出是不一样的,这是因为 macOS 自带的 grep 是 BSD 版本,而 Linux macOS 基于 BSD,预置 BSD 工具链,众多命令行工具与 Linux 下 GNU 工具的行为不一致,例如常见的 gzip , find sed ,以及本文重点提及的 grep。 目前的 BSD 生态系统围绕三大主要操作系统: FreeBSD、OpenBSD、NetBSD DragonFly BSD 其他发行版 参考资料 《精通正则表达式》第 3 版 07 | 正则有哪些常见的流派及其特性 正则表达式“派别”简述 - Keep Coding 正则表达式的历史与几大流派 - 小蒋不素小蒋 - 博客园 Regex cheatsheet GNU 是什么, Linux 是什么关系? - 知乎 Difference Between Linux And BSD | Open Source Operating Systems Unix, BSD, GNU Linux 之间是什么关系?

    20940

    这6种开源协议(GPL,LGPL,BSD,MIT,Apache)的说明选择

    如果再发布的只是二进制类库/软件,则需要在类库/软件的文档版权声明中包含原来代码中的BSD协议。 不可以用开源代码的作者/机构名字原来产品的名字做市场推广。 BSD 代码鼓励代码共享,但需要尊重代码作者的著作权。BSD由于允许使用者修改重新发布代码,也允许使用或在BSD代码上开发商业软件发布销售,因此是对商业集成很友好的协议。 该协议BSD类似,同样鼓励代码共享尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)。 3.3 GPL 我们很熟悉的Linux就是采用了GPL。GPL协议BSD, Apache Licence等鼓励代码重用的许可很不一样。 这也就是为什么我们能用免费的各种linux,包括商业公司的linuxlinux上各种各样的由个人,组织,以及商业软件公司开发的免费软件了。

    5.9K20

    GNULinux与开源文化的那些人

    买版权的好几家公司继续BSD打官司,几家公司相互也打官司。 等到硝烟散尽,BSD终究推出了完全属于自己的Unix,因为版权的问题,不能再叫Unix,只能叫类Unix系统。 漫长的官司耗尽了人们对BSD的热情,也让BSD错过了最好的发展机会。 后来的FreeBSD、NetBSD、OpenBSD都是从BSD分化而来,免费,开源,优秀,但再没挽回曾经的荣光,因为已经有了Linux。 Linus后来坦言,他开发Linux时不了解还有FreeBSD等项目,如果知道了可能他就不会动手写Linux了。那时各种BSD系统正在官司的阴影笼罩下,某种程度了也促进了Linux的发展。 BSDApache License相对比较宽松,算是准自由软件。 版本管理软件对GNU/Linux的发展开源文化运动也功不可没。

    725100

    oeasy教您玩转linux010102查看发行版

    发行版(distro)的英文原文是distribution,是内核应用程序的集合.一个典型的Linux发行版包括:Linux内核,一些GNU程序库工具,命令行shell,也会包含图形界面. Bsd Solaris BSD (Berkeley Software Distribution,伯克利软件套件)是Unix的衍生系统,在1977至1995年间由加州大学伯克利分校开发发布的。 历史上, BSD曾经被认为是UNIX的一支——"BSD UNIX", 因为它AT&T UNIX操作系统共享基础代码设计。在20世纪80年代,衍生出了许多变形的UNIX授权软件。 bsd三大发行版(FreeBSD NETBSD OpenBSD),都不是linux,也不是UNIX(技术方面确实是血统纯正的unix,不过由于att的问题,不得使用unix商标),国内方面,早期的银河麒麟操作系统就是基于 linux内核作者莱纳斯曾经说过,如果BSD早点开源,世界上可能就不会有linux了,因为他说自己也会加入到bsd开发中[滑稽] 那咱们怎么才能知道当前发行版的版本呢?

    21800

    相关产品

    • TencentOS Server

      TencentOS Server

      腾讯服务器操作系统(TencentOS Server,TS)是腾讯云推出的Linux操作系统,它旨在为云上运行的应用程序提供稳定、安全和高性能的执行环境。它可以运行在腾讯云CVM全规格实例上,包括黑石2.0服务器。

    相关资讯

    热门标签

    扫码关注云+社区

    领取腾讯云代金券