想转方向做操作系统,前景如何?

100 天前
 x97bgt

本人 30+大龄程序员,写过 Java 和 C++,用过一段时间 Rust ,工作基本都是偏服务端的工作。

现在离职状态,准备给自己放空一段时间,最长时间一年。想想以后的方向,顺便精进一下自己。

个人对底层比较感兴趣,尤其操作系统。自己写给一个迷你的操作系统。操作系统方向不只限于内核开发,应该也包括周边生态和工具等等。。但毕竟不是这行的,没有直接的开发经验。

现在 Rust 做系统开发是热点话题,想着就往这一方面发展。

不过兴趣归兴趣,也要考虑难度和糊口问题。毕竟岗位就少。所以想问问大家,这一行的前景如何,入门门槛如何?

有没有相关经验的老哥出来现身说法一下。什么建议都可以提。谢谢大家了。

2239 次点击
所在节点    职场话题
13 条回复
StinkyTofus
100 天前
异想天开。30 岁还这么爱做梦。 如果是我可能会尝试给 Linux 修修 bug , 努力融入社区, 如果这个都做不好, 自己做系统岂不是扯蛋。
x97bgt
100 天前
@StinkyTofus 肯定不是自己做操作系统啊。只是从事这方向的工作。
miscnote
100 天前
这个方向的确吃经验。我一个认识的哥们,清华的,50 多岁,还在从事嵌入式操作系统工作。他早就财务自由,工作纯粹是爱好。
passive
100 天前
30 不是不行,我自己就是 30 之后,从 0 开始,进入过两三个门槛很高的小众行业。
困难之处在如何找到一个老板,愿意付费让你学习。一般需要楼主有优于其他人的条件(比如有一项特别牛逼的相关技能,或者是老板的亲戚,或者是官员的亲戚)。通常来说,假如我是老板或者项目组长,招个或多或少懂一点底层原理的员工从头培训;肯定找个 20 出头刚毕业的小伙,精力好学得快;若是有缘,尽量培养成我队伍的忠实成员。
zzz22333
100 天前
"Rust 做系统开发是热点话题,想着就往这一方面发展" 企业还是用得少, 目前还是 C 和汇编居多。 其次,语言是操作系统中最不重要的一环,主要还是硬件特征,操作系统特性(中断,内存管理,进程,调度等等)。另外,企业招你是干活的,不是给钱让你学习的。
x97bgt
100 天前
@passive 我感觉摸爬滚打这么多年,理论基础肯定够用,但就是实战经验没有。这是我自己总结的优势和劣势。

不过这一行一定需要老师傅带?我是想先参与一些开源项目
x97bgt
100 天前
@zzz22333 不是学习啊。我的计划是在空档期学习和积累经验。
Maca
100 天前
看过一本书,《 30 天自制操作系统》,是用 汇编 和 C 写的。
不过对于理解“开发操作系统”这件事感觉会有帮助。

https://book.douban.com/subject/11530329/
zzz22333
100 天前
@x97bgt #7 很吃经验的.... 你要学习架构知识( Intel or Arm ), 语言( C 和汇编),操作系统导论。 另外操作系统也会分很细的,比如说调优,BSP ,驱动,适配等等。
wildlynx
100 天前
去信创行业搞国产操作系统,养老还可以吧?
UIXX
100 天前
问题很笼统,OS 覆盖面太广了:

中大型设备的 Windows 、MacOS 、Linux (如 Ubuntu )及其他 Unix 系统
移动设备的 Android 及其变体、iOS 及一些市场份额较小的其他系统
嵌入式设备的轻量级 Linux (如 OpenWrt )、RTOS 及其他 Unix 系统

各种系统在官方版本之外还有各种魔改版本:

社区开源版、企业定制版、国产版...

因此不能一概而论。

---------------------------------------------

几个相对较火的相关工作是:

1. 包括“开源国产化”在内的系统移植。主要是解决芯片与内核的适配问题,具体工作范围包含引导、BSP 、各种内核驱动。

2. 系统魔改。最典型的例子就是各手机厂商自己的 OS 。

3. 工控系统开发。这个可以由一些小型固件、轻量 OS 重写得来。

4. 虚拟化。虚拟化技术我做得少,就不乱说了。

这些工作对比较吃经验和行业深度,比如系统移植需要对目标系列的芯片及其架构比较熟悉,工控开发需要了解行业标准。至于一些 demo 书里面经常讲的内存管理机制与进程结构,开发中很少造轮子。因为改进是根据实务来的,自以为是的设计常常带来负优化。

---------------------------------------------

妥善管理硬件资源,语言不是什么问题。
gj69B3S92SZZ6767
100 天前
如果一个人使用 C 语言,那往往不是因为他选择了 C 语言,而是 C 语言选择了他。
如果你开发的是操作系统、编译器、硬件驱动,那么你没有选择,只能使用 C 语言。
wfish53111
94 天前
我在看《操作系统真象还原》已经搞到硬盘驱动这里了,也是从汇编重新学起来的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1071155

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX