皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

Linus大神表示对Linux 5.18-rc2内核 “相当乐观”

otto

继上周Linux 5.18的第一个候选发布版本结束了两周的合并窗口之后,Linux 5.18-rc2作为最新的每周候选发布版本刚刚发布。

本周带来了许多错误/倒退的修复,流入内核。本周,Linux 5.18-rc2有一个显著的变化,那就是尝试/dev/urandom。这应该使/dev/random和/dev/urandom至少在x86_64和其他主要的架构上表现得相似。

Linus大神表示对Linux 5.18-rc2内核 "相当乐观"

Linus Torvalds在5.18-rc2公告中写道:”这里的事情看起来相当正常,尽管现在是发布周期的早期,所以有点难以确定。但至少它看起来并不特别奇怪,而且我们在各处都有修复。驱动程序是它的主要部分,这里有一些东西,尽管AMD GPU驱动程序的修复可能是最引人注目的。但也有网络、SCSI、RDMA、块,以及其他”。

Linux 5.18稳定版应该在5月底前发布,这取决于未来几周的发布周期如何。

 

Linux 5.17内核将持续引入I/O优化:NVMe性能有望提升5~6%

otto

在最近结束的 Linux 5.16 内核合并窗口期间,我们已经见证了重大的 I/O 改进。以 Jens Axboe 为代表的维护者,专注于坚持不懈地优化块和 IO_uring 代码,以达成更高的 IOPS 操作效率。展望 Linux 5.17,这方面的工作也不会原地踏步。毕竟 Linux 5.16 开发周期内,还有不少未决的工作等待开发者去完成。

Linux 5.17内核将持续引入I/O优化:NVMe性能有望提升5~6%

据悉,在 Linux 5.16 合并窗口中,Jens Axboe 的大部分工作都围绕 I/O 优化而展开,以期最大限度地提升 AMD 锐龙 R9-5950X 平台上的英特尔傲腾 NVMe SSD 的每核 IOPS 性能。

就在 5.16 合并窗口关闭几天后,Axboe 现又提交了四个 NVMe 代码补丁,以充分利用 Linux 5.16 中关于分配和完成 I/O 批次的新钩子。

Linux 5.17内核将持续引入I/O优化:NVMe性能有望提升5~6%

对于 NVMe 驱动器来说,这也意味着它们能够一次复制多个命令。测试表明,新修订带来了每核大约 500k IOPS 的改进、或 5~6% 的效率提升。

至于其它 I/O 优化工作,将继续在 perf-wip 分支中收集。截至目前,我们已在 Linux 5.16 合并窗口关闭后,看到了 38 个添加至该存储库的新补丁。

最后,Jens Axboe 透露自己正在搭建英特尔酷睿 i9-12900K 平台,以便和 AMD 锐龙 R9-5850X 平台开展比较、并且展望在将来为 Alder Lake 前端带来更多存储性能优化。

Linux 5.17将带来一项重大的TCP性能优化措施

Editor, Kai

Linux 5.17将带来一项重大的TCP性能优化措施

虽然Linux 5.16的合并窗口刚刚结束,而且该内核要到今年年底才会发布,但是Linux 5.17各种改进已经开始在各自的子系统开发树上积累起来……今天早上,来自Google合并的一组变化可以为数据中心的TCP性能提供可观的性能优势。

Linux 5.17将带来一项重大的TCP性能优化措施

今天早上,David Miller合并了这些来自Google工程师Eric Dumazet的TCP优化。这些优化中最激动人心的部分是TCP代码中的这个补丁,在套接字锁被释放后推迟SKB的释放。现有的内核代码被发现引入了过多的延迟,这可以通过在套接字锁被保留时不进行SKB释放来避免。相反,它们将在套接字锁被释放后或直接从BH处理程序中释放。

测试结果显示这”大大改善的性能”,至少对于数据中心的大量TCP流量而言。在一个100Gbit的网卡上,TCP网络吞吐量的测试,MTU大小为1500,从55到65Gbit,而MTU为4096以上,从82到95Gbit。

虽然目前的优化只触及到了TCP,但合并后类似的优化可能会扩展到其他协议。这些TCP优化将在明年的Linux 5.17中出现。

了解更多:

https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/commit/?id=6fcc06205c15bf1bb90896efdf5967028c154aba

