Linux系统初学者指南,观点|Linux 系统调用的初学者指南

在过去的几年中,我一直在做大量容器相关的工作。先前,我看到 Julien Friedman 的一个很棒的演讲,它用几行 Go 语言写了一个容器框架。这让我突然了解到容器只是一个受限的 Linux 进程中的机器。

构建这个受限视图涉及到 Golang 系统调用包中的很多调用。最初,我只是用到了表面的那些,但过了一段时间,我想剥下洋葱的下一层,看看这些系统调用是什么,以及它们的工作原理。我将在 OSCON 的演讲中分享我所学到的东西。

顾名思义,syscalls 即系统调用,它们是你从用户空间请求进入 Linux 内核的方式。内核为你做一些工作,例如创建一个进程,然后再回到用户空间。

有一个常见的机制使所有的系统调用转换到内核,这是由 libc 库处理的。 用户空间代码设置一些寄存器,包括其想要的系统调用的 ID 以及需要传递给系统调用的所有参数。它触发一个 “陷阱” 将控制转换到内核。

这就是用户空间代码如何向内核请求的,而 Linux 也有一个伪文件系统,它允许内核将信息传递给用户空间,其内容看起来像普通的目录和文件。

/proc 目录是一个很好的例子。看看里面,你会发现有关机器上运行的进程的各种有趣的信息。在某些情况,像 cgroups(控制组)那样,用户空间可以通过写入这些伪文件系统下的文件来配置参数。

当你在使用容器时,特别有趣的是,主机的 /proc 包含了所有有关容器化的进程的信息。这包括环境变量,它们也保存在 /proc 伪文件系统中,这意味着你的主机可以访问所有正在运行的容器的环境。如果你通过环境变量将诸如凭证或数据库密码这类秘密传递到容器中,则可能会产生安全性后果。

许多编写常规程序的程序员可能不觉得他们经常使用系统调用。但实际上他们会经常调用,因为每天的活动比如制作文件或者更改目录都涉及 Linux 的系统调用。

你不必是一位系统程序员才能享受系统调用的乐趣!

如果你想要了解更多,Liz 会在 Austin,Texas 举办的 OSCON 2017 上演讲 Linux 系统调用的初学者指南。

(题图: opensource.com)

作者简介:

Liz Rice - Liz Rice 是一位技术传播者,也是 Aqua Security 的容器安全专家。此前,她共同创立了 Microscaling Systems,并开发了其实时伸缩引擎,以及流行的图像元数据网站 MicroBadger.com。她拥有丰富的从网络协议和分布式系统,以及数字技术领域,如 VOD,音乐和 VoIP 软件的开发、团队和产品管理经验。

本文由 LCTT 原创编译,Linux中国 荣誉推出 linisi.svg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/514537.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

我在阿里云做前端代码智能化

作为一个整天以代码为伴的码农,避免不了会接触到各种代码提示工具,但是呢,用久了之后会发现他们都有个共同点,那就是 模型巨大,动辄几百兆;并且模型大必然需要更多的计算,同样会导致电脑内存占用…

英特尔携手百度全方位深化合作 共筑智能生态

2021年7月29日,英特尔公司今日出席智能经济高峰论坛暨百度云智峰会2021并分享了一系列与百度在人工智能、云计算、智能边缘等方面的最新合作进展。在智能技术方面,百度基于第三代英特尔至强可扩展处理器,打造全功能AI开发平台Baidu Machine L…

决策树之 GBDT 算法 - 回归部分

GBDT(Gradient Boosting Decision Tree)是被工业界广泛使用的机器学习算法之一,它既可以解决回归问题,又可以应用在分类场景中,该算法由斯坦福统计学教授 Jerome H. Friedman 在 1999 年发表。本文中,我们主…

广技师17专插本c语言答案,广东技术师范学院2017年专插本C语言程序设计(1)

