甘肃秦陇技工学校
首页 > 正文

兰州高铁技术学校带你了解计算机基础知识

2019-12-17 02:12:04

兰州高铁技术学校带你了解计算机基础知识

很多人工作后痛感计算机基础知识的缺乏,那计算机基础知识都有哪些呢?随兰州高铁技术学校小编一起来了解一下吧!

兰州高铁技术学校小编 我觉得首先计算机专业的那六大件:组成原理,操作系统,数据库,编译原理,计算机网络,数据结构(这个说太多遍了,这次不再讲了),其次还得加上分布式的基础知识,因为现在的系统都变成分布式的了。

如果你是做应用层开发的,那几门课程中的有些内容和日常工作关联度不大,兰州高铁技术学校小编就挑那些最重要的来说一说,也算是一个最小集合吧!

计算机组成原理

如果你不是做操作系统/驱动程序的,直接和硬件打交道的机会很少,因为操作系统已经把他们屏蔽掉了,提供了抽象的API给我们使用。

但是还必须理解冯诺依曼体系的结构,CPU和内存,硬盘,各种外设之间的关系,寄存器、缓存等知识。

CPU有哪些指令,如何执行这些指令,如果实现数组,结构体,函数调用,这就涉及到汇编的知识。

像原码,反码,补码,定点数、浮点数的表示和运算也是编程中必备的知识,几乎每种语言都要涉及。

现在很多语言都是在虚拟机上运行的,你只要是了解了计算机的组成原理,再去看哪些虚拟机,就会发现概念都是相通的。

另外CPU中的缓存,缓存一致性协议,DMA的异步思想都会在应用层中有所体现。
兰州高铁技术学校

操作系统

操作系统是比较枯燥的,站在应用层的角度,兰州高铁技术学校小编我认为重点是掌握操作系统对外提供的抽象,包括进程、线程,文件,虚拟内存,以及进程间的通信问题。

几乎所有的编程语言都会涉及到对多进程或者多线程编程的支持,特别是多线程的并发编程,所以必须得搞明白他们的本质是什么,线程都有哪些实现方式(对以后学习各种语言和并发模型有极大好处)。得真正地体会到“进程是资源分配的最小单位,线程是调度的最小单位。”这句话的含义。

几乎所有的编程语言都会涉及到锁和死锁,最好在最底层理解锁是怎么实现的。

需要理解虚拟内存和物理内存直接的关系,分段和分页,文件系统的基本原理。

对于进程的调度,页面分配/置换算法,磁盘的调度算法,I/O系统,我认为优先级比较低。

计算机网络

兰州高铁技术学校认为学计算机专业必须要理解的是这些:

什么分组交换

TCP可靠性传输原理,TCP/IP的协议细节,三次握手,四次挥手,TCP状态转换。 几个重要的协议DHCP,UDP,ARP,DNS。

还有一个重要的知识点,一般的网络书都没提,就是I/O多路复用,涉及到同步/异步,阻塞/非阻塞,select/epoll,这个是很多软件的基础,在《Unix网络编程》,《深入理解计算机系统》中有讲述。

以上这些知识,在你学习Redis,Ngnix,Tomcat,LVS等软件时将有极大的帮助。

数据库

这个和日常工作结合极其紧密,不用兰州高铁技术学校小编我再多说,包括最基本的SQL,各种范式,事务及其隔离级别,事务的实现方式,索引及其实现方式,B+树等等。

编译原理

你这一辈子也许都不会去写一个编译器,但是很有可能会利用现成的工具去生成/操作一个抽象语法树(AST),甚至可以会写一个DSL(领域特定语言)。所以你得理解词法分析、语法分析、语义分析,中间代码生成,代码优化这个基本编译的过程。

学习了编译与原理,会对语言的一些设计有更深的理解,比如LISP。

范围分片

最后兰州高铁技术学校小编想说的是,不能带着特别功利的目的去学习这些基础,不能想着立刻、马上就应用到实战中,从中获益。

兰州高铁技术学校

微信公众号:qljgxx

全国免费咨询热线:400-1001-865

咨询QQ:2228276657,709915684,1356742130

学校网址:http://www.qljixiao.com/content-89-2-1.html

学校地址:甘肃省兰州新区秦川镇镇政府向北500米

上一篇 下一篇

在线预约报名资格

姓名:

电话:

我想报考的专业:

提交

您所提交的信息将严格保密,请静待老师电话回复。