https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/commit/?id=f35f821935d8df76f9c92e2431a225bdff938169

转自 https://www.cnbeta.com/articles/tech/1203795.htm

Pine64 宣布最新的 Linux 手机 PinePhone Pro

otto

PinePhone Pro[1] 说是手机有些不确切,从某种意义上来说,它也是一部电脑,是一部运行 Manjaro Linux 的电脑。把它插入显示器,它就是一台低功耗电脑。它所使用的 KDE Plasma Mobile 可以自适应这种手机显示和桌面显示切换的情况。它的主频为 1.5GHz,4GB 内存,128GB 存储。有一个 1300 万像素的主摄像头传感器和一个 500 万像素的前置摄像头,以及一个 6 英寸的 1440 x 720 的 IPS 触摸屏。此外,最重要的是,它提供了绝大多数手机缺少的功能,即硬件的隐私开关,这些藏在后盖的硬件开关可以关闭摄像头、麦克风、Wi-Fi、蓝牙、耳机插孔和 LTE 调制解调器(包括 GPS)等等。最后,它的价格是 399 美元,现在开发者版预定中。

Pine64 宣布最新的 Linux 手机 PinePhone Pro

来源:Linux中国

由 Facebook 事故引发的 BGP 工具探索

Editor, Kai

昨天,Facebook 发生了由 BGP 引起的离线事故。我对学习更多关于 BGP 的知识已经隐约感兴趣了很长时间,所以我阅读了一些文章。

我感到很沮丧,因为没有一篇文章告诉我如何在我的电脑上实际查找与 BGP 有关的信息,因此我 写了一条询问有关工具的推特

我一如既往地得到了一堆有用的回复,所以这篇博文展示了一些你可以用来查询 BGP 信息的工具。这篇文章中可能会有较多的错误,因为我对 BGP 不是很了解。

我不能发布 BGP 路由

我从来没有了解过 BGP 的原因之一是,据我所知,我没有在互联网上发布 BGP 路由的权限。

对于大多数网络协议,如果需要,你可以非常轻松地自己实现该协议。例如,你可以:

  • 发行你自己的 TLS 证书
  • 编写你自己的 HTTP 服务器
  • 编写你自己的 TCP 实现
  • 为你的域名编写你自己的权威 DNS 服务器(我现在正在为一个小项目尝试这样做)
  • 建立你自己的证书机构(CA)

但是对于 BGP,我认为除非你拥有自己的 ASN,否则你不能自己发布路由(你可以在你的家庭网络上实现 BGP,但这对我来说有点无聊,当我做实验的时候,我希望它们真的在真正的互联网上)。

无论如何,尽管我不能用它做实验,但我仍然认为它超级有趣,因为我喜欢网络,所以我将向你展示我找到的一些用来学习 BGP 的工具。

首先我们来谈谈 BGP 的一些术语。我打算很快掠过,因为我对工具更感兴趣,而且网上有很多关于 BGP 的高水平解释(比如这篇 cloudflare 的文章)。

AS 是什么?

我们首先需要了解的是 AS(“自治系统autonomous system”)。每个 AS:

  1. 由一个组织拥有(通常是一个大型组织,如你的 ISP、政府、大学、Facebook 等)。
  2. 控制一组特定的 IP 地址(例如,我的 ISP 的 AS 包括 247,808 个 IP 地址)。
  3. 有一个编号 ASN(如 1403)。

下面是我通过做一些实验对 AS 的一些观察:

  • 一些相当大的科技公司并没有自己的 AS。例如,我在 BGPView 上查看了 Patreon,就我所知,他们没有自己的 AS,他们的主要网站(patreon.com104.16.6.49)在 Cloudflare 的 AS 中。
  • 一个 AS 可以包括许多国家的 IP。Facebook 的 AS(AS32934)肯定有新加坡、加拿大、尼日利亚、肯尼亚、美国和其他国家的 IP 地址。
  • 似乎 IP 地址可以在一个以上的 AS 中。例如,如果我查找 209.216.230.240,它有 2 个 ASN 与之相关:AS6130 和 AS21581。显然,当这种情况发生时,更具体的路线会被优先考虑 —— 所以到该 IP 的数据包会被路由到 AS21581

什么是 BGP 路由?

互联网上有很多的路由器。例如,我的 ISP 就有路由器。

