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…

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

编辑 | 宋慧 供稿 | 山石网科 头图 | 蒋东毅在 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…

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

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

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

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

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

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

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

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

统信软件启用全新LOGO,迎接中国操作系统大时代

编辑 | 宋慧 出品 | CSDN云计算 头图 | 统信软件发布会现场 在2020年底完成11亿元A轮融资的半年之后,统信软件在7月31日发布了全新品牌LOGO,并推出了200多项功能改进的统信UOS1040版本。 统信软件技术有限公司总经理刘闻欢表示,统信软件从成…

距离 Java 开发者玩转 Serverless,到底还有多远?

简介: 本文摘自 Spring Cloud Alibaba 开源项目创始团队成员方剑撰写的《深入理解 Spring Cloud 与实战》一书,主要讲述了 Java 微服务框架 Spring Boot/Cloud 这个事实标准下如何应对 FaaS 场景。 作者 | 方剑(洛夜) Spring Clo…

AI释放数字经济潜能!思谋科技受邀出席2021全球数字经济大会

8月2日,2021全球数字经济大会在北京举办。本次会议以“创新引领 数据驱动——建设全球数字经济标杆城市”为主题,由北京市人民政府、国家发展和改革委员会、工业和信息化部、商务部、国家互联网信息办公室共同主办。思谋科技作为承办单位参与论坛。思谋科…

终于有人把大数据讲明白了。。。

大数据是对海量数据进行存储、计算、统计、分析处理的一系列处理手段,处理的数据量通常是TB级,甚至是PB或EB级的数据,这是传统数据处理手段所无法完成的,其涉及的技术有分布式计算、高并发处理、高可用处理、集群、实时性计算等&a…

四大触点,教你从“用户视角”构建数据分析体系

简介: 做增长、做产品其实和谈恋爱的道理是一样的,想要把这件事情做好,需要建立一个好的用户基础,站在用户(女朋友)的角度看待问题、发现需求、建立场景、提出解决方案,这种需求大到可以是产品的…

数据中心 48 V 直流供电,Vicor 如何解决“最后一英寸”电源设计难题?

作者 | 伍杏玲出品 | CSDN云计算(ID:CSDNcloud)7 月 27 日,由 OCP 社区主办、浪潮承办的第三届 OCP China Day 2021 在北京举行。会上,笔者有幸和全球领先的电源厂商 Vicor 公司的高管进行交流,了解这个 40…

阿里云高效基因序列检索助力新冠肺炎病毒序列快速分析

简介: 阿里云高效基因序列检索助力新冠肺炎病毒序列快速分析 AnalyticDB for MySQL是云端托管的PB级高并发低延时数据仓库,通过AnalyticDB for MySQL向量检索功能构建基因检索系统,支持毫秒级针对10亿级别的向量数据进行查询分析,…

DTCC 2020 | 阿里云赵殿奎:PolarDB的Oracle平滑迁移之路

简介: Oracle兼容性是业务客户从Oracle生态迁移到PolarDB生态的第一步也是至关重要的一步,PolarDB通过不断沉淀支持大量实际业务的真实Oracle兼容性功能,确保客户业务可以真正做到平滑迁移。同时PolarDB带给Oracle生态客户的不仅仅是上的来的…

边缘计算助力云游戏成为5G时代的杀手级应用

作者:王超引言随着技术、架构以及商业模式的快速发展和完善,边缘计算作为一种成熟的计算范型已经得到广泛应用。边缘计算是为应用开发者和服务提供商在网络的边缘侧提供云服务和IT环境服务,“边缘”指的是位于管理域的边缘,尽可能…

阿里如何做好双11技术保障?大队长霜波分享4点经验

简介: 为什么说双11是阿里每年技术保障稳定性最困难的一次?50多个BU一起加入双11,怎么组织和运营?为了保障双11的顺利进行,又有哪些备战方案以及创新技术?在由阿里云CIO学院主办的【2020中国企业数字创新峰…

47 张图带你走进浏览器的世界!

作者: 零一0101来源:前端印象大家好,我是零一,每个开发者(尤其是前端工程师)或多或少会跟浏览器打交道,那么你们有没有想过去深入了解浏览器呢?无论是因为好奇还是为了面试&#xff…

一文教你轻松搞定ANR异常捕获与分析方法

简介: 选择一款有超强捕获能力的专业产品,对于开发者定位和修复稳定性问题至关重要。友盟U-APM SDK集成了UC 内核团队强大的技术及友盟超强的错误捕获能力,通过数万次捕获实践中积累了丰富经验,在产品、性能和研发能力上都极大保障…

DTCC 2020 | 阿里云梁高中:DAS之基于Workload的全局自动优化实践

简介: 第十一届中国数据库技术大会(DTCC2020),在北京隆重召开。在12.23日性能优化与SQL审计专场上,邀请了阿里巴巴数据库技术团队高级技术专家梁高中为大家介绍DAS之基于Workload的全局自动优化实践。 SQL自动优化是阿…