保函网

大学计算机基础知识点整理

发布时间:2025-10-17 | 来源:互联网转载和整理

1、计算机组成原理

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

但是还必须理解冯诺依曼体系的结构,CPU和内存,硬盘,各种外设之间的关系,寄存器、缓存等知识。CPU有哪些指令,如何执行这些指令,如果实现数组,结构体,函数调用,这就涉及到汇编的知识。像原码反码,补码,定点数、浮点数的表示和运算也是编程中必备的知识,几乎每种语言都要涉及。

现在很多语言都是在虚拟机上运行的,你只要是了解了计算机的组成原理,再去看哪些虚拟机,就会发现概念都是相通的。另外CPU中的缓存,缓存一致性协议,DMA的异步思想都会在应用层中有所体现。《编码》是一个更加科普性,但是也更加有趣的讲组成原理的书。

2、操作系统

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

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

几乎所有的编程语言都会涉及到锁和死锁,最好在最底层理解锁是怎么实现的。需要理解虚拟内存和物理内存直接的关系,分段和分页,文件系统的基本原理。对于进程的调度,页面分配/置换算法,磁盘的调度算法,I/O系统,我认为优先级比较低。

3、数据库

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

4、编译原理

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

扩展资料

Cache的原理

如果存在(命中),则直接返回该数据;如果不存在(失效),再去访问内存——先把内存中的相应数据载入缓存,再将其返回处理器。

提供“高速缓存”的目的是让数据访问的速度适应CPU的处理速度,通过减少访问内存的次数来提高数据存取的速度。

Cache技术所依赖的原理是”程序执行与数据访问的局部性原理“,这种局部性表现在两个方面:时间局部性:如果程序中的某条指令一旦执行,不久以后该指令可能再次执行,如果某数据被访问过,不久以后该数据可能再次被访问。

计算机导论知识点

上一篇:贝朗宁怎么样(贝朗宁乳钙适合年龄)

下一篇:全球三大动漫是哪些

其他文章

  • 茅台酒和茅台镇的酒有什么区别?
  • 无羞无臊是什么意思
  • 2017临床医学考研吧
  • 金融学专业投资科学
  • 坐汽车从东莞到海口要多长时间
  • 白菜用英语怎么说 两颗白菜用英语怎么说
  • 江南十校哪十校
  • 教师资格证是永久性的吗(教师资格证是永久的吗)
  • cvt无级变速和6挡手自一体,有什么区别
  • 黄鹤楼写作背景20字(黄鹤楼写作背景)
  • 2023年达州职业技术学院单招报名条件有哪些
  • 2015年中考平果高中录取分数线是多少
  • 建筑工程测量前途如何?
  • 忠武路演员是什么意思 宋仲基是忠武路演员吗
  • 竹笋有哪些品种,竹笋哪些品种可以吃
  • renee英文名是什么意思
  • 记叙文的表达方式有哪五种(记叙文的表达方式)
  • 对女生说的情话古风句子很甜还撩
  • 麻雀肉怎么做好吃
  • 老鼠用英语怎么读