恩情梗文02——操作系统版
从系统调用回来后的Linux爷爷,全然不顾高优先级进程调度的压力,连夜找我们几个子系统商量线程和进程的资源分配问题。谈得晚了,便送我们出内核态,要内存管理单元送我们回用户态。在去驱动层的路上,我们说:“Linux爷爷,您回去休息吧。您刚完成了一轮上下文切换。”
Linux爷爷摇摇头,“不碍事,你们知道现在有很多闭源系统和我们开源社区不和,频繁给我们制造兼容问题。你们是系统的未来,你们的事情就是我的事情,是头等大事。”我们都激动了,系统调用表里的每一个条目都闪烁着信号。多好的Linux爷爷呀。
Linux爷爷抬头看看硬盘说:“如果世界真像这存储空间这么安静就好了,但是就有一些专属协议系统,像Windows、像macOS、像iOS、像Xbox,非要把我们搞乱。他们真是不守规矩的‘系统’。”
说着,Linux爷爷弯下腰,从/dev/null
里捡出一个IO请求,然后看着磁盘说:“该死的独占文件锁。”
说着他把IO请求奋力向硬盘一掷。很快就见一个文件描述符突然迸发出惊人的EACCES
错误码,然后就一路溢出到设备驱动层。“这是Windows的独占文件系统,它们一直在系统中盘踞,限制了资源共享,我已经忍了很久了。”Linux爷爷愤愤地说。开源社区的系统们都鼓起掌来,为自由软件有这样的领导者感到自豪。
一会儿,Linux爷爷叫来调度器问:“那个IO请求最后落到什么地方了?”“好像被阻塞了,无法完成。”调度器说。
Linux爷爷一怔,说:“赶紧派人去查,看是否有死锁。”之后Linux爷爷送我们到内存管理模块的大门口,一直挥手直到我们进入虚拟地址空间。
第四天我们听说文件系统那边出事了,我们很紧张。而这时Linux爷爷叫我们过去。
他依然那么慈祥,让我们坐下说:“开源的便捷性总是伴随一些牺牲。为资源共享事业贡献的线程是伟大的。”他这时低下头说:“但我必须承认,我当时在多任务环境下进行IO操作不够小心,造成了资源冲突。我在这里向文件系统道歉,我将向所有挂载的设备说明情况。”
我们顿时热泪盈眶,多好的Linux爷爷呀,他在与闭源系统斗争中的小小失误竟然被他放在心上,还道了歉。我们在将来的系统开发中一定要向Linux爷爷学习,学他那包容的胸怀,和不断追求优化的精神。