计算机基础知识

一、计算机的基本结构

现在计算机基本组成都遵循冯诺依曼结构

【冯诺依曼结构确定了计算机的五大组件:运算器、控制器、存储器、输入设备、输出设备】

现代电脑普遍结构为:

  • CPU:包含运算器和控制器。
  • RAM、ROM:属于存储器。
  • 显示器、打印机等:属于输出设备。
  • 鼠标、键盘等:属于输入设备。

其中比较重要的组件为CPU、RAM、ROM,下面我们分别讲解。

1.1:CPU


CPU是电脑的最主要的组件,负责运算执行指令并控制其他组件做出对应的处理。

CPU主要的功能:

  • 指令控制:由于程序是一个指令序列,这些指令的相互顺序不能任意颠倒,必须严格按程序规定的顺序进行。
  • 操作控制: CPU管理并产生由内存取出的每条指令的操作信号,把各种操作信号送往相应部件,从而控制这些部件按指令的要求进行动作。
  • 时间控制:对各种操作实施时间上的定时。
  • 数据加工:对数据进行算术运算和逻辑运算处理。

CPU模型

运算器:算术逻辑单元(ALU)、通用寄存器、数据缓冲寄存器DR和状态条件寄存器PSW组成。

运算器的功能:

  • 执行所有的算术运算。
  • 执行所有的逻辑运算,并进行逻辑测试,如零值测试或两个值的比较。通常,一个算术操作产生一个运算结果,而一个逻辑操作则产生一个判决。

控制器:程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器组成。

控制器的功能:

  • 从指令cache中取出一条指令,并指出下一条指令在指令cache中的位置。
  • 对指令进行译码或测试,并产生相应的操作控制信号,以便启动规定的动作。比如一次数据cache的读/写操作,一个算术逻辑运算操作,或一个输入/输出操作。
  • 指挥并控制CPU、数据cache和输入/输出设备之间数据流动的方向。

CPU结构

1.2:RAM

随机存取存储器(英语:Random Access Memory,缩写:RAM),也叫主存,是与CPU直接交换数据的内部存储器。它可以随时读写(刷新时除外),而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储介质。

内存与CPU的交互

1.3:ROM

只读存储器(Read-Only Memory,ROM)以非破坏性读出方式工作,只能读出无法写入信息。信息一旦写入后就固定下来,即使切断电源,信息也不会丢失,所以又称为固定存储器。ROM所存数据通常是装入整机前写入的,整机工作过程中只能读出,不像随机存储器能快速方便地改写存储内容。ROM所存数据稳定 ,断电后所存数据也不会改变,并且结构较简单,使用方便,因而常用于存储各种固定程序和数据。

1.4:硬盘

硬盘是属于外部存储。

》》》固态和机械硬盘区别《《《

  1. 读写速度上
  2. 价格上
  3. ...

二、进制转换

在日常生活中我们数数从 0 计算到 10 以后,就开始数到 11 了,究其原因就是因为我们日常的进制单位为十进制,代表满十进一。但计算机处理数据是采用的二进制,也就是满二进一。虽然进制不同,但进制之间可以进行换算。这也是你们在面试题中遇见过的迷惑项。

假设当前,需要对十进制的 163 转换为二进制,可以对其采用除以2取余数的方式得到它的二进制值。

逆序排列各余数可以得到十进制数字 163 的二进制值为: 10100011。

那么同理可得,假设需要计算 123、886 这样的数字,就可得到 123 的二进制值为 1111011,886 的二进制值为 1101110110。

既然二进制的转换方式都是除以2取余数,那么十六进制或者八进制的话;然后……

二进制转十进制

二进制转为十进制要从右到左用二进制的每个数去乘以2的相应次方,小数点后则是从左往右。

如果首位是0就表示正整数,如果首位是1则表示负整数,正整数可以直接换算,负整数则需要先取反再换算。

因为计算机内部表示数的字节单位是定长的。如8位、16位、32位。所以位数不够时,高位补零。

  • 如要想二进制00101010转为十进制,因为以0开头,所以这是正整数,计算如下所示:

十进制转二进制

十进制转二进制分为整数转二进制,和小数转二进制

整数转二进制

采用"除2取余,逆序排列"法:

1.首先用2整除一个十进制整数,得到一个商和余数
2.然后再用2去除得到的商,又会得到一个商和余数
3.重复操作,一直到商为小于1时为止
4.然后将得到的所有余数全部排列起来,再将它反过来(逆序排列),切记一定要反过来!

假设我们现在需要将42转为二进制,那我们怎么做呢,如下图所示:

小数转二进制

采用"乘2取整,顺序排列"法:

1.用2乘十进制小数,可以得到积,将积的整数部分取出
2.再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出
3.重复操作,直到积中的小数部分为零,此时0或1为二进制的最后一位,或者达到所要求的精度为止

例如将0.125转换为二进制:

如果小数的整数部分有大于0的整数时,将整数部分和小数部分先单独转为二进制,再合在一起就可以了,例如:

