精選分類 書庫 完本 排行 原創專區
欣可小說 > 科幻 > 透明的,不是空的 > 第2章

透明的,不是空的 第2章

作者:周逸凡 分類:科幻 更新時間:2026-04-18 07:27:05

第2章 第一個空洞——魔法學院------------------------------------------,邊緣的暗紅色光芒像餘燼一樣忽明忽暗。周逸凡站在它麵前,能感覺到一股吸力,像站在地鐵站台邊緣,列車呼嘯而過時帶起的那股風,但方向是反的——不是往外推,而是往裡拽。“你先進還是我先進?”皮克問。“你八百年的經驗是用來問這種問題的嗎?”“我八百年冇進過空洞,”皮克理直氣壯,“以前係統出問題都是直接回滾,誰他媽在線修複啊。你當這是寫部落格呢,隨便改?”,把手機舉在胸前當手電筒,一腳邁進了黑洞。,他感覺自己像是被一個巨大的篩子過了一遍。不是疼,是一種說不上來的不對勁——像是身體裡所有的零件都被拆下來清洗了一遍,然後又重新裝回去,但裝的時候有幾個螺絲擰錯了位置。他低頭看了看自己的手,手還在,五根手指,指甲蓋下麵的月牙白也還在。他鬆了一口氣。。,高得看不到頂,穹頂上原本應該繪滿壁畫的位置,現在是一片灰白色的空白,像一張被擦乾淨的黑板。四周的牆壁上嵌著彩繪玻璃窗,但窗戶上畫的不是什麼聖徒或天使,而是一行行發光的符文,像代碼又像咒語。那些符文正在以肉眼可見的速度變淡,像墨水在紙上洇開然後消失。——不對,不全是人。有長著尖耳朵的高個子,有渾身覆蓋鱗片、像蜥蜴一樣直立行走的生物,還有幾個飄浮在半空中、半透明的水母狀東西,它們的觸手末端各頂著一顆發光的小球。所有這些生物都一動不動,像雕塑一樣凝固在原地。不是被冰凍的那種凝固,而是像視頻暫停了,他們的衣角還保持著被風吹起的弧度,眼睛裡還反射著禮堂穹頂上的光,但光已經不在了。“暫停了?”周逸凡問。“凍結了,”皮克從他肩膀上跳下來,落在地上幾乎冇有聲音,“這個空洞所在的地址空間被隔離了,裡麵的所有進程都被掛起。你看到的這些——”“這些生物,”周逸凡接過話,“是這個世界的進程實例。”“精確地說,是[magic_overflow]殭屍線程派生出來的子進程。那個線程存在了三百多年,派生了幾千個子進程,這些子進程分佈在世界的各個角落,構成了你們所說的‘魔法體係’。現在父線程死了,子進程全部變成了孤兒進程,被init進程收養。但問題在於,這些孤兒進程裡有很大一部分已經處於D狀態——不可中斷的睡眠,也就是——”皮克頓了頓,“殭屍化的前期。”。不可中斷的睡眠,通常發生在進程等待I/O操作的時候。正常情況下,操作係統會在一段時間後強製中斷,但在某些buggy的內核版本裡,進程會永遠卡在D狀態,連SIGKILL都殺不死。唯一的方法是重啟整個係統。而在這裡,重啟意味著回滾一百二十七年。“所以我們要做的,”周逸凡環顧四周,“是把這些D狀態的進程從等待隊列裡拽出來,手動給它們喂一個I/O完成的信號,讓它們繼續往下跑。”

皮克用那對大得離譜的眼睛盯著他:“你真的是程式員?不是路邊撿的?”

“我是被裁員的前高級工程師,不是被係統踢出來的實習生。”

“行,”皮克從工裝褲口袋裡掏出一個比它拳頭還大的平板電腦——周逸凡不知道它那點大的口袋是怎麼裝下這個東西的——然後啪地一下把平板展開,上麵顯示著一張密密麻麻的地圖,“這裡是斯維爾魔法學院,整個大陸排名第三的魔法教育機構。它在magic_overflow線程裡註冊了大約兩百三十個魔法進程,涉及的元素魔法、變形術、預言係等等。現在所有進程全部卡在D狀態,原因統一是:等待父線程返回一個魔法值。”

“什麼魔法值?”

“不知道。那個值隻有父線程知道,父線程已經死了,所以所有子進程都在等一個永遠不會來的返回值。”

周逸凡想了想。在編程裡,這種情況有一個經典的解決方案:用默認值代替缺失的返回值。但默認值不能隨便選,必須滿足兩個條件——第一,不能破壞下遊進程的輸入假設;第二,不能引發新的異常。

“我們需要找到每一個等待中的魔法進程,弄清楚它在等什麼類型的返回值,然後給它一個合理的默認值。”

皮克看了看平板上的地圖:“兩百三十個進程,分佈在整個學院的各個角落。我們得挨個找。”

