参照博客java程序员技能树(如有侵权马上删除)
经典回顾
-
简介
操作系统(operation system,简称OS)是管理计算机硬件与软件资源的计算机程序。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。
-
主要的操作系统
-
Microsoft Windows( Windows XP 、 Windows 7 、 Windows 10 、)
-
MacOS X( MacOS和MacOS X )
-
Google Chrome OS( Google的轻型的、基于网络的计算机操作系统计划 )
-
基本概念
编译原理即是对高级程序语言进行翻译的一门科学技术, 我们都知道计算机程序由程序语言编写而成, 在早期计算机程序语言发展较为缓慢, 因为计算机存储的数据和执行的程序都是由0、1代码组合而成的, 那么在早期程序员编写计算机程序时必须十分了解计算机的底层指令代码通过将这些微程序指令组合排列从而完成一个特定功能的程序, 这就对程序员的要求非常高了。人们一直在研究如何如何高效的开发计算机程序, 使编程的门槛降低。
-
编译器
编译过程一般是在计算机系统中实现的, 是将源代码转化为计算机通用语言的过程。
-
编译的基本流程
编译可以分为五个基本步骤:词法分析、语法分析、语义分析及中间代码的生成、优化、目标代码的生成。这是每个编译器都必须的基本步骤和流程, 从源头输入高级语言源程序输出目标语言代码。
- 词法分析 ( 词法分析程序或词法分析器或扫描器 )
- 语法分析 ( 语法规则又称为文法, 分为0型、1型、2型、3型文法, 0型文法又称短语文法, 1型称为上下文有关文法, 2型称为上下文无关文法, 3型文法称为正规文法, 限制条件依次递增。 判断语法规则)
- 语义分析 ( 词法分析注重的是每个单词是否合法, 以及这个单词属于语言中的哪些部分 )
- 中间代码生成与优化 ( 所谓“中间代码”是一种结构简单、含义明确的记号系统, 这种记号系统复杂性介于源程序语言和机器语言之间, 容易将它翻译成目标代码。)
- 目标代码的生成 ( 根据优化后的中间代码, 可生成有效的目标代码。而通常编译器将其翻译为汇编代码, 此时还需要将汇编代码经汇编器汇编为目标机器的机器语言 )
- 出错处理 ( 编译的各个阶段都有可能发现源码中的错误, 尤其是语法分析阶段可能会发现大量的错误, 因此编译器需要做出错处理, 报告错误类型及错误位置等信息 )
-
计算机网络( computer networks )
-
定义(简介)
计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
-
按广义( 一些相互连接的、以共享资源为目的的 、 自治的计算机的集合。 从逻辑功能上看,计算机网络是以传输信息为基础目的,用通信线路将多个计算机连接起来的计算机系统的集合,一个计算机网络组成包括传输介质和通信设备。 )
-
按连接(计算机网络就是通过线路互连起来的、自治的计算机集合,确切的说就是将分布在不同地理位置上的具有独立工作能力的计算机、终端及其附属设备用通信设备和通信线路连接起来,并配置网络软件,以实现计算机资源共享的系统。 )
-
按需求( 计算机网络就是由大量独立的、但相互连接起来的计算机来共同完成计算机任务。这些系统称为计算机网络(computer networks) )
-
组成
计算机网络的分类与一般的事物分类方法一样,可以按事物所具有的不同性质特点(即事物的属性)分类。计算机网络通俗地讲就是由多台计算机(或其它计算机网络设备)通过传输介质和软件物理(或逻辑)连接在一起组成的。总的来说计算机网络的组成基本上包括:计算机、网络操作系统、传输介质(可以是有形的,也可以是无形的,如无线网络的传输介质就是空间)以及相应的应用软件四部分。
-
功能
-
数据通信
数据通信是计算机网络的最主要的功能之一。数据通信是依照一定的通信协议,利用数据传输技术在两个终端之间传递数据信息的一种通信方式和通信业务 -
资源共享
资源共享是人们建立计算机网络的主要目的之一。计算机资源包括硬件资源、软件资源和数据资源。 (避免设备、大型数据库等的重复建设) -
集中管理
计算机网络技术的发展和应用,已使得现代的办公手段、经营管理等发生了变化 - 实现分布式处理
网络技术的发展,使得分布式计算成为可能。对于大型的课题,可以分为许许多多小题目,由不同的计算机分别完成,然后再集中起来,解决问题。 - 负载均衡
负荷均衡是指工作被均匀的分配给网络上的各台计算机系统。网络控制中心负责分配和检测,当某台计算机负荷过重时,系统会自动转移负荷到较轻的计算机系统去处理。
评价:由此可见,计算机网络可以大大扩展计算机系统的功能,扩大其应用范围,提高可靠性,为用户提供方便,同时也减少了费用,提高了性能价格比。
-
分类
- 局域网 (Local Area Network;LAN)
局域网一般位于一个建筑物或一个单位内,不存在寻径问题,不包括网络层的应用。 - 城域网 (Metropolitan Area Network;MAN)
一般在政府城域网中应用,如邮政、银行、医院等。 - 广域网 (Wide Area Network,WAN)
邮电部的CHINANET,CHINAPAC,和CHINADDN网。 - 无线网
无线通信系统主要有:低功率的无绳电话系统、模拟蜂窝系统、数字蜂窝系统、移动卫星系统、无线LAN和无线WAN等。
-
性能
计算机网络的性能一般是指它的几个重要的性能指标。但除了这些重要的性能指标外,还有一些非性能特征,它们对计算机网络的性能也有很大的影响。
- 计算机网络的性能指标
性能指标从不同的方面来度量计算机网络的性能。
(1)速率
计算机发送出的信号都是数字形式的。比特是计算机中数据量的单位,也是信息论中使用的信息量的单位。
(2)带宽
① 带宽本来是指某个信号具有的频带宽度。信号的带宽是指该信号所包含的各种不同频率成分所占据的频率范围。例如,在传统的通信线路上传送的电话信号的标准带宽是3.1kHz(从300Hz到3.4kHz,即话音的主要成分的频率范围)。这种意义的带宽的单位是赫(或千赫,兆赫,吉赫等)。
② 在计算机网络中,带宽用来表示网络的通信线路所能传送数据的能力,因此网络带宽表示在单位时间内从网络中的某一点到另一点所能通过的“最高数据率”。这里一般说到的“带宽”就是指这个意思。这种意义的带宽的单位是“比特每秒”,记为bit/s。
(3)吞吐量
吞吐量表示在单位时间内通过某个网络(或信道、接口)的数据量。吞吐量更经常地用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络。
(4)时延
发送时延是主机或路由器发送数据帧所需要的时间,也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。
① 发送时延。
发送时延的计算公式是:
② 传播时延。
传播时延是电磁波在信道中传播一定的距离需要花费的时间。传播时延的计算公式是:
传播时延=信道长度(m)/电磁波在信道上的传播速率(m/s)
电磁波在自由空间的传播速率是光速,即300000km/s。电磁波在网络传输媒体中的传播速率比在自由空间要略低一些。
③ 处理时延。
主机或路由器在收到分组时要花费一定的时间进行处理,例如分析分组的首部,从分组中提取数据部分,进行差错检验或查找适当的路由等,这就产生了处理时延。
④ 排队时延。
分组在经过网络传输时,要经过许多的路由器。但分组在进入路由器后要先在输入队列中排队等待处理。在路由器确定了转发接口后,还要在输出队列中排队等待转发。这就产生了排队时延。
数据在网络中经历的总时延就是以上四种时延之和:
总时延=发送时延+传播时延+处理时延+排队时延 - 计算机网络的非性能特征
这些非性能特征与前面介绍的性能指标有很大的关系。
(1)费用
即网络的价格(包括设计和实现的费用)。网络的性能与其价格密切相关。一般说来,网络的速率越高,其价格也越高。
(2)质量
网络的质量取决于网络中所有构件的质量,以及这些构件是怎样组成网络的。网络的质量影响到很多方面,如网络的可靠性、网络管理的简易性,以及网络的一些性能 (网络质量与价格成正比 ,高质量的网络往往价格也较高 )
(3)标准化
网络的硬件和软件的设计既可以按照通用的国际标准,也可以遵循特定的专用网络标准。最好采用国际标准的设计,这样可以得到更好的互操作性,更易于升级换代和维修,也更容易得到技术上的支持。
(4)可靠性
可靠性与网络的质量和性能都有密切关系。速率更高的网络,其可靠性不一定会更差。但速率更高的网络要可靠地运行,则往往更加困难,同时所需的费用也会较高。
(5)可扩展性和可升级性
网络在构造时就应当考虑到今后可能会需要扩展(即规模扩大)和升级(即性能和版本的提高)。网络的性能越高,其扩展费用往往也越高,难度也会相应增加。
(6)易于管理和维护
网络如果没有良好的管理和维护,就很难达到和保持所设计的性能。
-
互联网协议( Internet Protocol Suite )
IP是互联网协议群(Internet Protocol Suite ,IPS)中众多通信协议中的一个,也是其中最重要的一个。IP 协议属于通信协议中的第三层网络层协议,完成路由寻址和消息传递的功能。专家们一般将IPS解释为一个协议堆栈,它可以将应用程序的信息(比如电子邮件或者网页传输的内容)转换为网络可以传输的数据包。
来源:oschina
链接:https://my.oschina.net/u/4207792/blog/4957877