03.06 操作系统原理、数据结构、网络原理,深入理解计算机系统应该按什么顺序去看?

用户65940905


作为一名IT行业的从业者,同时也是一名教育工作者,我来回答一下这个问题。

操作系统原理、数据结构、网络原理是比较重要的计算机基础知识,另外还包括数据库原理、算法设计、编译原理、电子电路、编程语言等知识。

通常来说,可以按照以下顺序来学习这些基础内容:

第一步:操作系统原理。操作系统是学习计算机技术的重要基础,通过学习操作系统体系结构、操作指令、任务调度、并发管理、资源管理、权限管理、安全管理等内容,能够对计算机形成一个较为系统的理解,为后续的学习打下一个扎实的基础。

第二步:网络原理。当今是互联网时代,计算机网络知识的重要程度不言而喻。网络原理涉及到网络体系结构、协议、数据通信管理、安全等内容,另外还涉及到如何操作交换机、路由器等网络设备。学习计算机网络要注重实验,通过实验能够建立数据通信过程等画面感。

第三步:编程语言和数据结构。编程语言是操作计算机的重要工具,是一定要掌握的重点内容,程序设计本质上就是算法设计和数据结构的结合,所以在学习数据结构之前应该掌握编程语言的使用,对于初学者来说,C、Java、Python等语言都是不错的选择。

第四步:数据库和深入理解操作系统。数据库对于软件开发来说是非常重要的,数据库的内容比较多,需要学习关系型数据库和NoSq数据库的使用。之后深入学习一下计算机操作系统还是有一定必要的,如果能读一下Linux系统的核心源代码就更好了。

在学习计算机基础知识的过程中,一个重要的内容是进行实验,由于很多计算机概念比较抽象,所以对于初学者来说,往往很难理解,但是通过实验往往就能够建立起抽象概念的画面感。另外,在学习编程语言的过程中也能把很多内容串起来。

我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。

如果有互联网方面的问题,也可以咨询我,谢谢!


IT人刘俊明


计科专业从事软件开发多年,上面说的几本书都是学习计算机的必备知识,如果还在上大学阶段的小伙伴看到这篇文章,现在就以一个程序员的身份来讲讲这四本书在平时开发中如何体现出来,每次看到这种计算机基础书籍都会有一种亲切感,但也会有一种遗憾,在大学期间如果充分利用时间多学一本书对现在也会有巨大的帮助,现在倒是什么书籍都可以弄到,已经没有充分细读的时间了,每天在单位写完代码回到家里再和孩子玩一会时间就过去了,所以人生学习的最好阶段是大学还有刚毕业的前两年的时间。

回到主题操作系统原理,这点主要几乎贯彻整个软件行业,无论什么语言的编程写的程序几乎都是在带有操作系统的环境下运行,当然单片机很多是不带操作系统,单片机稍微一转化就是嵌入式了,常见的cpu轮转以及任务的优先级都属于操作系统范畴,数据操作过程中数据块的保护加锁也是操作系统概念,所以掌握这门课程是程序员的必备,用的最多的当属于嵌入式开发,稍微延伸一点程序员的开发环境,很多程序员喜欢在linux下写代码,有的喜欢在windows下,对于代码本身来讲差异不大,因为现在很多程序都支持跨平台,所以无论在什么系统上开发都是可以的,相对来讲玩嵌入式的喜欢在linux下开发是事实。

数据结构是编程的基础,无论从事什么语言的编程,基本的数据结构都必须要掌握的,现在看到市面上有关这方面的书籍,有关于C语言版本数据结构,C++版本数据结构,java版本的数据结构,所以想要成为一个程序员在学完一门编程语言之后,最好找对应的编程语言版本的数据结构学下,再复杂算法也是基于基础的数据结构来完成的。

网络原理这算是计算机领域的一个方向了,网络方向里面涉及到的专业知识非常多,够学一辈子的专业方向,本篇文章提到的是基本的网络基础,在网络世界中网络编程几乎在任何软件中都会涉猎到,算是计算机编程的一个模块,现在关于网络安全方面的公司也非常多,而且网络在很多领域都有涉猎,在很多大公司里面专门设计一个网络安全部门,就是为了防止被攻击,对于初学者来讲先搞明白基本的网络工作原理是第一步,如果觉得这个东西很有意思就可以深入学习下去。

深入理解计算机系统这本书建议在具备一定的基础之后再去学习,直接去学习未必能够全部深入贯通,想要系统学习计算机,必须常见的计算机基础要掌握,基础的学习不叫深入学习,这本书建议放在前面三本书都学完之后再去学习,效果会更加明显。计算机的学习就是在培养学习计算机语感的过程,有了感觉基本上就可以做更加深入性的学习。

很多人喊着对计算机感兴趣真正开始学习的时候又不想下功夫只能一直做个门外汉,无论做什么都要持之以恒的坚持才能有可能玩得转,吃透一门再去学习别的也会变得轻松许多。

希望能帮到你。


大学生编程指南


你如果是在校学生,请按照学校课程安排顺序来学习,事半功倍。

你如果是工作中自学,请按照手头项目需求的急迫程度来安排顺序学习,否则容易无的放矢。

如果不考虑其他因素,单纯从学习次序角度,个人建议按照「一门程序设计语言」-> 「数据结构」->「计算机体系结构」->「操作系统」的次序,并且可能要来回循环几次。等到前面这些有一定基础了,再按照自己的需求选看「计算机网络原理」「数据库原理」「图形学」「编译原理」。


Java架构师日记


深入理解计算机系统和数据结构先看

操作系统,网络后看


KaiSeRBurNInG


理论上说,计算机相关的学科或领域知识,都是有交叉的。一门学科需要另外的某一个或某几个学科的基础作为先提,所以,深入系统的理解计算机,应该是按内容的先后按章节多学科交叉同步进行可能会比较好。学习你感兴趣的,发现有知识点需要补充,有针对性的去补充,再接着回来到原先暂时的点继续。


暂时取的名


首先是数据结构,因为数据结构不需要系统的东西,只要懂一些编程或者即使不懂编程只要懂思想就可以了。其次是操作系统原理,讲解系统的文件管理,资源管理等等,最后的网络原理可以放到最后,等学完了操作系统再看网络原理,或者可以一边学其他的一边看网络都在可以的


梦梦虎


1.操作系统是讲硬件交互的,多是汇编码,而数据结构是软件编码的基础,这两本看的时候可以不分先后,但都很重要。

2.计算机网络和以上两本的交互并不明显,比较独立。

3.最后一本是建立在基础比较好的条件下,所以最后看。


不会写代码的猴子


都是计算机专业的核心课程,也是考研核心知识。


我叫换人


应该从最基础的“数据结构”开始看,然后再去熟悉操作系统原理,操作系统也是由很多复杂的数据结构来处理,最后再去看网络原理,理解网络是如何把很多计算机联系起来并通信的。


分享到:


相關文章: