随着互联网的快速更迭,许多明星产品在时代的光环下熠熠生辉;但在喧闹的背后,有这样的一个群体,默默的守护着互联网世界的平稳,今天我们就来介绍这样一群幕后守护者。
2013年春节,李万鹏没有回家。 此时他满脑子都是Linux,“上班路上,包括等公交、等地铁的时间,基本都在思考,完全地思考”。 就在几个月前,因为在开源社区中发布的东西太“小白”,遭到一群国外技术大佬的嘲笑,有前辈找到李万鹏,让他暂时先不要再往上面发东西了。 从大学开始选择Linux,像其他人爱着篮球、游泳或旅行一样的当成兴趣爱好爱着它,一有空就混迹开源社区,却始终没找到成长的诀窍,这让李万鹏很受伤,甚至开始怀疑自己。落差摆在眼前,技术上的稚嫩却也是不争的事实。那一段时间,李万鹏几乎无时无刻都在思考
UCloud外网网关是为了承载外网IP、负载均衡等产品的外网出入向流量,当前基于Linux内核的OVS/GRE tunnel/netns/iptables等实现,很好地支撑了现有业务。同时,我们也在不断跟踪开源社区的新技术发展,并将之用于下一代外网网关的设计。这些新特性可将系统性能和管理能力再提上一档,满足未来几年的需求。在方案设计研发过程中发现,新特性存在不少缺陷和Bug,为此我们向开源社区回馈了10多个patch,并融入到kernel 5.0版本中,帮助完善kernel功能并提升稳定性。
连接跟踪(也叫会话管理)是状态防火墙关键核心,也是很多网元设备必不可少的一部分。各厂商的实现原理基本雷同,只是根据各自的业务进行修改和优化。其中,还有不少厂商干脆是基于Linux内核实现的。下面,我们就来看看Linux内核中连接跟踪的几个要点。
大家好,我是道哥。今天给大家分享一些笔记本里的一些存货: Linux 系统中的驱动和中断相关。
抽象网络设备的原理及使用 网络虚拟化是 Cloud 中的一个重要部分。作为基础知识,本文详细讲述 Linux 抽象出来的各种网络设备的原理、用法、数据流向。您通过此文,能够知道如何使用 Linux 的基础网络设备进行配置以达到特定的目的,分析出 Linux 可能的网络故障原因。 Linux 抽象网络设备简介 和磁盘设备类似,Linux 用户想要使用网络功能,不能通过直接操作硬件完成,而需要直接或间接的操作一个 Linux 为我们抽象出来的设备,既通用的 Linux 网络设备来完成。一个常见的情况是,系统里装
Linux普及度不高主要说的在桌面版里面,在服务器以及移动设备端有些非常大的占比,特别是移动端占比,所有的安卓手机设备都是基于Linux内核,单纯的说Linux系统普及度不高明显存在问题。Linux桌面版推广不起来主要是应用生态系统无法构建,就拿国内来讲安装一个Linux系统里面常见的工具几乎都用不了,所以在桌面版几乎很难推广起来,这就是很多人说的普及度不高原因。
我们常常听到很多人说要学学Linux或者被人告知说应该学学Linux,那么学Linux到底要学什么?
嵌入式学习是一个循序渐进的过程,如果是希望向嵌入式软件方向发展的话,目前最常见的是嵌入式Linux方向,关注这个方向,我认为大概分3个阶段: 1、嵌入式linux上层应用,包括QT的GUI开发 2、嵌入式linux系统开发 3、嵌入式linux驱动开发 嵌入式目前主要面向的几个操作系统是,LINUX,WINCE、VxWorks等等 Linux是开源免费的,而且其源代码是开放的,更加适合我们学习嵌入式。 你可以尝试以下路线: (1) C语言是所有编程语言中的强者,单片机、DSP、类似ARM的种种芯片的编程都
虽然编号就是如上的方式来编写,不过依据Linux内核的发展历程,内核版本的定义有点不太相同。
作者 | 凌敏 本文是“2022 InfoQ 年度技术盘点与展望”系列文章之一,由 InfoQ 编辑部制作呈现,重点聚焦操作系统领域在 2022 年的重要进展、动态,希望能帮助你准确把握 2022 年操作系统领域的核心发展脉络,在行业内始终保持足够的技术敏锐度。 “InfoQ 年度技术盘点与展望”是 InfoQ 全年最重要的内容选题之一,将涵盖操作系统、数据库、AI、大数据、云原生、架构、大前端、编程语言、开源安全、数字化十大方向,后续将聚合延展成专题、迷你书、直播周、合集页面,在 InfoQ 媒体矩
作者简介: 王建峰,对于技术方向(主要是嵌入式领域的OS方向的系统应用)感兴趣,最近在学习操作系统基础。同时也是某芯原厂的驱动工程师,主要是gpu领域的驱动软件。https://gitee.com/hinzer/blog 1 概念介绍 1.1 什么是操作系统? 1.2 如何理解中断机制? 1.3 如何理解系统定时? 1.4 如何理解进程控制? 1.5 如何理解内存管理? 1.6 如何理解堆栈概念? 1.7 内核在源码中的体现? 1.8 如何理解系统调用? 1.9 如何理解特权级? 2 流程分析 2.1 引导
近日,在一场开源峰会上,Linux 与 Git 的创始人 Linus Torvalds 谈到 Rust 语言在 Linux 中的应用、Linux 维护者的高强度工作、以及 AI 技术在 Linux 乃至开源开发领域的未来作用。
本周,Linux创建者Linus Torvalds在北美开源峰会上进行了一年一度(去年也做过相同主题的报告[2])的报告,今年的峰会在西雅图举行(同时也包括线上)。
编译内核的目的在于把纷繁复杂的内核源码编译成一个可执行的镜像文件。当然,内核功能复杂,并不是所有的 功能都需要用到,所以,我们在使用make对其编译前,要做一件事——配置。kconfig和make就好比将军和士兵。kconfig是指导方向的,make是干活的。kconfig对内核进行配置,告诉make,哪些功能需要编译进内核,哪些功能要作为模块编译,make便根据配置文件来进行编译。 ###编译步骤 获取内核源码(这几天kernel.org被黑了,该步骤方法暂时用不了): 1、使用git工具: ubuntu
英文原文:Linux at 25: Q&A With Linus Torvalds 1991 年,22 岁的 Linus Torvalds 一边在芬兰赫尔辛基大学学习计算机,一边设计了 Linux 的系统内核。之后,Linux 迅速发展为一个可以在智能手机、服务器等各种平台上运行的功能全面的开源操作系统。在 Linux 系统诞生 25 周年之际,Linux 之父 Linus Torvalds 在采访中回忆了这四分之一个世纪以来他和 Linux 的故事。 记者:现在你比二十五年前要有更丰富的编程经
本文通过在荔枝派上实现一个 hello 驱动程序,其目的是深入的了解加载驱动程序的运作过程。
作为较早出现的虚拟化技术,Xen是“第一类”运行在裸机上的虚拟化管理程序(Hypervisor),也是当前相当一部分商业化运作公司的基础技术,其中包括Citrix系统公司的XenServer和Oracle的虚拟机。Xen技术的倡导者们声称Xen的性能强劲,并且拥有一个广泛的管理工具和能够交付卓越性能,以及其它诸多优点。
疑惑一 linux系列经典的书籍 入门篇 《LINUX权威指南》书不错,写的很全面也比较广,涉及的不深,做为入门书籍不错,可以比较全面的了解linux 。另外比较热门的也可以看看《鸟哥的私房菜》等书,偏管理类的书。如果想做server方向的可以找来看看。 驱动篇 《LINUX设备驱动程序》就是网上说的“LDD”,经典之作,必备书籍。国产经典《Linux驱动详细解》也是一本非常不错的书,很实用,书中源代码 分析比较多,基于2440的,对linux外围驱动有很全面的讲解 内核篇 浙江大学的《LINUX内核源代码
编程环境始终不是决定能不能学好编程的关键,等于讲不同的编程环境可能对于某些人感觉不一样,但在用户体验上还是Mac更加舒适一些,因为苹果公司的产品向来重视用户的体验,linux由于属于开源社区的,在功能性上强一些,在产品方面会相对弱化许多。首先介绍下Mac和Linux发展历史,了解一个操作系统的历史能更好读懂其特性,现在很多人都觉得Mac和Linux属于一个分支出来的,从演变的历史看属于截然不同的两个分支。
1.内核版本 内核是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序,它提供了一个在裸设备与应用程序间的抽象层。例如,程序本身不需要了解用户的主板芯片集或磁盘控制器的细节就能在高层次上读写磁盘。
邢孟棒,曾供职于阿里、网易,目前在腾讯云专职做性能优化方向。Linux 业余爱好者,偏好钻研各类工具源码与底层技术原理。在日常的性能工程实践中,比较注重方法论的探索、优化案例的沉淀。热衷于 eBPF 技术,擅长传统工具与 BPF 工具的结合应用。
近年来,操作系统领域新闻频出,CentOS 8已经停止维护、HarmonyOS 3正式发布;深度(deepin)告别debian,打造自己的linux根社区…… 面对ePBF、ftrace等技术带来的变革汹涌袭来,面向未来的智能座舱、智能家居等设备也对操作系统提出了新的要求。操作系统技术与国产操作系统生态进入飞速发展期,那么: 操作系统方向的技术变革、产业发展和就业前景如何? 操作系统对于程序员来说究竟意味着什么? 是不是只有杰出的程序员才应该研究操作系统? 性能问题究竟有多重要? 领域大神们推荐大家读什么
疑惑一 初学者在北京能拿多少工资? 很多初学者都有这种想法,学了编程开始能拿多少工资,其实这给问题很难给出准确的答案,因为编程的涉及到的行业太多了,每个行业入门的时候的工资又不相同,同一个行业不同能力的入职者工资水准也不尽相同,小编十年前在北京入职拿到3000块,还觉得挺高,后来打听到要公司要少了,那也没办法了,将就干吧。做了不到一年公司觉得做得还可以给弄到5000左右了,现在物价飞涨的今天估计小菜年入职最差4000-5000,当然小公司估计例外,要不然在北京连个房子也租不起了,想省钱可以住地下室,或者六环
网上类似标题的文章很多,但大都是从start_kernel讲起,我觉得这是远远不够的。
这篇文章将会简单的介绍如何在Linux系统上面,编译一个5.19的内核,然后在QEMU虚拟机中运行。
大家好,我是 Peter,关注我号的朋友应该了解我写的文章大都是内核和操作系统方向,除了内核外,网络也是非常重要的一个环节。体系架构,内核,网络,我认为是职业生涯发展的三大法宝。目前市场上体系架构,内核相关的书籍已经很多,但是一直没有找到比较好的网络书籍。 得知飞哥写了一本《深入理解 Linux 网络》,第一时间拿来拜读。一口气读了三分之一,受益良多,这里也推荐大家看一看。 为什么推荐飞哥的这本网络书? 一般业界在网络上的学习资源主要就是协议和编程。比如 TCP 三次握手四次挥手、HTTP 报文格式,比如使
C/C++程序为编译后的二进制文件,运行时载入内存,运行时内存分布由代码段、初始化数据段、未初始化数据段、堆和栈构成,如果程序使用了内存映射文件(比如共享库、共享文件),那么包含映射段。Linux环境程序典型的内存布局如图1-5所示。
本节的触摸屏驱动也是使用之前的输入子系统 1.先来回忆之前第12节分析的输入子系统 其中输入子系统层次如下图所示, 其中事件处理层的函数都是通过input_register_handler()函数注册
Linux操作系统的多样性很大程度上归功于其内核的灵活性和可定制性。内核作为操作系统的核心,不仅决定了系统的性能和稳定性,也影响着系统的安全性和功能性。
网上看了很多的嵌入式学习路线,有的比较片面,有的为了博人眼球东拼西凑,几乎把整个行业用得着用不着的技术都写上去了,没有侧重点,简直是劝退指南,还有的纯粹是打广告卖板子招生。
Linux 有几千个命令,要想全部记住这些命令是不可能的,也是没有必要的。有时候,我脑袋会发蒙记不起特定的命令。 而我只能呆呆的看着终端,尝试想起要输入的命令,却最终还是记不起来。
特斯拉(Tesla)是一家强大的公司,它一直在使用大量开源软件来构建其操作系统和功能,如Linux Kernel,Buildroot,Busybox,QT等。
1.为啥我们要学习Linux? 我们干嘛要学习Linux? Linux能给我们带来什么价值呢? Linux给我的感觉就是稳定,免费,性能好. 稳定,体现在哪里?我们使用PC机,安装的操作系统一般是wi
Linux 几乎无处不在,不论是服务器构建,还是客户端开发,对操作系统的基本理解和基础技能的掌握对全栈来说都是必备的。
在 LWN.net 发布的 Linux 内核报告中,常年可以看到一个贡献者 —— “Yue Hai Bing”,自 2018 年底以来,TA 对每个版本都会贡献大量的补丁,帮助 Linux 内核不断迭代。为了找到这个来自华为的优秀贡献者,我开始找到朋友圈的华为同学,了解相关信息。每次提到 “Yue Haibing” ,大家都是神秘的一笑,就不再说话。
这篇文章是写给 Linux 初学者的,我会分享一些作为初学者应该知道的一些东西,这些内容都是本人从事 Linux 开发工作多年的心得体会,相信会对初学者有所帮助。如果你是 Linux 老鸟,那可能就不需要再往下看啦
随着cpu技术发展,现在大部分移动设备、PC、服务器都已经使用上64bit的CPU,但是关于Linux内核的虚拟内存管理,还停留在历史的用户态与内核态虚拟内存3:1的观念中,导致在解决一些内存问题时存在误解。
就如同刚才说的,很多同学以前可能连Linux是什么都不知道,对UNIX更是一无所知。 所以我们从最基础的讲起,对于Linux及UNIX的历史我们不做多谈,直接进入入门的学习。
Linux的文件IO子系统是Linux中最复杂的一个子系统(没有之一)。读者可以参考以下这个图:
学习自:http://www.runoob.com/linux/linux-system-contents.html
2017年10月,在获得40亿美元融资后,美团点评CEO王兴表示会将业务重心放在无人配送和人工智能上。
今年是第一次参加COSCUP 开源人年会,到底与大家分享些什么,与社区大牛BOB沟通后,他建议我就分享自己这20年来的Linux内核之旅。
Windows 10 和 Chrome OS 都采用 Linux 内核及其上运行的软件。
以Linux面向对象编程的思想,一个GPIO Controller必定会使用一个结构体来表示,这个结构体必定含有这些信息:
ERROR: Unable to find the kernel source tree for the currently running kernel. Please make sure you have installed the kernel source files for your kernel and that they are properly configured; on Red Hat Linux systems, for example, be sure you have the 'kernel-source' or 'kernel-devel' RPM installed. If you know the correct kernel source files are installed, you may specify the kernel source path with the '--kernel-source-path' command line option.
接上文 从应用到内核查接口超时(中),查到是因为 journal 导致 write 系统调用被阻塞进而导致超时后,总感觉证据还不够充分,没有一个完美的交待。而且 leader 还想着让我把问题排查过程分享给同事们,这让我更加不安,担心搞错了方向。
链接:pcworld.com/article/3394680/how-windows-and-chrome-quietly-made-2019-the-year-of-linux-on-the-desktop.html
百问网技术交流群,百万嵌入式工程师聚集地: https://www.100ask.net/page/2248041
领取专属 10元无门槛券
手把手带您无忧上云