大学计算机基础存在的意义是什么?

2024-01-03 11:13:40

十分不理解,这样一门课在高校里存在了如此之久。时至2024年,当鸿蒙在重新定义操作系统,当openAI在重新定义人机交互,我们双一流的大学生还在学习冯诺依曼发明电脑、采用二进制、ASCII码、1MB=1024kb……这些内容真的有学习的必要吗?看到有个同学提问质疑这门课的意义,并且质疑他们助教刻板的考勤要求,下面答题的内容清一色叫他不要逃课要好好学习……但为什么教育部偷懒不制定更加符合当下社会发展现状的课程体系,到头来要让学生一板一眼浪费青春美其名曰尊重知识?

4个馒头可以吃饱,为何要吃前面3个馒头,直接吃第4个馒头不行吗?

显然不行,浅显易懂。

上周末去北京参加一个大型展会,帮朋友解决一个技术问题,这个问题就是巡检机器人通过无线网络,实时推送到监控平台的视频会时不时卡顿、有时还会花屏,这个问题如何解决?

无线网络问题?有线网络问题?服务器的问题?还是代码问题?

这个问题去北京之前研究了4天,每个环节都梳理了一遍又一遍,最后注意力集中于“视频packet“被丢了,被监控服务器丢了,为什么要丢?

带宽太小?缓冲区太小?CPU资源不够?

把用户问题描述逻辑推演了N遍,一个个排除,最后注意力聚焦于CPU资源上。

能否使用多线程或者申请更多CPU资源用于处理视频转码资源上?

当然可以了,底层操作系统提供了这样的接口,于是将命令提前敲好,9个字符 + 2个空格。

到了北京现场,这条命令敲入并执行,神奇的一幕发生了,视频不再卡顿也不再花屏,即使使用最高的高清码率也毫无问题,视频播放如丝般光滑。困扰这个研发团队3个多月的问题解决了。。。

没有加减乘除的基础,直接学一元一次方程、一元二次方程、微积分也不是不可以,但是对于大多数人来说,并不太适合。

大学计算机基础,真实的意义是设置的基础课程很重要,也许在大学学习期间,没有多少计算机基础,听操作系统如雾里看花,时而清晰、时而模糊,等学期考试结束了,基本上全忘记了,可能还有一些残余的记忆,CPU调度、内存管理、进程管理等等。

当真正工作的时候,有了一点点计算机的实践,可能还要把操作系统再拿来仔细研究,因为大学打下的基础无法解决现实的问题。

IT行业,无论是哪条分支,软件开发、系统架构、硬件开发、网络设计、网络安全等等,能到达多高的高度,基本上和计算机了解深度成正比。

大学的时代,学操作系统的时候总觉得如梦如幻,没有练手的机会,全是空对空,拿起操作系统的大部头就犯困。但是要想学好计算机,操作系统是必修课。

从简单的易于实践的部分入手,个人选择的入手技术分支是计算机网络,这个分支易于实践、练手。在实践的过程中,自然会遇到形形色色的问题,网卡接收到packet之后,如何通知操作系统?如何I/O?操作系统的进程将packet扔给网卡的时候,可否直接与网卡打交道?还是一定要通过TCP/IP协议接口(socket)?

通过这样的学习,很快熟悉了OSI网络层(L3)、OSI链路层(L2)、OSI传输层(L4),在学习网络层/链路层的时候,有一个很重要的技术分支,它就是差异化服务QoS。它的出现重要用于解决real time语音、real time视频、real time命令交互(游戏)、网页、文件下载之间的优先级问题。有了QoS的基础概念,再去研究操作系统的进程优先级管理就太有意思了,蓦然发现计算机的先驱、操作系统的先驱怎么想得那么全面而周到?

随着互联网的大流行,又在传输层上有了安全,于是又开始研究OSI安全层(L5),这块内容主要是数学和逻辑,古典密码学的应用。

又随着无线网络的普及,在链路层的下层出现了一个全新的物理层技术OFDM,于是又开始研究OSI物理层(L1)。在无线网络里,同样也有QoS差异化服务,技术细节巨复杂,但是结果很简单,就是给VIP流量高优先级,给普通流量低优先级。

以上的种种学习其实还是为了加深对计算机的理解。有了以上技术储备,解决一个视频卡顿问题不是水到渠成的事吗?功能性问题其实很好解决,但是性能问题(快慢、延迟大小)并不好解决,要解决这些高级话题需要对计算机有一个深度理解。

而要对计算机有一个深度理解,第一个馒头必须要吃、第二个馒头也要吃,只有吃完这些基础馒头,才能用这些基础来理解更高深的话题,在很大程度上,可能要持续性学习,因为计算机技术一直在迭代更新。

作者|车小胖谈网络|公众号

文章来源:https://blog.csdn.net/zhynet000001/article/details/135355429
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。