计算机基础知识(计算机基础知识都包括哪些)

本文目录
计算机基础知识都包括哪些
基础知识重要,但是具体来说,哪些点重要呢?
今天我就试图总结一下,也欢迎大家补充。
信息的表示和处理
计算机如何表示整数:有符号数和无符号数,尤其是如何用补码表示负数,数字的取值范围。
计算机如何表示浮点数,为什么小数的二进制表示法只能近似表示十进制小数。
数值的转换、移位
这几点非常重要,因为几乎所有的编程语言都有数据类型,而最基本数据类型必然包括整数和浮点数。
搞不清这些表示和运算,在编程中就会遇到一些稀奇古怪的问题。
从汇编层面理解程序的执行
顺序、分支、循环、函数调用、数组、结构体等在汇编层面是怎么实现的,寄存器和内存是怎么使用的。
理解了这些其实也就理解了冯诺依曼计算机体系结构,这是计算机学科一个基础性的东西。
知道程序在底层是怎么运转的, 对于学习各种虚拟机有很大的帮助,比如JVM,它要解析执行的是字节码,字节码本质上要表达的就是这些东西,只不过有所扩展。
理解了栈帧,就能理解函数调用的本质,递归,以及尾递归的实现。还有安全相关的概念,如缓冲区溢出这个臭名卓著的漏洞及其防范办法。
进程和线程
程序员必备的知识,不了解这个,简直是无法编程。
需要掌握进程的地址空间,代码在哪里,堆在哪里,栈在哪里。
要准确理解进程和线程之间的关系,为什么说进程是拥有资源的基本单位, 线程是CPU调度的基本单位?
进程切换和线程切换之间的区别和联系。
他们是如何创建,执行,有哪些状态,状态之间的转换。 由此会涉及到并发和并行,线程之间的竞争和合作。
锁的本质(硬件层面),乐观锁,悲观锁,死锁等问题。
线程的实现方式,用户级线程和内核级线程的对应方式。
在编程的过程中,有些知识点会直接使用,如多线程编程,锁。 还有一些概念能用到很多地方,例如CAS,不仅仅是编程语言的概念,还能在更新数据库时使用。再比如你理解了线程的实现方式,迅速就能掌握go语言中并发的手段:goroutine。
存储器的层次结构
Tomcat用了多线程执行请求,Redis用了单线程来处理请求,Node.js也用了单线程来,这是为什么? 秘密都在存储器的层次结构。
人类制造的计算机设备之间有着巨大的速度差异:
总之,CPU超级快,内存比较快,硬盘非常慢,网络更慢, 这个速度差异是IT行业的一个核心问题,人类想了很多办法试图去弥补这个差异:多线程,缓存,异步,多路复用,硬件层面的DMA。
记着下面这张图,每当你遇到某个软件的特性的时候,想一想和它有什么关系:
数据结构和算法
它的重要性我罗嗦过很多次了,不用再重复了, 我就举个最简单的例子: 理解了B+ Tree才能理解MySQL的InnoDB的索引,理解了索引才能更好地优化查询,对吧?
计算机网络
现在的程序基本上都是网络程序, 所以这也是一个必备的基础知识,学习计算机网络的一大好处就是和工作直接相关,能直接使用,比较有动力。
HTTP协议肯定跑不掉,TCP,UDP也得会,尤其是TCP可靠传输的原理:如何在一个不可靠的网络中进行可靠的传输, 这是无数前辈总结的经验,一定得掌握。
要理解什么是通信协议,也许某一天你自己就需要定制一个协议来传输数据。
分组交换是什么意思? 协议分层的本质是什么? 什么叫无状态的协议?
Socket相关的编程更是重点,尤其是涉及到服务器端高并发的时候,如何维持和处理这些海量的socket, epoll等技术就得上场了。
还有非常重要的HTTPs的基本原理,也是网络安全的精华所在:对称加密,非对称加密,消息摘要,数字证书,中间人攻击。
数据库
不多说,关系模型、范式、SQL、索引、事务等知识都得掌握,尤其是要了解他们的实现方式。
分布式的基础知识
这些已经偏向应用层面了,但是现在很多系统都是分布式的了,分布式就变成了一种基础知识。
系统通信:RPC, 消息队列等
负载均衡的原理
CAP原理,BASE原理,幂等性,一致性模型(强一致性,最终一致性.....)和相关协议(两阶段提交,Raft,Paxos......)
数据分片:取模算法,一致性Hash,虚拟桶
基本的设计思想
下面这几种设计思想对我影响很大,需要大家特别注意。但是掌握起来却很不容易,需要在实践中不断地体会:
正交:各个概念之间可以独立变化
抽象:抛弃细节,找到本质和共性
《深入理解计算机系统》一书中提到:“指令集是对CPU的抽象, 文件是对输入/输出设备的抽象, 虚拟存储器是对程序存储的抽象, 进程是对一个正在运行的程序的抽象, 而虚拟机是对整个计算机(包括操作系统、处理器和程序)的抽象。 如果你对这句话透彻理解了,说明对计算机系统的认识已经很深刻了。
分层:我只想和我的邻居打交道, 如网络协议,Web应用开发。
分而治之:大事化小,小事化了,架构设计必备。
关键点来了,怎么学习呢?
我原来的方式是先看书,看了很多书,数据结构,操作系统,汇编,网络...... 这种办法的最大问题就是枯燥(嗯,那时候还没有码农翻身这样用故事讲解技术的文章)。
理论多,实践少,很多知识点体会不深, 等到参与的项目多了,Coding多了,这些知识点才慢慢地鲜活起来。
一种更加有效的办法是从工作中用到的知识点出发,从这个知识点向外扩展,由点到线,由线到面,然后让各个层次都连接起来,形成一个立体的网络。
切记,学习是一个螺旋上升的过程,想要上升就得深度思考,多问几个为什么。
比如工作中用到了Redis,你在学习过程中发现这个Redis用了单线程来处理读写请求,为什么要这么做? 对于成千上万的请求它是如何处理的? 然后再联想一下别的软件:Tomcat为什么不这么干? 想回答这些问题,需要发掘很多基础知识。
这样做的次数多了,积累到一定程度,量变就会引起质变,整个系统就被你看透了,你的知识又扩大了一圈,更多的疑问出现了......
计算机基础知识点总结归纳
随着信息技术的发展,计算机日益走进人们的工作、学习和生活。下面是由我为大家整理的“计算机基础知识点总结归纳”,仅供参考,欢迎大家阅读。
计算机基础知识点归纳总结
硬件知识
1.计算机系统的组成包括硬件系统和软件系统 硬件系统分为三种典型结构:
(1)单总线结构;
(2)、双总线结构;
(3)、采用通道的大型系统结构。
中央处理器CPU包含运算器和控制器。
2.指令系统
指令由操作码和地址码组成。
3.存储系统分为 主存—辅存层次 和 主存—Cache层次。
Cache作为主存局部区域的副本,用来存放当前最活跃的程序和数据。 计算机中数据的表示
Cache的基本结构:Cache由存储体、地址映像和替换机构组成。
4.通道是一种通过执行通道程序管理I/O操作的控制器,它使CPU与I/O操作达到更高的并行度。
5.总线从功能上看,系统总线分为地址总线(AB)、数据总线(DB)、控制总线(CB)。
6.磁盘容量记计算。
非格式化容量=面数*(磁道数/面)*内圆周长*最大位密度
格式化容量=面数*(磁道数/面)*(扇区数/道)*(字节数/扇区)
7、数据的表示方法 原码和反码
反=111…11
正数的原码=正数的补码=正数的反码 负数的反码:符号位不变,其余位变反。
操作系统
操作系统定义:用以控制和管理系统资源,方便用户使用计算机的程序的集合。
功能:是计算机系统的资源管理者。 特性:并行性、共享性
分类:多道批处理操作系统、分时操作系统、实时操作系统、网络操作系统。
进程:是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。
进程分为三种状态:运行状态(Running)、就绪状态(Ready)、等待状态(Blocked)。
虚拟存储器:是指一种实际上并不以物理形式存在的虚假的存储器。
页架:把主存划分成相同大小的存储块。
页:把用户的逻辑地址空间(虚拟地址空间)划分成若干个与页架大小相同的部分,每部分称为页。
页面置换算法有:
1、最佳置换算法OPT
2、先进先出置换算法FIFO
3、最近最少使用置换算法LRU
4、最近未使用置换算法NUR
使独占型设备成为共享设备,从而提高设备利用率和系统的效率。
SPOOL系统:实现虚拟设备技术的硬件和软件系统,又Spooling系统,假脱机系统。
作业调度算法:
1、 先来先服务调度算法FIFO:按照作业到达系统或进程进入就绪队列的.先后次序来选择。
2、 优先级调度算法:按照进程的优先级大小来调度,使高优先级进程得到优先处理的调度策略。
3、 最高响应比优先调度算法:每个作业都有一个优先数,该优先数不但是要求的服务时间的函数,而且是该作业为得到服务所花费的等待时间的函数。 以上三种都是非抢占的调度策略。
嵌入式系统基本知识
定义:以应用为中心,计算机技术为基础,软硬件可裁剪,适应于特定应用系统,对功能、可靠性、成本、体积、功耗有严格要求的计算机系统。
特点:硬件上,体积小、重量轻、成本低、可靠性高等特点、使用专用的嵌入式CPU。软件上,代码体积小、效率高,要求响应速度快,能够处理异步并发事件,实时处理能力。
应用:从航天飞机到家用微波炉。
滑动窗口协议规定重传未被确认的分组,这种分组的数量最多可以等于滑动窗口的大小,TCP采用滑动窗口协议解决了端到端的流量控制。
拓展阅读:计算机类有哪些专业
1.计算机科学与技术 专业
计算机科学与技术是研究计算机的设计与制造和利用计算机进行信息获取、表示、存储、处理、控制等的理论、原则、方法和技术的学科。
该专业培养德、智、体全面发展的,具有良好综合素质和开拓创新能力的计算机专业人才。通过系统学习掌握该专业的基本理论、基础知识和基本技能与方法,能在科技、教育和经济部门从事研究、教学、应用开发和管理工作。
2.软件工程 专业
软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。
软件工程的目标是:在给定成本、进度的前提下,开发出具有适用性、有效性、可修改性、可靠性、可理解性、可维护性、可重用性、可移植性、可追踪性、可互操作性和满足用户需求的软件产品。追求这些目标有助于提高软件产品的质量和开发效率,减少维护的困难。
3.网络工程 专业
网络工程是指按计划进行的以工程化的思想、方式、方法,设计、研发和解决网络系统问题的工程。培养掌握网络工程的基本理论与方法以及计算机技术和网络技术等方面的知识,能运用所学知识与技能去分析和解决相关的实际问题,可在信息产业以及其他国民经济部门从事各类网络系统和计算机通信系统研究、教学、设计、开发等工作的高级网络科技人才。
本专业培养德、智、体、美全面发展,掌握自然科学和人文社科基础知识、计算机科学基础理论、计算机软硬件系统及应用知识、网络工程的专业知识及应用知识,具有创新意识,具有本专业领域分析问题和解决问题的能力,具备一定的实践技能,并具有良好的外语应用能力的高级研究应用型专门人才。
4.数字媒体技术 专业
数字媒体技术是一种开放式的平台,主要包含场景设计、角色形象设计、游戏程序设计、多媒体后期处理、人机交互技术,是主要针对游戏开发、网站美工和创意设计类工作设计的专业。
本专业培养德智体美全面发展的、面向当今信息化时代的、从事数字媒体开发与数字传播的专业人才。毕业生将兼具信息传播理论、数字媒体技术和设计管理能力,可在党政机关、新闻媒体、出版、商贸、教育、信息咨询及IT相关等领域,
5.电子与计算机工程专业
电子与计算机工程专业是教育部的特设专业,结合电气工程和计算机科学,具有很好的发展前景。电子与计算机工程专业是将软件设计与硬件设计一体化,并结合电力电子学的一门专业。
该专业学生主要学习电学以及计算机技术的基本理论和知识,受到相关的训练,具有解决实际问题及相关工作的能力。
计算机应用基础知识点有哪些
计算机应用基础知识点如下:
1、计算机应包括运算器、存储器、控制器、输入设备和输出设备五大基本部件。
2、1946年2月15日世界上第一台电子计算机ENIAC(埃尼阿克)在美国宾州大学研制成功。
3、计算机内部采用二进制来表达指令和数据。
4、1945年,冯·诺依曼提出的,是现代计算机的理论基础。现代计算机已经发展到第四代,但仍遵循着这个原理。
5、第四代(1971年以后)计算机全面采用大规模或超大规模集成电路作为逻辑元件,运算速度达到每秒数百万次甚至几亿次,采用半导体存储器为主存储器,软件方面发展了分布式操作系统等,其应用遍及了人类活动的各个领域并进入计算机网络时代。
大学计算机基础知识点归纳是什么
大学计算机基础知识点归纳是:
1、计算机定义:电子计算机简称计算机,是一种处理信息的(电子)机器,能自动、高速、精确地对信息进行储存、传送和加工处理。
2、计算机发展的四个阶段(按组成计算机的电子元件划分):电子管计算机、晶体管计算机、集成电路计算机、超大规模集成电路电子。
3、计算机分类:
高性能计算机:是指比微机和工作站性能更高的计算机,主要以计算机速度为衡量标准。
微型计算机:又称个人计算机(PC)。
嵌入式计算机(系统):将微机或某个微机核心部件安装在某个专用设备之内,对这个设备进行控制和管理,使设备具有智能化操作的特点。
4、计算机应用的领域:科学计算、数据处理、辅助工程、远程控制、人工智能。
5、未来新兴的计算机:超导计算机、量子计算机、光子计算机、生物计算机、神经网络将计算机。
6、计算机系统的组成:一个完整的计算机系统是由硬件系统和软件系统两部分组成。
7、硬件系统:是指构成计算机的看得见、摸得着的东西,如元器件、电路板、零部件等物理实体和物理装置,称为计算机硬件;硬件系统是组成计算机系统的各个物理设备的总称,是计算机系统的物理基础,又称为裸机。
8、硬件系统:包括运算器、控制器、存储器、输入和输出设备五大部分。
运算器:主要功能是对数据进行各种运算(算术运算和逻辑运算)。
控制器:主要功能是协调并控制计算机系统的各个部件按程序中安排好的指令序列执行指定的工作,使整个计算机系统有条不紊的工作。
存储器:用于存放程序、参与运算的数据和运算结果,并能在计算机运行过程中高速、自动地完成程序或数据的存取;对存储器的操作分为读操作和写操作两种。
有关储存器的基本术语和概念:
存储器通常分为内存储器(内存)和为存储器(辅存),内存储器(即内存)用于存放CPU要处理的数据和指令;外存储器(即外存)主要用于长期存放程序或数据信息。
内存和外存的利弊:内存是由半导体器件构成,其工作速度高,但造价高,断电后多数内存信息会丢失;外存靠磁性物质或凹凸点记录信息,不会因断电而丢失信息,其造价较同样容量的内存而言低,但其工作速度较慢。
位(b):计算机中的一个二进制位。
字节(B):8个二进制位(即8个位)称为一个字节。
容量:是指存储器能保存的二进制位的数量,通常用B表示。(计算机常用容量的进率:1024)。
字长:CPU在单位时间内能一次处理的二进制数据的位数。
地址:计算机的储存器被划分为储存单元来管理,每个单元包含若干个二进制位,每个存储单元有唯一的一个编号,这个编号就叫做储存单元的地址。
输入设备:将外部世界的信息传输到主机,将其变成机器能识别的形式。
输出设备:作用是将计算机处理的结果变成人们认识的形式。
9、软件:是指计算机上运行的程序及其使用和维护文档的总和。
软件系统:是为运行、管理和维护计算机而编制的各种程序、数据和文档的总和。
10、计算机软件件的分类:系统软件和应用软件。
系统软件(必备):操作系统(Windows系列、DOS、Mac OS、UNIX、Linux、OS/2)、数据库系统、语言处理程序(C/VB/Java)、诊断程序。
操作系统:是最基本的系统软件,是管理和控制计算机中所有软、硬件资源的一组程序。(功能)操作系统直接运行在裸机之上,是对计算机硬件系统的第一次扩充,在操作系统的支持下,计算机才能运行其他软件。
从用户的角度来看,硬件系统加上操作系统就构成了一台虚拟机,为用户提供了一个方便、有好的使用平台。操作系统是计算机硬件系统与其他软件的接口,也是计算机和用户的接口。
应用软件(可选):用户为解决实际问题开发的专门程序(Photoshop、AutoCAD)。
11、计算机工作原理(存储程序即冯·诺依曼原理(1946))。
计算机系统由五大部分组成。
指令和数据都存放在储存器中,计算机工作时能够自动高速地从储存器中取出指令并执行;用二进制形式表示数据和指令。
指令:规定了计算机要执行的一系列基本操作。
程序:是完成处理功能的所有指令的有序集合。
12、计算机工作的基本过程:取指令、分析指令、执行指令,有序重复直至所有指令完成。
13、计算机采用二进制的原因:
二进制只有0和1两种状态,正好与物理部件的两种状态相对应。
二进制的0和1可以与逻辑代数中的“真”和“假”对应,便于应用逻辑代数理论研究计算机理论;
14、进位计数:按进位的原则进行计数,简称数制。
15、十进制和二进制、八进制、十六进制间的相互转换。
16、数据:指所有能输入到计算机中并被计算机识别、存储和加工处理的符号的总称。数据分为数值型数据和非数值型数据。
17、西文字符编码(ASCII):美国标准信息交换码。
计算机基础知识入门有哪些
计算机基础入门知识如下:
1、计算机(puter)就是一种能接收与存储信息,并按照存储在其内部得程序(这些程序就是人们意志得体现)对输入得信息进行加工、处理,然后把处理结果输出得高度自动化得电子设备。
2、计算机从诞生发展到今天,已经经历了四个阶段,现正向第五代过渡。
3、电脑CPU主频不代表CPU的速度,但提高主频对于提高CPU运算速度却是至关重要的。
4、计算机安全是指计算机资产安全,即(计算机信息系统和信息不受自然和人为有害因素威胁和危害)
5、运算器的完整功能是进行算术运算和逻辑运算。

本文相关文章:
更多文章:
湖北十堰爆炸事故原因(湖北十堰,发生爆炸事故致11死,酿成这起惨剧的起因是什么)
2026年10月11日 05:30
安徽六安一女子在奥迪车内被殴打扒衣,警方称是感情纠纷,案件会如何定性?安徽六安教师讨薪事件真相是什么
2026年10月11日 04:40