当我给我的 ISP 发送一个数据包时(例如通过运行 ping 129.134.30.0),我的 ISP 的路由器需要弄清楚如何将我的数据包实际送到 IP 地址 129.134.30.0

路由器计算的方法是,它有一个路由表:这是个有一堆 IP 地址范围的列表(比如 129.134.30.0/23),以及它知道的到达该子网的路由。

下面是一个 129.134.30.0/23 (Facebook 的一个子网)的真实路由的例子。这不是来自我的 ISP。

  1. 11670 32934
  2. 206.108.35.2 from 206.108.35.254 (206.108.35.254)
  3. Origin IGP, metric 0, valid, external
  4. Community: 3856:55000
  5. Last update: Mon Oct 4 21:17:33 2021

我认为这是在说通往 129.134.30.0 的一条路径是通过机器 206.108.35.2,这是在它的本地网络上。所以路由器接下来可能会把我的 ping 包发送到 206.108.35.2,然后 206.108.35.2 会知道如何把它送到 Facebook。开头的两个数字(11670 32934)是 ASN。

BGP 是什么?

我对 BGP 的理解非常浅薄,它是一个公司用来公布 BGP 路由的协议。

昨天发生在 Facebook 身上的事情基本上是他们发布了一个 BGP 公告,撤销了他们所有的 BGP 路由,所以世界上的每个路由器都删除了所有与 Facebook 有关的路由,没有流量可以到达那里。

好了,现在我们已经涵盖了一些基本的术语,让我们来谈谈你可以用来查看 AS 和 BGP 的工具吧!

工具 1:用 BGPView 查看你的 ISP 的 AS

为了使 AS 这个东西不那么抽象,让我们用一个叫做 BGPView的 工具来看看一个真实的 AS。

我的 ISP(EBOX)拥有 AS 1403。这是 我的 ISP 拥有的 IP 地址。如果我查找我的计算机的公共 IPv4 地址,我可以看到它是我的 ISP 拥有的IP地址之一:它在 104.163.128.0/17 块中。

BGPView 也有这个图,显示了我的 ISP 与其他 AS 的连接情况。

由 Facebook 事故引发的 BGP 工具探索

工具 2:traceroute -A 和 mtr -z

好了,我们感兴趣的是 AS 。让我们看看我从哪些 AS 中穿过。

traceroute 和 mtr 都有选项可以告诉你每个 IP 的 ASN。其选项分别是 traceroute -A 和 mtr -z

让我们看看我用 mtr 在去 facebook.com 的路上经过了哪些 AS!

  1. $ mtr -z facebook.com
  2. 1. AS??? LEDE.lan
  3. 2. AS1403 104-163-190-1.qc.cable.ebox.net
  4. 3. AS??? 10.170.192.58
  5. 4. AS1403 0.et-5-2-0.er1.mtl7.yul.ebox.ca
  6. 5. AS1403 0.ae17.er2.mtl3.yul.ebox.ca
  7. 6. AS1403 0.ae0.er1.151fw.yyz.ebox.ca
  8. 7. AS??? facebook-a.ip4.torontointernetxchange.net
  9. 8. AS32934 po103.psw01.yyz1.tfbnw.net
  10. 9. AS32934 157.240.38.75
  11. 10. AS32934 edge-star-mini-shv-01-yyz1.facebook.com

这很有意思,看起来我们直接从我的 ISP 的 AS(1403)到 Facebook 的 AS(32934),中间有一个“互联网交换”。

我不确定 互联网交换internet exchange(IX)是什么,但我知道它是互联网的一个极其重要的部分。不过这将是以后的事了。我猜是,它是互联网中实现“对等”的部分,就假设它是一个有巨大的交换机的机房,里面有无限的带宽,一堆不同的公司把他们的电脑放在里面,这样他们就可以互相发送数据包。

mtr 用 DNS 查找 ASN

我对 mtr 如何查找 ASN 感到好奇,所以我使用了 strace。我看到它看起来像是在使用 DNS,所以我运行了 dnspeep,然后就看到了!

  1. $ sudo dnspeep
  2. ...
  3. TXT 1.190.163.104.origin.asn.cymru.com 192.168.1.1 TXT: 1403 | 104.163.176.0/20 | CA | arin | 2014-08-14, TXT: 1403 | 104.163.160.0/19 | CA | arin | 2014-08-14, TXT: 1403 | 104.163.128.0/17 | CA | arin | 2014-08-14
  4. ...

