学霸的黑科技AR
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第32章 知识就是力量

“我怎么觉得后背有些凉。”办公室内,李进朝陈星说道。

李进看陈星不见人影,一猜就知道他又到办公室来蹭网。邵静瑜前脚刚走他就到了。

“你能不能安静一会儿。”陈星实在受不了这家伙在旁边聒噪八卦,“去操场找人打篮球好不好。”

“没你给我传球打着没劲。不差这半天,打球去呗。”

“我除了微机课,也就这半天才有空上网查查资料。”

“你这么急着赶我走,是不是一会儿邵静瑜还回来。”

“回你爷爷,你一天到晚八卦,累不累。”

“陪我去打球,我就不八卦。”

陈星无奈,他打算拖着。希望拖一会儿,李进就会熬不住自己滚蛋。

李进在旁骚扰,陈星看书学习是别想了,干脆就把林悦的那个文曲星拿了出来。

他本来就打算好了,给林悦安装个播放器,然后把哈利波特电影全系列都放进去。

上回说是要把文曲星变成一台游戏机,可那只是陈星下意识的想法,因为他自己喜欢游戏。可是陈星知道林悦其实对游戏不感兴趣,所以还是给她放几部电影进去吧。学习累了,还能躲在被窝里解闷看看。

陈星把文曲星连接上笔记本,他发现这东西的界面其实是用一个叫QT的界面平台做的。

QT其实就是个跨平台的UI框架。以Windows系统为例,其实Windows系统的核心并非是大家看到的那些“我的电脑”“回收站”之类的图形。

那些图形其实是一个叫做“explorer”的进程提供的。也就是说,Windows系统的核心不需要图形界面也能运行,而explorer进程则是把那些晦涩的功能,以图形交互的方式呈现给用户。

而眼下的QT也是类似的功能。

陈星很快就在网上找到了兼容QT平台的播放器,安装完成后,他把笔记本里Windows系统自带的测试播放器用的,MP4格式的小视频,拷贝进了文曲星。

然后让文曲星正常开机,随后应用列表里果然多了个视频播放器。打开播放器果然找到了那个测试小视频。

陈星用触摸笔点击播放,那段小视频就很流畅地呈现在了文曲星屏幕上。

这下把李进给看傻了。

“我尼玛,文曲星还能这么玩。老陈,我现在算是明白了,什么叫知识就是力量。快给我看看。”

“拿张纸巾擦干净手汗,尽量不要碰到电路板。”

此时为了打开文曲星的调试模式,陈星拆开了它的后盖,这样才能连接那个内部隐藏的micro usb口。坏处就是电路板暴露在外。

李进迫不及待把玩起来,“文曲星能放电影,我还是头一次见。”

“看机型的。便宜的那种功能型的就不行,像林悦这种贵的其实就是部不能打电话的N95。只不过人家阉割了娱乐功能。其实也不算是阉割,就是把功能隐藏了起来,你想打游戏都可以。”

“打游戏?”李进仿佛被什么唤醒了。

“真的能打游戏?CS可以吗。”

“那估计不行,这毕竟是Linux系统。但是掌机上那些游戏,装个模拟器就可以了。不是什么难事。”

陈星说的没错,他随便逛了几个论坛,发现早就有各路魔改文曲星的大神。

“那我买一个,你帮我装几个游戏。”

陈星愣了下,只怪自己多嘴。

“我记错了,这个不能玩游戏。”

“还是不是兄弟了。”

“是兄弟才不想害你。”陈星太了解这家伙,不玩游戏都这样了,要是玩起游戏那不彻底废了。

“扫兴。”李进终于出了办公室。

这下世界总算安静了。陈星一边下载电影,一边继续翻看那本《RTOS移植注意事项》。

软件不能独立于硬件存在,离开硬件的软件就是一堆死的字符。但是没有软件的硬件就是一堆废铁。

而保障软件正常运行的前提就是操作系统。

操作系统有很多种。

Windows和Linux属于大型操作系统,适用于比较复杂的场景。而那些业务逻辑单一的场景,并非就不需要操作系统。

于是小型化的嵌入式操作系统应运而生。

以智能小车为例。

即便看起来小车的逻辑很单一,但其实也有不少任务需要同时运行。

比如:

差速控制任务。用于控制小车的方向和速度。

自动巡径任务。用于控制小车的行进轨迹。

自动避障任务。用于控制小车躲开障碍物。

其余诸如还有:运行日志记录任务、运行状态监测任务。

要让小车正常运行,就必须让这些任务互相配合。那么问题就来了,任务之间该如何配合。

由于单片机是单核的,一个核心类似就是一个工人。那很显然,一个人同时只能干一件事情,也就是同时只有一个任务能被执行。在这个任务被执行的时候,其余任务只能等待。

即便是眼下多核心的电脑CPU也会面临这个问题,因为即便是多核心,但是电脑面临的任务数量更多。一个游戏或是播放一部电影,就会有好多个任务。这个任务的概念并非是人脑理解的一件事情,而是计算机层面的理解。

比如:一个最普通的网络游戏。

电脑看似只是在执行网游这一个任务。但是网游其实是由:界面渲染任务、声音播放任务、鼠标和键盘响应任务、一堆的网络数据交互任务组成的。

最好的证明就是打开电脑的任务管理器。

即便对电脑什么都不做,那里头也有一堆的进程。

所以单片机也一样。小车看似只是执行行驶这一个任务,但事实上背后却有一堆任务。

只要同时执行的任务数量大于CPU的核心数量,那就会存在任务抢占的问题。

说白了就是活多人少,那这个人就得一会儿干任务A,一会儿又去干任务B。这种现象几乎每时每刻都在计算机世界发生着。

代表CPU的这个人,是不能干完任务A后再去干任务B的。

再以智能小车为例。

差速控制需要的是持续不停地控制,否则小车的速度就会混乱。

自动巡径和自动避障任务也是一样,要是一段时间得不到执行,小车要么偏离轨迹,要么就是撞墙。

所以,操作系统的工作其实就是解决一个人能同时干多件活的问题。

陈星翻阅着资料,喃喃着,“RTOS。”

OS对应的operating system概念,他已经弄明白了。可还有RT呢,如果仅仅是让任务得到执行,那就叫OS就行,何必还要加上RT,real time的前缀。

陈星继续向后翻阅资料。