面试问题(1)

来源:互联网 发布:电动牙刷推荐 知乎 编辑:程序博客网 时间:2024/06/06 06:29

1.计算机网络分层

          

现在的互联网一般是五层结构
物理层(physicallayer)
              •通过线路(可以是有形的线也可以是无线链路)传送原始的比特(bit)
              •完成一个节点到另一个节点的传送(单跳)
数据链路层(data-link layer)
              •通过物理网络传送包(package)这里的包通过网络层交过来的数据报(datagram)
              •完成一个节点到另一个节点的传送(单跳(hop-by-hop, node-to-node)
网络层(network layer)
              •把包里面的目的地址拿出来进行路由选择(routing),决定要往哪个方向传输
              •负责从源(source)通过路由选择到目的地(destination)的过程,达到从源主机传输数据到目标主机的目的(host-to-host)
传输(transport layer)
              •网络层只把数据送到主机,但不会送到进程。传输层负责负责进程与主机(host)间的传输,主机到主机(host-to-host)的传输交由网络层负责传输层也称为端到端送
应用层(application layer)
              •专门针对某些应用提供服务

ISO/OSI规定的网络为七层

物理层:通过媒介传输比特,确定机械及电气规范(比特Bit)

数据链路层:将比特组装成帧和点到点的传递(帧Frame)

网络层:负责数据包从源到宿的传递和网际互连(包PackeT)

传输层:提供端到端的可靠报文传递和错误恢复(段Segment)

会话层:建立、管理和终止会话(会话协议数据单元SPDU)

表示层:对数据进行翻译、加密和压缩(表示协议数据单元PPDU)

 应用层:允许访问OSI环境的手段(应用协议数据单元APDU) 


物理层: 透明地传输比特流

 数据链路层 建立逻辑连接、进行硬件地址寻址、差错效验等功能。

 网络层 进行逻辑地址寻址,实现不同网络之间的路径选择。

 传输层 定义传输数据的协议端口号,以及流控和差错效验。

 会话层 建立、管理、终止会话。(在五层模型里面已经合并到了应用层)对应主机进程,指本地主机与远程主机正在进行的会话

 表示层 数据的表示、安全、压缩。(在五层模型里面已经合并到了应用层)

 应用层网络服务与最终用户的一个接口。

OSI体系结构,是Open System Interconnection的简称,它是由7层构成的。
第一层是物理层,用于建立、维护和拆除物理链路连接。数据的单位是比特,主要设备有中继器、集线器、适配器。
第二层是数据链路层,在物理层提供比特流服务的基础上,建立相邻结点之间的数据链路,通过差错控制提供数据帧在信道上无差错的传输,本层在不可靠的物理介质上提供可靠的传输,其作用有物理地址寻址、数据的成帧、流量控制、数据的检验、重发等,本层的单位为帧,主要设备是二层交换机、网桥。
第三层是网络层,其就是选择合适的网间路由和交换结点,确保数据及时传达。网络层将数据链路层提供的帧组成数据包,包中封装有网络层包头,其中含有逻辑地址信息(源站点和目的站点地址的网络地址)。IP是第三层的一部分,此外还有一些路由协议和地址解析协议,总之就是有关路由的一切事情都在第三层处理,地址解析和路由是第三层的重要目的,网络层还可以实现拥塞控制、忘记互联等功能,本层的单位是数据包,典型的协议包括IP,IPX,RIP,ARP,RARP,OSPF等。主要设备是路由器。
第四层是传输层,为上层提供端到端(最终用户到最终用户) 的透明的、可靠的数据传输服务,所谓的透明传输是指在通信过程横纵传输层对上层屏蔽了通信传输系统的具体细节,即屏蔽了传输层以下的通信过程。具体的协议包括有TCP,UDP,SPX.单位是数据段。
第五层是会话层,在会话层及以上的层次,数据传送单元统称为报文。它提供包括访问验证和会话管理在内的建立和维护应用之间的通信机制。如服务器验证用户登录便是在会话层完成的。
第六层是表示层,解决用户信息的语法表示问题。提供格式化的表示和转换数据服务。数据的压缩和解压缩,加密和解密等工作都是由表示层负责的。
第七层是应用层,为操作系统或网络应用程序提供访问网络服务的接口。这层的协议包括有Telnet,FTP,HTTP,SNMP等。

2.进程和线程


定义:

一、进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位。
二、线程是进程的一个实体,是CPU调度和分派的基本单位,他是比进程更小的能独立运行的基本单位,线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),一个线程可以创建和撤销另一个线程;


进程和线程的关系:
(1)一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。
(2)资源分配给进程,同一进程的所有线程共享该进程的所有资源。
(3)线程在执行过程中,需要协作同步。不同进程的线程间要利用消息通信的办法实现同步。
(4)处理机分给线程,即真正在处理机上运行的是线程。
(5)线程是指进程内的一个执行单元,也是进程内的可调度实体。
线程与进程的区别:
(1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位。
(2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可以并发执行。
(3)拥有资源:进程是拥有资源的一个独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源。
(4)系统开销:在创建或撤销进程的时候,由于系统都要为之分配和回收资源,导致系统的明显大于创建或撤销线程时的开销。但进程有独立的地址空间,进程崩溃后,在保护模式下不会对其他的进程产生影响,而线程只是一个进程中的不同的执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但是在进程切换时,耗费的资源较大,效率要差些。

 


线程的划分尺度小于进程,使得多线程程序的并发性高。


另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大的提高了程序运行效率。


线程在执行过程中,每个独立的线程有一个程序运行的入口,顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,有应用程序提供多个线程执行控制。


从逻辑角度看,多线程的意义子啊与一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。这就是进程和线程的重要区别。








原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 微信公众号看不到评论时间了怎么办 微店退款退货买家发空快递怎么办 微信二维码收款顾客少付款了怎么办 江西高考二本差5分上线怎么办 湖南文科考生二本上线差两分怎么办 在商场试鞋自己鞋子被偷怎么办 网易账号忘记密码更换手机了怎么办 一人在外地钱花光了怎么办 银行卡被公安冻结卡里的钱怎么办 在店铺不上班了押工资了怎么办? 在银座的押金拿不出来怎么办 唯品会退货时快递单号填错了怎么办 天猫店铺快递已发到不了怎么办 中邮消费贷没审核通过怎么办 房贷扣款日忘存钱了怎么办 农业银行卡输密码次数超限载怎么办 农业银行卡丢了不知道卡号怎么办 银行卡短信扣费失败怎么恢复怎么办 歌华有线遥控器点了tvav怎么办 一级注册结构延续注册晚了怎么办 在京东买的黄金项链买贵了怎么办 京东上面买的商品不符合实际怎么办 在京东买东西卖家迟迟不发货怎么办 淘宝商家买的货一直不到怎么办 国美买的格力空调发票丢了怎么办 国美实体店发票丢了怎么办 我在苏宁买的冰箱发票丢了怎么办 信用卡家庭电单位电话换了怎么办 常住户囗和实际住址没房子怎么办 退货淘宝极速退款 卖家拒收怎么办 淘宝退货极速退款后卖家拒收怎么办 蘑菇街付款成功怎么申请退款怎么办 淘宝上拍错地址联系卖家不管怎么办 收到货想退款卖家不同意怎么办 小米小店复合通过qq群怎么办 买了火车票在订单上查不到怎么办 用支付宝付款扣款没成功怎么办 在京东买东西只收到空盒子怎么办 魅族移动数据是灰色的怎么办? 魅族手机账号密码忘记了怎么办视频 淘宝购物退货把单号写错了怎么办