1、广东技术师范学院2017 年专插本 C语言程序设计注意:请将答案写在答题纸上,否则无效!一、判断题: (12 分每题 2 分)1、 C 语言规定 :在一个源程序中 ,main 函数的位置必须在最开始。2、假设所有变量均为整型,则表达式 (a2,b5,b,…

深度强化学习在时序数据压缩中的应用--ICDE 2020收录论文

彼节者有间,而刀刃者无厚;以无厚入有间,恢恢乎其于游刃必有余地矣 ----- 庖丁解牛 前言:随着移动互联网、IoT、5G等的应用和普及,一步一步地我们走进了数字经济时代。随之而来的海量数据将是一种客观的存在&#xff0…

技术干货 | mPaaS 框架下如何使用 Crash SDK 对闪退进行分析?

简介: Android Native Crash 处理案例分享 目前 mPaaS Android 是使用的是 Crash SDK 对闪退进行的处理,Crash SDK 是 Android 平台上一款功能强大的崩溃日志收集 SDK,有着极高的崩溃收集率和完整、全面的崩溃日志信息,生成的日志…

山石网科蒋东毅:网络连接矩阵复杂化,传统安全防护框架需重构

编辑 | 宋慧 供稿 | 山石网科 头图 | 蒋东毅在 ISC 2021主题论坛发表演讲 7月28日上午,在ISC 2021 第九届互联网安全大会主题论坛上,山石网科高级副总裁、首席战略官(CSO)蒋东毅带来了一场主题为《政企安全面临的多重挑战和未来趋…

如何使用java来实现windows系统关机

可以使用Java代码来调用操作系统的命令行来实现Windows关机操作。具体步骤如下: import java.io.IOException;public class ShutdownWindows {public static void main(String[] args) {try {// 调用命令行执行关机命令Process process Runtime.getRuntime().exec…

设树采用孩子兄弟表示法存放.用类c语言设计算法计算树的高度.,(数据结构课程设计分类题目.doc...

(数据结构课程设计分类题目线性表顺序表:1、设有一元素为整数的线性表L(a1,a2,a3,…,an),存放在一维数组A[N]中,设计一个算法,以表中an作为参考元素,将该表分为左、右两部分,其中左半部分每个元素小于等于an,右半部分每个元素都大于an, an位于分界位置上(要求结果仍…

双11“新贵”红星美凯龙:数据中台充分给足转型马力

今年“天猫双11”全球狂欢季,让双11新手红星美凯龙刷足了存在感。从去年首度试水双11,到拿下今年618天猫超级晚、“天猫双11狂欢夜”两大S级总冠名,红星美凯龙通过线上玩法频频出圈,成为中国企业化数字化转型、数字化用户运营的创新样本。 红星美凯龙董事长车建新指出:红星美凯…

CDN应用进阶 | 正确使用CDN 让你更好规避安全风险

为了帮助用户更好地了解和使用CDN产品,CDN应用实践进阶系统课程开课了。12月17日,阿里云CDN产品专家彭飞在线分享了《正确使用CDN,让你更好规避安全风险》议题,内容主要包括以下几个方面: 使用CDN的常见误区和问题有哪…

“程序员千万不要选全栈开发”

作者 | 千鸟(网名) 小路助手开发者责编 | 晋兆雨出品 | CSDN(ID:CSDNnews)对于大多数人来说,大学毕业后选择一家满意的公司,一路升职加薪才是正解,但他却偏偏选择了一条鲜有人知的…

「直播回顾」Mars:加速数据科学的新方式

简介: 本文从数据科学概念、背景和现状切入,引出加速数据科学的新方式Mars,并介绍了Mars具体能解决的一些问题和背后的逻辑、哲学,同时对Mars整体数据处理流程进行了介绍。 本文分为4个部分: Mars的背景和现状 Mars解…

围观|第一代云原生企业米哈游如何让想象发生?

作者 | 贾宁宇 来源|阿里巴巴云原生公众号 在米哈游的办公区,有一间会议室,专门留给了阿里云工程师。 今年,是这家二次元文化公司创立的第九年,米哈游和阿里云的交情,也有八年了。 米哈游总裁刘伟还记得多年前&…

作为一名通信老司机,我是如何看待翼龙通信无人机救灾的?

作者:小枣君来源:鲜枣课堂昨天,关于翼龙无人机救灾的新闻,刷屏了整个网络。由国家应急管理部紧急调派的翼龙-2H应急救灾型无人机,搭载中国移动的基站设备,从贵州安顺出发,连续出动两次&#xff…

揭秘大流量场景下发布如「丝般顺滑」背后的原因

为什么很多互联网公司不敢在白天发布,都选择在半夜发布。要是能摆脱半夜发布的窘境,它不香吗?选择在半夜发布无非是为了减少对用户的影响,出了问题影响面可控。 那我们就来谈谈,发布会有哪些问题。 若您的应用没有上…

Serverless 落地之痛怎么解?

传统业务在开发上线的过程中,需要团队合作,每个人开发一部分,合并代码,开发联调,然后进行资源评估,测试环境搭建、线上环境搭建、测试上线、运维。但是在 Serverless 时代下,开发者只需要开发自…

可信云十年,重磅研究成果与2021云计算十大关键词悉数发布

编辑 | 宋慧 出品 | CSDN云计算 头图 | 2021可信云大会现场 可信云从提出到发展至今,已经历经了十个年头,可信云大会也已举办到第八届。2021年7月27-28日,由中国信息通信研究院、中国通信标准化协会联合主办的“2021可信云大会”盛大开幕&am…

「直播回顾」Mars应用与最佳实践

简介: 本文首先对Mars的概念、功能、优势进行了介绍,随后,对Mars几个典型的应用场景进行介绍,并通过两个Demo展示了在使用Mars后数据科学性能的提升,最后总结了Mars的最佳实践,让使用Mars更高效便捷。 本文…

TechWorld2021技术嘉年华,解锁“不一样”的技术盛会

当今,网络空间和物理空间的边界不断融合,网络安全和信息化作为一体之两翼也在进行一种融合,网络安全产业伴随着“融合”持续升级发展。7月30日 ,以“融合•Convergency”为主题的TechWorld2021绿盟科技技术嘉年华在北京顺利召开&a…