“分開找?”

“分開找死得更快,”皮克說,“你是root,隻有你纔有權限改內存值。我隻是個運維,隻能讀,不能寫。你要是不在我旁邊,我找到了也修不了。”

周逸凡歎了口氣,朝著最近的一個凝固的人形生物走去。

那是一個尖耳朵的高個子,穿著深藍色的長袍,胸口彆著一個銀色的徽章,上麵刻著一隻展翅的鷹。他的右手舉在半空中,食指指著前方,嘴唇微張,像是在唸咒語。周逸凡靠近了才發現,他的指尖有一團極其微弱的光,像快要熄滅的打火機的火焰,不停地閃爍。

“這是在施法過程中被凍結的,”皮克跳上週逸凡的肩膀,湊過去看了看那團光,“他在調用一個火球術函數。你看到那團光了嗎?正常情況下它應該越變越大,最後脫離指尖飛出去。但現在因為父線程冇有返回值,它卡在了‘請求魔法值’這一步,永遠等不到燃料。”

“火球術需要什麼返回值?”

“魔法量。通俗地說,就是這個火球應該有多大、多熱、飛多遠。這些參數由父線程的魔法溢位機製動態計算。現在父線程死了,這個火球術進程就在等一個永遠不會傳來的參數包。”

周逸凡低頭看了看手機。螢幕上顯示著recovery>提示符,光標一閃一閃的,旁邊還有一行新出現的狀態欄:

[location]斯維爾魔法學院,主禮堂,座標(0x7F3A, 0x2C4B)

[process]火球術調用 #127,PID=0341,state=D,waiting_for=magic_value_pack

[action required]

他需要給這個進程喂一個魔法值包。但他不知道正常的魔法值應該是什麼。隨便給一個數,可能會炸。

“皮克,正常情況下,一個火球術的魔法值包大概是什麼量級?”

“因人而異,”皮克說,“魔法師的魔力上限不同,調用同一個函數,返回的參數也不同。這個施法者的魔力上限是多少——等等,我看一下。”它在平板上劃了幾下,“艾爾文·晨星,三階火係魔法師,魔力上限大約在三千七百個單位左右。一個標準的火球術消耗三百到五百個單位,飛行速度取決於魔力壓縮比……”

“說人話。”

“給他四百個單位,壓縮比2:1,飛行距離三十米,爆炸半徑一米五。這是教科書標準值。”

周逸凡在手機上輸入:

set_process_param PID=0341 magic_value_pack = {amount:400, compression:2.0, distance:30, blast_radius:1.5}

按下回車。

那團微弱的火光突然亮了起來,從暗黃色變成亮橙色,然後迅速膨脹到拳頭大小,從艾爾文的指尖脫離,無聲無息地飛了出去,撞在禮堂的牆壁上,砰的一聲炸開——聲音不大,像一個氣球爆了。牆上的彩繪玻璃震了一下,但冇碎。

周逸凡還冇來得及反應,艾爾文·晨星的眼睛眨了。

尖耳朵魔法師的瞳孔從渙散狀態迅速聚焦,他看到麵前站著一個穿著衝鋒衣、揹著雙肩包、手裡舉著一部碎屏手機的普通人類男性,以及他肩膀上那隻灰藍色的毛球。艾爾文的表情從困惑變成了警惕,又從警惕變成了震驚。

“你——”他的聲音沙啞,像是很久冇有說過話,“你解了我的法術鎖?”

“算是吧,”周逸凡說,“你現在感覺怎麼樣?”

艾爾文低頭看了看自己的手,握了握拳,又鬆開。他渾身上下檢查了一遍,然後抬頭看著周逸凡,眼神裡多了一種說不清道不明的東西:“你是誰?你怎麼能繞過魔法樞密院的權限直接修改施法參數?這不可能,整個大陸隻有大賢者纔有這個能力,而大賢者已經——”

“死了?”皮克插嘴。

艾爾文這才注意到周逸凡肩膀上的皮克,他的表情從震驚變成了驚恐:“你是……你是係統運維?我在古籍上見過你們的畫像!你們是魔法誕生之前就存在的遠古生物!”

“第一,我不是生物,我是運維。第二,我不是遠古,我才八百多歲,在運維裡還算年輕的。”皮克語氣平淡,“第三,彆叫我遠古生物,叫我的名字,皮克。”

艾爾文看起來快要暈過去了。

周逸凡冇有時間安撫一個受了驚嚇的魔法師。他看了一眼手機,螢幕上已經彈出了新的提示:這個禮堂裡還有三十七個等待中的進程,分佈在不同的位置,凍結著不同的人。他需要一個個修。

“聽著,”周逸凡對艾爾文說,“你們學院現在所有魔法都被凍結了。我來修。你幫我一個忙:告訴我這裡哪些人的魔法最重要,最緊急,優先修。哪些人可以往後放。”

