我决定辞掉工作,全职开发我的操作系统!

自己编写一个Linux操作系统思路 最后一个inode的文件内容不同于之前,前三个每个都表示了一个目录,包含了它的子目录和文件清单,和emacs文件关联的inode在它的数据段保存了文件的实际内容。总结来说,CFS首先运行一个任务,当任务切换(或者Tick中断发生的时候)时,该任务使用的CPU时间会加到p->se.vruntime里,当p->se.vruntime的值逐渐增大到别的任务变成了红黑树最左边的任务时(同时在该任务和最左边任务间增加一个小的粒度距离,防止过度切换任务,影响性能),最左边的任务被选中执行,当前的任务被抢占。 阅读详情

今天读到了一个瑞典程序员的故事, 他在短短半年的业余时间内、一个人单枪匹马构建了普通程序员几年、甚至十几年的业余时间才能搞定的东西:

操作系统内核、TCP/IP协议、GUI框架、进程管理器、文件浏览器、文本编辑器、界面编辑器、贪吃蛇游戏、绘图工具...... 

这家伙就是传说中的10倍速,甚至100倍速程序员。

再加上后续的浏览器, JS引擎、CSS、C++ IDE、HTTP服务器、电子表格...... 虽然功能还不完善,但是项目展示出的范围宽广得可怕!  

这不但要重写操作系统,还要重写上面的所有软件! 好家伙!

他为什么要这么干呢?

下面以第一人称,讲述一下他的故事。

2018年10月,我刚刚在瑞典的一家戒毒所完成了为期3个月的康复计划, 我失业了,和家人在一起,无事可做。 

日子太漫长了,我得找点儿事儿做。

之前我在Apple 和诺基亚工作,主要做基于WebKit的Web浏览器,  但是我对底层的东西特别感兴趣,我写过ELF的解析器,Ext2 文件系统浏览器,有着事件循环的GUI 框架......

慢慢地,一个操作系统居然开始成形了,我把它取名为SerenityOS (宁静操作系统)。 

你可能要问了,为什么要搞个新的操作系统呢? 

答案很简单,我想构建一个我日常使用的梦想的操作系统:结合上世纪90年代的GUI和Unix严肃的命令行。

在Apple工作的时候,我很享受苹果软件那种都在一个“屋檐”下的感觉,不但所有的软件可以超级紧密地集成,并且可以让程序员尽情地去“折腾”。 

我决定把这种感觉带给开源世界:我的SerenityOS不再是由一个个软件包“拼凑”起来的,我要重新构建所有的东西:从内核到浏览器,以及中间层的所有东西!

开工吧!

第一年, 从零到HTML!

2018-11-08: 在虚拟机中运行

2019-1-09 ,开始对Widget(窗口,按钮,CheckBox等)开始测试

2019-01-21:  创建多个"guitest"进程

2019-02-03:   增加字体编辑器、时钟

2019-02-11:  实现菜单!早期的文件管理器

2019-02-28: 早期的进程管理器

2019-03-15:  TCP协议栈搞定了,实现一个IRC玩玩

2019-04-11: 创建VisualBuilder,  创意来源于Visual Basic

2019-04-20:  贪吃蛇游戏

2019-04-22: GCC基本上可以工作了

2019-06-14:  简单的绘图程序

2019-09-09: 女士们先生们,我们有 DOOM了!

2019-09-29: 在LibHTML中实现基本的CSS

2019-10-10  第一个浏览器实现了!

第二年

2019-11-04: 移植Quake

2019-11-30:  整一个 C++ IDE吧:  HackStudio IDE

2019-12-30: SerenityOS 在 36c3 上被“黑”,我开始发疯似地学习安全知识来保护它

2020-02-29:  一个简单的HTTP服务器(为了庆祝我的生日)

2020-03-31: JavaScript 支持初见雏形

2020-05-30: 支持TLS(和HTTPS)

2020-06-22: JPEG解码器

(想知道图片中这位美女是谁的,可以参考这篇文章《计算机女神,互联网第一夫人!》)

2020-06-30: 努力通过Web浏览器的CSS兼容性测试(ACID2)

2020-08-30: 更多的桌面游戏 (Chess and 2048)

2020-09-22: C++ IDE HackStudio 开始支持Git

2020-09-29:  简单版Excel !

