面试问题(1)

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)系统开销:在创建或撤销进程的时候,由于系统都要为之分配和回收资源,导致系统的明显大于创建或撤销线程时的开销。但进程有独立的地址空间,进程崩溃后,在保护模式下不会对其他的进程产生影响,而线程只是一个进程中的不同的执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但是在进程切换时,耗费的资源较大,效率要差些。

 


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


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


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


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








  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值