今年,微软在Build大会上向开发者放了两个“大招”:Windows Terminal和WSL 2。两个工具都是为了向开发者提供类似于Linux的体验。...WSL 2是第二代Windows上的Linux子系统。相比第一代,它带来了如下新的变化: 文件系统性能提升,完整的系统调用兼容性。...最近,微软更新了WSL 2相关文件,让这款开源工具再次冲到GitHub趋势榜前三。 我们趁此机会将WSL 2完整安装步骤整理一下,希望对你能有所帮助。...在“启用或关闭Windows功能”中启用以下两个选项:Windows虚拟机平台、适用于Linux的Windows子系统。 启用这些更改后,重新启动计算机。...编译WSL 2内核 微软还在GitHub上更新了编译WSL 2内核的步骤,只需3步: 1、从微软商店安装最新的Ubuntu发行版 2、打开Ubuntu子系统,安装内核组件: sudo install build-essential
微软的IE浏览器是Windows上默认安装的浏览器,大家都用过,在还没有Chrome浏览器的时候没觉得它怎么不好用,直到后来谷歌出了Chrome浏览器,嗯,真香。...后来微软又开始自研Edge HTML内核的Edge浏览器,不过 2018 年放弃后转而使用谷歌的Chromium内核,经过近一年的测试,现在终于发布了适用于Windows 10、Windows 7和macOS...我的常用浏览器是谷歌 Chrome,下面就来体验下Edge ,看它是否比谷歌好用。...开发者工具 开发者工具是我经常用的工具,之前写的那些你可能不知道的浏览器奇技淫巧提到很多实用技巧,控制台看起来和Chrome没什么不一样,不过比IE好用多了。 ?...,但在国内登录谷歌账号就难住很多人,新版的 Edge 使用微软账户登陆,这样就可以在iOS、macOS、Android、Windows 10、8、7等系统上同步所有内容,真的很方便。
一文搞懂 | Linux 时钟子系统 Clock 时钟就是 SoC 中的脉搏,由它来控制各个部件按各自的节奏跳动。比如,CPU主频设置,串口的波特率设置,I2S的采样率设置,I2C的速率设置等等。
2、概述 led 子系统驱动框架: 所有 led 共性: 有和用户通信的设备节点 亮和灭 不同点: 有的 led 可能是接在 gpio 管脚上,不同的 led 有不同的 gpio 来控制 有的 led...可能由其他的芯片来控制(节约 cpu 的 pin,或者为了控制 led 的电流等) 可以设置亮度 可以闪烁 所以 Linux led 子系统把所有 led 的共性给实现了,把不同的地方留给驱动工程师去做...led 子系统核心文件: driver/leds/led-class.c driver/leds/led-core.c driver/leds/led-triggers.c include/linux/...led 子系统是一个简单的 Linux 子系统 ,在目录 /sys/class/leds 下展示该子系统设备,每个设备都有自己的属性: brightness:设置 LED 亮度,范围 0 ~ max_brightness...触发方式,如 heartbeat、mmc0、backlight、gpio delay_off、delay_on:trigger为timer时,LED亮灭的时间,单位ms kernel/include/linux
这样 Linux 内核中就会充斥着大量的重复、冗余代码,但是这些本质上都是对寄存器的操作,所以为了方便内核开发人员统一访问 I2C/SPI 设备的时候,为此引入了 Regmap 子系统。...Linux 下使用 i2c_transfer 来读写 I2C 设备中的寄存器,SPI 接口的话使用 spi_write/spi_read等。...I2C/SPI 芯片又非常的多,因此 Linux 内核里面就会充斥了大量的 i2c_transfer 这类的冗余代码,再者,代码的复用性也会降低。...regmap 是 Linux 内核为了减少慢速 I/O 在驱动上的冗余开销,提供了一种通用的接口来操作硬件寄存器。...Linux 内核提供了针对不同接口的 regmap 初始化函数。
rtc 一般负责系统关机后计时、闹钟等,Linux 内核提供了一个 rtc 子系统,来支持所有的 rtc 设备。...rtc 设备本质上是一个字符设备,rtc 子系统在字符设备的基础上抽象与硬件无关的部分,并在这个基础上拓展 sysfs 和 proc 文件系统下的访问。...rx8010_set_alarm rx8010_set_time 软件逻辑就不在这里赘述了,大家可以参考下面链接 https://jasper1024.com/jasper/c089e4b/ 大家多看几个 Linux...子系统就会发现,基本上每个子系统都差不多,Linux 都会封装上中下 3 层,然后给你一些数据结构让你填充,就可以将这个子系统用起来了。
Linux 内核为了管理这些日益增多的 ADC 类传感器,特地推出了 IIO 子系统,我们学习如何使用 IIO 子系统来编写 ADC 类传感器驱动。...1、IIO 子系统简介 IIO 全称是 Industrial I/O,翻译过来就是工业 I/O,大家不要看到“工业”两个字就觉得 IIO 是只用于工业领域的。...大家一般在搜索 IIO 子系统的时候,会发现大多数讲的都是 ADC,这是因为 IIO 就是为 ADC 类传感器准备的,当然了 DAC 也是可以的。...1、iio_dev 结构体 IIO 子系统使用结构体 iio_dev 来描述一个具体 IIO 设备,此设备结构体定义在include/linux/iio/iio.h 文件中 2、iio_dev 申请与释放...Linux 内核使用 iio_chan_spec 结构体来描述通道,定义在 include/linux/iio/iio.h 文件中。
8)底层的时钟、稳压器、频率/电压表(OPP模块完成)支撑,各驱动子系统都可能用到。...1、CPUFreq 驱动 CPUFreq 子系统位于 drivers/cpufreq 目录下,负责进行运行过程中 CPU 频率和电压的动态调整,即 DVFS(Dynamic Voltage Frequency...6、Regulator 驱动 Regulator是Linux系统中电源管理的基础设施之一,用于稳压电源的管理,是各种驱动子系统中设置电压的标准接口。...Linux的Regulator子系统提供如下API以用于注册/注销一个稳压器: structregulator_dev * regulator_register(conststructregulator_desc...Linux运行时PM最早是在Linux2.6.32内核中被合并的。
今天分享一篇经典Linux协议栈文章,主要讲解Linux网络子系统,看完相信大家对协议栈又会加深不少,不光可以了解协议栈处理流程,方便定位问题,还可以学习一下怎么去设计一个可扩展的子系统,屏蔽不同层次的差异...目录 Linux网络子系统的分层 Linux网络子系统实现需要: 支持不同的协议族 ( INET, INET6, UNIX, NETLINK…) 支持不同的网络设备 支持统一的BSD socket API...中TCP,UDP协议包在网络子系统中的实现流程。...创建ksoftirqd内核线程 linux内核通过调用subsys_initcall来初始化各个子系统,在源代码目录里你可以grep出许多对这个函数的调用。...网络子系统的分层 Linux网络子系统实现需要: 支持不同的协议族 ( INET, INET6, UNIX, NETLINK…) 支持不同的网络设备 支持统一的BSD socket API 需要屏蔽协议
Linux 系统好用吗?一般人用 Linux 算是找虐吗?...其次,linux内核优化的好,没有哪个linux需要右键的刷新键(红旗linux是为了国人的使用习惯加的),而windows则不同,微软的系统非常的复杂,而且运先行效率相对linux要低很多。...虽然linux在桌面市场没有优势(只占1%多一点的占有率),但他在服务器行业的地位那是无敌的(20%多)。 linux占用系统资源特别少,早期的linux,64M内存就能跑的很流畅,这也是他的优势。...系统的操作原理都一样,不过是方法不同而已,Linux多是用命令操作,像windows的ddos一样,而往常大家用windows都是图形化点点点的去操作。 一般人用Linux系统算是自己找虐吗?...这样来说并不是Linux很难,Linux很简单,小白零基础都能学懂的,但是得有人带着你入门,就像现在的培训机构存在一样,是有一定道理的。
前言: 上一篇文章我们简单了解了一些关于时间的概念,以及Linux内核中的关于时间的基本理解。而本篇则会简单说明时钟硬件,以及Linux时间子系统相关的一些数据结构。...由于这些时钟都和时间子系统关系不大,所以本文中就不讨论它们了。...还有一个定时器叫做HPET(High Precision Event Timer),它是Intel和微软共同研发的。它不仅是个定时器,而且还有计时器的功能。...Linux时间子系统的文件汇总 Linux kernel 时间子系统的源文件位于linux/kernel/time/目录下,基本包含如下: 这里面也包含几个重要的数据结构,接下来会分开说说: Clocksource...显然关于Linux时间子系统的内容,还有很多可以深入挖掘,在此篇幅有限,就不做过多赘述了,也希望同样对操作系统感兴趣的小伙伴与我们一起交流。
Linux输入设备 Linux将按键、键盘、鼠标、触摸屏等设备统称为输入设备,其本质还是字符设备。...因此,Linux就设计了一个input框架来处理输入事件,这就是——input子系统。 总结起来就是——Linux内核输入子系统是对不同类别的输入设备进行抽象,随后调用统一的服务函数进行处理。...Linux 输入子系统架构 Linux input子系统框架可以分为以下三个部分: 1.驱动层(输入设备驱动):获取底层硬件(按键、键盘、鼠标等)的输入,然后向input核心层报告输入内容。...Linux自带如下输入事件驱动程序: 输入事件驱动程序 说明 evdev.c 通用输入事件驱动,能处理大多数输入事件 joydev.c 游戏杆,操纵杆设备 keyboard.c 键盘设备 mousedev.c...于是Linux 内核引入了另一个成员来完成此工作——struct handle(注意和struct handler的区别) 当device和handler匹配后,connect函数中会将device
mtd子系统 mtd设备 mtd子系统接口 MTD 内核API MTD子系统调用关系 mtdblock dirver 总结 参考文档 mtd设备 MTD(Memory Technology Device...因为这些设备不是原始闪存,但它们内部具有Flash Translation(FTL)层,这使它们看起来像块设备, 这些设备属于Linux块设备而不是MTD。...mtd子系统接口 MTD字符设备-通常称为/dev/mtd0,/dev/mtd1等。 这些字符设备提供对原始闪存的I/O访问。...MTD子系统支持带有软件和硬件ECC的 raw NAND闪存,OneNAND闪存,CFI(通用闪存接口)NOR闪存以及其他类型的闪存。...MTD 内核API MTD子系统API在include/linux/mtd/mtd.h中定义。
深度系统的成熟和稳定性比不上Windows系统,这点无可厚非。它的感觉整体类似大版本的安卓系统,有一个云账号,同步你的相关信息。这点很人性化。图标清爽,非常适用...
现在微软对 WSA 的更新明显加快, 基本上是半月一更....自 9 月 15 日更新版本发布后, 随着 win11 年度 22H2 版本的到来, 9 月 28 日微软宣布将 WSA 开放到 31 个国家和地区。...更是与微软没有针对性优化关系重大。 因为相比较它的国际版,那个流畅度,真的不可同日而语,真的是天渊之别!
中断是大家用的最多的功能,不管是单片机还是 Linux 系统,都需要用到中断,对它的深入理解是非常必要的。 为什么需要中断?...中断子系统硬件架构 一个完整的设备中,与中断相关的硬件可以划分为3类,它们分别是:设备、中断控制器和CPU本身。...中断子系统架构 整个中断子系统的架构分为 4 层,最底层(第四层)为硬件,包括 CPU、中断控制器。第三层是 CPU 的驱动和中断控制器的驱动,由芯片原厂负责。...第二层是 Linux 内核提供的通用中断处理模块,这一层存在的意义在于,希望用户在第一层写的驱动在移植的时候更方便,保持接口不变,不让用户直接使用芯片原厂的 API,而是 Linux 的 API。...关于中断子系统,我写了八篇文章,从头到尾讲了一遍,大家可以去我的blog查看: http://www.linuxer.vip/linux-interrupt1/
MacBook用久了,也会变卡,老友朋友问怎么拯救MacBook,当时是先清理下垃圾、缓存数据,Mac系统垃圾清理工具CleanMyMac就很好用。...的性能并加速整个系统内置助手为您提供个性化清洁提示1、清理系统垃圾垃圾清理方面可以针对性的定向清理系统,比如,每天几十上百封邮件夹杂着各种附件,其中大部分被抄送的邮件附件你根本使用不到,白占用了本地空间,邮件附件清理就非常好用
领取专属 10元无门槛券
手把手带您无忧上云