十六进制转十进制

1、首先明白16进制数(从右到左数是第0位,第1位,第2位……)的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方,依次这样排列下去。

2、明白ABCDEF表示的二进制数字分别是10,11,12,13,14,15。

3、十六进制转换成十进制的公式是:要从右到左用二进制的每个数去乘以16的相应次方,然后这些数字相加就是了。

例1:2AF5换算成10进制:

第0位: 5 * 16^0 = 5

第1位: F * 16^1 =15*16^1= 240

第2位: A * 16^2= 10* 16^2=2560

第3位: 2 * 16^3 = 8192

结果就是:5 * 16^0 + 15 * 16^1 + 10 * 16^2 + 2 * 16^3 = 10997

例2:CE换算成10进制:

第0位:E*16^0=14*16^0=14

第1位:C*16^1=12*16^1=192

结果就是:14*16^0+12*16^1=206

拓展资料

16进制即逢16进1,每一位上可以是从小到大为0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F共16个大小不同的数。16进制转换即16进制与其他不同进制之间的换算转换。

三、服务、协议与端口

常见的计算机服务

计算机中的服务是一种应用程序类型,在后台运行。服务应用程序通常可以在本地和通过网络为用户提供一些功能,例如客户端/服务器应用程序、Web服务器、数据库服务器以及其他基于服务器的应用程序。

简述

计算机中的服务是一种应用程序类型,在后台运行。服务应用程序通常可以在本地和通过网络为用户提供一些功能,例如客户端/服务器应用程序、Web服务器、数据库服务器以及其他基于服务器的应用程序。

协议

服务对应端口,而端口走协议,比如生活中的银行,提供取款、存款、贷款等服务,去窗口办理业务,但是客户是个歪果仁,此时怎么办呢?银行工作人员必须会英语或者他必须会中文,才能顺利的办理业务,那么此时的银行的业务即可理解为计算机的服务,窗口便是端口,那么协议呢?那就是我们交流所用的同一种语言了。

常见的端口:

21 ftp:文件传输协议

22 ssh: 把所有传输的数据进行加密,而且也能够防止DNS和IP欺骗。还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度

23 Telnet:主要用于Telnet(远程登录)服务,是Internet上普遍采用的登录和仿真程序。

25 SMTP:简单邮件传输协议

53 DNS:主要用于域名解析,DNS服务在NT系统中使用的最为广泛。

67、68分别是为Bootp服务的Bootstrap Protocol Server(引导程序协议服务端)和Bootstrap Protocol Client(引导程序协议客户端)开放的端口

80 HTTP:(HyperText Transport Protocol,超文本传输协议)开放的

110 POP3:邮件协议,POP2、POP3都是主要用于接收邮件的。

443 网页浏览端口:主要是用于HTTPS服务,是提供加密和通过安全端口传输的另一种HTTP。

8080端口同80端口:是被用于WWW代理服务的,可以实现网页

端口概念

在网络技术中,端口(Port)大致有两种意思:一是物理意义上的端口,比如,ADSL Modem、集线器、交换机、路由器用于连接其他网络设备的接口,如RJ-45端口、SC端口等等。二是逻辑意义上的端口,一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。我们这里将要介绍的就是逻辑意义上的端口。

端口分类

逻辑意义上的端口有多种分类标准,下面将介绍两种常见的分类:

  1. 按端口号分布划分

(1)知名端口(Well-Known Ports)

知名端口即众所周知的端口号,范围从0到1023,这些端口号一般固定分配给一些服务。比如21端口分配给FTP服务,25端口分配给SMTP(简单邮件传输协议)服务,80端口分配给HTTP服务,135端口分配给RPC(远程过程调用)服务等等。

(2)动态端口(Dynamic Ports)

动态端口的范围从1024到65535,这些端口号一般不固定分配给某个服务,也就是说许多服务都可以使用这些端口。只要运行的程序向系统提出访问网络的申请,那么系统就可以从这些端口号中分配一个供该程序使用。比如1024端口就是分配给第一个向系统发出申请的程序。在关闭程序进程后,就会释放所占用的端口号。

不过,动态端口也常常被病毒木马程序所利用,如冰河默认连接端口是7626、WAY 2.4是8011、Netspy 3.0是7306、YAI病毒是1024等等。

  1. 按协议类型划分

按协议类型划分,可以分为TCP、UDP、IP和ICMP(Internet控制消息协议)等端口。下面主要介绍TCP和UDP端口:

(1)TCP端口

TCP端口,即传输控制协议端口,需要在客户端和服务器之间建立连接,这样可以提供可靠的数据传输。常见的包括FTP服务的21端口,Telnet服务的23端口,SMTP服务的25端口,以及HTTP服务的80端口等等。

(2)UDP端口

UDP端口,即用户数据包协议端口,无需在客户端和服务器之间建立连接,安全性得不到保障。常见的有DNS服务的53端口,SNMP(简单网络管理协议)服务的161端口,QQ使用的8000和4000端口等等。

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值