所以,看起来我们可以通过查找 1.190.163.104.origin.asn.cymru.com 上的 txt 记录找到 104.163.190.1 的 ASN,像这样:

  1. $ dig txt 1.190.163.104.origin.asn.cymru.com
  2. 1.190.163.104.origin.asn.cymru.com. 13911 IN TXT "1403 | 104.163.160.0/19 | CA | arin | 2014-08-14"
  3. 1.190.163.104.origin.asn.cymru.com. 13911 IN TXT "1403 | 104.163.128.0/17 | CA | arin | 2014-08-14"
  4. 1.190.163.104.origin.asn.cymru.com. 13911 IN TXT "1403 | 104.163.176.0/20 | CA | arin | 2014-08-14"

这很好!让我们继续前进吧。

工具 3:数据包交换所的观察镜

PCH(“数据包交换所packet clearing house”)是运行大量互联网交换点的组织。“观察镜looking glass”似乎是一个通用术语,指的是让你从另一个人的计算机上运行网络命令的 Web 表单。有一些观察镜不支持 BGP,但我只对那些能显示 BGP 路由信息的观察镜感兴趣。

这里是 PCH 的观察镜: https://www.pch.net/tools/looking_glass/ 。

在该网站的 Web 表单中,我选择了多伦多 IX(“TORIX”),因为 mtr 说我是用它来访问 facebook.com 的。

操作 1:显示 ip bgp 摘要

下面是输出结果。我修改了其中的一些内容:

  1. IPv4 Unicast Summary:
  2. BGP router identifier 74.80.118.4, local AS number 3856 vrf-id 0
  3. BGP table version 33061919
  4. RIB entries 513241, using 90 MiB of memory
  5. Peers 147, using 3003 KiB of memory
  6. Peer groups 8, using 512 bytes of memory
  7. Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
  8. ...
  9. 206.108.34.248 4 1403 484672 466938 0 0 0 05w3d03h 50
  10. ...
  11. 206.108.35.2 4 32934 482088 466714 0 0 0 01w6d07h 38
  12. 206.108.35.3 4 32934 482019 466475 0 0 0 01w0d06h 38
  13. ...
  14. Total number of neighbors 147

我的理解是,多伦多 IX(“TORIX”)直接连接到我的 ISP (EBOX,AS 1403)和 Facebook(AS 32934)。

操作 2:显示 ip bgp 129.134.30.0