随着时间的推移,越来越多的人发现了我这个小项目(和我在GitHub上的视频),也引起了不少人的共鸣,比如:

我很喜欢你这个项目,有着Unix风格的内核,混搭的GUI,一个Mac OS的菜单栏, Windows GUI界面,一个NextSTEP风格的Laucher , 你把其他系统中你最喜欢的部分给拿了过来。 

越来越多的人参与进来, 宁静操作系统,已经从一个不起眼的小项目,发展成为一个活跃的开源社区,全世界有几百个贡献者,在GitHub上收获了11.9K的star 和 1.1k 的fork 。 

2021年5月28号,我辞职了,全心全意地投入到这个操作系统的开发中。 

这主要得益于大家慷慨的支持,我现在每月收到来自Patreon, GitHub 和PayPal的2000美元的捐赠,YouTube也有少量收入(每月150美元),再加上宁静OS的商品销售(每月100美元)。 

这虽然不足以完全维持我和我的家庭的开销,但也差不到哪儿去。 

正如你看到的,我并不想通过这个操作系统发财, 我只想成为一个健康的、神智健全的人, 碰巧我的“自我治疗”项目吸引了这么多人的注意和支持。 

我是Andreas Kling, 一个瑞典程序员。


故事看完了,不知道各位小伙伴有什么感受? 

说实话,我看了以后首先的感觉就是特别震惊!

文章开头已经提过,这家伙在短短的半年时间内、一个人单枪匹马构建了普通程序员几年、甚至十几年的业余时间才能搞定的东西, 这家伙就是传说中的10倍速,甚至100倍速程序员。

其次,Andreas真是敢想敢干,从内核到应用,都要重新搞一遍。Linux发展这么多年,大家都觉得一统天下了,都去研究Linux就好了,有个别爱好者也就是写个玩具操作系统,但是Andreas却有自己独特的想法,走出了一条独特的道路,并且培育了一个良好的开源社区。

第三就是兴趣真是最好的老师,他完全是凭借个人兴趣把这个系统开发出来的, 在起步阶段,所有的代码都是一个人写的。 一般人写操作系统,估计也就开个头,能够启动,抄几个例子也就算了,更不会搞这么多复杂的GUI框架和程序了。

他在油管上发了700多个视频!让人叹为观止,把自己的开发过程,对操作系统的理解都讲了出来。 

不过, 这几年他衰老速度也肉眼可见

第四,为什么又是北欧? 

Linux是芬兰人Linus写的

MySQL是瑞典人Monty开发的。

Minecraft 是瑞典人Markus写的

......

SerenityOS 虽然没法和上述产品相比,但也是一个非常有影响力的项目了 。 

为什么这些产品没有出现在中国? 

如果说Linux, MySQL, Minecraft开发的比较早,那时候中国程序员还不多,水平可能还不高, 但是现在已经是2020年,SerenityOS涉及到的技术早已普及,为什么没人去做呢? 

我想最有可能的原因是:中国有很多像Andreas这样的天才程序员,只不过他整天被需求压得喘不过气来,业余时间被996榨干,回到家中,累得根本没有时间和精力去鼓捣自己的兴趣和爱好了......

码农翻身3年精华文章(必读!)

漫画 | 老婆离家三周,我写了一个操作系统!

漫画丨国产数据库想突破重围有多难?

漫画 | Linux之父:我财务自由以后,失眠了

漫画:打死我也不搞负载均衡了!

漫画:兄弟,今晚又得熬个通宵了!

程序员的宿命

宇宙第一IDE到底是谁?

如何降低程序员的工资?

程序员,你得选准跑路的时间!

Javascript: 一个屌丝的逆袭

我是一个线程

TCP/IP之大明邮差

一个故事讲完Https

CPU 阿甘

宁静操作系统:lady_beetle:-C/C++开发 用于x86计算机的SerenityOS图形Unix操作系统。 关于SerenityOS,是使用自定义类Unix内核致90年代用户界面的一封情书。 它从SerenityOS图形Unix操作系统(适用于x86计算机)窃取了精美的构想,以此来真诚地恭维。 关于SerenityOS,是使用自定义类Unix内核致90年代用户界面的一封情书。 它通过从其他各种系统中窃取漂亮的想法而真诚地奉承。 粗略地讲,目标是将1990年代后期的生产力软件的美感与2000年代后期* nix的高级用户的可访问性结合起来。 对我们来说,这是我们根据自己喜欢的事物而建立的系统。 我(安德里亚斯)定期发布原始骇客sessio 立即下载

