各位好,这是我最近在烦恼的问题,想麻烦各位帮我看看。
我最近在考虑是否回锅旧公司,或者是往新的公司发展
旧公司有一位前辈手把手带我,他愿意在MCU的平台上,从串行通讯(spi, uart, usb..et
c)、如何写multi-tasking、scheduler到在arm系列上自己写一个RTOS,从头带我"写"过一
遍。回去的话,可以确定的是我可以把马步蹲地很稳,但年薪少了15万。
新公司是直接进入embedded linux,一个庞大且前人已打好基础的系统,没有机会从底层
自己来过一遍。
我对OS如何分配每个task的资源、如何处理每个task之间的资料传递、以及如何让一个系
统稳定且有效率的执行工作,非常地感兴趣,这也是我未来想走的方向(但我不确定有没
有这种职缺,如果有的话,职缺名字又叫做什么?)。
我不喜欢待在linux的上层(不用管OS以下的事,只需要实现纯逻辑部分),我对硬件及韧
体之间如何互相配合、OS如何把底层的事情做好感到兴趣,我喜欢在硬件与韧体之间游走
以下是我的问题:
Q1: 有一位资深的前辈(30年经验)教我第一段所提及的内容,这个经验是难得可贵的吗?
还是会写multi-tasking与RTOS并不能替我的职涯加多少分。如果我有办法自己写mul-task
ing与RTOS,在"台湾"的就业市场中我扮演着什么角色?我能做什么样的工作?
Q2: 我上104搜寻关键字kernel,看到了例如这个职缺: https://reurl.cc/WdQzL
这个职缺的工作内容与我所描述的"OS如何分配每个task的资源、如何处理每个task之间
的资料传递...等等"是相符合的吗?
Q3: 如果不符合,那这个职缺确切的工作内容是什么? 如果符合,我回前公司所学到
(multi-tasking的程式写法、scheduler、RTOS)的内容是不是强正相关?
Q4: 如果我往linux driver的方向走,有机会碰到OS吗?(我听有些人说写driver不太会管
到OS,因为OS是不公开的,或者OS非常之稳定,也没机会改到)。是不是我往linux driver
的方向走,从此以后我职业生涯的方向就不一样了? 写linux driver vs 写linux kernel
目前暂时想到的问题是这些,如果未来有想到别的,请不吝啬容许我提问,谢谢。