这是筛选自 show ip bgp 对 129.134.30.0(Facebook 的一个 IP 地址)的输出:

  1. BGP routing table entry for 129.134.30.0/23
  2. Paths: (4 available, best #4, table default)
  3. Advertised to non peer-group peers:
  4. 206.220.231.55
  5. 11670 32934
  6. 206.108.35.2 from 206.108.35.254 (206.108.35.254)
  7. Origin IGP, metric 0, valid, external
  8. Community: 3856:55000
  9. Last update: Mon Oct 4 21:17:33 2021
  10. 11670 32934
  11. 206.108.35.2 from 206.108.35.253 (206.108.35.253)
  12. Origin IGP, metric 0, valid, external
  13. Community: 3856:55000
  14. Last update: Mon Oct 4 21:17:31 2021
  15. 32934
  16. 206.108.35.3 from 206.108.35.3 (157.240.58.225)
  17. Origin IGP, metric 0, valid, external, multipath
  18. Community: 3856:55000
  19. Last update: Mon Oct 4 21:17:27 2021
  20. 32934
  21. 206.108.35.2 from 206.108.35.2 (157.240.58.182)
  22. Origin IGP, metric 0, valid, external, multipath, best (Older Path)
  23. Community: 3856:55000
  24. Last update: Mon Oct 4 21:17:27 2021

这似乎是在说,从该 IX 到 Facebook 有 4 条路线。

魁北克 IX 似乎对 Facebook 一无所知

我也试过从魁北克 IX(“QIX”,它可能离我更近,因为我住在蒙特利尔而不是多伦多)做同样的事情。但 QIX 似乎对 Facebook 一无所知:当我输入129.134.30.0 时,它只是说 “% 网络不在表中”。

所以我想这就是为什么我被送到多伦多 IX 而不是魁北克的 IX。

更多的 BGP 观察镜

这里还有一些带观察镜的网站,可以从其他角度给你类似的信息。它们似乎都支持相同的 show ip bgp 语法,也许是因为他们运行的是同一个软件?我不太确定。

似乎有很多这样的观察镜服务,远不止这 3 个列表。

这里有一个与这个列表上的一个服务器进行会话的例子:route-views.routeviews.org。这次我是通过 telnet 连接的,而不是通过 Web 表单,但输出的格式看起来是一样的。

  1. $ telnet route-views.routeviews.org
  2. route-views>show ip bgp 31.13.80.36
  3. BGP routing table entry for 31.13.80.0/24, version 1053404087
  4. Paths: (23 available, best #2, table default)
  5. Not advertised to any peer
  6. Refresh Epoch 1
  7. 3267 1299 32934
  8. 194.85.40.15 from 194.85.40.15 (185.141.126.1)
  9. Origin IGP, metric 0, localpref 100, valid, external
  10. path 7FE0C3340190 RPKI State valid
  11. rx pathid: 0, tx pathid: 0
  12. Refresh Epoch 1
  13. 6939 32934
  14. 64.71.137.241 from 64.71.137.241 (216.218.252.164)
  15. Origin IGP, localpref 100, valid, external, best
  16. path 7FE135DB6500 RPKI State valid
  17. rx pathid: 0, tx pathid: 0x0
  18. Refresh Epoch 1
  19. 701 174 32934
  20. 137.39.3.55 from 137.39.3.55 (137.39.3.55)
  21. Origin IGP, localpref 100, valid, external
  22. path 7FE1604D3AF0 RPKI State valid
  23. rx pathid: 0, tx pathid: 0
  24. Refresh Epoch 1
  25. 20912 3257 1299 32934
  26. 212.66.96.126 from 212.66.96.126 (212.66.96.126)
  27. Origin IGP, localpref 100, valid, external
  28. Community: 3257:8095 3257:30622 3257:50001 3257:53900 3257:53904 20912:65004
  29. path 7FE1195AF140 RPKI State valid
  30. rx pathid: 0, tx pathid: 0
  31. Refresh Epoch 1
  32. 7660 2516 1299 32934
  33. 203.181.248.168 from 203.181.248.168 (203.181.248.168)
  34. Origin IGP, localpref 100, valid, external
  35. Community: 2516:1030 7660:9001
  36. path 7FE0D195E7D0 RPKI State valid
  37. rx pathid: 0, tx pathid: 0

这里有几个路由的选择:

  • 3267 1299 32934
  • 6939 32934
  • 701 174 32934
  • 20912 3257 1299 32934
  • 7660 2516 1299 32934

我想这些都有不止一个 AS 的原因是,31.13.80.36 是 Facebook 在多伦多的 IP 地址,所以这个服务器(可能在美国西海岸,我不确定)不能直接连接到它,它需要先到另一个 AS。所以所有的路由都有一个或多个 ASN。

最短的是 6939(“Hurricane Electric”),它是一个 “全球互联网骨干”。他们也有自己的 Hurricane Electric 观察镜 页面。

工具 4:BGPlay

到目前为止,所有其他的工具都只是向我们展示了 Facebook 路由的当前状态,其中一切正常,但这第四个工具让我们看到了这个 Facebook BGP 互联网灾难的历史。这是一个 GUI 工具,所以我将包括一堆屏幕截图。

该工具在 https://stat.ripe.net/special/bgplay。我输入了 IP 地址 129.134.30.12(Facebook 的一个 IP),如果你想一起试试。

首先,让我们看看一切出错之前的状态。我点击了在 10 月 4 日 13:11:28 的时间线,得到了这个结果:

由 Facebook 事故引发的 BGP 工具探索

我最初发现这很让人不知所措。发生了什么事?但后来有人在推特上指出,下一个要看的地方是点击 Facebook 灾难发生后的时间线(10 月 4 日 18 点 38 分)。

由 Facebook 事故引发的 BGP 工具探索

很明显,这张图有问题:所有的 BGP 路线都不见了!哦,不要!

顶部的文字显示了最后一条 Facebook BGP 路由的消失:

  1. Type: W > withdrawal Involving: 129.134.30.0/24
  2. Short description: The route 50869, 25091, 32934 has been withdrawn.
  3. Date and time: 2021-10-04 16:02:33 Collected by: 20-91.206.53.12

如果我再点击“快进fast forward”按钮,我们看到 BGP 路由开始回来了。

由 Facebook 事故引发的 BGP 工具探索

第一个宣告的是 137409 32934。但我不认为这实际上是第一个宣布的,在同一秒内有很多路由宣告(在 2021-10-04 21:00:40),我认为 BGPlay 内部的排序是任意的。

如果我再次点击“快进fast forward”按钮,越来越多的路由开始回来,路由开始恢复正常。

我发现在 BGPlay 里看这个故障真的很有趣,尽管一开始界面很混乱。

也许了解一下 BGP 是很重要的?

我在这篇文章的开头说,你不能改变 BGP 路由,但后来我想起在 2016 年或 2017 年,有一个 Telia 路由问题,给我们的工作造成了一些小的网络问题。而当这种情况发生时,了解为什么你的客户无法到达你的网站其实是很有用的,即使它完全不受你控制。当时我不知道这些工具,但我希望能知道!

我认为对于大多数公司来说,应对由其他人的错误 BGP 路由造成的中断,你所能做的就是“什么都不做,等待它得到修复”,但能够_自信地_什么都不做是很好的。

一些发布 BGP 路由的方法

如果你想(作为一个业余爱好者)真正发布 BGP 路由,这里有一些评论中的链接:

  • 获取你自己的 ASN 的指南
  • dn42 似乎有一个 BGP 的实验场(它不在公共互联网上,但确实有其他人在上面,这似乎比自己在家里做 BGP 实验更有趣)

目前就这些了

我想还有很多 BGP 工具(比如 PCH 有一堆 路由数据的每日快照,看起来很有趣),但这篇文章已经很长了,而且我今天还有其他事情要做。

我对我作为一个普通人可以得到这么多关于 BGP 的信息感到惊讶,我一直认为它是一个“秘密的网络巫师”这样的东西,但显然有各种公共机器,任何人都可以直接 telnet 到它并用来查看路由表!没想到!


via: https://jvns.ca/blog/2021/10/05/tools-to-look-at-bgp-routes/

作者:Julia Evans 选题:lujun9972 译者:wxy 校对:wxy

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

转自 https://linux.cn/article-13857-1.html

Intel首次官方展示12代酷睿实物:“7nm”终于来到桌面

Editor, Kai

Alder Lake 12代酷睿的架构、技术细节早已官宣,性能数据也不断流出。

今天,Intel第一次官方公布了12代酷睿处理器的实物照片,正反两面都有,并称:“已经等不及要和大家分享它将解锁的新体验。”

看起来和泄露的样品毫无二致,只是正面表面是空白的,不知道是本来这样,还可以刻意抹掉了上边的文字标记。

Intel首次官方展示12代酷睿实物:“7nm”终于来到桌面

Intel首次官方展示12代酷睿实物:“7nm”终于来到桌面

12代酷睿将更换新的LGA1700封装接口,整体从正方形改为长方形,尺寸从37.5×37.5毫米变成37.5×45.0毫米,也就是一个方向上加长了7.5毫米,而且封装厚度也变了,现有散热器不兼容。

它也将是Intel首款采用10nm工艺的桌面处理器,确切地说是10nm Enhanced SuperFin升级加强版,已经被改名为Intel 7,暗示可媲美台积电7nm。

12代酷睿有望在10月27-28日的创新大会期间正式发布,11月4日性能解禁、零售上市。

Intel首次官方展示12代酷睿实物:“7nm”终于来到桌面
最早流出、流传最广的12代酷睿ES1阶段样品

Intel首次官方展示12代酷睿实物:“7nm”终于来到桌面
ES2阶段样品

Intel首次官方展示12代酷睿实物:“7nm”终于来到桌面

Intel首次官方展示12代酷睿实物:“7nm”终于来到桌面

Intel首次官方展示12代酷睿实物:“7nm”终于来到桌面

– THE END –

转载请注明出处:快科技

转自 https://news.mydrivers.com/1/787/787444.htm

不是 Windows,也不是 Linux,Shrine 才是“神之操作系统”

Editor, Kai

在生活中,我们都曾使用过多种操作系统。有些好,有些坏。但你能说你使用过由“神”设计的操作系统吗?今天,我想向你介绍 Shrine(圣殿)。

什么是 Shrine?

不是 Windows,也不是 Linux,Shrine 才是“神之操作系统”

从介绍里,你可能想知道这到底是怎么回事。嗯,这一切都始于一个叫 Terry Davis 的人。在我们进一步介绍之前,我最好提醒你,Terry 在生前患有精神分裂症,而且经常不吃药。正因为如此,他在生活中说过或做过一些不被社会接受的事情。

总之,让我们回到故事的主线。在 21 世纪初,Terry 发布了一个简单的操作系统。多年来,它不停地换了几个名字,有 J Operating System、LoseThos 和 SparrowOS 等等。他最终确定了 TempleOS(神庙系统)这个名字。他选择这个名字是因为这个操作系统将成为“神的圣殿”。因此,“神”给 Terry 的操作系统规定了以下 规格

  • 它将有 640×480 的 16 色图形显示
  • 它将使用 “单声道 8 位带符号的类似 MIDI 的声音采样”
  • 它将追随 Commodore 64,即“一个非网络化的简单机器,编程是目标,而不仅仅是达到目的的手段”
  • 它将只支持一个文件系统(名为 “Red Sea”)
  • 它将被限制在 10 万行代码内,以使它 “整体易于学习”
  • “只支持 Ring-0 级,一切都在内核模式下运行,包括用户应用程序”
  • 字体将被限制为 “一种 8×8 等宽字体”
  • “对一切都可以完全访问。所有的内存、I/O 端口、指令和类似的东西都绝无限制。所有的函数、变量和类成员都是可访问的”
  • 它将只支持一个平台,即 64 位 PC

Terry 用一种他称之为 HolyC(神圣 C 语言)的编程语言编写了这个操作系统。TechRepublic 称其为一种 “C++ 的修改版(‘比 C 多,比 C++ 少’)”。如果你有兴趣了解 HolyC,我推荐 这篇文章 和 RosettaCode 上的 HolyC 条目。

2013 年,Terry 在他的网站上宣布,TempleOS 已经完成。不幸的是,几年后的 2018 年 8 月,Terry 被火车撞死了。当时他无家可归。多年来,许多人通过他在该操作系统上的工作关注着他。大多数人对他在如此小的体积中编写操作系统的能力印象深刻。

现在,你可能想知道这些关于 TempleOS 的讨论与 Shrine 有什么关系。好吧,正如 Shrine 的 GitHub 页面 所说,它是 “一个为异教徒设计的 TempleOS 发行版”。GitHub 用户 minexew 创建了 Shrine,为 TempleOS 添加 Terry 忽略的功能。这些功能包括:

  • 与 TempleOS 程序 99% 的兼容性
  • 带有 Lambda Shell,感觉有点像经典的 Unix 命令解释器
  • TCP/IP 协议栈和开机即可上网
  • 包括一个软件包下载器

minexew 正计划在未来增加更多的功能,但还没有宣布具体会包括什么。他有计划为 Linux 制作一个完整的 TempleOS 环境。

体验

让 Shrine 在虚拟机中运行是相当容易的。你所需要做的就是安装你选择的虚拟化软件。(我的是 VirtualBox)当你为 Shrine 创建一个虚拟机时,确保它是 64 位的,并且至少有 512MB 的内存。

一旦你启动到 Shrine,会询问你是否要安装到你的(虚拟)硬盘上。一旦安装完成(你也可以选择不安装),你会看到一个该操作系统的导览,你可以由此探索。

总结

TempleOS (和 Shrine)显然不是为了取代 Windows 或 Linux。即使 Terry 把它称为 “神之圣殿”,我相信在他比较清醒的时候,他也会承认这更像是一个业余的作业系统。考虑到这一点,已完成的产品相当 令人印象深刻。在 12 年的时间里,Terry 用他自己创造的语言创造了一个稍稍超过 10 万行代码的操作系统。他还编写了自己的编译器、图形库和几个游戏。所有这些都是在与他自己的个人心魔作斗争的时候进行的。


via: https://itsfoss.com/shrine-os/

作者:John Paul 选题:lujun9972 译者:wxy 校对:wxy

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

转自 https://linux.cn/article-13831-1.html