而趙遠這邊,對能順利請到長假毫不意外。此刻他根本沒心思多想這些瑣事,正牽頭開一場核心技術攻堅會議。
會議室里氣氛緊繃,趙遠面前坐著一眾管理層、林景行,還有好幾名作業系統方向的核心技術骨幹,所有人都凝神聽他拆解新的架構思路——這批人後續就要負責對應模塊的開發落地。
趙遠站在白板前侃侃而談,板面上密密麻麻寫滿了各類技術標註,最後落筆一行格外醒目的字:HAR硬體抽象層。
「我們要搭建一套帶標準固定接口的中間代碼層,夾在應用、圖形、系統框架這三層上層模塊和最底層的內核之間。」
他稍作停頓,看向眾人,條理清晰地戳破現有架構的致命短板:
「你們都清楚現在的模式,上層每個模塊都是直連調用內核,深度綁定Linux驅動的專屬調用邏輯。以後一旦更換基帶晶片等硬體,不光內核側的驅動要大改,上層一大堆通信配套代碼也得大面積重寫。
更別說咱們公司的終極目標 —— 以後要換掉 Linux,做自己的自研內核。現在不加這層隔離,到時候上面所有軟體基本都得推倒重來。
還有開發速度也受拖累,現在做上層功能,必須等底層內核調試完才能測試,所有人只能排隊等著干,研發周期越拖越長。」
「而我設計的這套 HAR 抽象層,就是專門解決這些麻煩的。」
「以後上面三層軟體,統一隻調用 HAR 封裝好的標準接口,完全不碰底層內核。HAR 層自己再通過不同的『適配插件』,去對接底下的 Linux 系統。
將來不管底層是用 Linux,還是換成咱們自己的自研內核;不管換哪家的屏幕、哪個型號的手機晶片…… 上層軟體都不用改,它只認 HAR 這一套統一指令,根本感覺不到底下硬體和系統變了。
另外,像資源衝突、報錯提示、異常處理這些事,也全都收攏到 HAR 層統一解決,上層開發的人不用再去應付五花八門的底層報錯。」
話音落下,在場的核心技術人員和管理層全都心頭一震,紛紛看向趙遠。誰都沒料到這位年輕老闆,對作業系統底層架構的理解居然精深到這種地步,各類專業技術框架、底層邏輯信手拈來。
林景行緩緩點頭,接話道:「趙總這個分層設計太關鍵了,直接打破多層研發互相卡脖子的困局。
等以後切換自研內核,上層整套代碼基本不用動,還是調同一套HAR抽象接口,我們只重寫HAR對接內核側的適配封裝就行,整體開發量能砍掉一大半。
後期排查故障也清晰太多,不用跨好幾個模塊來回核對、互相推諉。」
趙遠點了點頭,伸手指向白板,逐條敲定現階段第一階段的硬性目標:
「咱們這一階段,只聚焦手機四類核心硬體:GSM基帶、電阻觸控屏、基礎電源管理模塊。
第一件事,定死 HAR 的標準接口,以後永久不變。所有上層軟體想操作硬體,必須走 HAR 通道,絕對不許直接連底層驅動。」
「第二,做兩套適配插件。一套是『真機版』,對接真實手機里的 Linux 驅動;另一套是『電腦仿真版』,不用真實手機,純靠軟體模擬硬體的反應。」
「第三,出一份正式規範文檔,把 HAR 的所有調用規則寫死。
這幾塊工作,我會抽十幾到二十個研發組成專項小組,三個月內必須把基礎功能全部做出來。」
在場的技術骨幹心裡盤算了一下,第一階段範圍劃得很清楚,短期攻堅難度可控,紛紛點頭記下要求。
林景行坐在那兒,心裡反覆掂量著這套方案的分量。他太清楚沒有隔離層的痛點了:「以後真要換內核、換硬體,十幾萬行硬體適配代碼得全部推翻重寫,還得跟著冒出數不清的 bug,人力、時間砸進去根本沒個數。」
他忍不住開口,語氣里滿是感慨:「大家回去都好好琢磨琢磨趙總這套設計。只要把 HAR 這層啃下來,光這一個架構,就能幫公司省下四五千萬的研發投入,加上後續優化等等至少能壓縮兩年的整體研發周期,還是很值得下重注的。」
這話一出口,底下頓時響起一陣低聲議論。
有人連連點頭:「可不是嘛!以前換個屏幕驅動,上面好幾層代碼都要跟著改,改完還得全量測一遍,太折騰了。有了這層統一接口,以後換硬體只改底下插件就行,上面完全不用動。」
也有人忍不住嘆服:「趙總這眼光是真長遠,現在就把以後換自研內核的坑都提前填上了。我之前還只想著先把系統跑起來,根本沒考慮到後續疊代的成本,這一下格局就拉開了。」
還有人跟著附和:「是啊,光這一層設計,就比市面上很多做系統的團隊想得深多了。看似多做了一層中間件,實則把後面幾年的研發成本都省下來了,太值了。」
幾句議論下來,眾人看向趙遠的眼神里都多了幾分佩服。
原本不少人還覺得老闆年紀輕,可能只管給錢不管技術,現在才發現,人家對底層技術的理解,比很多幹了十幾年的老工程師都通透,太牛了。
趙遠等眾人議論聲稍落,接著說道:「未來三個月我也會全程深度參與攻堅,大家遇到任何卡點,隨時都可以找我溝通。第一階段的目標就定三個月,必須按時拿下來。」
林景行也跟著正色補充:「這個任務是咱們作業系統項目的核心根基,大家務必重視,好好完成。有沒有什麼問題現在可以提。」
話音剛落,隊伍里一個叫楊明的核心技術骨幹站了起來。他以前在老東家就是頂尖的技術好手,腦子轉得快,剛聽完方案就揪出了兩個最關鍵的隱患,直截了當地問了出來:
「趙總,我梳理了兩個實際問題想請教您。
第一,就是這個封裝的尺度不好把握。要是封裝得太淺,只是簡單把底層驅動的指令轉一遍,沒做統一的能力收攏,那以後換內核、換硬體,這套抽象層基本就廢了,前期投入等於打水漂。
可要是封裝得太深、太複雜,現在手機算力本來就弱,多這麼一層翻譯,很容易造成卡頓、兼容問題,搞不好還會觸發硬體故障。」
「第二就是兩套插件的兼容問題。我們同時維護真機和電腦仿真兩套適配代碼,真實手機硬體和電腦模擬環境的指令差得很遠,很容易出現真機跑著一切正常,仿真環境卻全是報錯的情況,兩套環境的表現很難對齊。」
趙遠聽完,眼裡露出幾分讚許:「你考慮得很周全,問題抓得很準。這兩個風險我都有應對方案。」
「首先說封裝尺度:上層調用的 HAR 接口,直接敲定標準,永久鎖定不再改動,強制所有上層業務百分之百通過 HAR 訪問硬體。
底層適配先做輕量化封裝,只優先把剛需的硬體能力統一起來。」
眾人聽著紛紛點頭。淺封裝能規避當下的性能問題,要是太深了,就此鎖死硬體和內核,以後不管是自家更新設備,還是對接外部廠商的硬體,前期的開發投入都容易打水漂。
趙遠像是看穿了大家的心思,接著補充道:「對了,你們還要加一道硬性攔截機制 —— 凡是不通過 HAR 接口,直接去操作底層硬體的請求,一律攔截報錯,從根上杜絕有人繞開抽象層直接寫驅動的行為。
咱們團隊不少老工程師,以前都習慣直接操控底層硬體,這個規則就是從流程上卡死舊習慣,逼著大家按統一標準來。」
「至於真機和仿真兩套環境對不齊的問題,」 趙遠頓了頓,「我們安排專人做日誌反向同步:每天把真機上硬體的原始指令、延遲波動、異常抖動這些真實運行數據全部抓下來,
同步餵給電腦仿真插件,持續打磨校準,一點點把兩套環境的行為差異抹平。」
眾人聽完都覺得邏輯通順、方案可行,又圍著幾個細節討論了一會,這場為公司省下幾千萬成本和兩年時間的核心技術攻堅會便宣告散會。