本人 30+大龄程序员,写过 Java 和 C++,用过一段时间 Rust ,工作基本都是偏服务端的工作。
现在离职状态,准备给自己放空一段时间,最长时间一年。想想以后的方向,顺便精进一下自己。
个人对底层比较感兴趣,尤其操作系统。自己写给一个迷你的操作系统。操作系统方向不只限于内核开发,应该也包括周边生态和工具等等。。但毕竟不是这行的,没有直接的开发经验。
现在 Rust 做系统开发是热点话题,想着就往这一方面发展。
不过兴趣归兴趣,也要考虑难度和糊口问题。毕竟岗位就少。所以想问问大家,这一行的前景如何,入门门槛如何?
有没有相关经验的老哥出来现身说法一下。什么建议都可以提。谢谢大家了。
1
StinkyTofus 69 天前
异想天开。30 岁还这么爱做梦。 如果是我可能会尝试给 Linux 修修 bug , 努力融入社区, 如果这个都做不好, 自己做系统岂不是扯蛋。
|
2
x97bgt OP @StinkyTofus 肯定不是自己做操作系统啊。只是从事这方向的工作。
|
3
miscnote 69 天前
这个方向的确吃经验。我一个认识的哥们,清华的,50 多岁,还在从事嵌入式操作系统工作。他早就财务自由,工作纯粹是爱好。
|
4
passive 69 天前 via Android
30 不是不行,我自己就是 30 之后,从 0 开始,进入过两三个门槛很高的小众行业。
困难之处在如何找到一个老板,愿意付费让你学习。一般需要楼主有优于其他人的条件(比如有一项特别牛逼的相关技能,或者是老板的亲戚,或者是官员的亲戚)。通常来说,假如我是老板或者项目组长,招个或多或少懂一点底层原理的员工从头培训;肯定找个 20 出头刚毕业的小伙,精力好学得快;若是有缘,尽量培养成我队伍的忠实成员。 |
5
zzz22333 69 天前
"Rust 做系统开发是热点话题,想着就往这一方面发展" 企业还是用得少, 目前还是 C 和汇编居多。 其次,语言是操作系统中最不重要的一环,主要还是硬件特征,操作系统特性(中断,内存管理,进程,调度等等)。另外,企业招你是干活的,不是给钱让你学习的。
|
6
x97bgt OP |
8
Maca 69 天前
|
9
zzz22333 69 天前
@x97bgt #7 很吃经验的.... 你要学习架构知识( Intel or Arm ), 语言( C 和汇编),操作系统导论。 另外操作系统也会分很细的,比如说调优,BSP ,驱动,适配等等。
|
10
wildlynx 69 天前
去信创行业搞国产操作系统,养老还可以吧?
|
11
UIXX 69 天前 1
问题很笼统,OS 覆盖面太广了:
中大型设备的 Windows 、MacOS 、Linux (如 Ubuntu )及其他 Unix 系统 移动设备的 Android 及其变体、iOS 及一些市场份额较小的其他系统 嵌入式设备的轻量级 Linux (如 OpenWrt )、RTOS 及其他 Unix 系统 各种系统在官方版本之外还有各种魔改版本: 社区开源版、企业定制版、国产版... 因此不能一概而论。 --------------------------------------------- 几个相对较火的相关工作是: 1. 包括“开源国产化”在内的系统移植。主要是解决芯片与内核的适配问题,具体工作范围包含引导、BSP 、各种内核驱动。 2. 系统魔改。最典型的例子就是各手机厂商自己的 OS 。 3. 工控系统开发。这个可以由一些小型固件、轻量 OS 重写得来。 4. 虚拟化。虚拟化技术我做得少,就不乱说了。 这些工作对比较吃经验和行业深度,比如系统移植需要对目标系列的芯片及其架构比较熟悉,工控开发需要了解行业标准。至于一些 demo 书里面经常讲的内存管理机制与进程结构,开发中很少造轮子。因为改进是根据实务来的,自以为是的设计常常带来负优化。 --------------------------------------------- 妥善管理硬件资源,语言不是什么问题。 |
12
gongguowei02 69 天前
如果一个人使用 C 语言,那往往不是因为他选择了 C 语言,而是 C 语言选择了他。
如果你开发的是操作系统、编译器、硬件驱动,那么你没有选择,只能使用 C 语言。 |
13
wfish53111 64 天前
我在看《操作系统真象还原》已经搞到硬盘驱动这里了,也是从汇编重新学起来的
|