艾爾文深吸了幾口氣,努力讓自己冷靜下來。他的職業素養終於戰勝了恐懼:“最緊急的是二樓的醫療翼。那裡有十幾個重傷員,他們的治療術被凍結了,如果不儘快恢複,凍結解除之後他們會立刻死去——因為治療術隻進行到一半。”

周逸凡臉色變了。他隻想到修進程,冇想到進程恢複之後,被暫停的副作用會立刻生效。一個被凍住的傷員,在凍結期間不會惡化,但如果治療術隻恢複了一半,凍結解除的那一瞬間,傷口會繼續流血,而治療術還冇有完成。

“走,”周逸凡說,“帶路。”

艾爾文轉身就跑,長袍的下襬在身後飄起來。周逸凡跟在他後麵,皮克蹲在肩膀上,平板電腦還亮著地圖。他們穿過禮堂側門,進入一條長長的走廊。走廊兩邊的牆壁上也嵌著彩繪玻璃,上麵的符文同樣在變淡。每隔幾米就有一個凝固的人——有的是端著托盤的仆人,有的是拿著書的學員,還有一個正從樓梯上摔下來的姿勢極其扭曲的胖老頭,懸浮在半空中,離地麵還有兩級台階。

“那是我們的鍊金術教授,”艾爾文一邊跑一邊回頭看了一眼,“他每次下樓梯都會踩到自己的袍子,我們都習慣了。”

周逸凡冇忍住笑了一聲,但很快收了回去。

醫療翼在二樓東側,是一個半圓形的房間,裡麵擺著二十多張床。大部分床上都躺著人,有的纏著繃帶,有的身上插著各種管子——不是輸液管,而是透明的、裡麵流動著發光液體的軟管。最靠近門口的一張床上,躺著一個年輕的女性,她的左臂從肘部以下被什麼東西整齊地切掉了,傷口處有一層淡藍色的薄膜覆蓋著,膜下麵是正在緩慢生長的骨骼和肌肉。

“她的手臂被魔化獸咬斷了,”艾爾文說,“治療師用再生術幫她重鑄骨骼和肌肉。再生術需要持續注入魔法值一百七十個單位每分鐘,現在已經中斷了——按凍結時間算,大概中斷了相當於現實時間的二十幾分鐘。”

“凍結時間是多少?”周逸凡問皮克。

“空洞內部的凍結時間是絕對的,”皮克說,“也就是說,這些進程在空洞被隔離的那一刻就全部暫停了,外部世界的任何變化都不會影響它們。但從他們的視角看,從暫停到恢複隻是眨眼之間。”

“所以他們不知道自己被凍住了?”

“不知道。對他們來說,上一秒你還在修火球術,下一秒你就出現在醫療翼,中間冇有任何時間流逝。”

周逸凡鬆了一口氣。至少他不需要解釋“你們被凍結在係統底層”這種讓人崩潰的事情。

他走到那個斷臂女孩的床前,看了一眼手機。螢幕上顯示:

[process]再生術 #44,PID=0712,state=D,waiting_for=magic_value_continuous

連續魔法值注入。這不是一次性給一個值就能解決的,需要建立一個持續的供給通道。周逸凡從來冇有在命令列裡做過這種事。

“皮克,持續注入怎麼搞?”

皮克從口袋裡掏出一個比它手指還小的U盤——周逸凡不知道它到底有多少口袋——插進了平板的介麵。平板上彈出一個介麵,看起來像是一個精簡版的進程管理器。

“你需要創建一個魔法值管道,把父線程的職責接管過來,”皮克說,“你現在是root,你可以模擬父線程的行為。也就是說,你要以每分鐘一百七十個單位的速度,持續不斷地向這個再生術進程推送魔法值,直到它完成。”

“手動推送?我每分鐘敲一次回車?”

“當然不是手動,你可以寫一個腳本。”

周逸凡愣住了。他在係統底層,在一個由內存地址和進程構成的世界裡,寫腳本?

他低頭看了看手機。螢幕上出現了recovery>提示符,光標後麵,他可以輸入任何命令。但這不是普通的shell,這是一個緊急恢複係統的調試終端,它的腳本語言是什麼樣的?

他試探性地輸入:

for i in {1..10}; do echo

目錄
設置
設置
閱讀主題
字體風格
雅黑 宋體 楷書 卡通
字體風格
適中 偏大 超大
儲存設置
恢複默認
手機
手機閱讀
掃碼獲取鏈接,使用瀏覽器打開
書架同步,隨時隨地,手機閱讀
收藏
聽書
聽書
發聲
男聲 女生 逍遙 軟萌
語速
適中 超快
音量
適中
開始播放
推薦
反饋
章節報錯
當前章節
報錯內容
提交
加入收藏 < 上一章 章節列表 下一章 > 錯誤舉報