相关推荐

宁静:宁静操作系统System

宁静操作系统 用于x86计算机的图形化类Unix操作系统。 关于 SerenityOS是使用自定义类Unix内核致90年代用户界面的一封情书。 它通过从其他各种系统中窃取精美的想法而真诚地奉承。 粗略地讲,目标是将1990年代后期生产力软件的美学与2000年代后期* nix的高级用户可访问性结合起来。 对我们来说,这是我们根据自己喜欢的事物而建立的系统。 我(Andreas)定期在上发布原始黑客会话和演示。 有时我在上写有关该系统的。 如果您想以这种方式显示一些支持,我也会在和。 屏幕截图 内核功能 具有抢先式多线程功能的x86(32位)内核 硬件保护(SMEP,SMAP,UMIP,N

“戒毒的程序员,全职开发操作系统 6 年后,决定辞职再转战浏览器!”

架构师大咖 架构师大咖,打造有价值的架构师交流平台。分享架构师干货、教程、课程、资讯。架构师大咖,每日推送。公众号该公众号已被封禁这位名为AndreasKling 的程序员,自 2019 年每次更新自己的最新动态时,似乎都能登上国外科技网站的热榜,成为众人关注的焦点。不是因为他堪比 Linux 之父 Linux ...

<sdffdsfsdfdfs>sfsfsfsdfsdffds</sdfsDS>Fsd 162

宁静「Serenity」-crx插件

将新标签替换为简体中文主页,其中包含英文中最美的单词。 您是否厌倦了Chrome中相同的旧无聊的默认新标签页? 嘿,我也是! 这就是为什么我创建此扩展程序的原因,以刷新默认页面并添加一些优美的风景和文字。 “但是访问我访问量最大的网站的链接又如何呢? 我不能没有那个! 不用担心! 我被你遮住了,伙计。 在页面的左上角有一个眼睛图标,如果单击它,将显示访问量最大的网站的列表,以便您可以快速访问自己喜欢的网站。 太漂亮了吧? 如果您宁愿在新标签上显示励志名言,我也会为您提供帮助。 Quotes New Tab是我的第一个新标签扩展,其中包含名人的励志名言。 请点击以下链接查看! https://chrome.google.com/webstore/detail/quotes-new-tab/fnhpicigolcacikdjdocmkfnplmefadg?hl=sv 支持语言:English

SerenityOS 操作系统类 Unix 操作系统

是一个类似Unix的操作系统,但是带有图形化界面,适合X86台式计算机,,其界面类似90 年代的Win98/NT。几乎由一个人完成额操作系统。这几天其Web浏览器通过了 Acid3 浏览器。

ejinxian的专栏 1173

飞控算法-姿态解算之互补滤波

飞控乱入之姿态解算 姿态解算是通过读取各个传感器的数据进行融合最终得到当前飞行器的姿态,姿态通常用Euler角(Roll-Pitch-Yaw)来表示 姿态解算框架 姿态解算的数据源可来自于陀螺仪或加速度计,他们分别都可以得到当前姿态,但实际上他们都有各自的传感器性能的优缺点,需要取长补短,进行数据融合才能得到真实的姿态,这种方法简称 互补滤波 算法 传感器特性 互补滤波 姿态解...

GoolyOh的专栏 1万+

Python+whisper/vosk实现语音识别

Whisper 是一个由 OpenAI 开发的人工智能语音识别模型,它能够将语音转换为文本。Whisper 模型特别之处在于它的设计目标是能够理解和转录多种语言的语音,包括但不限于英语。Whisper 模型在训练时使用了大量不同语言的语音数据,这使得它具有很好的跨语言能力。Vosk 是一个开源的语音识别库,它可以在离线环境下工作,不依赖于任何外部服务。Vosk 基于Kaldi语音识别框架,支持多种语言,包括中文。Vosk提供了多种预训练模型,可以根据需求选择适合的模型进行语音识别。

weixin_44458771的博客 5942

有可能一个人写出windows操作系统吗?

????????关注后回复“进群”,拉你进程序员交流群????????作者丨码农的荒岛求生来源丨码农的荒岛求生(ID:escape-it)大家好,我是小风哥。最近查资料时看到有人提出了一个很有趣的问题:对于世界上最牛的程序员来说有可能自己手撸windows操作系统吗?这个问题的评论也很有趣,是这样评论的:这个问题就是想在问“我是世界上最厉害的桥梁建造师,有可能自己建造出这货吗”:答案是显而易见的,即使是世界上最牛的程...

<sdffdsfsdfdfs>sfsfsfsdfsdffds</sdfsDS>Fsd 384

修改Windows hosts文件的解决方案

本文主要介绍了修改Windows hosts文件解决方案,希望能对新手有所帮助。 文章目录 1. 问题描述 2. 解决方案 2.1 安装软件 2.2 修改hosts文件

weixin_43178406的博客 1万+

一个人写的操作系统 - Sparrow OS

原文: 一个人写的操作系统 - Sparrow OS 链接:http://blog.youkuaiyun.com/michael2012zhao/article/details/17421383 分类: Sparrow操作系统 2013-12-19 19:25 1734人阅读 评论(16) 收藏 举报 操作系统sparrow 目录(?)[+] 一个

xww810319的专栏 2594

Python爬虫实战:全自动采集银行理财产品收益率数据

本文通过Playwright动态爬虫技术,成功实现了对银行理财产品收益率数据的实时采集,并通过 Pandas 数据清洗、SQLite 存储、调度自动化等模块,构建了一个可扩展的银行理财数据抓取系统。理财非儿戏,数据做决策。掌握银行收益信息是我们迈向理性投资的第一步。希望这套工具对你有所帮助!

2201_76125261的博客 1158

用 deepseek 写小说(通用版提示词模板)

#Initialization:作为[Role],在[Goals]下,回顾你的[Skill],严格遵守[Constraints],5.第五步:人物大纲,给小说里的每个人物撰写背景故事,深挖人物过去的经历,原生家庭,住所:一栋位于市郊的房子,有三个卧室,房龄 10 年,厨房很大,当中有一个鸟式大理石。示例 2.戈德里洛克先去了熊老爹的工作坊,尝试用大纲法写作,却发现这种方法无聊透顶,1.第一步:一句话概括,一句话概述小说内容,主要包含小说癸型,主角,以及故事中需要。大灰狼的暴行彻底激怒了戈德里洛克,

陈奕昆的博客 2977

我决定辞掉工作,全职开发我的操作系统!(续)

去年给大家讲了一个瑞典程序员的故事, 他在短短半年的业余时间内、一个人单枪匹马构建了普通程序员几年、甚至十几年的业余时间才能搞定的东西:操作系统内核、TCP/IP协议、GUI框架、进程管理器、文件浏览器、文本编辑器、界面编辑器、贪吃蛇游戏、绘图工具......这家伙就是传说中的10倍速,甚至100倍速程序员。再加上后续的浏览器, JS引擎、CSS、C++ IDE、HTT...

码农翻身 1033

影楼精修-高低频磨皮算法解析

本文介绍了像素蛋糕软件中的高低频磨皮算法原理及实现思路,抛砖引玉。

Trent1985的专栏 2261

这个地方的程序员太闲了,写了3个世界流行的操作系统!

世界上有个地方,这里的程序员似乎特别闲,特别喜欢开发操作系统。这个地方就是北欧。1991年,芬兰的程序员Linus Torvalds开发了Linux,现在已经统治世界。2018年,瑞典程序员Andreas Kling为了戒除毒瘾,完全从头儿开始,开发操作系统。在短短的半年时间内,单枪匹马构建了普通程序员几年,甚至十几年才能搞定的东西:操作系统内核、TCP/IP协议、GUI框架、进程管理器、文件浏览...

码农翻身 1233

流体动力学仿真软件:CFX_(10).案例实践:复杂流场分析

在“Phases”选项卡中,定义参与仿真的不同相。例如,如果您要分析气液两相流,可以定义“Air”和“Water”两个相。

kkchenjj的博客 1690

fanuc机器人KAREL程序间参数的传递

之前的课程中讲述过KAREL程序中函数参数的传递,而控制工业机器人的动作只能通过控制TP程序来实现,所以在实际应用中就会出现在不同程序间进行参数的传递。尤其是对于有模块化编程的思想的设计者,更有这种迫切的要求。所以本次课程来讲解一下如何实现在不同程序之间进行参数的传递。 本次课程分为两个部分,以讲解在不同类型程序间进行参数传递的实现方式。 1、TP程序之间传递参数; 2、TP与PC程序之间传递参数。

haier123888的博客 2697

iOS 10:新操作系统,新手!

iOS10。快到了。 你准备好了吗? 我们猜测您还没有准备好,但是您知道自己需要做。 您必须了解最新的操作系统,以保持最佳客户并获得新客户,但是要跟踪更改可能很困难。 好吧,这很难。 这可能会使它更容易一些: Udemy最受欢迎的两位讲师Mark Price和Rob Percival回来了必修课,这些课程涵盖了您需要了解的有关iOS 10的所有知识,它将如何影响您以及可以集成到应...

danpu0978的博客 224

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

文件操作ios::in_iOS 10:新操作系统,新手!

文件操作ios::in iOS10。快到了。 你准备好了吗? 我们猜测您还没有准备好,但是您知道您需要做好准备。 您必须保持最新的操作系统以保持最佳客户并获得新客户,但是要跟踪更改可能很困难。 好吧,这很难。 这可能会使它更容易一些: Udemy最受欢迎的两位讲师Mark Price和Rob Percival回来了必修课,这些课程涵盖了您需要了解的有关iOS 10的所有知识,它将如...

danpu0978的博客 314

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

假如王撕葱是程序员。。。

宝,今天我要给你写封信,写的什么信,是我爱你爱的难以置信。你可能不了解我,我介绍下自己。我是程序员,具体什么员,是我想成为你家庭的一员。工作就是编程,编的什么程,是见你一面的日夜兼程。用的...

码农翻身 501

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

《安富莱嵌入式周报》第325期:开源可编程精密电阻仪,开源入耳式无线耳机,蓝牙Mesh固件更新,锂电池管理板, 无人机螺旋桨参考, QT6.6发布,IAR教育版

《安富莱嵌入式周报》第325期:开源可编程精密电阻仪,开源入耳式无线耳机,蓝牙Mesh固件更新,锂电池管理板, 无人机螺旋桨参考, QT6.6发布,IAR教育版

Simon223的博客 869

假如我是超级内卷王......

我最喜欢我的发型,因为它天生自然卷,而且是内卷。公司在十八层,为了能坐上电梯,我每次走到三层去等往下的电梯,先坐到1楼再上去。为了能带薪拉屎,我每次提前半个小时占坑,一边等shi意一边刷抖...

码农翻身 562

WASM·技术趋势

今天看到一则故事,一名程序员@Andreas Kling 辞掉工作,全职开发操作系统。正如其签名档一样:I like computers!对技术的热爱已经超越了工作本身,完全是兴趣所在sh...

shadowcz007的博客 993

自己动手写操作系统 ----总计

2021.1.23 开始写操作系统,参考书《ORANGE’S:一个操作系统的实现》 好奇心是动力的源泉,追究问题的本质是优秀黑客的必备素质,只有充分掌握了系统原理,才能在技术上游刃有余,才能有真正的创新和发展。中国需要更多真正的黑客,也希望更多的程序员能享受属于黑客的创造乐趣。 实践–遇到问题–解决问题–再实践 NASM 2.12.02稳定版下载 2017年,软盘已经退出历史舞台。 而且rawrite软件已经不能在win10.0.14393这样的64系统上运行了。 经过考量,作者决定选用WinHex18

qq_43840665的博客 7280

一个患有精神分裂症程序员,用10年写了一个“拯救世界”的操作系统

操作系统是一个极其复杂的软件,一个人开发的话工作量特别吓人。但是一个患有精神分裂症的天才程序员Terry Davis,宣称接到了来自上帝的指示:你要建立一座神庙,用操作系统的方式。于是,Terry整整花了10年时间,完全从头开始,开发了自己的编程语言,编辑器,编译器,内核,应用程序......他一直按照48小时的作息方式,喝大量咖啡,32小时清醒,16小时睡觉。2013年,Terry在网络上宣布...

码农翻身 1442
上一篇: 破玩意 | Redis 为什么那么快
下一篇: 听说 Go语言将统治云开发?
码农翻身
码农翻身 《码农翻身》作者 《码农翻身》作者
博客等级 码龄8年 3万+粉丝 1084原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值